lirc_imon devices need to be added to usbhid module quirks

Bug #488443 reported by Justin Seubert
14
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Undecided
Unassigned
Karmic
Fix Released
Medium
Surbhi Palande

Bug Description

Justification:

Impact:
The original lirc_imon driver did not support ranges of device ids, but a few specific ones. Some new device have been added which are thus not supported.

Fix:
This patch adds a check for a range of device ids to the lirc_imon driver. This bug requests support for device id 0x43 which is supported in this range checked by this patch. Its a simple quirk and is available in linus tree upstream.

Test Case:
Was tested with 2.6.32 kernel which has this same patch.
========

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)

modprobe.d/usbhid.conf
options usbhid quirks=0x15c2:0x0043:0x0004

This option should work, but fails, which I why the proposed fix is necessary.

Revision history for this message
Justin Seubert (dude051) wrote :
Revision history for this message
Justin Seubert (dude051) wrote :
Revision history for this message
Justin Seubert (dude051) wrote :
Revision history for this message
Justin Seubert (dude051) wrote :
Revision history for this message
Justin Seubert (dude051) wrote :
summary: - lirc_imon aliasas need to be added for usbhid quirks module
+ lirc_imon devices need to be added to usbhid module quirks
Revision history for this message
Justin Seubert (dude051) wrote :

After investigation of this, a patch has already been committed upstream in linux-2.6:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=31f7fd795d17b264c3c05e4a976f963012c17c68

This has been pulled into the ubuntu-lucid tree as well. I am not exactly sure how this works, but is there anyways to have this synced or committed to the ubuntu-karmic tree?

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

As noted by the reporter this is already in the Lucid tree so I'm marking the current Lucid task as Fix Released. I've subsequently opened a Karmic task as well.

Justin, the best approach to getting this into the karmic tree would be to have this patch accepted into the 2.6.31.y upstream stable tree. That way we'll merge the patch automatically the next time we rebase Karmic with upstream stable. Thanks.

Changed in linux (Ubuntu):
status: New → Fix Released
Changed in linux (Ubuntu Karmic):
importance: Undecided → Medium
status: New → Triaged
Surbhi Palande (csurbhi)
description: updated
Changed in linux (Ubuntu Karmic):
assignee: nobody → Surbhi Palande (csurbhi)
status: Triaged → In Progress
Surbhi Palande (csurbhi)
Changed in linux (Ubuntu Karmic):
status: In Progress → Fix Committed
Surbhi Palande (csurbhi)
Changed in linux (Ubuntu Karmic):
status: Fix Committed → Fix Released
Revision history for this message
Stefan Bader (smb) wrote :

Not released, yet. Only committed to repo.

Changed in linux (Ubuntu Karmic):
status: Fix Released → Fix Committed
Revision history for this message
Martin Pitt (pitti) wrote : Please test proposed package

Accepted linux into karmic-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

tags: added: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (5.1 KiB)

This bug was fixed in the package linux - 2.6.31-21.59

---------------
linux (2.6.31-21.59) karmic-proposed; urgency=low

  [ Andy Whitcroft ]

  * [Config] generic-pae switch to M586TSC
    - LP: #519448

  [ Chris Wilson ]

  * (pre-stable) drm/i915: Increase fb alignment to 64k
    - LP: #404064

  [ Colin Ian King ]

  * Input: i8042 - bypass AUX IRQ delivery test on laptops
    - LP: #534448

  [ Jerone Young ]

  * SAUCE: Fix volume hotkeys for Dell Studio 1557
    - LP: #465250

  [ Mirsal Ennaime ]

  * SAUCE: aufs: Fix header files inclusion in debug.h
    - LP: #517151

  [ Stefan Bader ]

  * [Config] Enable all CGROUP configuration options
    - LP: #480739

  [ Surbhi Palande ]

  * Revert "[Upstream] acerhdf: Limit modalias matching to supported
    boards"
    - LP: #509730
  * [Config] ext3 defaults to ordered mode
    - LP: #510067

  [ Tim Gardner ]

  * [Config] Fix sub-flavours package conflicts
    - LP: #454827

  [ Upstream Kernel Changes ]

  * PCI/cardbus: Add a fixup hook and fix powerpc
    - LP: #455723
  * fnctl: f_modown should call write_lock_irqsave/restore
    - LP: #519436
  * ACPI: enable C2 and Turbo-mode on Nehalem notebooks on A/C
    - LP: #516325
  * tg3: Add 57788, remove 57720
    - LP: #515390
  * HID: ignore all recent SoundGraph iMON devices
    - LP: #488443
  * Input: ALPS - add interleaved protocol support (Dell E6x00 series)
    - LP: #296610
  * acerhdf: limit modalias matching to supported
    - LP: #509730
  * ASoC: Do not write to invalid registers on the wm9712.
    - LP: #509730
  * cifs: NULL out tcon, pSesInfo, and srvTcp pointers when chasing DFS
    referrals
    - LP: #509730
  * clockevents: Prevent clockevent_devices list corruption on cpu hotplug
    - LP: #509730
  * dma: at_hdmac: correct incompatible type for argument 1 of
    'spin_lock_bh'
    - LP: #509730
  * drivers/net/usb: Correct code taking the size of a pointer
    - LP: #509730
  * Libertas: fix buffer overflow in lbs_get_essid()
    - LP: #509730
  * md: Fix unfortunate interaction with evms
    - LP: #509730
  * pata_cmd64x: fix overclocking of UDMA0-2 modes
    - LP: #509730
  * pata_hpt3x2n: fix clock turnaround
    - LP: #509730
  * SCSI: fc class: fix fc_transport_init error handling
    - LP: #509730
  * sound: sgio2audio/pdaudiocf/usb-audio: initialize PCM buffer
    - LP: #509730
  * USB: emi62: fix crash when trying to load EMI 6|2 firmware
    - LP: #509730
  * USB: Fix a bug on appledisplay.c regarding signedness
    - LP: #509730
  * USB: musb: gadget_ep0: avoid SetupEnd interrupt
    - LP: #509730
  * USB: option: support hi speed for modem Haier CE100
    - LP: #490068, #509730
  * x86, cpuid: Add "volatile" to asm in native_cpuid()
    - LP: #509730
  * e100: Use pci pool to work around GFP_ATOMIC order 5 memory allocation
    failure
    - LP: #509730
  * e100: Fix broken cbs accounting due to missing memset.
    - LP: #509730
  * hostap: Revert a toxic part of the conversion to net_device_ops
    - LP: #509730
  * hwmon: (fschmd) Fix check on unsigned in watchdog_write()
    - LP: #509730
  * hwmon: (sht15) Off-by-one error in array index + incorrect constants
    - LP: #509730
  * i2c/tsl2550: Fix...

Read more...

Changed in linux (Ubuntu Karmic):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.