a medley of USB bugs

Tom Trebisky tom at mmto.org
Sat Apr 23 01:42:10 UTC 2005


Someone has got to be embarrased by the tale that follows....

Honest, all I wanted to do was read the images from a flash card
from my digital camera, honest.....

I have a little USB compact flash reader that I have used for years
and I can plug my CF cards into it.  I also have a USB mouse (logitech),
and just as of today I am running the 2.6.11-1.14_FC3smp kernel.

The previous kernel did not even do anything close to reading my
cards, but I will say this, the new kernel is loaded with action.

To put my conclusions up front, I can read my flash cards as
follows:

1) reboot (you get one USB insertion per boot, so you better
make good use of it).

2) Plug the flash card into the reader, plug the reader into
the USB port -- an icon pops up, a dialog asks me if I want to
transfer images into my Photo Album (or some such ... I say no)

..... All this gave me SUCH HOPE!!!

and I find /dev/sda1 is mounted onto /media/CANON_DC and I can
read my images out of there (within limits, trying to run xv
on /media/CANON_DC/...../file.jpg locks up requiring a reboot.
But I can copy outa there OK using cp and that will do for now.

And now for the bugs:

(I should try all this at home with my non-smp system with
a PS/2 mouse).

1) My usb mouse works fine all by itself, but plug in the flash
card reader and it gets kinda sluggish (this was MUCH worse with
prior kernels), and if I look at /var/log/messages, I see the
following action (with me keeping my hands off the mouse and just
watching):

Apr 22 18:16:45 cholla hal.hotplug[18555]: DEVPATH is not set
Apr 22 18:16:45 cholla kernel: usb 1-2: USB disconnect, address 81
Apr 22 18:16:46 cholla kernel: usb 1-2: new low speed USB device using uhci_hcd and address 82
Apr 22 18:16:46 cholla kernel: input: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:11.2-2
Apr 22 18:16:46 cholla hal.hotplug[18656]: DEVPATH is not set
Apr 22 18:16:46 cholla kernel: usb 1-2: USB disconnect, address 82
Apr 22 18:16:46 cholla hal.hotplug[18749]: DEVPATH is not set
Apr 22 18:16:47 cholla kernel: usb 1-2: new low speed USB device using uhci_hcd and address 83
Apr 22 18:16:47 cholla kernel: input: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:11.2-2
Apr 22 18:16:47 cholla hal.hotplug[18794]: DEVPATH is not set
Apr 22 18:16:47 cholla kernel: usb 1-2: USB disconnect, address 83
Apr 22 18:16:47 cholla hal.hotplug[18857]: DEVPATH is not set
Apr 22 18:16:48 cholla kernel: usb 1-2: new low speed USB device using uhci_hcd and address 84
Apr 22 18:16:48 cholla kernel: input: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:11.2-2
Apr 22 18:16:48 cholla hal.hotplug[18941]: DEVPATH is not set

And on and on it goes, incrementing through these USB disconnect addresses
one each second.  One theory is that it is beneficial to unplug my USB mouse
while using my flash card reader -- and this seems to be true, but is somewhat
limiting as far as interacting with my desktop (just be sure and put the
mouse in a terminal window ahead of time, and have a command line script
(indeed I do) to read the images off of the flash card).

2) There seems to be no way to unmount, eject, or just physically unplug the
reader without disaster.  Well, my machine keeps on running, but forget plugging
in another flash card until you reboot.

And worse things have happened:

Apr 22 17:09:32 cholla kernel: scsi1 (0:0): rejecting I/O to dead device
Apr 22 17:09:32 cholla kernel: FAT: Directory bread(block 64927) failed
Apr 22 17:09:32 cholla kernel: scsi1 (0:0): rejecting I/O to dead device
Apr 22 17:09:32 cholla kernel: FAT: Directory bread(block 64928) failed
Apr 22 17:09:32 cholla kernel: scsi1 (0:0): rejecting I/O to dead device
Apr 22 17:09:32 cholla kernel: FAT: Directory bread(block 64929) failed
Apr 22 17:09:32 cholla kernel: scsi1 (0:0): rejecting I/O to dead device
Apr 22 17:09:32 cholla kernel: FAT: Directory bread(block 64930) failed
Apr 22 17:09:40 cholla kernel: eip: c024c5be
Apr 22 17:09:40 cholla kernel: ------------[ cut here ]------------
Apr 22 17:09:40 cholla kernel: kernel BUG at include/asm/spinlock.h:136!
Apr 22 17:09:40 cholla kernel: invalid operand: 0000 [#1]
Apr 22 17:09:40 cholla kernel: SMP
Apr 22 17:09:40 cholla kernel: Modules linked in: nls_utf8 vfat fat usb_storage nvidia(U) eeprom lm75 i2c_sensor i2c_viapro nfs lockd md5 ipv6 parport_pc lp parport autofs4 i2c_dev i2c_core sunrpc ipt_TOS ipt_state ipt_REJECT ipt_LOG ipt_limit iptable_mangle iptable_nat ip_conntrack iptable_filter ip_tables microcode dm_mod uhci_hcd emu10k1_gp gameport via_ircc irda crc_ccitt snd_emu10k1_synth snd_emux_synth snd_seq_virmidi snd_seq_midi_event snd_seq_midi_emul snd_seq snd_emu10k1 snd_rawmidi snd_seq_device snd_ac97_codec snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_page_alloc snd_util_mem snd_hwdep snd soundcore e1000 floppy ext3 jbd sym53c8xx scsi_transport_spi sd_mod scsi_mod
Apr 22 17:09:40 cholla kernel: CPU:    0
Apr 22 17:09:40 cholla kernel: EIP:    0060:[<c0300e44>]    Tainted: P      VLI
Apr 22 17:09:40 cholla kernel: EFLAGS: 00010086   (2.6.11-1.14_FC3smp)
Apr 22 17:09:40 cholla kernel: EIP is at _spin_lock+0x36/0x40
Apr 22 17:09:40 cholla kernel: eax: 0000000e   ebx: f753441c   ecx: c035878c   edx: 00000000
Apr 22 17:09:40 cholla kernel: esi: c1b21cac   edi: f7cf94f8   ebp: f7cf9504   esp: f4138e60
Apr 22 17:09:40 cholla kernel: ds: 007b   es: 007b   ss: 0068
Apr 22 17:09:40 cholla kernel: Process hald (pid: 4333, threadinfo=f4138000 task=f74b4aa0)
Apr 22 17:09:40 cholla kernel: Stack: c0317f5f c024c5be f7cf9df8 c024c5be 00000296 f61208ec f7cf7288 f74b4aa0
Apr 22 17:09:40 cholla kernel:        f4138000 00000006 c02454d7 f4138000 c0123e4f 00000006 f00fa2a0 c012aebf
Apr 22 17:09:40 cholla kernel:        00000000 f4138f28 00000006 f7585140 f4138000 00000006 c0123ec8 00000006
Apr 22 17:09:40 cholla kernel: Call Trace:
Apr 22 17:09:40 cholla kernel:  [<c024c5be>] cfq_exit_io_context+0x54/0xb3
Apr 22 17:09:40 cholla kernel:  [<c024c5be>] cfq_exit_io_context+0x54/0xb3
Apr 22 17:09:40 cholla kernel:  [<c02454d7>] exit_io_context+0x45/0x52
Apr 22 17:09:40 cholla kernel:  [<c0123e4f>] do_exit+0x314/0x338
Apr 22 17:09:40 cholla kernel:  [<c012aebf>] __dequeue_signal+0xe5/0x148
Apr 22 17:09:40 cholla kernel:  [<c0123ec8>] do_group_exit+0x29/0x90
Apr 22 17:09:40 cholla kernel:  [<c012c809>] get_signal_to_deliver+0x25d/0x36a
Apr 22 17:09:40 cholla kernel:  [<c0103d36>] do_signal+0x5a/0x101
Apr 22 17:09:40 cholla kernel:  [<c012afc1>] signal_wake_up+0x1e/0x32
Apr 22 17:09:40 cholla kernel:  [<c012b45c>] specific_send_sig_info+0xa7/0xb6
Apr 22 17:09:40 cholla kernel:  [<c018ac5a>] dnotify_parent+0x1f/0x75
Apr 22 17:09:40 cholla kernel:  [<c012c996>] sigprocmask+0x6c/0xc8
Apr 22 17:09:40 cholla kernel:  [<c012ca3c>] sys_rt_sigprocmask+0x4a/0xc7
Apr 22 17:09:40 cholla kernel:  [<c0103e14>] do_notify_resume+0x37/0x3b
Apr 22 17:09:40 cholla kernel:  [<c0103f5a>] work_notifysig+0x13/0x15
Apr 22 17:09:40 cholla kernel: Code: ad de 75 13 f0 fe 0b 79 09 f3 90 80 3b 00 7e f9 eb f2 83 c4 08 5b c3 8b 44 24 0c c7 04 24 5f 7f 31 c0 89 44 24 04 e8 5e 0a e2 ff <0f> 0b 88 00 14 77 31 c0 eb cf 81 78 04 ed 1e af de 75 0f f0 81
Apr 22 17:09:40 cholla kernel:  <3>scsi1 (0:0): rejecting I/O to dead device
Apr 22 17:09:40 cholla kernel: FAT: Directory bread(block 491) failed
Apr 22 17:09:40 cholla kernel: scsi1 (0:0): rejecting I/O to dead device
Apr 22 17:09:40 cholla kernel: FAT: Directory bread(block 492) failed
Apr 22 17:09:40 cholla kernel: scsi1 (0:0): rejecting I/O to dead device
Apr 22 17:09:40 cholla kernel: FAT: Directory bread(block 493) failed
Apr 22 17:09:40 cholla kernel: scsi1 (0:0): rejecting I/O to dead device
Apr 22 17:09:41 cholla kernel: FAT: Directory bread(block 494) failed

.... There have been a medley of other problems, (that I am too weary to pass along)
that I have discovered as I have tried other workarounds for all of this.

I have tried:

unmounting the device before physically removing it.
Just unplugging it.
Unplugging and then doing an unmount to get rid of the bogus
    lingering mount.
Unplugging and replugging.

doing service haldaemon stop and trying things (seems bad).
doing service haldaemon restart and trying things (no help).

Nothing short of a reboot seems to get it into the mood to accept another
flash card.

A quick look at /proc/modules shows me running:

usb_storage 69257 0 - Live 0xf8e9a000
uhci_hcd 35289 0 - Live 0xf8a67000
scsi_mod 129801 4 usb_storage,sym53c8xx,scsi_transport_spi,sd_mod, Live 0xf885a000

Maybe all this is of interest to someone, maybe not, maybe nobody cares, ...
but anyway there you are.

	Tom
-- 
Tom Trebisky
MMT Observatory
University of Arizona -- Tucson
tom at mmto.org




More information about the users mailing list