On Sun, 11 Jul 2004, Gerd v. Egidy wrote: > Ok, here we go with full logging: > > [...] > Jul 11 00:11:38 fire kernel: usb-storage: *** thread awakened. > Jul 11 00:11:38 fire kernel: usb-storage: Command READ_10 (10 bytes) > Jul 11 00:11:38 fire kernel: usb-storage: 28 00 00 00 4d 97 00 00 40 00 > Jul 11 00:11:38 fire kernel: usb-storage: Bulk Command S 0x43425355 T 0x73d L 32768 > F 128 Trg 0 LUN 0 CL 10 > Jul 11 00:11:38 fire kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes > Jul 11 00:11:38 fire kernel: usb-storage: Status code 0; transferred 31/31 > Jul 11 00:11:38 fire kernel: usb-storage: -- transfer complete > Jul 11 00:11:38 fire kernel: usb-storage: Bulk command transfer result=0 > Jul 11 00:11:38 fire kernel: usb-storage: usb_stor_bulk_transfer_sglist: xfer 32768 > bytes, 1 entries > Jul 11 00:11:38 fire kernel: usb-storage: Status code -71; transferred 11264/32768 > Jul 11 00:11:38 fire kernel: usb-storage: -- unknown error
This is slightly different from the normal failure mode of Genesys devices. You got error code -71, but the normal failure is a timeout. I don't know if this means anything. > This is from trying to mount my 200G reiser partition through dm-crypt. > The bug is 100% reproducable with this. It makes you wonder what's so special about dm-crypt? Maybe it just does more I/O than normal mounting, so it's more likely to provoke the problem. > I can sometimes reproduce it without dm-crypt: seldom at write and more > often with mounting. Another oddity; these problems usually show up more often with writing than with reading. > Ok, at first glance it looks like it's working with delay >= 350us > (I tried 200, 600, 400, 300, 350). > I can mount and have transferred some gigs - even with dm-crypt. > I'll run a torture test over night to find out if 350us is really working for me. > > It seems like it hurts performance a bit. I haven't done very reliable testing, > but it seems I can now (350us) write with 9,5 MB/s where I could do > 10,5-11 with 100us (when it was working, both times without dm-cyrpt > and debugging off). > > But isn't it strange that I need more than 3 times the delay than others do? > Maybe the position of the delay is wrong or we need to sleep at two different > positions (e.g. not just a delay between command and data, but maybe also > between data and the next command). You can try adding a delay there too, if you want. The appropriate place would be at the start of the usb_stor_Bulk_transport() subroutine. The technical support staff at Genesys Logic did not say that such a delay was needed, but they did say the one before the data phase was necessary. > After some hours of testing it still fails. And now it isn't even mounting > with 600us... > > As working and not working is this unpredictable and not consistent I think > there must be something else missing in the driver. I think there might be something else wrong with your device. It's behaving differently from other Genesys devices... Can you try to exchange it? Alan Stern ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel