USB Mass Storage - Kernel Bug?

Submitted by Anonymous
on September 15, 2004 - 10:27pm

Greetings,

I am having trouble using an external USB 2.0 to IDE converter box with recent 2.6 kernels. The box houses a 200GB IDE drive. When I try to perform large transfers (eg 500MB files) to the box it aborts after a variable proportion of the file/s have been transferred. The device is then unusable unless removed and plugged in again.

The dmesg output calls it a kernel bug... Google is unhelpful, does anybody know what this is or where I could go for further assistance.
All the recent kernels versions that I've tried seem affected, from 2.6.4 through to 2.6.9-rc2.

Note that the drive works under Windows 2k/XP. Dmesg output is attached, with the most relevant section directly below.

Warm regards,

Damien

------------[ cut here ]------------
kernel BUG at drivers/block/as-iosched.c:1853!
invalid operand: 0000 [#1]
Modules linked in: visor usbserial yenta_socket ds pcmcia_core
usb_storage
CPU: 0
EIP: 0060:[] Not tainted VLI
EFLAGS: 00010293 (2.6.9-rc2damo)
EIP is at as_exit+0x65/0x79
eax: df79968c ebx: df799680 ecx: d1e42aa0 edx: d030be74
esi: c15ac0b4 edi: 00000292 ebp: c151ceb4 esp: d030beb0
ds: 007b es: 007b ss: 0068
Process scsi_eh_0 (pid: 2082, threadinfo=d030a000 task=d1e42aa0)
Stack: df799708 c15ac028 c0214b10 c15ac028 c15ac034 c02169e2 c15ac028
00000001
dea71824 dea71800 c0245fac c15ac028 dea719a8 c03d7248 c03d7260
c151ced8
c0210b94 dea71984 00cec98a 00cec98a ffffffff c019ca63 dea719a8
dea719c0
Call Trace:
[] elevator_exit+0x1e/0x20
[] blk_cleanup_queue+0x36/0x81
[] scsi_device_dev_release+0xd9/0xeb
[] device_release+0x58/0x5c
[] kobject_cleanup+0x98/0x9a
[] kobject_release+0x0/0xa
[] kref_put+0x39/0x93
[] vprintk+0xfe/0x12f
[] kobject_put+0x1e/0x22
[] kobject_release+0x0/0xa
[] __scsi_iterate_devices+0x4f/0x59
[] scsi_eh_stu+0x92/0xf4
[] scsi_eh_ready_devs+0x2b/0x93
[] scsi_unjam_host+0xb7/0xb9
[] scsi_error_handler+0x9e/0xc6
[] scsi_error_handler+0x0/0xc6
[] kernel_thread_helper+0x5/0xb
Code: f1 ff 8b 83 d8 00 00 00 89 04 24 e8 67 b0 ff ff 8b 43 38 89 04 24
e8 69 cb f1 ff 89 5c 24 0c 8b 5c 24 04 83 c4 08 e9 59 cb f1 ff <0f> 0b
3d 07 fd f1 34 c0 eb c2 0f 0b 3c 07 fd f1 34 c0 eb b0 55

DMESG OUTPUT:

led: -19
usb-storage: scsi cmd done, result=0x70000
usb-storage: *** thread sleeping.
SCSI error : <1 0 0 0> return code = 0x70000
end_request: I/O error, dev sdb, sector 163054799
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command WRITE_10 (10 bytes)
usb-storage: 2a 00 09 b8 04 d1 00 00 1e 00
usb-storage: Bulk Command S 0x43425355 T 0xdb33 L 15360 F 0 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code -19; transferred 0/31
usb-storage: -- unknown error
usb-storage: Bulk command transfer result=4
usb-storage: -- transport indicates error, resetting
usb-storage: usb_stor_Bulk_reset called
usb-storage: usb_stor_control_msg: rq=ff rqtype=21 value=0000 index=00 len=0
usb-storage: Soft reset failed: -19
usb-storage: scsi cmd done, result=0x70000
usb-storage: *** thread sleeping.
SCSI error : <1 0 0 0> return code = 0x70000
end_request: I/O error, dev sdb, sector 163054801
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command WRITE_10 (10 bytes)
usb-storage: 2a 00 09 b8 04 d3 00 00 1c 00
usb-storage: Bulk Command S 0x43425355 T 0xdb34 L 14336 F 0 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code -19; transferred 0/31
usb-storage: -- unknown error
usb-storage: Bulk command transfer result=4
usb-storage: -- transport indicates error, resetting
usb-storage: usb_stor_Bulk_reset called
usb-storage: usb_stor_control_msg: rq=ff rqtype=21 value=0000 index=00 len=0
usb-storage: Soft reset failed: -19
usb-storage: scsi cmd done, result=0x70000
usb-storage: *** thread sleeping.
SCSI error : <1 0 0 0> return code = 0x70000
end_request: I/O error, dev sdb, sector 163054803
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command WRITE_10 (10 bytes)
usb-storage: 2a 00 09 b8 04 d5 00 00 1a 00
usb-storage: Bulk Command S 0x43425355 T 0xdb35 L 13312 F 0 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code -19; transferred 0/31
usb-storage: -- unknown error
usb-storage: Bulk command transfer result=4
usb-storage: -- transport indicates error, resetting
usb-storage: usb_stor_Bulk_reset called
usb-storage: usb_stor_control_msg: rq=ff rqtype=21 value=0000 index=00 len=0
usb-storage: Soft reset failed: -19
usb-storage: scsi cmd done, result=0x70000
usb-storage: *** thread sleeping.
SCSI error : <1 0 0 0> return code = 0x70000
end_request: I/O error, dev sdb, sector 163054805
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command WRITE_10 (10 bytes)
usb-storage: 2a 00 09 b8 04 d7 00 00 18 00
usb-storage: Bulk Command S 0x43425355 T 0xdb36 L 12288 F 0 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code -19; transferred 0/31
usb-storage: -- unknown error
usb-storage: Bulk command transfer result=4
usb-storage: -- transport indicates error, resetting
usb-storage: usb_stor_Bulk_reset called
usb-storage: usb_stor_control_msg: rq=ff rqtype=21 value=0000 index=00 len=0
usb-storage: Soft reset failed: -19
usb-storage: scsi cmd done, result=0x70000
usb-storage: *** thread sleeping.
SCSI error : <1 0 0 0> return code = 0x70000
end_request: I/O error, dev sdb, sector 163054807
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command WRITE_10 (10 bytes)
usb-storage: 2a 00 09 b8 04 d9 00 00 16 00
usb-storage: Bulk Command S 0x43425355 T 0xdb37 L 11264 F 0 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code -19; transferred 0/31
usb-storage: -- unknown error
usb-storage: Bulk command transfer result=4
usb-storage: -- transport indicates error, resetting
usb-storage: usb_stor_Bulk_reset called
usb-storage: usb_stor_control_msg: rq=ff rqtype=21 value=0000 index=00 len=0
usb-storage: Soft reset failed: -19
usb-storage: scsi cmd done, result=0x70000
usb-storage: *** thread sleeping.
SCSI error : <1 0 0 0> return code = 0x70000
end_request: I/O error, dev sdb, sector 163054809
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command WRITE_10 (10 bytes)
usb-storage: 2a 00 09 b8 04 db 00 00 14 00
usb-storage: Bulk Command S 0x43425355 T 0xdb38 L 10240 F 0 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code -19; transferred 0/31
usb-storage: -- unknown error
usb-storage: Bulk command transfer result=4
usb-storage: -- transport indicates error, resetting
usb-storage: usb_stor_Bulk_reset called
usb-storage: usb_stor_control_msg: rq=ff rqtype=21 value=0000 index=00 len=0
usb-storage: Soft reset failed: -19
usb-storage: scsi cmd done, result=0x70000
usb-storage: *** thread sleeping.
SCSI error : <1 0 0 0> return code = 0x70000
end_request: I/O error, dev sdb, sector 163054811
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command WRITE_10 (10 bytes)
usb-storage: 2a 00 09 b8 04 dd 00 00 12 00
usb-storage: Bulk Command S 0x43425355 T 0xdb39 L 9216 F 0 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code -19; transferred 0/31
usb-storage: -- unknown error
usb-storage: Bulk command transfer result=4
usb-storage: -- transport indicates error, resetting
usb-storage: usb_stor_Bulk_reset called
usb-storage: usb_stor_control_msg: rq=ff rqtype=21 value=0000 index=00 len=0
usb-storage: Soft reset failed: -19
usb-storage: scsi cmd done, result=0x70000
usb-storage: *** thread sleeping.
SCSI error : <1 0 0 0> return code = 0x70000
end_request: I/O error, dev sdb, sector 163054813
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command WRITE_10 (10 bytes)
usb-storage: 2a 00 09 b8 04 df 00 00 10 00
usb-storage: Bulk Command S 0x43425355 T 0xdb3a L 8192 F 0 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code -19; transferred 0/31
usb-storage: -- unknown error
usb-storage: Bulk command transfer result=4
usb-storage: -- transport indicates error, resetting
usb-storage: usb_stor_Bulk_reset called
usb-storage: usb_stor_control_msg: rq=ff rqtype=21 value=0000 index=00 len=0
usb-storage: Soft reset failed: -19
usb-storage: scsi cmd done, result=0x70000
usb-storage: *** thread sleeping.
SCSI error : <1 0 0 0> return code = 0x70000
end_request: I/O error, dev sdb, sector 163054815
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command WRITE_10 (10 bytes)
usb-storage: 2a 00 09 b8 04 e1 00 00 0e 00
usb-storage: Bulk Command S 0x43425355 T 0xdb3b L 7168 F 0 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code -19; transferred 0/31
usb-storage: -- unknown error
usb-storage: Bulk command transfer result=4
usb-storage: -- transport indicates error, resetting
usb-storage: usb_stor_Bulk_reset called
usb-storage: usb_stor_control_msg: rq=ff rqtype=21 value=0000 index=00 len=0
usb-storage: Soft reset failed: -19
usb-storage: scsi cmd done, result=0x70000
usb-storage: *** thread sleeping.
SCSI error : <1 0 0 0> return code = 0x70000
end_request: I/O error, dev sdb, sector 163054817
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command WRITE_10 (10 bytes)
usb-storage: 2a 00 09 b8 04 e3 00 00 0c 00
usb-storage: Bulk Command S 0x43425355 T 0xdb3c L 6144 F 0 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code -19; transferred 0/31
usb-storage: -- unknown error
usb-storage: Bulk command transfer result=4
usb-storage: -- transport indicates error, resetting
usb-storage: usb_stor_Bulk_reset called
usb-storage: usb_stor_control_msg: rq=ff rqtype=21 value=0000 index=00 len=0
usb-storage: Soft reset failed: -19
usb-storage: scsi cmd done, result=0x70000
usb-storage: *** thread sleeping.
SCSI error : <1 0 0 0> return code = 0x70000
end_request: I/O error, dev sdb, sector 163054819
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command WRITE_10 (10 bytes)
usb-storage: 2a 00 09 b8 04 e5 00 00 0a 00
usb-storage: Bulk Command S 0x43425355 T 0xdb3d L 5120 F 0 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code -19; transferred 0/31
usb-storage: -- unknown error
usb-storage: Bulk command transfer result=4
usb-storage: -- transport indicates error, resetting
usb-storage: usb_stor_Bulk_reset called
usb-storage: usb_stor_control_msg: rq=ff rqtype=21 value=0000 index=00 len=0
usb-storage: Soft reset failed: -19
usb-storage: scsi cmd done, result=0x70000
usb-storage: *** thread sleeping.
SCSI error : <1 0 0 0> return code = 0x70000
end_request: I/O error, dev sdb, sector 163054821
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command WRITE_10 (10 bytes)
usb-storage: 2a 00 09 b8 04 e7 00 00 08 00
usb-storage: Bulk Command S 0x43425355 T 0xdb3e L 4096 F 0 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code -19; transferred 0/31
usb-storage: -- unknown error
usb-storage: Bulk command transfer result=4
usb-storage: -- transport indicates error, resetting
usb-storage: usb_stor_Bulk_reset called
usb-storage: usb_stor_control_msg: rq=ff rqtype=21 value=0000 index=00 len=0
usb-storage: Soft reset failed: -19
usb-storage: scsi cmd done, result=0x70000
usb-storage: *** thread sleeping.
SCSI error : <1 0 0 0> return code = 0x70000
end_request: I/O error, dev sdb, sector 163054823
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command WRITE_10 (10 bytes)
usb-storage: 2a 00 09 b8 04 e9 00 00 06 00
usb-storage: Bulk Command S 0x43425355 T 0xdb3f L 3072 F 0 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code -19; transferred 0/31
usb-storage: -- unknown error
usb-storage: Bulk command transfer result=4
usb-storage: -- transport indicates error, resetting
usb-storage: usb_stor_Bulk_reset called
usb-storage: usb_stor_control_msg: rq=ff rqtype=21 value=0000 index=00 len=0
usb-storage: Soft reset failed: -19
usb-storage: scsi cmd done, result=0x70000
usb-storage: *** thread sleeping.
SCSI error : <1 0 0 0> return code = 0x70000
end_request: I/O error, dev sdb, sector 163054825
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command WRITE_10 (10 bytes)
usb-storage: 2a 00 09 b8 04 eb 00 00 04 00
usb-storage: Bulk Command S 0x43425355 T 0xdb40 L 2048 F 0 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code -19; transferred 0/31
usb-storage: -- unknown error
usb-storage: Bulk command transfer result=4
usb-storage: -- transport indicates error, resetting
usb-storage: usb_stor_Bulk_reset called
usb-storage: usb_stor_control_msg: rq=ff rqtype=21 value=0000 index=00 len=0
usb-storage: Soft reset failed: -19
usb-storage: scsi cmd done, result=0x70000
usb-storage: *** thread sleeping.
SCSI error : <1 0 0 0> return code = 0x70000
end_request: I/O error, dev sdb, sector 163054827
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command WRITE_10 (10 bytes)
usb-storage: 2a 00 09 b8 04 ed 00 00 02 00
usb-storage: Bulk Command S 0x43425355 T 0xdb41 L 1024 F 0 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code -19; transferred 0/31
usb-storage: -- unknown error
usb-storage: Bulk command transfer result=4
usb-storage: -- transport indicates error, resetting
usb-storage: usb_stor_Bulk_reset called
usb-storage: usb_stor_control_msg: rq=ff rqtype=21 value=0000 index=00 len=0
usb-storage: Soft reset failed: -19
usb-storage: scsi cmd done, result=0x70000
usb-storage: *** thread sleeping.
SCSI error : <1 0 0 0> return code = 0x70000
end_request: I/O error, dev sdb, sector 163054829
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command WRITE_10 (10 bytes)
usb-storage: 2a 00 09 b8 04 ef 00 00 40 00
usb-storage: Bulk Command S 0x43425355 T 0xdb42 L 32768 F 0 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code -19; transferred 0/31
usb-storage: -- unknown error
usb-storage: Bulk command transfer result=4
usb-storage: -- transport indicates error, resetting
usb-storage: usb_stor_Bulk_reset called
usb-storage: usb_stor_control_msg: rq=ff rqtype=21 value=0000 index=00 len=0
usb-storage: Soft reset failed: -19
usb-storage: scsi cmd done, result=0x70000
usb-storage: *** thread sleeping.
usb-storage: storage_disconnect() called
usb-storage: usb_stor_stop_transport called
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: No command during disconnect
usb-storage: *** thread sleeping.
usb-storage: command_abort called
usb-storage: -- nothing to abort
usb-storage: device_reset called
usb-storage: No reset during disconnect
usb-storage: bus_reset called
usb-storage: No reset during disconnect
scsi: Device offlined - not ready after error recovery: host 1 channel 0 id 0 lun 0
sd 1:0:0:0: Illegal state transition cancel->offline
Badness in scsi_device_set_state at drivers/scsi/scsi_lib.c:1688
[] scsi_device_set_state+0xc4/0x112
[] scsi_eh_offline_sdevs+0x64/0x80
[] scsi_unjam_host+0xc5/0xce
[] scsi_error_handler+0x9e/0xc6
[] scsi_error_handler+0x0/0xc6
[] kernel_thread_helper+0x5/0xb
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: No command during disconnect
usb-storage: *** thread sleeping.
usb-storage: command_abort called
usb-storage: -- nothing to abort
------------[ cut here ]------------
kernel BUG at drivers/block/as-iosched.c:1853!
invalid operand: 0000 [#1]
PREEMPT
Modules linked in: vfat fat visor usbserial yenta_socket ds pcmcia_core usb_storage
CPU: 0
EIP: 0060:[] Not tainted VLI
EFLAGS: 00010216 (2.6.9-rc2damo)
EIP is at as_exit+0x65/0x79
eax: c151828c ebx: c1518280 ecx: cbc11aa0 edx: caf8de78
esi: c15ad988 edi: 00000282 ebp: c15218b4 esp: caf8deb4
ds: 007b es: 007b ss: 0068
Process scsi_eh_1 (pid: 2289, threadinfo=caf8c000 task=cbc11aa0)
Stack: c1518308 c15ad8fc c0223584 c15ad8fc c15ad908 c02254ea c15ad8fc c151b90c
de434024 de434000 c02563d9 c15ad8fc de4341a8 c03f2248 c03f2260 c15218d8
c021f4b8 de434184 caf8c000 03633200 ffffc000 c01a8a2c de4341a8 de4341c0
Call Trace:
[] elevator_exit+0x1e/0x20
[] blk_cleanup_queue+0x36/0x81
[] scsi_device_dev_release+0xf6/0x10f
[] device_release+0x58/0x5c
[] kobject_cleanup+0x98/0x9a
[] kobject_release+0x0/0xa
[] kref_put+0x39/0x93
[] kobject_put+0x1e/0x22
[] kobject_release+0x0/0xa
[] __scsi_iterate_devices+0x72/0x83
[] scsi_eh_stu+0x92/0xf4
[] scsi_eh_ready_devs+0x2b/0x93
[] scsi_unjam_host+0xc5/0xce
[] scsi_error_handler+0x9e/0xc6
[] scsi_error_handler+0x0/0xc6
[] kernel_thread_helper+0x5/0xb
Code: f0 ff 8b 83 d8 00 00 00 89 04 24 e8 be ae ff ff 8b 43 38 89 04 24 e8 9b 17 f1 ff 89 5c 24 0c 8b 5c 24 04 83 c4 08 e9 8b 17 f1 ff <0f> 0b 3d 07 7d a1 36 c0 eb c2 0f 0b 3c 07 7d a1 36 c0 eb b0 55

I see the same sorts of probl

Anonymous
on
September 16, 2004 - 1:37am

I see the same sorts of problems under 2.6.7, both
with an external USB disk and and external USB DVD writer.

:-(

CONFIG_PREEMPT?

Anonymous
on
September 16, 2004 - 1:45am

Compile your kernel without CONFIG_PREEMPT. Do you still get this
problem?

Andreas

CONFIG_PREEMPT?

Anonymous
on
September 16, 2004 - 1:55am

Funny you should mention that... I had the same thought initially, but have since tried compiling kernels with CONFIG_PREEMPT disabled and the problem continues.
As Google is not giving me any help, then perhaps I have a legitimate kernel bug - or perhaps it's the hardware? However, it does work under Windows.

Damien

Perhaps this is a bug?

Anonymous
on
September 16, 2004 - 5:53pm

Thankyou for your replies, but I am no closer to finding an answer for this. I think I will approach a kernel dev directly, or possibly *shudders* LKML directly.
Regards
Damien

Same here

Will Dyson
on
October 7, 2004 - 11:51am

Seeing very similar problems with my new USB-ATA bridge under a 2.6.9-rc3 kernel. What is the product name of the converter box? Do you know what bridge chip it has?

Mine is the creativly named USB2IDE product from here. I have not yet determined what bridge chip it has.

same on 2.6.9-rc3

Anonymous
on
October 10, 2004 - 4:49am

usb-storage: *** thread awakened.
usb-storage: Command READ_10 (10 bytes)
usb-storage: 28 00 00 02 b4 7d 00 00 60 00
usb-storage: Bulk Command S 0x43425355 T 0x30dc1 L 49152 F 128 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code -71; transferred 31/31
usb-storage: -- unknown error
usb-storage: Bulk command transfer result=4
usb-storage: -- transport indicates error, resetting
usb-storage: usb_stor_Bulk_reset called
usb-storage: usb_stor_control_msg: rq=ff rqtype=21 value=0000 index=00 len=0
uhci_hcd 0000:00:1d.1: uhci_result_control: failed with status 440000
[f176f240] link (3176f1e2) element (267ba000)
0: [e67ba000] link (267ba080) e0 Stalled CRC/Timeo Length=7 MaxLen=7 DT0 EndPt=0 Dev=4, PID=2d(SETUP) (buf=31776040)
1: [e67ba080] link (00000001) e3 IOC Active Length=0 MaxLen=7ff DT1 EndPt=0 Dev=4, PID=69(IN) (buf=00000000)

usb-storage: Soft reset failed: -71
usb-storage: scsi cmd done, result=0x70000
usb-storage: *** thread sleeping.
SCSI error : <2 0 0 0> return code = 0x70000
end_request: I/O error, dev sdb, sector 177277
Buffer I/O error on device sdb1, logical block 177214
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command READ_10 (10 bytes)
usb-storage: 28 00 00 02 b4 7e 00 00 5f 00
usb-storage: Bulk Command S 0x43425355 T 0x30dc8 L 48640 F 128 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code -71; transferred 31/31
usb-storage: -- unknown error
usb-storage: Bulk command transfer result=4
usb-storage: -- transport indicates error, resetting
usb-storage: usb_stor_Bulk_reset called
usb-storage: usb_stor_control_msg: rq=ff rqtype=21 value=0000 index=00 len=0
uhci_hcd 0000:00:1d.1: uhci_result_control: failed with status 440000
[f176f240] link (3176f1e2) element (267ba000)
0: [e67ba000] link (267ba080) e0 Stalled CRC/Timeo Length=7 MaxLen=7 DT0 EndPt=0 Dev=4, PID=2d(SETUP) (buf=31776040)
1: [e67ba080] link (00000001) e3 IOC Active Length=0 MaxLen=7ff DT1 EndPt=0 Dev=4, PID=69(IN) (buf=00000000)

usb-storage: Soft reset failed: -71
usb-storage: scsi cmd done, result=0x70000
usb-storage: *** thread sleeping.
SCSI error : <2 0 0 0> return code = 0x70000
end_request: I/O error, dev sdb, sector 177278
Buffer I/O error on device sdb1, logical block 177215
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command READ_10 (10 bytes)
usb-storage: 28 00 00 02 b4 7f 00 00 5e 00
usb-storage: Bulk Command S 0x43425355 T 0x30dc9 L 48128 F 128 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code -71; transferred 31/31
usb-storage: -- unknown error
usb-storage: Bulk command transfer result=4
usb-storage: -- transport indicates error, resetting
usb-storage: usb_stor_Bulk_reset called
usb-storage: usb_stor_control_msg: rq=ff rqtype=21 value=0000 index=00 len=0
uhci_hcd 0000:00:1d.1: uhci_result_control: failed with status 440000
[f176f240] link (3176f1e2) element (267ba000)
0: [e67ba000] link (267ba080) e0 Stalled CRC/Timeo Length=7 MaxLen=7 DT0 EndPt=0 Dev=4, PID=2d(SETUP) (buf=31776040)
1: [e67ba080] link (00000001) e3 IOC Active Length=0 MaxLen=7ff DT1 EndPt=0 Dev=4, PID=69(IN) (buf=00000000)

usb-storage: Soft reset failed: -71
usb-storage: scsi cmd done, result=0x70000
usb-storage: *** thread sleeping.
SCSI error : <2 0 0 0> return code = 0x70000
end_request: I/O error, dev sdb, sector 177279
Buffer I/O error on device sdb1, logical block 177216
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command READ_10 (10 bytes)
usb-storage: 28 00 00 02 b4 80 00 00 5d 00
usb-storage: Bulk Command S 0x43425355 T 0x30dca L 47616 F 128 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code -71; transferred 31/31
usb-storage: -- unknown error
usb-storage: Bulk command transfer result=4
usb-storage: -- transport indicates error, resetting
usb-storage: usb_stor_Bulk_reset called
usb-storage: usb_stor_control_msg: rq=ff rqtype=21 value=0000 index=00 len=0
uhci_hcd 0000:00:1d.1: uhci_result_control: failed with status 440000
[f176f240] link (3176f1e2) element (267ba000)
0: [e67ba000] link (267ba080) e0 Stalled CRC/Timeo Length=7 MaxLen=7 DT0 EndPt=0 Dev=4, PID=2d(SETUP) (buf=31776040)
1: [e67ba080] link (00000001) e3 IOC Active Length=0 MaxLen=7ff DT1 EndPt=0 Dev=4, PID=69(IN) (buf=00000000)

usb-storage: Soft reset failed: -71
usb-storage: scsi cmd done, result=0x70000
usb-storage: *** thread sleeping.
SCSI error : <2 0 0 0> return code = 0x70000
end_request: I/O error, dev sdb, sector 177280
Buffer I/O error on device sdb1, logical block 177217
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command READ_10 (10 bytes)
usb-storage: 28 00 00 02 b4 81 00 00 5c 00
usb-storage: Bulk Command S 0x43425355 T 0x30dcb L 47104 F 128 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code -71; transferred 31/31
usb-storage: -- unknown error
usb-storage: Bulk command transfer result=4
usb-storage: -- transport indicates error, resetting
usb-storage: usb_stor_Bulk_reset called
usb-storage: usb_stor_control_msg: rq=ff rqtype=21 value=0000 index=00 len=0
uhci_hcd 0000:00:1d.1: uhci_result_control: failed with status 440000
[f176f240] link (3176f1e2) element (267ba000)
0: [e67ba000] link (267ba080) e0 Stalled CRC/Timeo Length=7 MaxLen=7 DT0 EndPt=0 Dev=4, PID=2d(SETUP) (buf=31776040)
1: [e67ba080] link (00000001) e3 IOC Active Length=0 MaxLen=7ff DT1 EndPt=0 Dev=4, PID=69(IN) (buf=00000000)

[repeated output cut out]

SCSI error : <2 0 0 0> return code = 0x70000
end_request: I/O error, dev sdb, sector 177374
Buffer I/O error on device sdb1, logical block 177311
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: Command READ_10 (10 bytes)
usb-storage: 28 00 00 02 b4 df 00 00 7d 00
usb-storage: Bulk Command S 0x43425355 T 0x30e75 L 64000 F 128 Trg 0 LUN 0 CL 10
usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
usb-storage: Status code -19; transferred 0/31
usb-storage: -- unknown error
usb-storage: Bulk command transfer result=4
usb-storage: -- transport indicates error, resetting
usb-storage: usb_stor_Bulk_reset called
usb-storage: usb_stor_control_msg: rq=ff rqtype=21 value=0000 index=00 len=0
usb-storage: Soft reset failed: -19
usb-storage: scsi cmd done, result=0x70000
usb-storage: *** thread sleeping.
usb-storage: storage_disconnect() called
usb-storage: usb_stor_stop_transport called
SCSI error : <2 0 0 0> return code = 0x70000
end_request: I/O error, dev sdb, sector 177375
Buffer I/O error on device sdb1, logical block 177312
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: No command during disconnect
usb-storage: *** thread sleeping.
usb-storage: command_abort called
usb-storage: -- nothing to abort
usb-storage: device_reset called
usb-storage: No reset during disconnect
usb-storage: bus_reset called
usb-storage: No reset during disconnect
scsi: Device offlined - not ready after error recovery: host 2 channel 0 id 0 lun 0
sd 2:0:0:0: Illegal state transition cancel->offline
Badness in scsi_device_set_state at drivers/scsi/scsi_lib.c:1688
[] dump_stack+0x17/0x1b
[] scsi_device_set_state+0xb9/0x104
[] scsi_eh_offline_sdevs+0x5d/0x77
[] scsi_unjam_host+0x96/0x98
[] scsi_error_handler+0x9c/0xbb
[] kernel_thread_helper+0x5/0xb
SCSI error : <2 0 0 0> return code = 0x70000
end_request: I/O error, dev sdb, sector 177376
Buffer I/O error on device sdb1, logical block 177313
usb-storage: queuecommand called
usb-storage: *** thread awakened.
usb-storage: No command during disconnect
usb-storage: *** thread sleeping.
usb-storage: command_abort called
usb-storage: -- nothing to abort
------------[ cut here ]------------
kernel BUG at drivers/block/as-iosched.c:1853!
invalid operand: 0000 [#1]
PREEMPT SMP DEBUG_PAGEALLOC
Modules linked in: usb_storage eth1394 ohci_hcd ohci1394 ieee1394 ehci_hcd uhci_hcd radeon intel_agp agpgart e1000
CPU: 0
EIP: 0060:[] Not tainted VLI
EFLAGS: 00010206 (2.6.9-rc3)
EIP is at as_exit+0x48/0x5c
eax: c73c9f04 ebx: c73c9ef8 ecx: 00000000 edx: 00000002
esi: c820ceac edi: 00000292 ebp: c818febc esp: c818feb8
ds: 007b es: 007b ss: 0068
Process scsi_eh_2 (pid: 9191, threadinfo=c818e000 task=c5203ab0)
Stack: c820ce20 c818fec4 c02b7e9b c818fed4 c02b9aa8 c2c4ed84 c2c4ebf8 c818feec
c02f6f30 dc2d1ebc c2c4eda8 c049b4a8 c049b4c0 c818ff04 c02b4035 002220a0
002220a0 00000046 c818ff18 c818ff1c c022c65d dc2d1ee0 c2c4edc0 c022c65f
Call Trace:
[] show_stack+0x7a/0x90
[] show_registers+0x152/0x1b6
[] die+0x10c/0x18f
[] do_invalid_op+0xe6/0xe8
[] error_code+0x2d/0x38
[] elevator_exit+0x11/0x13
[] blk_cleanup_queue+0x35/0x7c
[] scsi_device_dev_release+0xeb/0xfa
[] device_release+0x56/0x5a
[] kobject_cleanup+0x84/0x86
[] kref_put+0x34/0x8f
[] __scsi_iterate_devices+0x5d/0x67
[] scsi_eh_stu+0x89/0xe3
[] scsi_eh_ready_devs+0x1c/0x71
[] scsi_unjam_host+0x96/0x98
[] scsi_error_handler+0x9c/0xbb
[] kernel_thread_helper+0x5/0xb
Code: 43 0c 39 43 0c 75 24 8b 43 70 e8 1c db e7 ff 8b 83 d4 00 00 00 e8 96 b3 ff ff 8b 43 30 e8 eb 42 e8 ff 89 d8 5b 5d e9 e
2 42 e8 ff <0f> 0b 3d 07 6e c5 40 c0 eb d2 0f 0b 3c 07 6e c5 40 c0 eb c0 55

Have the same issue

Anonymous
on
November 12, 2004 - 2:44pm

1- Mount the usb drive just fine. Unload it.

2- Mount the usb, and

kernel BUG at drivers/block/as-iosched.c:1853!
invalid operand: 0000 [#1]
PREEMPT
Modules linked in: vfat usb_storage ehci_hcd vmnet parport_pc parport vmmon ds yenta_socket pcmcia_core radeonfb i2c_algo_bit i2c_core8250_pci 8250 serial_core hw_random xfs nvram
CPU: 0
EIP: 0060:[] Tainted: P VLI
EFLAGS: 00010212 (2.6.9-gentoo-r1)
EIP is at as_exit+0x65/0x79
eax: c17e6e8c ebx: c17e6e80 ecx: e2275020 edx: dda7de78
esi: f7dc20b4 edi: 00000282 ebp: d8e334b4 esp: dda7deb4
ds: 007b es: 007b ss: 0068
Process scsi_eh_0 (pid: 24726, threadinfo=dda7c000 task=e2275020)
Stack: c17e6f08 f7dc2028 c029a440 f7dc2028 f7dc2034 c029c3bc f7dc2028 00000086
f7037424 f7037400 c02dccc1 f7dc2028 f70375a8 c04778a8 c04778c0 d8e334d8
c0296374 f7037584 e2275020 00000000 dda7df44 c023643c f70375a8 f70375c0
Call Trace:
[] elevator_exit+0x1e/0x20
[] blk_cleanup_queue+0x36/0x81
[] scsi_device_dev_release+0xf6/0x10f
[] device_release+0x58/0x5c
[] kobject_cleanup+0x98/0x9a
[] kobject_release+0x0/0xa
[] kref_put+0x39/0x93
[] kobject_put+0x1e/0x22
[] kobject_release+0x0/0xa
[] __scsi_iterate_devices+0x72/0x83
[] scsi_eh_stu+0x92/0xf4
[] scsi_eh_ready_devs+0x2b/0x93
[] scsi_unjam_host+0xc5/0xce
[] scsi_error_handler+0x9e/0xc6
[] scsi_error_handler+0x0/0xc6
[] kernel_thread_helper+0x5/0xb
Code: e9 ff 8b 83 d8 00 00 00 89 04 24 e8 b0 ad ff ff 8b 43 38 89 04 24 e8 c9 78 e9 ff 89 5c 24 0c 8b 5c 24 04 83 c4 08 e9 b9 78 e9 ff<0f> 0b 3d 07 e5 68 3f c0 eb c2 0f 0b 3c 07 e5 68 3f c0 eb b0 55

usb mass storage

Anonymous
on
December 1, 2004 - 3:03am

Just throwing in another voice.

Am experiencing exactly the same behaviour with both 2.6.9 and 2.4.26-28 kernel releases. An external 250Gig USB2.0 IDE HDD.

The device eventually falls off, I then have to remove the usb-storage modules followed by the ehci USB2 module..
Then reload them and the drive appears again.

Hope the bug is found, maybe something really annoying with USB2 timing, or could be something with the SCSI subsystem interaction with USB...

usb mass storage.

Anonymous
on
December 1, 2004 - 5:22am

Just adding something to the comment above.

I experienced a device failure as detailed in previous posts, running and e2fsck on the drive (kernel 2.6.9 stock).

The drive went offline so I had to rmmod usb-stroage, then ehci_hcd.
TO bring it back I did the reverse.

I have re-run e2fsck on this drive and it completed successfully, this makes me think that it may be a slow leak of some kind - as it can take a while to occur - in my experience never upon the initial mount.. -- wierd cacheing behaviour ??

if you have some advice please mail me
at
marcin dot
kowalski at
hotonline
dot com

----- log extract -----

Dec 1 10:15:02 pootle kernel: usb 1-4: reset high speed USB device using address 2
Dec 1 10:15:18 pootle kernel: scsi: Device offlined - not ready after error recovery: host 2 channel 0
id 0 lun 0
Dec 1 10:15:18 pootle kernel: SCSI error : <2 0 0 0> return code = 0x50000
Dec 1 10:15:18 pootle kernel: end_request: I/O error, dev sdb, sector 206824063
Dec 1 10:15:18 pootle kernel: Buffer I/O error on device sdb1, logical block 51706000

same problem here ..

LordVan
on
February 22, 2005 - 12:46pm

While trying to burn a DVD with my external Plextor DVD+-RW Writer

growisofs output:

Executing 'builtin_dd if=dvd.iso of=/dev/cdroms/cdrom3 obs=32k seek=0'
/dev/cdroms/cdrom3: "Current Write Speed" is 4.1x1385KBps.
0/4302034944 ( 0.0%) @0x, remaining ??:??
1179648/4302034944 ( 0.0%) @0.2x, remaining 486:07
19726336/4302034944 ( 0.5%) @3.9x, remaining 39:47
38305792/4302034944 ( 0.9%) @3.9x, remaining 27:49
56852480/4302034944 ( 1.3%) @3.9x, remaining 22:24
75431936/4302034944 ( 1.8%) @3.9x, remaining 19:36
93978624/4302034944 ( 2.2%) @3.9x, remaining 18:39
112558080/4302034944 ( 2.6%) @3.9x, remaining 17:22
131104768/4302034944 ( 3.0%) @3.9x, remaining 16:26
149684224/4302034944 ( 3.5%) @3.9x, remaining 16:10

...snip...

696549376/4302034944 (16.2%) @0.0x, remaining 17:56
696549376/4302034944 (16.2%) @0.0x, remaining 18:12
696549376/4302034944 (16.2%) @0.0x, remaining 18:32
:-[ WRITE@LBA=53090h failed with SK=2h/ASC=04h/ACQ=01h]: Resource temporarily unavailable
builtin_dd: 340112*2KB out @ average 2.3x1385KBps
:-( write failed: Resource temporarily unavailable
/dev/cdroms/cdrom3: flushing cache
/dev/cdroms/cdrom3: closing track
/dev/cdroms/cdrom3: closing disc
:-( unable to reload tray: No such device or address
desktop TMM_31_36.out # growisofs -dvd-compat -speed=4 -Z /dev/cdroms/cdrom3=dvd.iso
:-( unable to open64("/dev/cdroms/cdrom3",O_RDONLY): No such device or address

dmesg output related to this:

usb 4-3: new high speed USB device using ehci_hcd and address 4
scsi3 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 4
usb-storage: waiting for device to settle before scanning
Vendor: PLEXTOR Model: DVDR PX-708A Rev: 1.04
Type: CD-ROM ANSI SCSI revision: 00
sr2: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray
Attached scsi CD-ROM sr2 at scsi3, channel 0, id 0, lun 0
Attached scsi generic sg4 at scsi3, channel 0, id 0, lun 0, type 5
usb-storage: device scan complete
ISO 9660 Extensions: Microsoft Joliet Level 3
Unable to load NLS charset UTF8
Unable to load NLS charset UTF8
ISOFS: changing to secondary root
attempt to access beyond end of device
sr2: rw=0, want=68, limit=4
isofs_fill_super: bread failed, dev=sr2, iso_blknum=16, block=16
attempt to access beyond end of device
sr2: rw=0, want=68, limit=4
attempt to access beyond end of device
sr2: rw=0, want=1252, limit=4
attempt to access beyond end of device
sr2: rw=0, want=1028, limit=4
UDF-fs: No partition found (1)
usb 4-3: reset high speed USB device using ehci_hcd and address 4
scsi: Device offlined - not ready after error recovery: host 3 channel 0 id 0 lun 0
scsi3 (0:0): rejecting I/O to offline device
scsi3 (0:0): rejecting I/O to offline device
scsi3 (0:0): rejecting I/O to offline device
scsi3 (0:0): rejecting I/O to offline device
scsi3 (0:0): rejecting I/O to offline device
scsi3 (0:0): rejecting I/O to offline device
scsi3 (0:0): rejecting I/O to offline device
scsi3 (0:0): rejecting I/O to offline device
scsi3 (0:0): rejecting I/O to offline device
scsi3 (0:0): rejecting I/O to offline device
SCSI error: host 3 id 0 lun 0 return code = 4000000
Sense class 0, sense error 0, extended sense 0

My Kernel:
Linux version 2.6.10-gentoo-r6 (root@desktop) (gcc version 3.3.2 20031022 (Gentoo Linux 3.3.2-r3, propolice)) #1 Sat Jan 22 18:33:06 GMT 2005

any ideas for solutions yet? (i want to burn this DVD! ;) otherwise i'll have to burn my dvd on windows *argh*

thanks

usb 4-3: reset high speed USB device using ehci_hcd and address

linuxxer
on
February 25, 2005 - 8:45am

I think the USB device reset as indicated at
usb 4-3: reset high speed USB device using ehci_hcd and address 4
caused all the trouble... (including mine)

Some usb interfaces live longer but the current Linux kernel (~2.6.10) eventually reset USB card during huge transfer. Most of these (defective) interface cards are still usable under Windows because it accepts more abnormal (or broken) data.

Could it be ever possible to avoid the usb device reset?

One Difference between Windows and Linux

Anonymous (not verified)
on
February 26, 2005 - 10:39am

Windows gets the proprietary info on these devices, Linux doesn't. Windows programs around the bugs, linux may not know about them. Linux is glad to get something working in the first place, Windows knows how to not stress the hardware as much. More about USB2.0 toward the end.

For Example:

It seems like I have burned out many CD drives from installing many versions of Linux on the same machine and hard drive. I am beginning to attribute this to Linux keeping the CD spinning at high speed during the whole install, which is many full CD. During a win2k or XP install, it gets to rest quite a bit, plus it is only working on about 300 MB on the one CD in the first place. So the windows install seems to take place without errors and the CD reader is OK.

But in the Linux installs, especially "everything" installs of RH, along about the end of the first disk a few errors show up, and if I pull off the cover of the computer and put a fan pointing air toward the CD reader, and try it again, it goes without a hitch. This has happened many times, when I forget to put a fan on the CD reader for a Linux install, on many different computers also.

Probably windows installer developers know not to just run the CD full speed all the time. Maybe they cut its speed too.

Now, these newer CDRWs, that is even another story, where they burn out before you get through a 25 pack of CDs. Those I just put a fan under from the beginning. Sure, $35 CDRW then put a $15 fan just under it, and then it lasts at least 6 months anyway. It is advantageous to the CDRW makers if they all have too much heat, from having too much rotational speed and running the writing laser faster. Everybody just has to have the fastest, and that causes the most heat and vibration, and the fastest failure rate. My old Creative 8x4x32 has written almost a thousand CDs in its life and is still going. It doesn't heat up so much. And don't put two CD or DVD players right next to each other in the stack as that also decreases life from heat.

Anyway, back to the USB stuff here. The USB 2.0 data stream is quite fast, 480 MBits/sec. That means that the circuitry that transmits and receives this data stream does not have a lot of time for correcting errors. So the data transmission better be error free, timing must be right, etc.

As we suspect, windows programmers are expert at writing around bugs, and some of these bugs are in hardware. Sure, the hardware is supposed to work a certain way, and it kind of works like they say it does, but not quite exactly, so you have to fiddle around trying things till something works. As an employee of the company that makes the hardware, you have to make it work with windows, because that is where most of them are going to be used. If it works on Linux somehow, great, but that is not part of your job. Get those windows drivers working, and let the Linux volunteers see if they can do it too, but don't even look like you are giving them information, because M$ has its ways to clamp down on your little company that might make it go out of business.

So, what is the upshot of all this? CD readers will have errors during long Linux installs and may burn out if you don't cool them extra. USB2.0 will work, but strange things will occur and almost nobody will know why. These hardware imperfections are actually advantageous to M$ because it contributes to lock-in. You have to burn your DVD with windows, because the windows driver compensates for the hardware imperfection which the Linux volunteers haven't discovered.

I see many places where linux people talk about how some hardware doesn't work like it is supposed to, there is a bug in the hardware, but windows handles it just fine. Well, there is a bug in the hardware, and it helps windows with lock in.

I remember a machine that ran fine on win2k. (I started getting serious on Linux with XP product activation). When I tried to install Linux, it kept dying in the middle of the install. Finally I ran memcheck, and it reported errors. So I surmised that then that windows will run on imperfect hardware. It knows how to work around that. How is a linux volunteer going to know how to work around that? They are just glad to get it working on good hardware.

Another anecdotal experience is that both hard drives, two different brands, that were in a linux install both died probably from heat and swap storms. I don't know, but it is somewhat suspicious. Since linux makes sure most things get swapped out over the course of a day, it is reasonable to assume linux may be a little harder on your cheap non-scsi desktop drive, as it will be swapping a lot more than a windows desktop would.

Now, if IBM has a lot of programmers working on Linux, perhaps this is the time to start writing around some of these bugs, or perhaps they have already written around some of them.

So again, back to the point, it is not surprising if there is a USB2.0 bug or bugs, and that we linux volunteers haven't figured out what it is yet, and thereby we don't know what to do about it. And it wouldn't be surprising to know M$, if they don't directly encourage it, certainly knows how to program around it, and gets better lock in from it. I bet they had something to do with the definition of USB2.0, and they might have included some old known bugs that they know how to get around.

I know I know I know

linuxxer
on
February 28, 2005 - 6:11am

Yes, I know that there are hidden hardware errors that cannot be easily discovered by Linux volunteers. I do not blame on them. I only wanted to mention that we have lots of to-do's and one of them is to work-around these hardware imperfections. :)

I myself am a hardcore Linux user. I started my Linux life in 1994 on a P5-150 machine. Ever since, I have not experienced any hardware problems like hard drive or cd-rom failures by using Linux, though. All of my hard and cd writer drives survived more than 5 years. I have replaced main board to Intel 815 chipset about 3 years ago and Celeron CPU was over-clocked to 1G from the beginning. Except a VGA noise problem on the Matrox G450 that had to be replaced to another one, I had absolutely no problem with my hardware configurations. For example, my current power supply (first generation ATX) is 9 years old and so on.

I'm having the same problem w

Lex (not verified)
on
March 11, 2005 - 8:45am

I'm having the same problem with a usb external harddisk!

usb_storage problem on 2.6.5 and some others (2.6.11)

kpeharda
on
March 14, 2005 - 4:27am

Well, I exchanged my motherboard and processor recently and now my usb card readers (SanDisk ImageMate CF-55, and Neodio 7-in-1 stopped working). Symptoms are similar to the ones already described here - modules loaded, drive detected, but then "No disk in drive" message, and drive not mounted.

I posted more info about the problem on: http://groups.yahoo.com/group/linux/message/49637

Not sure what to blame, scsi support or ehci driver. Old board worked with uhci only. Some hints? Someone? Please!

Cheers,
Kresimir

Look here

Lex (not verified)
on
March 17, 2005 - 5:54am

Try use a backside USB port

Anunakin (not verified)
on
February 9, 2007 - 6:31pm

Try use a backside USB port or a powered USB 2.0 HUB!

I am having similar problems

Anonymous (not verified)
on
February 22, 2005 - 6:12pm

I am having similar problems with a FireWire (1394) external drive enclosure housing a seagate 120Gb IDE drive. The problem seems to be related to writing. After about 1Gb or so the drive 'offlines' and the device nodes are removed from /dev. sbp2 (FireWire's version of usb-storage) or ohci1394 (the node manager) then refuse to recognise the drive. Unfortunately, replugging the device doesn't work and rmmod hangs uninterruptibly forever when trying to remove the modules. I have just turned on 'Excessive debugging output' and am waiting for it to happen again before i start asking the devel mailing lists.

If this wasn't nudging me towards ohci, I would say this is a problem with the way the scsi layer interacts with low-level drivers. The scsi layer has been around for a while though and I think it is widely accepted as being fairly stable.

Thoughts?

SCSI stable? maybe ... if there are no errors!

A non y mous (not verified)
on
June 6, 2005 - 11:34pm

Fault handling in the Linux SCSI stack has never been
very good, and it's always caused major problems with
the USB drivers and other stacks that pass SCSI commands
through but aren't "real SCSI".

That is, don't assume "stable" code that doesn't change
much is necessarily trouble free. SCSI has needed a rewrite
for a long time. It's only recently started to handle basic
things like hot-unplug ... its driver model support has been
weak, that's a good indicator that other problems lurk too.

Large volume of data sent to a usb 2.0 Harddrive

Fran Firman (not verified)
on
March 3, 2005 - 2:59pm

I have found on Kernel's 2.4.27 (debian) 2.4.29 (mepis) and 2.6.10 (mepis), when I try to transfer a large volume of files, with total size about 1G, the usb harddrive, gets reset, and goes off line.

I have to unplug it at plug it back in, and the data I sent is not complete. Only about 300M is there.

This works with vfat, and ext3 formated partitions.

There doesn't seem to be a problem with usb 1.1 speed.

Also if I transfer about 900M of data, sweet. Then leave the drive for a little while (Might be 5 mins, ie when I realise the transfer has finished), I can transfer another 900M ok.

As you can prob guess... This problem can cause major issues, when you are trying to backup a computer, before a rebuild.

Cheers

Fran.

Testing of the problem

Fran Firman (not verified)
on
March 6, 2005 - 12:23pm

I used dd if=/dev/zero of=test1 bs=1024 count=number to see how large a transfer could be created.

When count=999k the transfer was good
When count=1000k the transfer failed.

This was both on vfat and ext3

The second test I did was, how soon can another transfer be done and succeed.

for this I used

for ((x=1;x < 4;x++)) ; do dd if=/dev/zero of=test$x bs=1024 count=999k ; sleep 1 ; done

That worked fine.

I hope this helps someone.

Not enough space in the buffer?

Anonymous (not verified)
on
March 11, 2005 - 9:46am

This sounds like a "nobody will _ever_ need to transfer more than 999k at a time, so lets save a bit and make the variable of this type. Nobody will ever need a larger one (who knew about DVDs?).

Fran, I think you are on to

Mike Principito (not verified)
on
March 5, 2006 - 8:53pm

Fran,
I think you are on to something. I had a simular problem tonight on a 2.6.12 [ubuntu] kernel while transfering large amounts of data. I'm not sure if its important but I was using a USB ATA drive enclosure. The enclosure also has a firewire option... I may try to recreate the issue tomorrow with the firewire slot.
Has with this problem tried to see if a newer kernel corrects this?

Same problem on one box

Anonymous (not verified)
on
March 22, 2005 - 1:50am

Hello, I am having the same problem with an external IDE-to-USB drive (with a 40GB drive and 200GB drive). The thing is that it works perfect on a Acer TravelMate 230TX (Intel 82801DB USB controller) but fails with NVidia NForce2 chipset (Asus A7N8X-E board).
It transfers some amount of data and then shows an error and corrupts the filesystem (if it was mounted rw).

Alexandr

i just switched from debian u

Anonymous (not verified)
on
March 23, 2005 - 3:41pm

i just switched from debian unstable to fedora core 3, at first, well i am not sure if debian unstable had that problem, as i switched using a brand new external harddrive as backup :/. i just hope nothing seriously broke...

seeing this with my apple mini-ipod

Anonymous (not verified)
on
April 21, 2005 - 2:42pm

I'm seeing this with 2.6.11-ck2 kernel and my mini-ipod everytime
I try to write a good amount of data to it.

I'd really like a fix for this and find out what is causing this.

I'm using a Dell Latitude D600 with USB 2.0

The ipod works fine in windows.

Apr 21 14:14:23 nsx kernel: SCSI subsystem initialized
Apr 21 14:14:23 nsx kernel: Initializing USB Mass Storage driver...
Apr 21 14:14:23 nsx kernel: scsi0 : SCSI emulation for USB Mass Storage devices
Apr 21 14:14:23 nsx kernel: usbcore: registered new driver usb-storage
Apr 21 14:14:23 nsx kernel: USB Mass Storage support registered.
Apr 21 14:14:28 nsx kernel: Vendor: Apple Model: iPod Rev: 1.62
Apr 21 14:14:28 nsx kernel: Type: Direct-Access ANSI SCSI revision: 00
Apr 21 14:14:28 nsx kernel: SCSI device sda: 7999488 512-byte hdwr sectors (4096 MB)
Apr 21 14:14:28 nsx kernel: sda: Write Protect is off
Apr 21 14:14:28 nsx kernel: SCSI device sda: 7999488 512-byte hdwr sectors (4096 MB)
Apr 21 14:14:28 nsx kernel: sda: Write Protect is off
Apr 21 14:14:28 nsx kernel: sda: sda1 sda2
Apr 21 14:14:28 nsx scsi.agent[4137]: sd_mod: loaded sucessfully (for disk)
Apr 21 14:14:28 nsx kernel: Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
Apr 21 14:16:22 nsx kernel: nfs warning: mount version older than kernel
Apr 21 14:16:22 nsx last message repeated 2 times
Apr 21 14:19:16 nsx kernel: usb 4-1: reset high speed USB device using ehci_hcd and address 3
Apr 21 14:19:32 nsx kernel: scsi: Device offlined - not ready after error recovery: host 0 channel 0 id 0 lun 0
Apr 21 14:19:32 nsx kernel: SCSI error : <0 0 0 0> return code = 0x50000
Apr 21 14:19:32 nsx kernel: end_request: I/O error, dev sda, sector 95941
Apr 21 14:19:32 nsx kernel: lost page write due to I/O error on sda2
Apr 21 14:19:32 nsx kernel: O to offline device
Apr 21 14:19:37 nsx kernel: offline device
Apr 21 14:19:45 nsx kernel: printk: 564 messages suppressed.
Apr 21 14:19:45 nsx kernel: lost page write due to I/O error on sda2
Apr 21 14:20:17 nsx kernel: printk: 4 messages suppressed.
Apr 21 14:20:17 nsx kernel: lost page write due to I/O error on sda2
Apr 21 14:20:17 nsx last message repeated 6 times

I just tested with a kernel.o

Anonymous (not verified)
on
April 21, 2005 - 4:42pm

I just tested with a kernel.org vanilla 2.6.12-rc3 and it does
the same problem with the mini-ipod.

Howto kernel 2.6.15 mount usb pen drive

Teotonio (not verified)
on
January 24, 2006 - 11:20am

Please help me about howto kernel 2.6.15-1 mount usb pen drive.

On kernel 2.6.9 when device is plugged the /dev/sda1 is created
and on 2.6.15 not.

Thanks in adavance.

I'm seeing this with my mini-Ipod

Onyx4 (not verified)
on
April 21, 2005 - 2:38pm

I'm seeing this with 2.6.11-ck2 kernel and my mini-ipod everytime
I try to write a good amount of data to it.

I'd really like a fix for this and find out what is causing this.

I'm using a Dell Latitude D600 with USB 2.0

The ipod works fine in windows.

Apr 21 14:14:23 nsx kernel: SCSI subsystem initialized
Apr 21 14:14:23 nsx kernel: Initializing USB Mass Storage driver...
Apr 21 14:14:23 nsx kernel: scsi0 : SCSI emulation for USB Mass Storage devices
Apr 21 14:14:23 nsx kernel: usbcore: registered new driver usb-storage
Apr 21 14:14:23 nsx kernel: USB Mass Storage support registered.
Apr 21 14:14:28 nsx kernel: Vendor: Apple Model: iPod Rev: 1.62
Apr 21 14:14:28 nsx kernel: Type: Direct-Access ANSI SCSI revision: 00
Apr 21 14:14:28 nsx kernel: SCSI device sda: 7999488 512-byte hdwr sectors (4096 MB)
Apr 21 14:14:28 nsx kernel: sda: Write Protect is off
Apr 21 14:14:28 nsx kernel: SCSI device sda: 7999488 512-byte hdwr sectors (4096 MB)
Apr 21 14:14:28 nsx kernel: sda: Write Protect is off
Apr 21 14:14:28 nsx kernel: sda: sda1 sda2
Apr 21 14:14:28 nsx scsi.agent[4137]: sd_mod: loaded sucessfully (for disk)
Apr 21 14:14:28 nsx kernel: Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
Apr 21 14:16:22 nsx kernel: nfs warning: mount version older than kernel
Apr 21 14:16:22 nsx last message repeated 2 times
Apr 21 14:19:16 nsx kernel: usb 4-1: reset high speed USB device using ehci_hcd and address 3
Apr 21 14:19:32 nsx kernel: scsi: Device offlined - not ready after error recovery: host 0 channel 0 id 0 lun 0
Apr 21 14:19:32 nsx kernel: SCSI error : <0 0 0 0> return code = 0x50000
Apr 21 14:19:32 nsx kernel: end_request: I/O error, dev sda, sector 95941
Apr 21 14:19:32 nsx kernel: lost page write due to I/O error on sda2
Apr 21 14:19:32 nsx kernel: O to offline device
Apr 21 14:19:37 nsx kernel: offline device
Apr 21 14:19:45 nsx kernel: printk: 564 messages suppressed.
Apr 21 14:19:45 nsx kernel: lost page write due to I/O error on sda2
Apr 21 14:20:17 nsx kernel: printk: 4 messages suppressed.
Apr 21 14:20:17 nsx kernel: lost page write due to I/O error on sda2
Apr 21 14:20:17 nsx last message repeated 6 times

I shafre all your problems. b

Anonymous (not verified)
on
April 27, 2005 - 12:43am

I shafre all your problems. but the only thing is i am trying to mount my externel dvd-rw as /mnt/dvd and its name to be /dev/dvd. how do i do this. it is currently called /dev/cdrom1 /mnt/cdrom1

Link it!

utisoft (not verified)
on
April 27, 2005 - 6:28am

Edit your /etc/fstab so the line that mentions /dev/cdrom1 and /mnt/cdrom1 both read /dev/dvd and /mnt/dvd

Then you need to make a symbolic link for the cdrom;
# ln -s /dev/cdrom1 /dev/dvd
and unmount /mnt/cdrom1, and rename it;
# mv /mnt/cdrom1 /mnt/dvd
Then type
$ mount /mnt/dvd
and your drive is mounted as /mnt/dvd

Chris.

utisoft
at
hotmail
dot
com

udev can create /dev/dvd...

Anon (not verified)
on
July 4, 2005 - 3:30pm

If you're using udev, you should use the cdsymlinks.sh script (or the corresponding C program). If you're using the packaged version in Debian sarge or Gentoo, you should find that the script is already in use.

Same kind of problem

Hmph (not verified)
on
May 14, 2005 - 3:26pm

I've got the same kind of problem with my iPod photo (a 2.6.11-rc3 kernel). My mother board is an nForce2 nVidia DUAL DDR. I'll ask a friend who owns a brian new dell if he got the same problem and try my iPod on it.

Changes to USB 2.0

Fran Firman (not verified)
on
May 23, 2005 - 4:35pm

It almost seems to me that USB 2.0 needs to be able to run at diffent speeds. Instead on only having
low speed (1.5mbs)
fast speed (11 mbs)
high speed (480 mbs)

To be able to change the speed to values like (all in mbs)

480
400
350
320
300
280
250
200
150

etc

I don't know what the usb specs say about that thou.

So maybe a tuneable transfer pause, or better an automatic transfer pause, for noisy cables etc.

Fran

I've the same problem, well i

ph3ar (not verified)
on
September 23, 2005 - 6:18pm

I've the same problem, well i've find a possible solution.
First of all disable ohci usb from the kernel(i know some low speed devices will not be discovered) and use ehci or uhci depending on your motherboard check it with "lspci |grep USB".
I've an acer aspire laptop and i use an old intelli optical mouse, with an external usb hd enclosure when i've the ohci enabled the usb hd runs in low speed. So i tried stupid methods, trying plugin to another usb the mouse and to the 1st the usb hd but nothing.
When i use only ehci the device is in high speed mode!!! BUT the mouse isn't recognised. I tried to load the ohci as a module after the usb hd recognised again with high speed. I load the ohci module, the mouse is immediately recognised and the usb hd suddenly takes new dev name
(eg. from sda sdb) and then it's recognised as low speed!

Possibly a kernel update may solve this problem (i don't know if it's a bug). I'm using gentoo with 2.6.11-r6 kernel

uhci vs ehci

Mulligan (not verified)
on
February 16, 2006 - 6:50am

I've been having the same transfer problems as everyone else using the precompiled kernels for Fedora Core 4 (currently I'm using 2.6.15-1.1831_FC4) . After reading your posting, I thought about it a minute and did some checks. the results of my "lspci | grep USB" shows that I only have uhci usb functionality on my mobo. (IBM Thinkpad t41) When I looked through /proc/modules I found out that I had both uhci AND ehci loaded, but no ohci. After removing the ehci module from my running kernel, my ipod disconnected itsself. Upon a remount, I was able to transfer a cd ISO image with no problem.

I hope this helps some people using precompiled kernels.

Silly question but...

Anonymous (not verified)
on
January 24, 2006 - 11:44am

There was a thread that seemed to describe this problem on LKML a while ago. The person was running their hard disk without the power cord plugged in to the enclosure. Can you check that your power brick for the external drive is working? Also, there are some problems with usb-storage in 2.6.9 that prevented my iPod from working (usb-storage would hang). I upgraded to 2.6.15.1 and all of my problems went away.

I had the power cord problem

Anonymous (not verified)
on
September 8, 2006 - 11:34am

I had the power cord problem too. It's working great on another computer without the power cord though...
My esternal hard drive spec:
Vendor: SAMSUNG Model: MP0402H Rev: UC10

Same problem nForce2 kernel up to 2.6.15.27-k7 (Ubuntu)

Marco Aicardi (not verified)
on
September 24, 2006 - 1:37am

I have exactly the same problem with my system.

I own a nForce2-based MoBo (Gigabyte 7NNXPV).

Under Windows (sigh!) USB transfers are ok.

With Linux, USB hangs after transferring some-hundred-megabytes ad USB2 speed.

I have tried many solutions, upgrading the kernel up to 2.6.15.27-k7, tried to compile a newer 2.6.17, modding with ck1 patches and so on.

Nothing worked.

Will try with one of the solutions showed here.

Cheers.

Marco

I've a similar problem with

16oct73 (not verified)
on
January 12, 2007 - 12:49pm

I've a similar problem with usb2.0 (I opened a case in Ubuntu forums, see *here*)

Summarizing, the problem is that USB storage (hard disk, PSP, etc) fail/stall after some (unpredictable) time/amount of bytes copied to them (not reading). My facts:
1) changing the OS to Windows everything works fine
2) mounting the drive "sync" seems to mitigate the problem, but speed is then very low and this solution is not useful for flash drives
3) I tried with 2.6.17 (ubuntu) and 2.6.19.1 (kernel.org)
4) I tried with Ubuntu, and a live CD of another distro
5) I tried several FS on the usb-storage (fat32, ext3, xfs)
6) I tried with a couple USB chipsets: VIA in my motherboard (Asus), NEC in a PCI USB card
7) I tried with usb-storage/uhci/ehci loaded as drivers and also compiled into the kernel.
8) max_sectors in /sys/block/sda/device/ is actually 64 in my system, so below those 128 said above as "safe" (at least for that guy)

Any idea to troubleshoot this?

thx
k

Try limiting transfer speed b

Anonymous (not verified)
on
September 25, 2006 - 7:14am

Try limiting transfer speed by setting /sys/block/sd?/device/max_sectors to a smaller number. 128 fixes it for me, but you might need to go down even further.

How do you do this - on Ubunt

Anonymous (not verified)
on
October 28, 2006 - 10:50am

How do you do this - on Ubuntu trying to edit that file, even as root, doesn't work (you get E667: Fsync failed). Is it being overwritten by udev? If so, how do you configure udev to write the desired value?

You echo into it. First, beco

Anonymous (not verified)
on
October 28, 2006 - 4:38pm

You echo into it. First, become root with sudo su. Then do, for example, echo 128 > max_sectors

with ubuntu su doesn't work

Anonymous (not verified)
on
January 23, 2007 - 10:04am

with ubuntu su doesn't work but you can type :
sudo -i

anemic anonymous

Actually, su works. Just run

Anonymous (not verified)
on
January 29, 2007 - 2:56am

Actually, su works. Just run 'sudo su' ;-)
Don't try this at home, kids :-P

It is a kernel bug. This

buachompoo
on
May 30, 2007 - 11:14pm

It is a kernel bug.
This should be fixed in 2.6.10-rc3.

---------------------------------------------------
Lyrics and Chords at Music Lyrics Chord

Same problem with 2.6.21

jef (not verified)
on
June 6, 2007 - 11:45pm

I have a wifi USB key, for which the prism54 driver does not work,
so, I use ndiswrapper.

On one of my machines, with ehci, I randomly get a 'USB disconnect'.
After it occurs, no USB access can be done (lsusb, USB hard
disconnection...). Tracing the disconnection shows that the process
khubd loops in ehci_endpoint_dsable(), waiting for a qh state change,
but the state ever stays QH_STATE_UNLINK.

Then, at start time, I removed the module ehci_hcd before starting
ndiswrapper. Now, I have no problem anymore.

My second machine is an old Pentium III. With the same kernel (2.6.21),
I cannot use ehci. It finds 4 ports while there are only 2, and USB
connection does not work for any device. Removing the module ehci_hcd
permits the wifi key to work a while before the system freezes, I do not
know yet where (I cannot use the NMI watchdog). But this is an other story..

Device firmware quality issues

cushioncritter
on
June 7, 2007 - 7:33am

By removing ehci-hcd (USB 2.0), you are now running on uhci-hcd (USB 1.0) at a lower speed. This is not a good solution.

It's hard to know if Linux kernel drivers should be blamed for this. To properly handle a device with buggy firmware, a driver writer sometimes has to create an artificial intelligence state machine, perhaps 10K-200K lines of code, whereas a properly implemented device following standards can use a simple driver perhaps 1K-5K lines of code. The ideal of "hardware manufacturers should write drivers for their devices" that exists in Windows, etc. makes this worse since horrible quality firmware can be masked over by a compensating proprietary driver.

Firmware quality is now so low one reads of TV tuners that take 5 seconds to change channels, VoIP phones with menus that take minutes to select an item, etc.. When I question employers on this issue, they admit they would rather have inferior quality at a much lower price that "sort of/barely works" rather than pay for experienced firmware and device driver craftsmen.

USB reset, but why, where ?

William_FR (not verified)
on
June 19, 2008 - 4:20am

Hi, first at all, sorry for my poor english.
I'm experiencing some pb with usb mass storage. Some devices (pmp) works very fine, and some other dont (the same model of device ). I use usb-storage to write data on disk and custom protocol to send some commands to the device. To do that, i send ioctl with short packet of data (50o - 200o ). sometimes the ioctl will return prematurely and the kernel write this to the log :
usb 14-2: reset high speed USB device using ehci_hcd and address 104
usb 14-2: reset high speed USB device using ehci_hcd and address 104
usb 14-2: reset high speed USB device using ehci_hcd and address 104
usb 14-2: reset high speed USB device using ehci_hcd and address 104
usb 14-2: reset high speed USB device using ehci_hcd and address 104

...
one line for each ioctl. Could you help me to find where in the kernel this reset happend ?
My goal is to understand why exactly this reset append and trace it into the kernel.
Tanks for your help :)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.