David Brownell wrote:
Does it reproduce with 2.6.10-rc3-bk5 or later? I could believe the EHCI race fix would have nasty symptoms like that.
- Dave
On Friday 10 December 2004 11:13 pm, you wrote:
I previously posted this to linux-usb-users but at the suggestion of Alan Stern, I am reposting here. In his reply, he also said that it sounded like a hardware problem. I have this issue on two different ASUS motherboards with any of three different external enclosures. Perhaps he meant hardware isuue as in broken as made......
Dale
I am fighting an issue of silent corruption of data from certain USB ATA drive enclosures only on certain motherboards. Please redirect me if this is not the correct forum in which to raise this issue. If I need to post this elsewhere, I would welcome suggestions on its content. I have spent a little effort to try understand the nature of the problem and to resolve the issue prior to posting. I apologize for the length of this post but there is much to convey due to what I have already done.
Thanks In Advance,
Dale
Brief details as follows:
1) Everything otherwise working well, hotplug auto identification, etc. Only issue is sporadic corruption of data read from enclosure when used with any of the USB ports on specific motherboards and only with specific USB enclosures. Other than the bad data, there is _no_ indication of failure.
2) Only observed on ASUS NForce2 systems mobo USB ports. Have only two such mobo, both have problem but are different models.
3) Using a hub between motherboard and enclosure does not seem to affect problem.
4) Same cable/enclosure/disk combinations can be moved to Toshiba laptop without symptom being present. This is the only other USB 2.0 host interface readily available on site.
5) Present with all ATA disks from my collection that I have tried. Would estimate 8 different drives used.
6) Only seen on ALi based USB enclosures. I have tried two essentially identical 5.25 inch units and one 2.5 inch. The 5.25 are based on the ALi 5621 and the 2.5 inch on the ALi 5642. While these are different, they are probably related designs. These have the fastest total throughput of any devices I have available.
7) Not seen when a borrowed Maxtor external firewire/USB drive was attached via USB to problematic NForce2 system. This unit is based on a Oxford Semi 991FW chip. This unit's transfer rate is just slightly lower than the ALi base ones. Also not seen when using Sandisk USB 2.0 flash drive.
8) Seen with several 2.6 kernels. Was running 2.6.8.1 when first encountered. Hi-speed USB did not work on this hardware prior to 2.6.8 due to interrupt issue. Have tried latest stable 2.6. 9 in hopes of clean operation but no change. (Now tried 2.6.10-rc3, no change.)
9) First observed as lack of repeatability of md5sum of entire drive (/dev/sda) while archiving off old drive content. In order to better understand the nature of instability, I have written a simple program to generate a fixed test pattern and subsequently verify it.
10) Errors on read data only. Test pattern can be sourced on problem system and found to be valid on reading.
11) Rate of errors to total is seemingly consistent between runs -- about 0.002 %
12) Errors occur on 512 byte boundaries, widely and randomly separated. None seen in consecutive blocks - yet - but my feeling that this is just due to sparseness of problem.
13) Problems occur in seemingly random locations. Between all test runs where the block numbers of problem data are available, it has yet to happen twice in the same location.
14) In all observed cases where reading predictable content, the errors can be described as 'stale' or recently read data being seen again. Sometimes the total 512 byte content is recognizable as data that was previously read. Somewhat rarer is 2 different 256 byte chunks, both previously seen. Rarer still is data previously seen a with a few bytes of garbage.
I have done some searches on mailing list archives for Linux-usb-users, Linux-usb-devel and lkml archives but not seen anything that seems to be a good match. I have googled for similar reports without any luck -- too many false hits.
I wish to pursue this before it hurts someone. I am planning these next steps, in reverse order:
1) Thinking about getting one of the USB-PC to USB-PC active connection cables and seeing if I can reproduce problem via TCP/IP
2) I have ordered a PCI USB 2.0 host adapter. I wanted one anyway for older box but will try on NForce2 boxes.
3) I have not tried writing my test pattern within a single partition. I do not have high hopes for this but it is something I thought of and can do with resources at hand. I am only going to look at this because prior to noticing problem I used the hardware for active filesystem(s) and did not notice any issues.
4) I am planning on taking a drive enclosure to try on a colleague's machines.
5) Try more advanced kernels. There is lots of activity for USB in changelog all though nothing thats seems exactly targeted at this issue. ( Since original post, I have tried 2.6.10-rc3).
6) Have a beer and hope for inspiration.
Some of the 'normal' configuration type outputs. Generally these have proved more helpful when things consistently do not work rather than just data corruption but here goes:
uname -r
2.6.8.1 -or- 2.6.9
lsusb output:
Bus 003 Device 001: ID 0000:0000 Bus 002 Device 002: ID 046d:c50b Logitech, Inc. Bus 002 Device 001: ID 0000:0000 Bus 001 Device 002: ID 0402:5621 ALi Corp. Bus 001 Device 001: ID 0000:0000 [
Content of /proc/bus/devices:
T: Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 3 B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0000 ProdID=0000 Rev= 2.06 S: Manufacturer=Linux 2.6.8.1 ohci_hcd S: Product=OHCI Host Controller S: SerialNumber=0000:00:02.1 C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms
T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 3 B: Alloc= 28/900 us ( 3%), #Int= 2, #Iso= 0 D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0000 ProdID=0000 Rev= 2.06 S: Manufacturer=Linux 2.6.8.1 ohci_hcd S: Product=OHCI Host Controller S: SerialNumber=0000:00:02.0 C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms
T: Bus=02 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=046d ProdID=c50b Rev=21.00 S: Manufacturer=Logitech S: Product=USB Receiver C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr= 98mA I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbhid E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms I: If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 6 B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS= 8 #Cfgs= 1 P: Vendor=0000 ProdID=0000 Rev= 2.06 S: Manufacturer=Linux 2.6.8.1 ehci_hcd S: Product=EHCI Host Controller S: SerialNumber=0000:00:02.2 C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=256ms
T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 2 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0402 ProdID=5621 Rev= 1.03
S: Product=USB 2.0 Storage Device
S: SerialNumber=00042222200000010989
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel