Hi,
I'm back from hardware-hell. I changed every part of the system (cpu, ram,
board, case/power-supply, pci-cards, disk, usb-frame,...), one at a time, and
the problem still persists. In the first email I reported that it ran on a
different system. I tried that again and now it is failing too - seems like
it was luck back then.
The only thing I did not change is the usb controller card type. I have two
cards but of the same brand & type:
cat /proc/bus/usb/devices:
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 4
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.11-rc5 ehci_hcd
S: Product=EHCI Host Controller
S: SerialNumber=0000:00:08.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
lspci -v:
00:08.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 63) (prog-if 20
[EHCI])
Subsystem: VIA Technologies, Inc. USB 2.0
Flags: bus master, medium devsel, latency 32, IRQ 18
Memory at d8401000 (32-bit, non-prefetchable) [size=256]
Capabilities: [80] Power Management version 2
> > Maybe it'd be happier with a slightly shorter read?
>
> Could be. Gerd, have you changed the max_sectors value associated with
> the device? The default value used by usb-storage is 240, which
> corresponds to a maximum transfer length of 120 KB. But your log shows
> attempted transfers of length 128 KB -- perhaps that sometimes causes
> trouble. Hmmm... Maybe the block layer isn't honoring max_sectors any
> more...
I haven't changed or patched anything with the max_sectors. Or nothing that
I'm aware of. Where/How would that be done?
> Incidentally, I filed a technical support request with Cypress
> Semiconductors about this. Maybe they'll be able to help...
I'm not sure if that is a problem only related to cypress. I've got another
usb frame with a genesys chip that shows the same behavior. I tried it and I
got a disconnect after some time too. I don't know if the log message is
exactly the same tough and I don't have the log anymore (was just a test
install). If you need this log I can reinstall and reproduce it.
I don't understand the protocol details but as far as I understood the reason
for the resets (and finally the disconnect too) can be that the data
transferred in one request is too large to fit into fixed-size buffer. Is
there any quick hack to reduce the transfer size (regardless of what the scsi
systems thinks and does)? Just to prove this theory.
Or would it help to add some additional debug kprintfs to the ehci or
usb_storage driver to get more info about the resets?
Kind regards,
Gerd
-------------------------------------------------------
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://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel