Chokshinilav09
Posts: 5
Joined: Sun Sep 30, 2018 9:18 am

USB [LAN9514I] Enumeration Issue in Compute Module 3L Custom Carrier Board

Sun Sep 30, 2018 12:20 pm

Hello,

Description - We have designed Custom Carrier Board with CM3L. here we have used same LAN9514 USB HUB IC and followed the same reference design od Raspberry pi 3 model B.(https://www.raspberrypi.org/app/uploads ... s-R1.0.pdf)

All the layout rules are followed as per USB guidelines and the only constraint is the length of the USB differential is bigger due to the bigger size of board nearly 6 inches.

Problem - We are facing issues of accessing all 4 USB downstream ports of LAN9514 and gives enumeration failed error. so please help to solve this issue.

Note:
The Ethernet is working properly for LAN9514I.

Attachment - Please find the USB enumeration error logs and schematic at the below url:
https://drive.google.com/open?id=1GkZHE ... K8M8J-rNnj

aBUGSworstnightmare
Posts: 1079
Joined: Tue Jun 30, 2015 1:35 pm

Re: USB [LAN9514I] Enumeration Issue in Compute Module 3L Custom Carrier Board

Sun Sep 30, 2018 2:18 pm

USB4 signal names seems incorrect; where is it conneted too?

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

Re: USB [LAN9514I] Enumeration Issue in Compute Module 3L Custom Carrier Board

Sun Sep 30, 2018 6:22 pm

I wonder if your issue is related to the Over Current (OC) protection arrangement you've used - I seem to recall that the LAN9514 supports various software defined OC operating modes. You have configured your device with individual Port current protect which is not the default hardware and 'Software" mode used by Rpi (RPi3 has a single USB Current monitoring IC shared for all outputs connected to PRTCTL2 which is a Bi-Directional Pin).

You "MIGHT" need to enable internal pullup's on the PRTCTL pins and independent port protection mode in the software driver for the LAN9514. As a quick test you could add a pull-up resistor say 10K to 3.3V on pin 14 (PRTCTL2).

I guess your internal USB device on PORT 4 might be a WiFi module - as has already been spotted the USB Datalines to this device on port 4 might be crossed connected (or just simply mislabeled on the schematic).

Personally for design debugging I've found it easier to connect the LAN9514 to a PC Host device (just remove the CM3 module and connect the USB Host port conenctions to a short USB lead to the PC) - Microchip have Windows Drivers.

Chokshinilav09
Posts: 5
Joined: Sun Sep 30, 2018 9:18 am

Re: USB [LAN9514I] Enumeration Issue in Compute Module 3L Custom Carrier Board

Mon Oct 01, 2018 4:46 pm

@aBUGSworstnightmare: Thank you for the answer and observation. Yes, you are correct so I tried by removed 0R resister which is in series of that USB4_P and USB4_N but facing the same issue.

@John Westlake: Thank you so much for all the points which you mentioned.

In this design, I have connected upstream with Raspberry pi CM3L and used 4 Downstream port with the individual USB device.

I measured voltage in all four pins of PRTCTL2, PRTCTL3, PRTCTL4, and PRTCTL5 and t is 3.3V in all four pins which means that it has already pull-up in all four pins and that means it is not the over the current issue as per LAN2514 datasheet. so it is right?

I tried to connect Pin 29,30 and 32 to pull high but I don't think this should be the issue for this design as per below link:
https://www.raspberrypi.org/forums/view ... 8&t=223421

Also, tried to connected PRTCTL4 and PRTCTL5 connected with PRTCTL2 as a gange functionality but getting the same error.

But now I will check with first by adding pull-up on the PRTCTL2 pin.

Thank you again for the answers.

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

Re: USB [LAN9514I] Enumeration Issue in Compute Module 3L Custom Carrier Board

Mon Oct 01, 2018 9:40 pm

Can you show us your PCB layout?

Might be worth confirming your 25MHz Clock frequency, 33pf seems like a large crystal loading (depends on the crystal Spec) - if you don't have an accurate Frequency counter then try reducing the Crystal loading caps to say 18pF

Best location to measure the clock is to enable Pin 44 (high) and measure for 24.000000MHz on pin 45.

Also you could try removing your ESD protection on the USB Datalines to see if you have an issue here...

When you say long USB trace connections - have you designed them to be 90ohms Balanced? USB is very sensitive to termination impedance.

Also, don't cross or run nearby any Clock or other Datalines over the USB PCB traces...

moksha29
Posts: 9
Joined: Mon Oct 01, 2018 6:32 am

Re: USB [LAN9514I] Enumeration Issue in Compute Module 3L Custom Carrier Board

Thu Oct 04, 2018 7:03 am

@John Westlake: Sir we have tried adding up pull-up on the PRTCTL2 pin but there is no change , the bug is not resolved.

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

Re: USB [LAN9514I] Enumeration Issue in Compute Module 3L Custom Carrier Board

Thu Oct 04, 2018 4:35 pm

moksha29 wrote:
Thu Oct 04, 2018 7:03 am
@John Westlake: Sir we have tried adding up pull-up on the PRTCTL2 pin but there is no change , the bug is not resolved.
Can you show us your PCB layout?

Might be worth confirming your 25MHz Clock frequency, 33pf seems like a large crystal loading (depends on the crystal Spec) - if you don't have an accurate Frequency counter then try reducing the Crystal loading caps to say 18pF

Best location to measure the clock is to enable Pin 44 (high) and measure for 24.000000MHz on pin 45.

Also you could try removing your ESD protection on the USB Datalines to see if you have an issue here...

When you say long USB trace connections - have you designed them to be 90ohms Balanced? USB is very sensitive to termination impedance.

Also, don't cross or run nearby any Clock or other Datalines over the USB PCB traces...

Chokshinilav09
Posts: 5
Joined: Sun Sep 30, 2018 9:18 am

Re: USB [LAN9514I] Enumeration Issue in Compute Module 3L Custom Carrier Board

Sat Oct 06, 2018 9:32 am

Hi John Westlake,

Thank you for your response.

I am sharing you layout file on below link to review USB section so that we can validate the USB HUB part,
https://drive.google.com/open?id=1KlAlr ... SC4uo30yBl

As per your suggestion, We have changed the value of Load capacitors(C78 and C79) from 33pF to 22pF as well as to 15pF but there is no change in behavior. The USB port is still not detecting.

According to my observation, It should not be the issue of crystal if the Ethernet port is working properly, right?

To work the USB Hub devices, I have also checked below changes to run the USB downstream ports:
1. Removed DP and DM series resistors(0R) and active only one port which is DOwnstream port2 and check the USB devices like mouse and keyboard but it is not working,
2. Attached pullup of 1k,10k, and 4.7k on PRTCTL2(pin14),
3. Attached 0.1uf on NRESET pin to Ground to set proper reset time for the hub but not getting up the USB,
4. Applied 3.3VDC on 28,29,30,32 pins by shorting them to 3.3V pad,
5. Changed EXRES(R52) from 12.4k instead of 12k.
6. PRTCTL4(pin17of LAN9514) and PRTCTL5(pin18 of LAN9514) short with PRTCTL2 to act as a gang control to remove the over current issue but not resolve the USB enumeration issue,

I am getting below USB Enumeration Error logs and you can find image(USB_Error_logs.PNG) as per below link but at the same time I can also detect USB hub device when powerup as per (USB HUB DETECT.PNG) below link,
https://drive.google.com/open?id=1GkZHE ... K8M8J-rNnj

Now looking for your help to solve our problem of USB enumeration and also suggest necessary changes in design to make it work.

Thank you in advance.

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

Re: USB [LAN9514I] Enumeration Issue in Compute Module 3L Custom Carrier Board

Sun Oct 07, 2018 11:41 am

I cannot open your PCB layouts - can you post them as PDF files?

Also, I'm not sure if its normal to see USB OTG messages (Maybe it IS normal), but a thought occurs to me - have you tied the CM3 USB OTGID pin to ground (CM3 Pin 168)? Pin 168 should be grounded.

"The BCM283x USB port is On-The-Go (OTG) capable. If using either as a fixed slave or fixed master, please tie the USB OTGID pin to ground."

Chokshinilav09
Posts: 5
Joined: Sun Sep 30, 2018 9:18 am

Re: USB [LAN9514I] Enumeration Issue in Compute Module 3L Custom Carrier Board

Sun Oct 07, 2018 5:39 pm

Hi John Westlake,

Kindly find Carrier board layout "USB_LINE_TRACKING.PDF" to review USB lines.
https://drive.google.com/open?id=1G8Xnw ... PeIEsTka78

Thank you for your suggestions. I will check and let you know if works.

moksha29
Posts: 9
Joined: Mon Oct 01, 2018 6:32 am

Re: USB [LAN9514I] Enumeration Issue in Compute Module 3L Custom Carrier Board

Mon Oct 08, 2018 8:53 am

@John Westlake

Hello sir,

We tied the CM3 USB OTGID pin to ground, but there is no change in behavior and USB is still not detecting.

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

Re: USB [LAN9514I] Enumeration Issue in Compute Module 3L Custom Carrier Board

Mon Oct 08, 2018 10:35 am

Very odd - have you tried with the ESD protection removed?

I have full tools here in my lab to diagnose USB issue (including TDR) - if you want I'd be happy to diagnose your PCB if you can send one to me (with just the USB section built ok) - I'm located in the Czech Rep.

I'm pretty sure I'd be able to discover your problem fairly quickly - so I'd diagnose your issue free of charge...

moksha29
Posts: 9
Joined: Mon Oct 01, 2018 6:32 am

Re: USB [LAN9514I] Enumeration Issue in Compute Module 3L Custom Carrier Board

Mon Oct 08, 2018 1:14 pm

@John Westlake

We also tried with the ESD protection removed but still no change.

Thank you so much for such a humble offer but unfortunately, we won't be able to send our product so far. Although we are still trying to get out of this bug.

But still, keep supporting us if we are missing some minor error.

Chokshinilav09
Posts: 5
Joined: Sun Sep 30, 2018 9:18 am

Re: USB [LAN9514I] Enumeration Issue in Compute Module 3L Custom Carrier Board

Mon Oct 08, 2018 6:42 pm

Hi John Westlake,

We are working on the debug of USB Enumeration issue and meanwhile, we are also planning for the next revision of the carrier board.

So, it would be great if you can help us to share the raspberry pi reference design for LAN9514 so that we can implement again in this revision and can resolve this issue.

Thank you in advance.

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

Re: USB [LAN9514I] Enumeration Issue in Compute Module 3L Custom Carrier Board

Tue Oct 09, 2018 4:48 pm

Sorry, I don't work for raspberry pi so cannot publish a raspberry pi reference design (I'm a retired Engineer).

I've looked at your PCB design and it does not look too badly designed at all (from what I can tell from PDF overlays) - I'm struggling to understand what the issue could be - I really need to see and measure a PCB.

Which country are you located?

Have you tired connecting the LAN9415 Upstream port to (via a short USB cable) connected to the CM3 module connector to a PC (Windows device drivers are available on the Microchip website).

For debugging USB / LAN issues I find it easier from Windows GUI then working with Linux - it be interesting to so what results you get with the PC connected as a USB host in place of the CM3 module.

For development / production testing we designed a small "CM3 module" interface board, this PCB interfaces to a PC and allows USB "emulation" (amongst other things) of the CM3 module in the system being tested:-

https://www.dropbox.com/s/9tgxoohwae0bh ... B.jpg?dl=0

Please forgive the soldering and build quality - this "test" PCB above was built by hand by myself as I was too lazy to program the SMT P&P machine for such a small PCB... I also don't bother ordering a solder stencil to save cost, so the solder paste was also applied by hand...

Return to “Compute Module”