Posts: 3
Joined: Sun Feb 11, 2018 9:13 pm

CM3 LAN9514 not detected

Thu May 17, 2018 7:37 am

I have a custom carrier board with CM3 and LAN9514, PCB has been designed following an RPI official schematic with LAN9512 (essentially same than LAN9514 with less USB downstream ports), i use a 25Mhz crystal oscillator, the NRESET is pulled high and connected to GPIO6 of CM3 for reset control.

The LAN9514 is connected directly to the USB of CM3, it acts as ethernet controller and USB HUB, it has another HUB (FE1.1S) on downstream port 3 and a wifi card on downstream port 2 (not installed for test), port 4 and 5 have USB sockets, an USB key flash drive is connected to one of them. The FE1.1S feeds 4* CP2102 USB-UART bridges.

There is nothing special otherwise, the power sequence is respected, 5.0V LDO feeds 3.3V LDO which feeds 1.8V LDO, i used largely dimensionned LDOs (AMS1084).
The PCB is 4 layer, controlled differential impedance on high speed busses (USB and Ethernet), stacking conform to recommandations (1:high speed signals, 2:full ground plane, 3:power planes, 4:gnd/signal). For what i have tested so far the CM3 is apparently working fine, it boots and login normally, talks to I2C peripherals.

The problem : i dont see the LAN9514 recognized in boot log, nor any of the USB peripherals attached to it (the FE1.1S and the CP2104 chips, the USB key flash drive).
here is what i find related to USB in the boot log :

Code: Select all

[    0.788251] dwc_otg 3f980000.usb: DWC OTG Controller
[    0.790591] dwc_otg 3f980000.usb: new USB bus registered, assigned bus number 1
[    0.792953] dwc_otg 3f980000.usb: irq 62, io mem 0x00000000
[    0.795271] Init: Port Power? op_state=1
[    0.797523] Init: Power Port (0)
[    0.799899] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    0.802225] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.804528] usb usb1: Product: DWC OTG Controller
[    0.806773] usb usb1: Manufacturer: Linux 4.9.41-v7+ dwc_otg_hcd
[    0.809041] usb usb1: SerialNumber: 3f980000.usb
[    0.812126] hub 1-0:1.0: USB hub found
[    0.814330] hub 1-0:1.0: 1 port detected
[    0.817307] usbcore: registered new interface driver usb-storage
The image i used is CM3-170912.dmg, i also uncompiled the dt-blob.bin
(1.96 KiB) Downloaded 90 times
and found LAN_RUN seems to be on the right port (GPIO6), however i am not sure if the setup is right otherwise. The only change i made is the ACT LED moved to GPIO to 26, in config.txt.

Is there a way to test wether the LAN9514 is recognized? What could be the problem if it is not?
Below is a view of the LAN9514 part of the schematic, i dont show magnetics since it is not relevant to the USB / recognition issue.
If anyone has an idea of what i can do to get the LAN9514 recognize or if there is a flaw somewhere, please let me know, it will be much appreciated
Capture d’écran 2018-05-17 à 09.32.25.png
Capture d’écran 2018-05-17 à 09.32.25.png (53.31 KiB) Viewed 2196 times

John Westlake
Posts: 107
Joined: Thu Nov 09, 2017 4:34 am

Re: CM3 LAN9514 not detected

Thu May 17, 2018 9:35 am

So we have found that you don't need to connect LAN RUN for testing, the chip will Reset itself.

The only issue we have found with not connecting LAN RUN is that if the RPI performs a software Reset then the LAN IC is not Reset (reinitialised ) and is not then seen by the CM3 - but works OK for first boot / powerup.

Not connecting LAN RUN on initial testing removes a variable for troubleshooting.

When we test new PCB's fist time we connect the LAN9514 HOST USB Port to a standard PC's HOST port to debug the hardware - when the Ethernet Port and USB Hubs are working well via the PC, then we test with the CM3 module fitted..

Working with Windows PC is so much easier then struggling with cryptic Linux and poorly documented CM3 / RPI hardware.

Microchip has the Windows drivers for the LAN9514 for "Remote Host" testing of your CM3 PCB USB hardware.

In fact, we made up a small CM3 board (from a damaged CM3 module) with a USB host connector mounted to it for testing.

Posts: 3
Joined: Sun Feb 11, 2018 9:13 pm

Re: CM3 LAN9514 not detected

Thu May 17, 2018 11:28 am

Thank you for the help, since then i found the problem, a ferrite bead was missing between VDD1V8PLL and the main 1V8 bus, as soon as i fixed that the LAN9514 is properly recognized and working. It is good to know the LAN9514 can be tested without manual reset nor RC constant circuit. I still wonder i we can define LAN_RUN GPIO from config.txt.
Indeed I should have added some test pads and solder jumpers on the CM3 USB port to test LAN9514 from external host.

Now working on the FE1.1S which is recognized but not fully working, it throws some overcurrent alerts in dmesg and doesnt show the 4x CP2102 each time, i found OVCJ pin has been left NC by mistake (should be tied to 3V3 bus of FE1.1S ) so hopefully this is the problem.

Return to “Compute Module”