Alan Stern wrote: > On Wed, 2 May 2012, Norman Diamond wrote: >> OK, quoted below is usbmon for donnection and disconnection through >> the JMicron 20337. >> >> Do you also need usbmon for the JMicron JMS539 which is handled properly? > > No. > >> Meanwhile I tested my Prolific bridge again too, with an additional >> PATA-to-SATA adapter. Windows sees 3TB but Linux sees 800GB minus >> one block. Do you need usbmon for that? > > Probably the two bridges have the same bug. I agree, "Probably". >> usbmon for the JMicron 20337 is around 2000 lines, which seemed like >> enough for one mail message. > > Here's the interesting part: > >> edb17580 3641398166 S Bo:2:003:2 -115 31 = 55534243 03000000 08000000 80000a25 00000000 00000000 00000000 000000 >> edb17580 3641398233 C Bo:2:003:2 0 31 > >> edb17c80 3641398246 S Bi:2:003:1 -115 8 < >> edb17c80 3641398357 C Bi:2:003:1 0 8 = 5d50a3af 00000200 >> edb17580 3641398444 S Bi:2:003:1 -115 13 < >> edb17580 3641398608 C Bi:2:003:1 0 13 = 55534253 03000000 00000000 00 > > This shows a READ CAPACITY command. The response says the highest > numbered LBA is 1565565871 (5d50a3af in hex) and each block is 512 > bytes. That amounts to a little over 800 GB, which is what you saw. > > It looks like the bridge is sending just the least-significant 32 bits > of the capacity. What it should have done is reply with 0xffffffff. > Then the kernel would know to try again with a READ CAPACITY(16) > command, which is capable of retrieving values larger than 32 bits. You are right, bridges' failures to reply with 0xffffffff are bridges' bugs. Obviously Windows proceeded to try a READ CAPACITY(16) regardless. I hope old bridges that can't handle READ CAPACITY(16) at least avoid crashing when presented with that command, so a workaround could always send that command. Or a quirk could be added to say which bridges crash. If a bridge sends an ordinary rejection saying that it can't handle the command but doesn't crash, then there's no need to avoid the attempt. -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html