Author Topic: Enumeration Problems  (Read 6666 times)

KMC500

  • Member
  • ***
  • Posts: 4
Enumeration Problems
« on: February 26, 2014, 05:35:58 am »
Hi All,

I am succesfully enumerating my USB device as a 'removable hard disk' when connected via an in-line analyser (ellysis 200). However, when connecting the device directly to the host I receive 'Device Not recognised'.

I am unsure of a solution to this problem and am wondering if anyone has experience of such issues or perhaps any info on additional buffering/capacitance used in the analyser - worried that this is a hardware issue?

Thanks in advance,

KMC500

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: Enumeration Problems
« Reply #1 on: February 26, 2014, 09:08:26 am »
Well, that's annoying! The analyzer doesn't buffer, just monitors. The analyzer and the cables that connect to it emulate a single conventional cable. The cables should be short. I think Ellisys recommends 1 m or less? You could try connecting under a hub with the analyzer to see if that causes it to fail. Or if the device has a series-B connector, try different length cables.

KMC500

  • Member
  • ***
  • Posts: 4
Re: Enumeration Problems
« Reply #2 on: March 05, 2014, 12:17:03 pm »
Yep... It is annoying  ???

Today I've found that cable length does not effect operation. The device enumerates if connected via a USB HUB (external), or via the Analyser. Connecting directly to a port on the laptop results in 'unknown device'. I've also tried numerous machines without any improvement.

I've changed signal line 'balancing' resistors and removing EMI chokes/suppressors has had no influence. Also added some simulatd 'lead capacitance' to ground, again without any improvement.

I'm going to look in more detail at the HUB circuit and see if I can determine the differences or perhaps something else I'm missing.

Thanks,

KMC

st2000

  • Member
  • ***
  • Posts: 44
Re: Enumeration Problems
« Reply #3 on: March 05, 2014, 01:21:49 pm »
Just guessing (so please consider the source).  Could it be that the host you are using is broken or is not operating as expected?  It may be the loads your device is presenting to the host are a bit different than the hub or analyzer.  And that the differences are enough to solicit different responses from the host.  Or, maybe the host is not able to detect the difference between the loads for a USB 1.0 and 2.0 device?  I think a high speed DEVICE(PERIPHERAL) pulls up the D+ line and a low speed DEVICE pulls up the D- line.  Also, I'm not sure about what hardware your DEVICE is using.  Are you sure you have designed in the correct pull up resistor.  Or, perhaps, a better question is, are you sure you have PROGRAMMED the USB interface chip on your DEVICE to pull up the correct Data line for the behavior you want?




KMC500

  • Member
  • ***
  • Posts: 4
Re: Enumeration Problems
« Reply #4 on: March 06, 2014, 04:35:48 pm »
Fixed!

Found that the kinetis part I'm using has its USB power supplied by an internal regulator not from VDD, I thought this was optional to provide a regulated output to external circuitry from VBUS.

I was missing a reservoir cap on the VOUT 3v3 to provide stability to the USB regulator.

Got there in the end  :-\

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: Enumeration Problems
« Reply #5 on: March 11, 2014, 09:34:12 pm »
Glad you got it working. Thanks for reporting what you found!