Hello list,

the kobil_sct driver requires interrupt-out transfers to write the data
to the device. This works fine with the ochi hcd, but fails with the
uhci hcd. I attached the output from /var/log/messages.
usb_submit_urb returns -22 (-EINVAL).

I tested it on a centrino notebook, but it should fail with all PC with
uhci host controller.

So what must I do to fix the driver?
(Or is it a bug in the uhci hcd?)
Why do the ohci and uhci behave different?

Kernel is 2.6.4-52 (SuSE 9.1 dist)

I'm not in the office until 19th of May. So it could take some time
until I can response.


Many thanks in advance 

        Thomas Wahrenbruch

May 14 16:44:09 linux kernel: drivers/usb/serial/usb-serial.c: USB Serial support 
registered for KOBIL USB smart card terminal
May 14 16:44:09 linux kernel: drivers/usb/core/usb.c: registered new driver kobil
May 14 16:44:09 linux kernel: drivers/usb/serial/kobil_sct.c: 14/05/2004 KOBIL Systems 
GmbH - http://www.kobil.com
May 14 16:44:09 linux kernel: drivers/usb/serial/kobil_sct.c: KOBIL USB Smart Card 
Terminal Driver (experimental)
May 14 16:44:18 linux kernel: usb 2-2: new low speed USB device using address 7
May 14 16:44:18 linux kernel: usb 2-2: Product: USB Adapter B
May 14 16:44:18 linux kernel: usb 2-2: Manufacturer: KOBIL
May 14 16:44:18 linux kernel: usb 2-2: SerialNumber: Prod.# FFFFFF2F
May 14 16:44:18 linux kernel: usbserial 2-2:1.0: KOBIL USB smart card terminal 
converter detected
May 14 16:44:18 linux kernel: KOBIL B1 PRO / KAAN PRO detected
May 14 16:44:18 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_startup Found 
interrupt out endpoint. Address: 1
May 14 16:44:18 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_startup Found 
interrupt in  endpoint. Address: 129
May 14 16:44:18 linux kernel: usb 2-2: KOBIL USB smart card terminal converter now 
attached to ttyUSB0 (or usb/tts/0 for devfs)
May 14 16:44:18 linux /etc/hotplug/usb.agent[25702]: need a device for this command
May 14 16:44:19 linux /etc/hotplug/tty.agent[25704]: add tty device /class/tty/ttyUSB0
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_open - port 0
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_open - port 0  
Allocating port->write_urb
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_open - port 0 Send 
get_HW_version URB returns: 8
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: Harware version: 1.1.6
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_open - port 0 Send 
get_FW_version URB returns: 8
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: Firmware version: 1.1.9
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_open - port 0 Send 
set_baudrate URB returns: 0
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_open - port 0 Send 
reset_all_queues URB returns: 0
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_open - port 0 Send 
read URB returns: 0
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_close - port 0
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0 Read int status not zero: -2
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_open - port 0
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_open - port 0  
Allocating port->write_urb
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_open - port 0 Send 
get_HW_version URB returns: 8
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: Harware version: 1.1.6
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_open - port 0 Send 
get_FW_version URB returns: 8
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: Firmware version: 1.1.9
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_open - port 0 Send 
set_baudrate URB returns: 0
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_open - port 0 Send 
reset_all_queues URB returns: 0
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_open - port 0 Send 
read URB returns: 0
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_ioctl - port 0 
setting port to: 9600 1 StopBit Even Parity
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_ioctl - port 0 
Send set_baudrate URB returns: 0
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_ioctl - port 0 
setting port to: 9600 1 StopBit Even Parity
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_ioctl - port 0 
Send set_baudrate URB returns: 0
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0 Send read URB returns: 0
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0 Send read URB returns: 0
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_tiocmget - port 0 
Send get_status_line_state URB returns: 8. Statusline: 15
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_tiocmset - port 0 
Setting DTR
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0 Send read URB returns: 0
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_tiocmset - port 0 
Send set_status_line URB returns: 0
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0 Send read URB returns: 0
May 14 16:44:46 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0
May 14 16:44:47 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0 Send read URB returns: 0
May 14 16:44:47 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0
May 14 16:44:47 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0 Send read URB returns: 0
May 14 16:44:47 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0
May 14 16:44:47 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0 Send read URB returns: 0
May 14 16:44:47 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_tiocmget - port 0 
Send get_status_line_state URB returns: 8. Statusline: 15
May 14 16:44:47 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_tiocmset - port 0 
Clearing DTR
May 14 16:44:47 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_tiocmset - port 0 
Send set_status_line URB returns: 0
May 14 16:44:47 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0

....

May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0 Send read URB returns: 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0 Send read URB returns: 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0 Send read URB returns: 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0 Send read URB returns: 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0 Send read URB returns: 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0 Send read URB returns: 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0 Send read URB returns: 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0 Send read URB returns: 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_write - length = 
4, data = 00 c0 00 c0 
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0 Read int status not zero: -2
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_write - port 0 
Send write URB returns: -22
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_write - port 0 
Send read URB returns: 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0 Send read URB returns: 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0 Send read URB returns: 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0 Send read URB returns: 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0 Send read URB returns: 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0
May 14 16:44:51 linux kernel: drivers/usb/serial/kobil_sct.c: kobil_read_int_callback 
- port 0 Send read URB returns: 0
0000:00:00.0 Host bridge: Intel Corp. 82855PM Processor to I/O Controller (rev 03)
        Subsystem: Acer Incorporated [ALI]: Unknown device 001f
        Flags: bus master, fast devsel, latency 0
        Memory at e0000000 (32-bit, prefetchable)
        Capabilities: [e4] #09 [f104]
        Capabilities: [a0] AGP version 2.0

0000:00:01.0 PCI bridge: Intel Corp. 82855PM Processor to AGP Controller (rev 03) 
(prog-if 00 [Normal decode])
        Flags: bus master, 66Mhz, fast devsel, latency 96
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
        I/O behind bridge: 00003000-00003fff
        Memory behind bridge: d0100000-d01fffff
        Prefetchable memory behind bridge: d8000000-dfffffff
        Expansion ROM at 00003000 [disabled] [size=4K]

0000:00:1d.0 USB Controller: Intel Corp. 82801DB USB (Hub #1) (rev 03) (prog-if 00 
[UHCI])
        Subsystem: Acer Incorporated [ALI]: Unknown device 001f
        Flags: bus master, medium devsel, latency 0, IRQ 10
        I/O ports at 1800 [size=32]

0000:00:1d.1 USB Controller: Intel Corp. 82801DB USB (Hub #2) (rev 03) (prog-if 00 
[UHCI])
        Subsystem: Acer Incorporated [ALI]: Unknown device 001f
        Flags: bus master, medium devsel, latency 0, IRQ 5
        I/O ports at 1820 [size=32]

0000:00:1d.2 USB Controller: Intel Corp. 82801DB USB (Hub #3) (rev 03) (prog-if 00 
[UHCI])
        Subsystem: Acer Incorporated [ALI]: Unknown device 001f
        Flags: bus master, medium devsel, latency 0, IRQ 10
        I/O ports at 1840 [size=32]

0000:00:1d.7 USB Controller: Intel Corp. 82801DB USB2 (rev 03) (prog-if 20 [EHCI])
        Subsystem: Acer Incorporated [ALI]: Unknown device 001f
        Flags: bus master, medium devsel, latency 0, IRQ 10
        Memory at d0000000 (32-bit, non-prefetchable)
        Capabilities: [50] Power Management version 2
        Capabilities: [58] #0a [2080]

0000:00:1e.0 PCI bridge: Intel Corp. 82801BAM/CAM PCI Bridge (rev 83) (prog-if 00 
[Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=02, subordinate=02, sec-latency=64
        I/O behind bridge: 00004000-00004fff
        Memory behind bridge: d0200000-d05fffff

0000:00:1f.0 ISA bridge: Intel Corp. 82801DBM LPC Interface Controller (rev 03)
        Flags: bus master, medium devsel, latency 0

0000:00:1f.1 IDE interface: Intel Corp. 82801DBM Ultra ATA Storage Controller (rev 03) 
(prog-if 8a [Master SecP PriP])
        Subsystem: Acer Incorporated [ALI]: Unknown device 001f
        Flags: bus master, medium devsel, latency 0, IRQ 10
        I/O ports at <unassigned>
        I/O ports at <unassigned>
        I/O ports at <unassigned>
        I/O ports at <unassigned>
        I/O ports at 1860 [size=16]
        Memory at 20000000 (32-bit, non-prefetchable) [size=1K]

0000:00:1f.3 SMBus: Intel Corp. 82801DB/DBM SMBus Controller (rev 03)
        Subsystem: Acer Incorporated [ALI]: Unknown device 001f
        Flags: medium devsel, IRQ 10
        I/O ports at 1880 [size=32]

0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB AC'97 Audio Controller 
(rev 03)
        Subsystem: Acer Incorporated [ALI]: Unknown device 001f
        Flags: bus master, medium devsel, latency 0, IRQ 10
        I/O ports at 1c00
        I/O ports at 18c0 [size=64]
        Memory at d0000c00 (32-bit, non-prefetchable) [size=512]
        Memory at d0000800 (32-bit, non-prefetchable) [size=256]
        Capabilities: [50] Power Management version 2

0000:00:1f.6 Modem: Intel Corp. 82801DB AC'97 Modem Controller (rev 03) (prog-if 00 
[Generic])
        Subsystem: Acer Incorporated [ALI]: Unknown device 001f
        Flags: medium devsel, IRQ 10
        I/O ports at 2400
        I/O ports at 2000 [size=128]
        Capabilities: [50] Power Management version 2

0000:01:00.0 VGA compatible controller: ATI Technologies Inc Radeon R250 Lf [Radeon 
Mobility 9000 M9] (rev 02) (prog-if 00 [VGA])
        Subsystem: Acer Incorporated [ALI]: Unknown device 001f
        Flags: bus master, stepping, fast Back2Back, 66Mhz, medium devsel, latency 66, 
IRQ 10
        Memory at d8000000 (32-bit, prefetchable)
        I/O ports at 3000 [size=256]
        Memory at d0100000 (32-bit, non-prefetchable) [size=64K]
        Capabilities: [58] AGP version 2.0
        Capabilities: [50] Power Management version 2

0000:02:02.0 Ethernet controller: Broadcom Corporation BCM4401 100Base-T (rev 01)
        Subsystem: Acer Incorporated [ALI]: Unknown device 001f
        Flags: bus master, fast devsel, latency 64, IRQ 5
        Memory at d0204000 (32-bit, non-prefetchable)
        Capabilities: [40] Power Management version 2

0000:02:04.0 Network controller: Intel Corp. PRO/Wireless LAN 2100 3B Mini PCI Adapter 
(rev 04)
        Subsystem: Intel Corp.: Unknown device 2527
        Flags: bus master, medium devsel, latency 64, IRQ 10
        Memory at d0206000 (32-bit, non-prefetchable)
        Capabilities: [dc] Power Management version 2

0000:02:06.0 CardBus bridge: O2 Micro, Inc.: Unknown device 7114 (rev 20)
        Subsystem: Acer Incorporated [ALI]: Unknown device 001f
        Flags: bus master, stepping, slow devsel, latency 168, IRQ 10
        Memory at d0207000 (32-bit, non-prefetchable)
        Bus: primary=02, secondary=03, subordinate=06, sec-latency=176
        Memory window 0: d0400000-d04ff000 (prefetchable)
        Memory window 1: d0300000-d03ff000
        I/O window 0: 00004400-000044ff
        I/O window 1: 00004000-000040ff
        16-bit legacy interface ports at 0001

0000:02:06.1 CardBus bridge: O2 Micro, Inc.: Unknown device 7114 (rev 20)
        Subsystem: Acer Incorporated [ALI]: Unknown device 001f
        Flags: bus master, stepping, slow devsel, latency 168, IRQ 10
        Memory at 20001000 (32-bit, non-prefetchable)
        Bus: primary=02, secondary=07, subordinate=0a, sec-latency=176
        Memory window 0: 20400000-207ff000 (prefetchable)
        Memory window 1: 20800000-20bff000
        I/O window 0: 00004800-000048ff
        I/O window 1: 00004c00-00004cff
        16-bit legacy interface ports at 0001

0000:02:06.2 System peripheral: O2 Micro, Inc.: Unknown device 7110
        Subsystem: Acer Incorporated [ALI]: Unknown device 001f
        Flags: slow devsel, IRQ 10
        Memory at d0208000 (32-bit, non-prefetchable)
        Capabilities: [a0] Power Management version 2

0000:02:07.0 FireWire (IEEE 1394): Texas Instruments TSB43AB21 IEEE-1394a-2000 
Controller (PHY/Link) (prog-if 10 [OHCI])
        Subsystem: Acer Incorporated [ALI]: Unknown device 001f
        Flags: bus master, medium devsel, latency 64, IRQ 10
        Memory at d0209000 (32-bit, non-prefetchable)
        Memory at d0200000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: [44] Power Management version 2

Reply via email to