Soundgraph devices come in a variety of configurations and a majority of the time are listed at the device level of a USB HID device, such as a mouse or keyboard. This causes the usbcore driver to load usbhid which binds to the device. After this, the lirc_imon module is loaded but is unable to bind to the device:
[ 1.883191] usbcore: registered new interface driver usbhid
[ 1.883194] usbhid: v2.6:USB HID core driver
[ 2.284009] usb 4-1: new low speed USB device using ohci_hcd and address 2
[ 2.540142] usb 4-1: configuration #1 chosen from 1 choice
[ 2.557154] input: HID 15c2:0042 as /devices/pci0000:00/0000:00:06.0/usb4/4-1/4-1:1.0/input/input6
[ 2.557222] generic-usb 0003:15C2:0042.0003: input,hidraw2: USB HID v1.01 Mouse [HID 15c2:0042] on usb-0000:00:06.0-1/input0
[ 2.567143] generic-usb 0003:15C2:0042.0004: hiddev96,hidraw3: USB HID v1.00 Device [HID 15c2:0042] on usb-0000:00:06.0-1/input1
My only fix to this is to instruct udev to unbind the usbhid module from the device which allows lirc_imon to bind to it thereafter. It would be better though if all devices listed for this module, were to be listed in hid-quirks.c as HID_QUIRK_IGNORE. There already seems to be a Soundgraph device defined for this, which I think all devices supported by lirc_imon should be patched in. File is attached for supported module device aliases.
Also to note, that the usbhid module defines options to allow quirks to be passed to the module, but all options passed though modprobe to usbhid seem to be ignored (reference http://www.lirc.org/html/imon.html):
parm: quirks:Add/modify USB HID quirks by specifying quirks=vendorID:productID:quirks where vendorID, productID, and quirks are all in 0x-prefixed hex (array of charp)
Soundgraph devices come in a variety of configurations and a majority of the time are listed at the device level of a USB HID device, such as a mouse or keyboard. This causes the usbcore driver to load usbhid which binds to the device. After this, the lirc_imon module is loaded but is unable to bind to the device:
[ 1.883191] usbcore: registered new interface driver usbhid pci0000: 00/0000: 00:06.0/ usb4/4- 1/4-1:1. 0/input/ input6 0042.0003: input,hidraw2: USB HID v1.01 Mouse [HID 15c2:0042] on usb-0000: 00:06.0- 1/input0 0042.0004: hiddev96,hidraw3: USB HID v1.00 Device [HID 15c2:0042] on usb-0000: 00:06.0- 1/input1
[ 1.883194] usbhid: v2.6:USB HID core driver
[ 2.284009] usb 4-1: new low speed USB device using ohci_hcd and address 2
[ 2.540142] usb 4-1: configuration #1 chosen from 1 choice
[ 2.557154] input: HID 15c2:0042 as /devices/
[ 2.557222] generic-usb 0003:15C2:
[ 2.567143] generic-usb 0003:15C2:
My only fix to this is to instruct udev to unbind the usbhid module from the device which allows lirc_imon to bind to it thereafter. It would be better though if all devices listed for this module, were to be listed in hid-quirks.c as HID_QUIRK_IGNORE. There already seems to be a Soundgraph device defined for this, which I think all devices supported by lirc_imon should be patched in. File is attached for supported module device aliases.
Also to note, that the usbhid module defines options to allow quirks to be passed to the module, but all options passed though modprobe to usbhid seem to be ignored (reference http:// www.lirc. org/html/ imon.html):
parm: quirks:Add/modify USB HID quirks by specifying quirks= vendorID: productID: quirks where vendorID, productID, and quirks are all in 0x-prefixed hex (array of charp)
modprobe. d/usbhid. conf 0x15c2: 0x0043: 0x0004
options usbhid quirks=
This option should work, but fails, which I why the proposed fix is necessary.