I've just bought a Netac OnlyDisk U220 to replace an older flash key
that died. It behaves rather oddly. The device registers very slowly,
and then is _incredibly_ slow at doing bulk transfers (e.g. when
reading/writing). It works fine under Windows 2000.

As an example:

tack:/home/steve# dd if=/dev/zero of=/dev/sda
81+0 records in
80+0 records out
40960 bytes transferred in 416.846622 seconds (98 bytes/sec)

I hit Ctrl-C at this point...

I've tracked down the cause of the problem; with debug enabled in
usb_storage I can see lots of "Bulk logical error" complaints from
usb_stor_Bulk_transport(). Further debugging tells me that the device
is sending broken signatures. The code checks for signatures of

0x53425355 (US_BULK_CS_SIGN)
0x55425355 (US_BULK_CS_OLYMPUS_SIGN)

but the output from this silly key is not matching those. It looks to
be _trying_ to return US_BULK_CS_SIGN, but I'm seeing variations in
byte 2:

...
Mar 30 15:49:21 tack kernel: usb-storage: Bulk Status S 0x53425355 T 0x5957 R 0 
Stat 0x0
Mar 30 15:49:21 tack kernel: usb-storage: Bulk Status S 0x53425355 T 0x5958 R 0 
Stat 0x0
Mar 30 15:49:22 tack kernel: usb-storage: Bulk Status S 0x53425355 T 0x5959 R 0 
Stat 0x0
Mar 30 15:49:22 tack kernel: usb-storage: Bulk Status S 0x539e5355 T 0x595a R 0 
Stat 0x0
Mar 30 15:49:22 tack kernel: usb-storage: Bulk Status S 0x53425355 T 0x595b R 0 
Stat 0x0
Mar 30 15:49:22 tack kernel: usb-storage: Bulk Status S 0x531e5355 T 0x595c R 0 
Stat 0x0
Mar 30 15:49:22 tack kernel: usb-storage: Bulk Status S 0x53425355 T 0x595d R 0 
Stat 0x0
Mar 30 15:49:22 tack kernel: usb-storage: Bulk Status S 0x53bb5355 T 0x595e R 0 
Stat 0x0
Mar 30 15:49:22 tack kernel: usb-storage: Bulk Status S 0x53425355 T 0x595f R 0 
Stat 0x0
Mar 30 15:49:22 tack kernel: usb-storage: Bulk Status S 0x53845355 T 0x5960 R 0 
Stat 0x0
Mar 30 15:49:22 tack kernel: usb-storage: Bulk Status S 0x53fb5355 T 0x5961 R 0 
Stat 0x0
Mar 30 15:49:22 tack kernel: usb-storage: Bulk Status S 0x53425355 T 0x5962 R 0 
Stat 0x0
...

I can only assume that Windows is ignoring the signature altogether,
or has special-case coding for some devices. If this is a common error
in these devices, I'm amazed that nobody has complained about it
before. As it works under Windows, sending it back for a refund will
be difficult (of course).

For now, I've simply commented out the signature check and I can now
use this key just fine. I've done data comparisons and it appears so
far that traffic is not corrupted. Would anyone be interested in a
patch to add an UNUSUAL_DEV flag and entry to work around this
breakage?

-- 
Steve McIntyre, Cambridge, UK.                                [EMAIL PROTECTED]
"Further comment on how I feel about IBM will appear once I've worked out
 whether they're being malicious or incompetent. Capital letters are forecast."
 Matthew Garrett, http://www.livejournal.com/users/mjg59/30675.html

Attachment: signature.asc
Description: Digital signature

Reply via email to