Tai Tran
Posts: 5
Joined: Sun Jun 16, 2013 7:21 am

reset high-speed USB device number XXX using dwc_otg

Sun Jun 16, 2013 7:52 am

I've just got a RP model B yesterday, installed Raspbian OS:
Linux raspberrypi 3.6.11+ #474 PREEMPT Thu Jun 13 17:14:42 BST 2013 armv6l GNU/Linux

I want to setup it to be a NAS box, so I use an IDE/SATA to USB 2.0 HDD box, hook up my spare ancient 40G IDE HDD to the box, and connect the box to USB port of the RP. The hard drive is properly detected, I can mount it and public the drive to my home LAN using Samba. Everything was perfectly OK until I copied a 8 GB movie file from the HDD to my Windows PC (through Samba). The copying progress started for about 15 seconds or so then stopped and frozen. It was always reproducible and occurred almost exactly same duration after the copying process was started. I saw lots of USB reset errors in /var/log/messages:

Jun 15 17:53:52 raspberrypi kernel: [31412.926354] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
Jun 15 19:16:29 raspberrypi kernel: [ 6.742670] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
Jun 15 20:33:24 raspberrypi kernel: [ 4607.438605] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
Jun 15 20:39:54 raspberrypi kernel: [ 4997.455218] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
Jun 15 20:51:31 raspberrypi kernel: [ 5694.483059] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
Jun 15 21:23:03 raspberrypi kernel: [ 7586.602859] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
...

I did lots of searching, found that many people ran into same problem because insufficient power provided to HDD through RP's USB port. However, it is very least likely to be the case here because my HDD box comes with a separate power adapter, so it should not suck much power from the RP. The lsusb confirms the power requirement of HDD box is just 2mA:

Bus 001 Device 005: ID 152d:2338 JMicron Technology Corp. / JMicron USA Technology Corp. JM20337 Hi-Speed USB to SATA & PATA Combo Bridge
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x152d JMicron Technology Corp. / JMicron USA Technology Corp.
idProduct 0x2338 JM20337 Hi-Speed USB to SATA & PATA Combo Bridge
bcdDevice 1.00
iManufacturer 1
iProduct 2
iSerial 5
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 4
bmAttributes 0xc0
Self Powered
MaxPower 2mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk-Only
iInterface 6
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval

I'm using the origin iPad 1 charger (5.1V, 2.1 A) for the RP so that leaves out it is caused by insufficient power source. Beside the HDD, I do not plug anything else into the RP USB ports. The HDD box works very well when hooked up to my Windows PC, so it should not be the cause either.

It is so weird, I'm stuck now.

Tai Tran
Posts: 5
Joined: Sun Jun 16, 2013 7:21 am

Re: reset high-speed USB device number XXX using dwc_otg

Tue Jun 18, 2013 2:43 pm

Tried everything, bought a powered usb hub, changed hdd box, ..., no work --> sold it online. A piece of junk. The cost of SD card, cables, power supply, ... added up more than its price 35 usd, not cheap at all. More importantly, it does not work. Lack of power here, power there and way too much incompatibility with respect to external HDD.

User avatar
RaTTuS
Posts: 10574
Joined: Tue Nov 29, 2011 11:12 am
Location: North West UK
Contact: Twitter YouTube

Re: reset high-speed USB device number XXX using dwc_otg

Tue Jun 18, 2013 2:51 pm

I believe you have some other issue
I have several RPi's with external HD and no issues when copying

as you already had the PSU - you didn't pay for that,
How To ask Questions :- http://www.catb.org/esr/faqs/smart-questions.html
WARNING - some parts of this post may be erroneous YMMV

1QC43qbL5FySu2Pi51vGqKqxy3UiJgukSX
Covfefe

Tai Tran
Posts: 5
Joined: Sun Jun 16, 2013 7:21 am

Re: reset high-speed USB device number XXX using dwc_otg

Thu Jun 20, 2013 1:48 pm

Volt meter reads consistently 4.9x V, so not power insufficient for sure. I tested 2 HDD boxes, and 1 USB HDD (Transcend StoreJet 320GB). Surprisingly, all 3 use the same JMicron JM20337 chip. If it is not a faulty board, definitely compatibility issue.

LlyrP
Posts: 22
Joined: Tue May 21, 2013 3:31 pm
Location: Edinburgh
Contact: Website

Re: reset high-speed USB device number XXX using dwc_otg

Thu Jun 20, 2013 5:14 pm

I suspect cheap USB hub(s). As a matter of fact I can almost guarantee it.

I got this using a cheap 7 port hub (that eventually failed on me). A surprising number of cheap hubs drop to 4V or less as current draw rises. Or it simply can't supply the amount of rated current and the USB transciever on the SMSC9512 (the Pi's USB hub chip) keeps resetting because there isn't enough juice to keep it powered.

I very much doubt your Pi was at fault here, and it's sad you wouldn't give it a real chance. With decent enough kit it has recognised every esoteric piece of hardware I've thrown at it (a cheap PIC programmer, a Saleae logic analyser, various i2c hardware, three printers, and more HDDs than I can count on two hands). I use my main Model B v2 as a field PC repair kit and it has more than paid for itself.

Not trying to be an apologist or anything, 's just my opinion. Yes the Pi does have its faults but hardware compatibility isn't one of them.
Use your own judgement when following any instructions from the forum. I take no responsibility if you fry anything...
--
LlyrP :: http://llyrpenrose.com/

Tai Tran
Posts: 5
Joined: Sun Jun 16, 2013 7:21 am

Re: reset high-speed USB device number XXX using dwc_otg

Fri Jun 21, 2013 1:07 pm

It is not so fun to pay, try and fail in search of a good hub or should I care how much mA a particular device sucks from USB port, just give me standard USB 2.0 port specs (500mA please). I guess I'm not the only one here wasting money just to find out which hub is good, and for what, this cost should be added to the bottom line too. I want my RP to do things I need it to, I don't find it's worth the time to hunt for good power supplies, good powered hubs, ... and because I'm not living in a place where good brand components are easily to be found.

Hope that rev C would fix that.

Tai Tran
Posts: 5
Joined: Sun Jun 16, 2013 7:21 am

Re: reset high-speed USB device number XXX using dwc_otg

Sat Jun 22, 2013 5:59 am

I borrowed my friend's RP today, tested with same components, same setup, it worked --> my RP was faulty one. However, I bought a new BeagleBone Black instead. Story ends here.

georgebastille
Posts: 1
Joined: Sun Apr 13, 2014 7:45 am

Re: reset high-speed USB device number XXX using dwc_otg

Sun Apr 13, 2014 8:05 am

Hi all, I know this is late but I was having the same issue. It was fixed here: http://www.raspberrypi.org/forums/viewt ... 7&start=25

SOLUTION:
run rpi-update

that's it

davethomaspilot
Posts: 116
Joined: Tue Apr 29, 2014 6:18 pm

Re: reset high-speed USB device number XXX using dwc_otg

Tue May 13, 2014 11:15 pm

Did that, but that caused a new fatal error:

cannot locate cpu MHZ in /proc/cpuinfo


Spent the last hour researching this and how to fix. No good fixes found so far--just regress to prior version.

Could be I missing something...

jbowler
Posts: 70
Joined: Sun Jul 13, 2014 8:02 pm

Re: reset high-speed USB device number XXX using dwc_otg

Sun Jan 18, 2015 9:16 pm

The message seems to be harmless and to be the result of the device going into a suspend. The only issue I see is that the device in question is my root device and it seems that sometimes it doesn't come out of suspend resulting in my RPi having to be power-cycled (very very rarely, after a few weeks.)

I see the message on an RPi B with a Samsung EVO 840 SSD connected via an ASMedia AS2105 SATA to USB adapter. The adapter is pretty common, indeed my StarTech SATA docking bay uses the identical adapter and runs without the reset message on a B+. On the B, however, the reset message comes out at a rate of up to once every 4 seconds; not fast enough to slow the speed noticeably in my case, but annoying noise in the kernel log. The adapter is USB 3/Super-speed capable and it does work at super-speed on a USB3 system (I time it at around 100MByte/second with a 3Gb/s SATA drive.) The AS2105 is nominally a 4 port hub, though in both of the cases only one port is active.

Both these systems are running 3.18.3, both have power to the drive independently of the RPi, both are overclocked etc, both have adequate power to the RPi.

The message comes from drivers/usb/core/hub.c, line 4312 in 3.18.3, the function is hub_port_init, apparently (from the comments) from usb_reset_and_verify_device. I see two places where this can be called:

finish_port_resume: this is what I think is happening.
usb_reset_device: I think this would mean that something had deliberately decided to reset the device, I would expect a separate kernel message since resetting a hub which holds the root device seems like a pretty weird thing to do.

Without the full call stack of course I can't tell where the reset originates, but it seems likely that the disk is being suspended automatically when the system falls idle. lpm_enable is being set to '0', however it seems to me that the SSD disk itself might just do a suspend on its own. As an experiment I tried dwc_otg.lpm_enable=1 (turn on Linux power management) however it errors out in the boot - it looks like the relevant DWC_OTG code isn't compiled in.

I couldn't see anything else that would control USB suspend.

Return to “Beginners”