This Question is Answered

1 "correct" answer available (4 pts) 2 "helpful" answers available (2 pts)
6 Replies Last post: Jul 1, 2009 2:23 AM by Jitesh Butala  
Jitesh Butala Contributor 12 posts since
Jun 5, 2009
Currently Being Moderated

Jun 10, 2009 5:31 AM

USB not detecting as a high speed device

I am having an issue with the USB LAN EZ-externder  which I use along with the BF-561 EZ kit. When I use the IDDE directly, the USB  enumerates properly. But when I load the same code into flash and then try to  boot, the USB gets enumerated, but as a full speed device (USB 1.1) and not as a  high speed device (USB 2.0). The solution / workaround to this is to do a soft  boot using the push button provided on the EZ-kit. This issue crops up only when  I have the USB cable plugged into the PC before I boot up the BF-561 kit. If I  have the USB unplugged, then boot the kit and then connect the USB, it properly  detects it as a USB 2.0 device. Thinking that the DSP boots up much faster than  the USB chip and that the DSP tried to configure the USB chip when it has not as  yet booted up, I added a large delay (abt 200 ms) at the begining of the code,  but this did not improve the situation.
I would appreciate any pointers to the possible cause and the remedy of this issue.

Joe B Analog Employee   30 posts since
Jan 22, 2009
Currently Being Moderated
1. Jun 16, 2009 8:47 PM in response to: Jitesh Butala
Re: USB not detecting as a high speed device

Hi Jitesh.

 

An apps engineer is going to try to replicate your setup here to see what we can do to help.  Can you please provide the board rev of the BF561 EZ-KIT and USB-LAN extender card that you are using?  Also, what version of VisualDSP++ are you using (major release and any installed Update)?

 

Thanks!

rkarthik Analog Employee   12 posts since
Apr 14, 2009
Currently Being Moderated
3. Jun 23, 2009 1:55 AM in response to: Jitesh Butala
Re: USB not detecting as a high speed device

I tried recreating the setup that you have. I used the VDSP bulk loopback app with Rev 1.1 of the USB LAN EZ extender, VDSP 5.0 Update 6 driver, and a host running Win XP SP2. I burned the code into flash with the default init code that ships with VDSP and I did not run into what you are seeing. The USB cable is connected, and I then power up the EZKIT. The board enumerates as a high speed device. Have you tried running it on different PCs, or using different ports on the same PC? Is this behavior consistent on all machines and USB ports? Also, are you running one of our example applications or custom code? If you have another USB LAN extender card, you could try that as well.

 

I do not believe adding the delay in code will help here since the host determines if the device is high or full speed using special signals during RESET, well before control transfers are initiated. It could be the case that the Netchip doesn't respond appropriately during the RESET in this particular case, but I would like to first rule out issues on the host end.

rkarthik Analog Employee   12 posts since
Apr 14, 2009
Currently Being Moderated
5. Jun 23, 2009 3:25 PM in response to: Jitesh Butala
Re: USB not detecting as a high speed device

That could definitely be one cause of the problem. The part that concerns me with the VDSP 4.5 code is that before holding RESET# low on the Netchip, the code does not enable the root port wakeup enable on the Netchip. This could mean that if the Host issues a RESET when the blackfin is trying to issue a reset over the GPIO, the Netchip might not respond appropriately to the host RESET.You can try incorporating the code from the reset routine of VDSP 5.0, but I would strongly recommend just updating to the latest version, since there were a number of issues with the older driver that were fixed going forward.

 

Just for clarification, there are 2 ways to reset the Netchip, a complete reset by holding the RESET# pin on the Netchip low, and the other is a root port reset issued by a host, where the host holds an SE0 on the data lines for >= 10ms. The 2 types of resets do different things on the Netchip.

 

Unfortunately, I only have the 5.0 init code dxe. You can try importing the 561 init code project into 4.5 and trying to compile a 4.5 dxe for use with your project though.

 

hope this helps!

--Karthik

More Like This

  • Retrieving data ...