touch controller problem: uep_intr_callback not called
Norbert Koch
nkoch at demig.de
Wed Jul 23 15:00:17 UTC 2014
Hello.
I have here a USB touch controller which should be handled by the *uep
*driver.
This is what usbconfig shows:
ugen0.2: <USB TouchController eGalax Inc.> at usbus0, cfg=0 md=HOST
spd=FULL (12Mbps) pwr=ON
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0110
bDeviceClass = 0x0000
bDeviceSubClass = 0x0000
bDeviceProtocol = 0x0000
bMaxPacketSize0 = 0x0040
idVendor = *0x0eef*
idProduct = *0x0001*
bcdDevice = *0x0100*
iManufacturer = *0x0001 *<eGalax Inc.>
iProduct = *0x0002 *<USB TouchController>
iSerialNumber = 0x0000 <no string>
bNumConfigurations = 0x0001
First scenario: *ums.ko loaded, uep.ko not loaded*
When I connect the controller driver ums is attached (*/dev/ums0*).
When I touch the screen I see incoming traffic with usbdump.
The messages are not correctly recognized, which is to be expected.
16:40:22.902239 usbus0.2
DONE-INTR-EP=00000081,SPD=FULL,NFR=1,SLEN=8,IVAL=3,ERR=0
frame[0] READ 6 bytes
0000 01 *80 3A 0A F6 07* -- -- -- -- -- -- -- -- -- --
|..:... |
16:40:22.903240 usbus0.2 SUBM-INTR-EP=00000081,SPD=FULL,NFR=1,SLEN=0,IVAL=3
frame[0] READ 64 bytes
16:40:22.908189 usbus0.2
DONE-INTR-EP=00000081,SPD=FULL,NFR=1,SLEN=8,IVAL=3,ERR=0
frame[0] READ 6 bytes
0000 01 *81 3A 0A F8 07* -- -- -- -- -- -- -- -- -- --
|..:... |
The byte sequences above seem to correspond to up/down touch events.
Second scenario: *both ums.ko and uep.ko loaded*
When I connect the controller driver uep is attached (*/dev/ums0*).
Whe I now touch the screen I don't see any traffic coming in.
After putting some printfs in uep.c, ums.c and usb_transfer.c I found
that neither *uep_intr_callback*() nor usbpf_xfertap() are being
called.
As uep.c is quite similar to ums.c in probing/attaching
I don't understand why this is so.
Could any usb driver expert give me a hint where to search further?
Thank you.
Norbert Koch
More information about the freebsd-drivers
mailing list