blacklist a device in usb-storage
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 8 lines · On Sat, 14 Aug 2004 21:22:20 +0300 "O.Sezer" <[email protected]> wrote:
The disk in question is VID/PID=0b86:5110 32mb JMTek/eXputer disk.
http://www.qbik.ch/usb/devices/showdev.php?id=1092 says it can never be supported through usb-storage because it claims to be usb storage compliant but is not.
[...]
If there's any other way of preventing usb-storage to take- over this disk, then tell me and despise my ignorance, Otherwise, Marcelo please apply ;)
I do not understand what the objective might be. Just do not use that thing with Linux kernel 2.4. Why do you wish "to revent usb-storage from taking over this disk"?
-- Pete
Quoted 14 lines · Pete Zaitcev
Quoted 8 lines · On Sat, 14 Aug 2004 21:22:20 +0300 "O.Sezer" <[email protected]> wrote:
The disk in question is VID/PID=0b86:5110 32mb JMTek/eXputer disk.
http://www.qbik.ch/usb/devices/showdev.php?id=1092 says it can never be supported through usb-storage because it claims to be usb storage compliant but is not.
[...]
If there's any other way of preventing usb-storage to take- over this disk, then tell me and despise my ignorance, Otherwise, Marcelo please apply ;)
Quoted 5 lines
I do not understand what the objective might be. Just do not use that thing with Linux kernel 2.4. Why do you wish "to revent usb-storage from taking over this disk"?
-- Pete
As I said above, I cannot prevent accidentals (VID/PIDs aren't printed on the disk, yo know...) And usb-storage must not deal with disks that it cannot deal with:
1. This particular disk can lead to panics as I said.
2. If someone ever writes a driver specific to this device (I know it's less than highly unlikely), than it would be also useful in that case if the disk isn't tried to be owned by usb-storage. That, I think applies as a general case, too.
Ozkan Sezer
Quoted 4 lines · On Mon, 16 Aug 2004 10:48:12 +0300 "O.Sezer" <[email protected]> wrote:
Quoted 3 lines
I do not understand what the objective might be. Just do not use that thing with Linux kernel 2.4. Why do you wish "to revent usb-storage from taking over this disk"?
Quoted 8 lines
As I said above, I cannot prevent accidentals (VID/PIDs aren't printed on the disk, yo know...) And usb-storage must not deal with disks that it cannot deal with:
1. This particular disk can lead to panics as I said.
2. If someone ever writes a driver specific to this device (I know it's less than highly unlikely), than it would be also useful in that case if the disk isn't tried to be owned by usb-storage. That, I think applies as a general case, too.
The #2 only makes sense when such driver appears.
As for #1, why don't you post the dmesg from your "panic".
-- Pete
Pete Zaitcev wrote:
[...]
Quoted 15 lines
Quoted 5 lines
Quoted 3 lines
I do not understand what the objective might be. Just do not use that thing with Linux kernel 2.4. Why do you wish "to revent usb-storage from taking over this disk"?
Quoted 8 lines
As I said above, I cannot prevent accidentals (VID/PIDs aren't printed on the disk, yo know...) And usb-storage must not deal with disks that it cannot deal with:
1. This particular disk can lead to panics as I said.
2. If someone ever writes a driver specific to this device (I know it's less than highly unlikely), than it would be also useful in that case if the disk isn't tried to be owned by usb-storage. That, I think applies as a general case, too.
Quoted 1 line
The #2 only makes sense when such driver appears.
And its title: "usb-storage must not deal with disks that it cannot deal with" _also_ makes sense imho.
Quoted 1 line
As for #1, why don't you post the dmesg from your "panic".
Here's the panic (hand copied from the screen) + the ksymoops' report:
ksymoops 2.4.9 on i686 2.4.27-acx2. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.4.27-acx2 (specified)
-m /boot/System.map-2.4.27-acx2 (default)
CPU: 0
EIP: 0010: [<e0d24da0>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010286
eax: d96df164 ebx: ffffffac ecx: 00000003 edx: ffffffac
esi: 00000000 edi: dd738854 ebp: c032decc esp: c032dea8
ds: 0018 es: 0018 ss: 0018
Process swapper: (pid: 0, stackpage= c032d000)
Stack: e0a3b9cf dd738854 dd738854 d96df164
c1758440 d96df164 c1617ef0 c1617ed4
dd738854 c032defc e0a3bde4 c1617ed4
dd738854 c03849e8 dfeb5d84 c032df08
e0207ee9 00000000 c1617ef0 00000001
c1617ed4 c032df2c e0a3be87 c1617ed4
Call Trace: [<e0a3b9cf>] [<e0a3bde4>] [<e0207ee9>]
[<e0a3be87>] [<c010a848>] [<c010aa33>]
[<e0ae4385>] [<c0107150>] [<c0105000>]
[<c01071f4>]
Code: Bad EIP valueQuoted 6 lines
Quoted 6 lines
EIP;
e0d24da0<[sr_mod]sr_registered+22deec/22e1ac> <=====eax;
d96df164<_end+19349420/2064e31c>
edi;dd738854<_end+1d3a2b10/2064e31c>
ebp;c032decc<init_task_union+1ecc/2000>
esp;c032dea8<init_task_union+1ea8/2000>
Trace; e0a3b9cf <[usb-uhci]process_interrupt+21f/260> Trace; e0a3bde4 <[usb-uhci]process_urb+254/260> Trace; e0207ee9 <_end+1fe721a5/2064e31c> Trace; e0a3be87 <[usb-uhci]uhci_interrupt+97/170> Trace; c010a848 <handle_IRQ_event+48/80> Trace; c010aa33 <do_IRQ+83/f0>
Trace; e0ae4385 <[battery]level_save.1+5ea9/10b84> Trace; c0107150 <default_idle+0/40>
Trace; c0105000 <_stext+0/0>
Trace; c01071f4 <cpu_idle+34/40>
<0>Kernel panic: Aiee, killing interrupt handler!
Quoted 9 lines · On Mon, 16 Aug 2004 18:54:25 +0300 "O.Sezer" <[email protected]> wrote:
EIP: 0010: [<
e0d24da0>] Not taintedCall Trace: [<e0a3b9cf>] [<e0a3bde4>] [<e0207ee9>] [<e0a3be87>] [<c010a848>] [<c010aa33>] [<e0ae4385>] [<c0107150>] [<c0105000>] [<c01071f4>]Quoted 1 line
Quoted 1 line
EIP;
e0d24da0<[sr_mod]sr_registered+22deec/22e1ac> <=====
Quoted 8 lines
Trace;
e0a3b9cf<[usb-uhci]process_interrupt+21f/260> Trace;e0a3bde4<[usb-uhci]process_urb+254/260> Trace;e0207ee9<_end+1fe721a5/2064e31c> Trace;e0a3be87<[usb-uhci]uhci_interrupt+97/170> Trace;c010a848<handle_IRQ_event+48/80> Trace;c010aa33<do_IRQ+83/f0>
Trace;c0107150<default_idle+0/40>
Trace;c01071f4<cpu_idle+34/40>
Hmm. This looks fishy, because sr_registered is not a function.
Does the same happen after "echo /bin/true > /proc/sys/kernel/hotplug"? Maybe your hotplug setup yanks a module. I heard some crazy distro did that on unplug.
-- Pete
Pete Zaitcev wrote:
[...]
Quoted 13 lines
Quoted 11 lines
Quoted 1 line
Quoted 1 line
EIP;
e0d24da0<[sr_mod]sr_registered+22deec/22e1ac> <=====Trace;
e0a3b9cf<[usb-uhci]process_interrupt+21f/260> Trace;e0a3bde4<[usb-uhci]process_urb+254/260> Trace;e0207ee9<_end+1fe721a5/2064e31c> Trace;e0a3be87<[usb-uhci]uhci_interrupt+97/170> Trace;c010a848<handle_IRQ_event+48/80> Trace;c010aa33<do_IRQ+83/f0>
Trace;c0107150<default_idle+0/40>
Trace;c01071f4<cpu_idle+34/40>
Quoted 1 line
Hmm. This looks fishy, because
sr_registeredis not a function.
Yeah it's not reliable :/ How about [snd-seq-midi].data.end (the finding if don't I don't unload any modules. After every module unload the finding changes.)
Quoted 1 line
Does the same happen after "echo
/bin/true>/proc/sys/kernel/hotplug"?
Doesn't change anything:
Do the "echo /bin/true > /proc/sys/kernel/hotplug", plug the disk, manually do "/sbin/modprobe usb-storage", watch the same scene about interrupts etc, unplug the disk (this time no hotplug magic is in effect), "/sbin/modprobe -r usb-storage" and panic. I guess the device is never released from the scsi layer??? The attached file has the panic info (unreliable as before; and yes it's nvidia-tainted, but nvidia is irrelevant it happens reliably all the time).
Quoted 2 lines
Maybe your hotplug setup yanks a module. I heard some crazy distro did that on unplug.
This is Redhat-9, using hotplug-2004_04_01-4 from rawhide. I remember the very same failures when I was using Mandrake9.0, so the distro change doesn't seem to make a difference (yet).
I still strongly beleive that we need a blacklisting mechanism for crazy cases like this.
Regards,
Ozkan Sezer
ksymoops 2.4.5 on i686 2.4.27-acx2. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.4.27-acx2 (specified)
-m /boot/System.map-2.4.27-acx2 (default)
Warning (compare_maps): mismatch on symbol _nv000173rm , nvidia says e0f24100, /lib/modules/2.4.27-acx2/nvidia/nvidia.o says e0f23ee0. Ignoring /lib/modules/2.4.27-acx2/nvidia/nvidia.o entry
CPU: 0
EIP: 0010: [<e0f4ada0>] Tainted: P
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010286
eax: db949164 ebx: ffffffac ecx: 00000003 edx: ffffffac
esi: 00000000 edi: de6a9c74 ebp: db6fbf18 esp: db6fbef4
ds: 0018 es: 0018 ss: 0018
Process swapper: (pid: 9027, stackpage= db6f6000)
Stack: e0a3b9cf de6a9c74 de6a9c74 db949164
c17593c0 db949164 c1617ef0 c1617ed4
de6a9c74 db6fbf48 e0a3bde4 c1617ed4
de6a9c74 0000b708 c12551a0 00000286
00000000 00000000 c1617ef0 00000001
c1617ed4 db6fbf78 e0a3be87 c1617ed4
Call Trace: [<e0a3b9cf>] [<e0a3bde4>] [<e0a3be87>]
[<c010a848>] [<c010aa33>]
Code: Bad EIP valueQuoted 8 lines
Quoted 8 lines
EIP;
e0f4ada0<[nvidia].data.end+3e69/1016129> <=====eax;
db949164<_end+1b5b3420/2064e31c>
ebx; ffffffac <END_OF_CODE+1e0436ac/????>
edx; ffffffac <END_OF_CODE+1e0436ac/????>
edi;de6a9c74<_end+1e313f30/2064e31c>
ebp;db6fbf18<_end+1b3661d4/2064e31c>
esp;db6fbef4<_end+1b3661b0/2064e31c>
Trace; e0a3b9cf <[usb-uhci]process_interrupt+21f/260> Trace; e0a3bde4 <[usb-uhci]process_urb+254/260> Trace; e0a3be87 <[usb-uhci]uhci_interrupt+97/170> Trace; c010a848 <handle_IRQ_event+48/80> Trace; c010aa33 <do_IRQ+83/f0>
<0>Kernel panic: Aiee, killing interrupt handler!
1 warning issued. Results may not be reliable.
(please ignore if this is duplicate. isp problems...)
Pete Zaitcev wrote:
[...]
Quoted 15 lines
Quoted 5 lines
Quoted 3 lines
I do not understand what the objective might be. Just do not use that thing with Linux kernel 2.4. Why do you wish "to revent usb-storage from taking over this disk"?
Quoted 8 lines
As I said above, I cannot prevent accidentals (VID/PIDs aren't printed on the disk, yo know...) And usb-storage must not deal with disks that it cannot deal with:
1. This particular disk can lead to panics as I said.
2. If someone ever writes a driver specific to this device (I know it's less than highly unlikely), than it would be also useful in that case if the disk isn't tried to be owned by usb-storage. That, I think applies as a general case, too.
Quoted 1 line
The #2 only makes sense when such driver appears.
And its title: "usb-storage must not deal with disks that it cannot deal with" _also_ makes sense imho.
Quoted 1 line
As for #1, why don't you post the dmesg from your "panic".
Here's the panic (hand copied from the screen) + the ksymoops' report:
ksymoops 2.4.9 on i686 2.4.27-acx2. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.4.27-acx2 (specified)
-m /boot/System.map-2.4.27-acx2 (default)
CPU: 0
EIP: 0010: [<e0d24da0>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010286
eax: d96df164 ebx: ffffffac ecx: 00000003 edx: ffffffac
esi: 00000000 edi: dd738854 ebp: c032decc esp: c032dea8
ds: 0018 es: 0018 ss: 0018
Process swapper: (pid: 0, stackpage= c032d000)
Stack: e0a3b9cf dd738854 dd738854 d96df164
c1758440 d96df164 c1617ef0 c1617ed4
dd738854 c032defc e0a3bde4 c1617ed4
dd738854 c03849e8 dfeb5d84 c032df08
e0207ee9 00000000 c1617ef0 00000001
c1617ed4 c032df2c e0a3be87 c1617ed4
Call Trace: [<e0a3b9cf>] [<e0a3bde4>] [<e0207ee9>]
[<e0a3be87>] [<c010a848>] [<c010aa33>]
[<e0ae4385>] [<c0107150>] [<c0105000>]
[<c01071f4>]
Code: Bad EIP valueQuoted 6 lines
Quoted 6 lines
EIP;
e0d24da0<[sr_mod]sr_registered+22deec/22e1ac> <=====eax;
d96df164<_end+19349420/2064e31c>
edi;dd738854<_end+1d3a2b10/2064e31c>
ebp;c032decc<init_task_union+1ecc/2000>
esp;c032dea8<init_task_union+1ea8/2000>
Trace; e0a3b9cf <[usb-uhci]process_interrupt+21f/260> Trace; e0a3bde4 <[usb-uhci]process_urb+254/260> Trace; e0207ee9 <_end+1fe721a5/2064e31c> Trace; e0a3be87 <[usb-uhci]uhci_interrupt+97/170> Trace; c010a848 <handle_IRQ_event+48/80> Trace; c010aa33 <do_IRQ+83/f0>
Trace; e0ae4385 <[battery]level_save.1+5ea9/10b84> Trace; c0107150 <default_idle+0/40>
Trace; c0105000 <_stext+0/0>
Trace; c01071f4 <cpu_idle+34/40>
<0>Kernel panic: Aiee, killing interrupt handler!