Alright...
I posted regarding this to the list yesterday and have been
Emailing back and forth with Mr. David Brownell in regards to it... He
helped me figure out how to turn on a lot of debug messages in the kernel
and get a good idea of what's going on.
To summarize, here's what's up -- I have three machines at my
desk -- a 500 MHz G3 running OS X 10.2.6, a 266 MHz Cyrix MediaGXm running
Win2K Server, and a 500 MHz P3 running Linux 2.4.21. In order to save
space, I've decided to use a manual (passive) USB switch to share a USB
keyboard and trackball between the three machines. The switch has four
"type B" ports on the back and one "type A" port, and a little button on
the top to decide which "type B" port gets connected to the "type A." I
plug A->B cables from three out of the four ports to type A ports on the
back of each of the three machines, I plug the USB keyboard into the type
A port on the back of the switch, and I plug the trackball into one of the
two type A ports on the back of the keyboard.
The PROBLEM is... While Win2K Server and OS X usually take around
one second to power up the keyboard and trackball, Linux 2.4.xxx takes 5-6
seconds.
I've been reading for quite a while that the USB stack in 2.6.xxx
is more or less a complete rewrite, and was hoping this would solve this
problem for me. But last week I finally sat down and compiled
2.6.0-test2... And ironically enough, 2.6.0-test2 seems to take over *10
seconds* to power up the keyboard and trackball -- about twice the time
2.4.xxx does!
The machine in question is, as mentioned above, a 500 MHz Pentium
3... It uses an Intel 440BX chipset and has a UHCI controller on the
motherboard... These symptoms occur identically whether I use the
on-board UHCI or an add-on PCI USB 2.0 card that has an on-board OHCI for
USB 1.1 devices (which these are)... They occur with both variants of the
2.4.21 UHCI drivers. With 2.6.0-test2 I get the 10 second pause using
both the OHCI card and the on-board UHCI as well.
The keyboard in question is a Silitek SK-6205, which was
apparently manufactured for Gateway as it has the Gateway logo on the top
right. The kernel seems to think it has a pointer device of some sort
built into it, but it does not. My guess is that there may be another
version of the keyboard that *does* have an on-board pointing device, but
the particular one I have does not include it. I bought this keyboard
because it was the only ergonomic USB keyboard I could find that wasn't
manufactured by Microsoft.
The trackball is a Logitech Optical Trackman Marble, which is an
awesome trackball and I like it lots.
Here's a dump of the debug messages generated by 2.6.0-test2 with
"USB verbose debug messages" turned on in the kernel config, as well as
with the two debug macros at the top of hid-core.c #define'ed... (Thank
you again to Mr. Brownell for helping to get me this far...)
Script started on Tue Aug 12 01:12:55 2003
sh-2.03# tail -f messages
Aug 12 01:12:56 thevillage kernel: drivers/usb/input/hid-core.c: report (size 8)
(unnumbered)
Aug 12 01:12:56 thevillage kernel: drivers/usb/input/hid-core.c: report 0 (size 8) =
00 00 08 00 00 00 00 00
Aug 12 01:12:56 thevillage kernel: drivers/usb/input/hid-core.c: report (size 8)
(unnumbered)
Aug 12 01:12:56 thevillage kernel: drivers/usb/input/hid-core.c: report 0 (size 8) =
00 00 00 00 00 00 00 00
Aug 12 01:12:56 thevillage kernel: drivers/usb/input/hid-core.c: report (size 8)
(unnumbered)
Aug 12 01:12:56 thevillage kernel: drivers/usb/input/hid-core.c: report 0 (size 8) =
00 00 2b 00 00 00 00 00
Aug 12 01:12:57 thevillage kernel: drivers/usb/input/hid-core.c: report (size 8)
(unnumbered)
Aug 12 01:12:57 thevillage kernel: drivers/usb/input/hid-core.c: report 0 (size 8) =
00 00 00 00 00 00 00 00
Aug 12 01:12:57 thevillage kernel: drivers/usb/input/hid-core.c: report (size 8)
(unnumbered)
Aug 12 01:12:57 thevillage kernel: drivers/usb/input/hid-core.c: report 0 (size 8) =
00 00 28 00 00 00 00 00
Aug 12 01:12:57 thevillage kernel: drivers/usb/input/hid-core.c: report (size 8)
(unnumbered)
Aug 12 01:12:57 thevillage kernel: drivers/usb/input/hid-core.c: report 0 (size 8) =
00 00 00 00 00 00 00 00
(this is the point at which I hit the button on the USB switch to switch
the keyboard and trackball to one of the other machines... effectively
the same as just disconnecting them from the Linux box, I think)
Aug 12 01:13:21 thevillage kernel: ohci-hcd 0000:00:0d.0: urb df7b9ae0 path 2.3 ep1in
5f160000 cc 5 --> status -110
Aug 12 01:13:21 thevillage kernel: drivers/usb/input/hid-core.c: nonzero status in
input irq -110
Aug 12 01:13:21 thevillage kernel: ohci-hcd 0000:00:0d.0: urb df7b9900 path 2.1 ep1in
5f160000 cc 5 --> status -110
Aug 12 01:13:21 thevillage kernel: drivers/usb/input/hid-core.c: nonzero status in
input irq -110
Aug 12 01:13:21 thevillage kernel: ohci-hcd 0000:00:0d.0: urb df7b9ae0 path 2.3 ep1in
5f160000 cc 5 --> status -110
Aug 12 01:13:21 thevillage kernel: drivers/usb/input/hid-core.c: nonzero status in
input irq -110
Aug 12 01:13:21 thevillage kernel: ohci-hcd 0000:00:0d.0: GetStatus roothub.portstatus
[2] = 0x00030100 PESC CSC PPS
Aug 12 01:13:21 thevillage kernel: hub 2-0:0: port 2, status 100, change 3, 12 Mb/s
Aug 12 01:13:21 thevillage kernel: usb 2-2: USB disconnect, address 7
Aug 12 01:13:21 thevillage kernel: usb 2-2.1: USB disconnect, address 8
Aug 12 01:13:21 thevillage kernel: drivers/usb/core/usb.c: nuking urbs assigned to
2-2.1
Aug 12 01:13:21 thevillage kernel: ohci-hcd 0000:00:0d.0: shutdown urb df7b9900 pipe
40408880 ep1in-intr
Aug 12 01:13:21 thevillage kernel: ohci-hcd 0000:00:0d.0: shutdown urb df7b91e0 pipe
40410880 ep2in-intr
Aug 12 01:13:21 thevillage kernel: usb 2-2.1: unregistering interfaces
Aug 12 01:13:21 thevillage kernel: drivers/usb/core/usb.c: nuking urbs assigned to
2-2.1
Aug 12 01:13:21 thevillage kernel: usb 2-2.1: hcd_unlink_urb df7b9900 fail -22
Aug 12 01:13:21 thevillage kernel: usb 2-2.1: hcd_unlink_urb dde595c0 fail -22
Aug 12 01:13:21 thevillage kernel: usb 2-2.1: hcd_unlink_urb df7b9900 fail -22
Aug 12 01:13:21 thevillage kernel: ohci-hcd 0000:00:0d.0: urb df7b9ae0 path 2.3 ep1in
5f160000 cc 5 --> status -110
Aug 12 01:13:21 thevillage kernel: drivers/usb/input/hid-core.c: nonzero status in
input irq -110
Aug 12 01:13:21 thevillage kernel: drivers/usb/core/usb.c: usb_hotplug
Aug 12 01:13:21 thevillage kernel: drivers/usb/core/usb.c: nuking urbs assigned to
2-2.1
Aug 12 01:13:21 thevillage kernel: usb 2-2.1: hcd_unlink_urb df7b91e0 fail -22
Aug 12 01:13:21 thevillage kernel: usb 2-2.1: hcd_unlink_urb df7b9240 fail -22
Aug 12 01:13:21 thevillage kernel: usb 2-2.1: hcd_unlink_urb df7b91e0 fail -22
Aug 12 01:13:21 thevillage kernel: drivers/usb/core/usb.c: usb_hotplug
Aug 12 01:13:21 thevillage kernel: usb 2-2.1: unregistering device
Aug 12 01:13:21 thevillage kernel: drivers/usb/core/usb.c: usb_hotplug
Aug 12 01:13:21 thevillage kernel: usb 2-2.3: USB disconnect, address 9
Aug 12 01:13:21 thevillage kernel: drivers/usb/core/usb.c: nuking urbs assigned to
2-2.3
Aug 12 01:13:21 thevillage kernel: ohci-hcd 0000:00:0d.0: shutdown urb df7b9ae0 pipe
40408980 ep1in-intr
Aug 12 01:13:21 thevillage kernel: usb 2-2.3: unregistering interfaces
Aug 12 01:13:21 thevillage kernel: drivers/usb/core/usb.c: nuking urbs assigned to
2-2.3
Aug 12 01:13:21 thevillage kernel: usb 2-2.3: hcd_unlink_urb df7b9ae0 fail -22
Aug 12 01:13:21 thevillage kernel: usb 2-2.3: hcd_unlink_urb dfd24780 fail -22
Aug 12 01:13:21 thevillage kernel: usb 2-2.3: hcd_unlink_urb df7b9ae0 fail -22
Aug 12 01:13:21 thevillage kernel: ohci-hcd 0000:00:0d.0: urb df7b98a0 path 2 ep1in
5e160000 cc 5 --> status -110
Aug 12 01:13:21 thevillage kernel: hub 2-2:0: transfer --> -110
Aug 12 01:13:21 thevillage kernel: drivers/usb/core/usb.c: usb_hotplug
Aug 12 01:13:21 thevillage kernel: usb 2-2.3: unregistering device
Aug 12 01:13:21 thevillage kernel: drivers/usb/core/usb.c: usb_hotplug
Aug 12 01:13:21 thevillage kernel: drivers/usb/core/usb.c: nuking urbs assigned to 2-2
Aug 12 01:13:21 thevillage kernel: usb 2-2: unregistering interfaces
Aug 12 01:13:21 thevillage kernel: drivers/usb/core/usb.c: nuking urbs assigned to 2-2
Aug 12 01:13:21 thevillage kernel: usb 2-2: hcd_unlink_urb df7b98a0 fail -22
Aug 12 01:13:21 thevillage kernel: drivers/usb/core/usb.c: usb_hotplug
Aug 12 01:13:21 thevillage kernel: usb 2-2: unregistering device
Aug 12 01:13:21 thevillage kernel: drivers/usb/core/usb.c: usb_hotplug
Aug 12 01:13:21 thevillage kernel: ehci_hcd 0000:00:0d.3: GetStatus port 1 status
003802 POWER OWNER sig=j CSC
Aug 12 01:13:21 thevillage kernel: hub 1-0:0: port 1, status 0, change 1, 12 Mb/s
Aug 12 01:13:21 thevillage kernel: ehci_hcd 0000:00:0d.3: GetStatus port 2 status
001002 POWER sig=se0 CSC
Aug 12 01:13:21 thevillage kernel: hub 1-0:0: port 2, status 100, change 1, 12 Mb/s
Aug 12 01:13:22 thevillage kernel: ohci-hcd 0000:00:0d.0: GetStatus roothub.portstatus
[2] = 0x00020100 PESC PPS
Aug 12 01:13:22 thevillage kernel: hub 2-0:0: port 2 enable change, status 100
(this is the point where I hit the button again to re-connect the keyboard
and trackball to the Linux machine)
Aug 12 01:13:51 thevillage kernel: ehci_hcd 0000:00:0d.3: GetStatus port 1 status
003802 POWER OWNER sig=j CSC
Aug 12 01:13:51 thevillage kernel: hub 1-0:0: port 1, status 0, change 1, 12 Mb/s
Aug 12 01:13:51 thevillage kernel: ehci_hcd 0000:00:0d.3: GetStatus port 2 status
001803 POWER sig=j CSC CONNECT
Aug 12 01:13:51 thevillage kernel: hub 1-0:0: port 2, status 501, change 1, 480 Mb/s
Aug 12 01:13:51 thevillage kernel: hub 1-0:0: debounce: port 2: delay 100ms stable 4
status 0x501
Aug 12 01:13:51 thevillage kernel: hub 1-0:0: port 2 not reset yet, waiting 10ms
Aug 12 01:13:51 thevillage kernel: hub 1-0:0: port 2 not reset yet, waiting 10ms
Aug 12 01:13:51 thevillage kernel: hub 1-0:0: port 2 not reset yet, waiting 200ms
Aug 12 01:13:52 thevillage kernel: ehci_hcd 0000:00:0d.3: port 2 full speed -->
companion
Aug 12 01:13:52 thevillage kernel: ehci_hcd 0000:00:0d.3: GetStatus port 2 status
003001 POWER OWNER sig=se0 CONNECT
Aug 12 01:13:52 thevillage kernel: ohci-hcd 0000:00:0d.0: GetStatus roothub.portstatus
[2] = 0x00010101 CSC PPS CCS
Aug 12 01:13:52 thevillage kernel: hub 2-0:0: port 2, status 101, change 1, 12 Mb/s
Aug 12 01:13:52 thevillage kernel: hub 2-0:0: debounce: port 2: delay 100ms stable 4
status 0x101
Aug 12 01:13:52 thevillage kernel: ohci-hcd 0000:00:0d.0: GetStatus roothub.portstatus
[2] = 0x00100103 PRSC PPS PES CCS
Aug 12 01:13:52 thevillage kernel: hub 2-0:0: new USB device on port 2, assigned
address 10
Aug 12 01:13:52 thevillage kernel: usb 2-2: new device strings: Mfr=1, Product=2,
SerialNumber=0
Aug 12 01:13:52 thevillage kernel: usb 2-2: Product: Gateway USB Hub Keyboard
Aug 12 01:13:52 thevillage kernel: usb 2-2: Manufacturer: Silitek
Aug 12 01:13:52 thevillage kernel: drivers/usb/core/usb.c: usb_hotplug
Aug 12 01:13:52 thevillage kernel: usb 2-2: usb_new_device - registering interface
2-2:0
Aug 12 01:13:52 thevillage kernel: drivers/usb/core/usb.c: usb_hotplug
Aug 12 01:13:52 thevillage kernel: hub 2-2:0: usb_device_probe
Aug 12 01:13:52 thevillage kernel: hub 2-2:0: usb_device_probe - got id
Aug 12 01:13:52 thevillage kernel: hub 2-2:0: USB hub found
Aug 12 01:13:52 thevillage kernel: hub 2-2:0: 3 ports detected
Aug 12 01:13:52 thevillage kernel: hub 2-2:0: compound device; port removable status:
FRR
Aug 12 01:13:52 thevillage kernel: hub 2-2:0: individual port power switching
Aug 12 01:13:52 thevillage kernel: hub 2-2:0: individual port over-current protection
Aug 12 01:13:52 thevillage kernel: hub 2-2:0: Port indicators are not supported
Aug 12 01:13:52 thevillage kernel: hub 2-2:0: power on to power good time: 100ms
Aug 12 01:13:52 thevillage kernel: hub 2-2:0: hub controller current requirement: 90mA
Aug 12 01:13:52 thevillage kernel: hub 2-2:0: local power source is lost (inactive)
Aug 12 01:13:52 thevillage kernel: hub 2-2:0: no over-current condition exists
Aug 12 01:13:52 thevillage kernel: hub 2-2:0: enabling power on all ports
Aug 12 01:13:52 thevillage kernel: hub 2-2:0: port 1, status 101, change 1, 12 Mb/s
Aug 12 01:13:52 thevillage kernel: hub 2-2:0: debounce: port 1: delay 100ms stable 4
status 0x101
Aug 12 01:13:52 thevillage kernel: hub 2-2:0: new USB device on port 1, assigned
address 11
Aug 12 01:13:52 thevillage kernel: usb 2-2.1: new device strings: Mfr=1, Product=2,
SerialNumber=0
Aug 12 01:13:52 thevillage kernel: usb 2-2.1: Product: Gateway USB Hub Keyboard
Aug 12 01:13:52 thevillage kernel: usb 2-2.1: Manufacturer: Silitek
Aug 12 01:13:52 thevillage kernel: drivers/usb/core/usb.c: usb_hotplug
Aug 12 01:13:52 thevillage kernel: usb 2-2.1: usb_new_device - registering interface
2-2.1:0
Aug 12 01:13:52 thevillage kernel: drivers/usb/core/usb.c: usb_hotplug
Aug 12 01:13:52 thevillage kernel: hid 2-2.1:0: usb_device_probe
Aug 12 01:13:52 thevillage kernel: hid 2-2.1:0: usb_device_probe - got id
Aug 12 01:13:52 thevillage kernel: drivers/usb/input/hid-core.c: HID probe called for
ifnum 0
Aug 12 01:13:52 thevillage kernel: drivers/usb/input/hid-core.c: report descriptor
(size 65, read 65) = 05 01 09 06 a1 01 05 07 19 e0 29 e7 15 00 25 01 75 01 95 08 81
02 95 01 75 08 81 01 95 05 75 01 05 08 19 01 29 05 91 02 95 01 75 03 91 01 95 06 75 08
15 00 26 ff 00 05 07 19 00 2a ff 00 81 00 c0
Aug 12 01:13:52 thevillage kernel: drivers/usb/input/hid-core.c: submitting ctrl urb
(this is the point that bugs the crap out of me on those instances when
Windows has just crashed and I need to get back to something sane in order
to avoid LOSING IT...)
Aug 12 01:14:02 thevillage kernel: drivers/usb/input/hid-core.c: timeout waiting for
ctrl or out queue to clear
Aug 12 01:14:02 thevillage kernel: drivers/usb/input/hid-core.c: empty report
Aug 12 01:14:02 thevillage kernel: input: USB HID v1.10 Keyboard [Silitek Gateway USB
Hub Keyboard] on usb-0000:00:0d.0-2.1
Aug 12 01:14:02 thevillage kernel: drivers/usb/input/hid-core.c: report (size 8)
(unnumbered)
Aug 12 01:14:02 thevillage kernel: drivers/usb/input/hid-core.c: report 0 (size 8) =
00 00 00 00 00 00 00 00
Aug 12 01:14:02 thevillage kernel: usb 2-2.1: usb_new_device - registering interface
2-2.1:1
Aug 12 01:14:02 thevillage kernel: drivers/usb/core/usb.c: usb_hotplug
Aug 12 01:14:02 thevillage kernel: hid 2-2.1:1: usb_device_probe
Aug 12 01:14:02 thevillage kernel: hid 2-2.1:1: usb_device_probe - got id
Aug 12 01:14:02 thevillage kernel: drivers/usb/input/hid-core.c: HID probe called for
ifnum 1
Aug 12 01:14:02 thevillage kernel: drivers/usb/input/hid-core.c: report descriptor
(size 219, read 219) = 05 0c 09 01 a1 01 85 01 09 e0 15 e8 25 18 75 07 95 01 81 06 15
00 25 01 75 01 0a e2 00 81 06 c0 05 01 09 80 a1 01 85 02 75 01 95 01 0a 81 00 81 06 0a
82 00 81 06 0a 83 00 81 06 95 05 81 01 c0 05 0c 09 01 a1 01 85 03 75 01 95 03 1a b5 00
2a b7 00 81 06 95 01 0a 83 01 81 06 0a cd 00 81 06 0a e5 00 81 06 0a e9 00 81 06 0a ea
00 81 06 95 01 0a 92 01 81 06 95 04 1a 52 01 2a 55 01 81 06 95 01 0a e2 00 81 06 0a 24
02 81 06 0a e7 00 81 06 0a 8a 01 81 06 0a 25 02 81 06 0a 94 01 81 06 0a 23 02 81 06 0a
21 02 81 06 0a 26 02 81 06 0a 27 02 81 06 0a 2a 02 81 06 95 01 75 08 26 ff 00 09 30 b1
02 05 08 95 01 75 01 25 01 09 2a 91 02 09 4b 91 02 75 06 95 01 91 01 c0
Aug 12 01:14:02 thevillage kernel: drivers/usb/input/hid-core.c: submitting ctrl urb
Aug 12 01:14:02 thevillage kernel: drivers/usb/input/hid-core.c: report (size 2)
(numbered)
Aug 12 01:14:02 thevillage kernel: drivers/usb/input/hid-core.c: report 1 (size 1) =
00
Aug 12 01:14:02 thevillage kernel: drivers/usb/input/hid-core.c: submitting ctrl urb
Aug 12 01:14:02 thevillage kernel: drivers/usb/input/hid-core.c: report (size 2)
(numbered)
Aug 12 01:14:02 thevillage kernel: drivers/usb/input/hid-core.c: report 2 (size 1) =
00
Aug 12 01:14:02 thevillage kernel: drivers/usb/input/hid-core.c: submitting ctrl urb
Aug 12 01:14:02 thevillage kernel: drivers/usb/input/hid-core.c: report (size 4)
(numbered)
Aug 12 01:14:02 thevillage kernel: drivers/usb/input/hid-core.c: report 3 (size 3) =
00 00 00
Aug 12 01:14:02 thevillage kernel: drivers/usb/input/hid-core.c: submitting ctrl urb
Aug 12 01:14:02 thevillage kernel: drivers/usb/input/hid-core.c: report (size 2)
(numbered)
Aug 12 01:14:02 thevillage kernel: drivers/usb/input/hid-core.c: report 3 (size 1) =
00
Aug 12 01:14:02 thevillage kernel: input: USB HID v1.10 Device [Silitek Gateway USB
Hub Keyboard] on usb-0000:00:0d.0-2.1
Aug 12 01:14:02 thevillage kernel: hub 2-2:0: port 3, status 301, change 1, 1.5 Mb/s
Aug 12 01:14:03 thevillage kernel: hub 2-2:0: debounce: port 3: delay 100ms stable 4
status 0x301
Aug 12 01:14:03 thevillage kernel: hub 2-2:0: new USB device on port 3, assigned
address 12
Aug 12 01:14:03 thevillage kernel: usb 2-2.3: new device strings: Mfr=1, Product=2,
SerialNumber=0
Aug 12 01:14:03 thevillage kernel: usb 2-2.3: Product: Trackball
Aug 12 01:14:03 thevillage kernel: usb 2-2.3: Manufacturer: Logitech
Aug 12 01:14:03 thevillage kernel: drivers/usb/core/usb.c: usb_hotplug
Aug 12 01:14:03 thevillage kernel: usb 2-2.3: usb_new_device - registering interface
2-2.3:0
Aug 12 01:14:03 thevillage kernel: drivers/usb/core/usb.c: usb_hotplug
Aug 12 01:14:03 thevillage kernel: hid 2-2.3:0: usb_device_probe
Aug 12 01:14:03 thevillage kernel: hid 2-2.3:0: usb_device_probe - got id
Aug 12 01:14:03 thevillage kernel: drivers/usb/input/hid-core.c: HID probe called for
ifnum 0
Aug 12 01:14:03 thevillage kernel: drivers/usb/input/hid-core.c: report descriptor
(size 103, read 103) = 05 01 09 02 a1 01 05 09 19 01 29 03 15 00 25 01 95 03 75 01 81
02 95 01 75 05 81 03 05 01 09 01 a1 00 09 30 09 31 15 81 25 7f 75 08 95 02 81 06 c0 09
38 95 01 81 06 09 3c 15 00 25 01 75 01 95 01 b1 22 95 07 b1 01 05 08 09 4b 15 00 25 03
95 01 75 02 09 3c a1 02 09 41 09 3d 09 3f 09 40 91 00 c0 75 06 91 01 c0
Aug 12 01:14:03 thevillage kernel: drivers/usb/input/hid-core.c: submitting ctrl urb
Aug 12 01:14:03 thevillage kernel: drivers/usb/input/hid-core.c: report (size 4)
(unnumbered)
Aug 12 01:14:03 thevillage kernel: drivers/usb/input/hid-core.c: report 0 (size 4) =
00 00 00 00
Aug 12 01:14:03 thevillage kernel: drivers/usb/input/hid-core.c: submitting ctrl urb
Aug 12 01:14:03 thevillage kernel: drivers/usb/input/hid-core.c: report (size 1)
(unnumbered)
Aug 12 01:14:03 thevillage kernel: drivers/usb/input/hid-core.c: report 0 (size 1) =
01
Aug 12 01:14:03 thevillage kernel: drivers/usb/input/hid-core.c: report (size 4)
(unnumbered)
Aug 12 01:14:03 thevillage kernel: drivers/usb/input/hid-core.c: report 0 (size 4) =
00 ff 00 00
Aug 12 01:14:03 thevillage kernel: input: USB HID v1.10 Mouse [Logitech Trackball] on
usb-0000:00:0d.0-2.3
sh-2.03# exit
Script done on Tue Aug 12 01:14:11 2003
Anyone got any suggestions as to how to eliminate this problem and
get Linux to power up these devices as quickly as OS X and... *cringe*...
Win2K do?
Thanks a bunch. :)
Ronald Rael Harvest
[EMAIL PROTECTED]
http://thevillage.2y.net:6
"Please God, let me find my blue hat with the red trim." (Frances Farmer)
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel