On 8/27/07, Jiri Kosina <[EMAIL PROTECTED]> wrote:
> Adding a HID_QUIRK_IGNORE entry to the blacklist is sufficient. Could you
> please double check that this patched driver really binds to the device?
>
> If so, could you please compile with CONFIG_HID_DEBUG enabled and modprobe
> the usbhid module with 'debug=1' parameter and send me the kernel output?

I compiled with CONFIG_HID_DEBUG, but usbhid does not have a debug
parameter. The hid module, on the other hand, does have a debug
parameter:

$ grep CONFIG_HID_DEBUG .config
CONFIG_HID_DEBUG=y
$ /sbin/modinfo usbhid |grep debug
$ ls /sys/module/hid/parameters/
debug  pb_fnmode
$ echo y |sudo tee /sys/module/hid/parameters/debug

Here's the output of plugging in the G-Talk phone. Interestingly
enough, the cm109 module is loaded, but the usbhid module grabs the
device:

[from dmesg]
usb 1-1.2: new full speed USB device using ohci_hcd and address 5
usb 1-1.2: configuration #1 chosen from 1 choice
input: Generic USB Audio Device    as /class/input/input5
input: USB HID v1.00 Device [Generic USB Audio Device   ] on
usb-0000:00:02.0-1.2
drivers/input/misc/cm109.c: Keymap for Genius G-talk phone loaded
usbcore: registered new interface driver cm109
drivers/input/misc/cm109.c: CM109 phone driver: 20070827 (C) Alfred E. Heggestad
usbcore: registered new interface driver snd-usb-audio

[from /proc/bus/usb/devices]
T:  Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#=  5 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0d8c ProdID=000e Rev= 1.00
S:  Product=Generic USB Audio Device
C:* #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=snd-usb-audio
I:* If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
I:  If#= 1 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
E:  Ad=01(O) Atr=09(Isoc) MxPS= 200 Ivl=1ms
I:* If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
I:  If#= 2 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
E:  Ad=82(I) Atr=05(Isoc) MxPS= 100 Ivl=1ms
I:* If#= 3 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
E:  Ad=83(I) Atr=03(Int.) MxPS=   4 Ivl=32ms

I can attach the cm109 driver manually:

$ sudo ./detach-usb 0x0d8c 0x000e 3
checking /dev/bus/usb/002/001
  v=0000, p=0000
checking /dev/bus/usb/001/005
  v=0d8c, p=000e
found USB device
successfully detached driver usbhid
$ grep none /proc/bus/usb/devices
I:* If#= 3 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=(none)
$ sudo modprobe -r cm109; sudo modprobe cm109
$ grep cm109 /proc/bus/usb/devices
I:* If#= 3 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=cm109

Cheers,
Shaun

Reply via email to