USB HIDRAW Feature Report Implementation for HID devices not working correctly in Ubuntu 14.04
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| | linux (Ubuntu) |
Undecided
|
Unassigned | ||
| | Trusty |
Undecided
|
Tim Gardner | ||
| | Utopic |
Undecided
|
Unassigned | ||
Bug Description
With the release of Ubuntu 14.04 I've been investigating an issue with a software library I maintain to talk to USB based HID signature pads. I believe I've narrowed the issue down to the HIDRAW implementation released with Ubuntu 14.04. Essentially what seems to be failing is the ioctl to get feature reports (HIDIOCGFEATURE). Any attempt to get a feature report results in a failure with a ENODEV error code.
The devices I'm testing with are USB signature pads (http://
I have been testing with Ubuntu 14.04 Desktop (x64) with kernel version:
Linux <hostname> 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
This kernel exhibits the problematic behavior, but when testing with Ubuntu 13.10 Desktop (x64):
Linux <hostname> 3.11.0-23-generic #40-Ubuntu SMP Wed Jun 4 21:05:23 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
The 13.10 kernel's version of HIDRAW seems to work correctly. I've also tested with the vanilla kernel:
Linux <hostname> 3.13.1-hidtest #1 SMP Tue Aug 5 09:14:28 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux
The vanilla kernel appears to work correctly as well. Kernel source used was downloaded from:
https:/
The configuration file used was from config-
I believe the breaking change was made as part of commit aa6c390c4d59c9f
I have attached a simple C program to demonstrate the problem. You'll need a USB HID device with known feature reports.
Please let me know if I can provide any additional information or be of any assistance.
ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: linux-image-
ProcVersionSign
Uname: Linux 3.13.0-32-generic x86_64
ApportVersion: 2.14.1-0ubuntu3.2
Architecture: amd64
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/
CurrentDesktop: Unity
Date: Tue Aug 5 13:51:39 2014
HibernationDevice: RESUME=
InstallationDate: Installed on 2014-04-17 (109 days ago)
InstallationMedia: Ubuntu 14.04 LTS "Trusty Tahr" - Release amd64 (20140417)
ProcFB:
0 inteldrmfb
1 nouveaufb
ProcKernelCmdLine: BOOT_IMAGE=
RelatedPackageV
linux-
linux-
linux-firmware 1.127.5
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 12/07/2012
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: E1762II1.50U
dmi.board.
dmi.board.name: CZ-17
dmi.board.version: REV:1.0
dmi.chassis.
dmi.chassis.type: 10
dmi.chassis.vendor: To Be Filled By O.E.M.
dmi.chassis.
dmi.modalias: dmi:bvnAmerican
dmi.product.name: CZ-17
dmi.product.
| Michael Powers (mpowers-b) wrote : | #1 |
| Michael Powers (mpowers-b) wrote : | #2 |
| Changed in linux (Ubuntu): | |
| status: | New → Confirmed |
| Reilly Grant (reillyg) wrote : | #4 |
Looks like this patch to remove hid_get_raw_report was pulled in,
commit cafebc058bf86e6
Author: Benjamin Tissoires <email address hidden>
Date: Wed Feb 5 16:33:22 2014 -0500
HID: remove hid_get_raw_report in struct hid_device
dev-
are strictly equivalent. Switch the hid subsystem to the hid_hw notation
and remove the field .hid_get_raw_report in struct hid_device.
Reviewed-by: David Herrmann <email address hidden>
Signed-off-by: Benjamin Tissoires <email address hidden>
Signed-off-by: Jiri Kosina <email address hidden>
without also pulling in this earlier patch that added an ll_driver-
commit 975a683271e690e
Author: Frank Praznik <email address hidden>
Date: Wed Jan 22 13:49:42 2014 -0500
HID: Add transport-driver functions to the USB HID interface.
Add raw_request, set_raw_report and output_report transport-driver functions to
the USB HID driver.
Signed-off-by: Frank Praznik <email address hidden>
Acked-by: David Herrmann <email address hidden>
Signed-off-by: Jiri Kosina <email address hidden>
| Tim Gardner (timg-tpi) wrote : | #5 |
| Changed in linux (Ubuntu Utopic): | |
| status: | Confirmed → Fix Released |
| Changed in linux (Ubuntu Trusty): | |
| assignee: | nobody → Tim Gardner (timg-tpi) |
| status: | New → In Progress |
| Changed in linux (Ubuntu Trusty): | |
| status: | In Progress → Fix Committed |
| Reilly Grant (reillyg) wrote : | #6 |
I have a report from a user that the offending patch was also backported to Saucy. I'm not sure how to add that to the affected versions list above.
| Reilly Grant (reillyg) wrote : | #7 |
By Saucy I mean Precise, which is the LTS release.
| Brad Figg (brad-figg) wrote : | #8 |
This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-
If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.
See https:/
| tags: | added: verification-needed-trusty |
| Michael Powers (mpowers-b) wrote : | #9 |
Verified today that my test application as well as my library and applications appear to work correctly with the kernel in -proposed with version:
Linux <computername> 3.13.0-36-generic #63-Ubuntu SMP Wed Sep 3 21:30:07 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Please let me know if you'd like me to test anything else.
| tags: |
added: verification-done-trusty removed: verification-needed-trusty |
| dualshock3nerd (dualshock3nerd) wrote : | #10 |
I confirm that kernel 3.13.0-36 from -proposed also solves the issues regarding Sixaxis/Dualshock3 controller described in duplicate bug #1326725.
| Launchpad Janitor (janitor) wrote : | #11 |
This bug was fixed in the package linux - 3.13.0-36.63
---------------
linux (3.13.0-36.63) trusty; urgency=low
[ Joseph Salisbury ]
* Release Tracking Bug
- LP: #1365052
[ Feng Kan ]
* SAUCE: (no-up) irqchip:gic: change access of gicc_ctrl register to read
modify write.
- LP: #1357527
* SAUCE: (no-up) arm64: optimized copy_to_user and copy_from_user
assembly code
- LP: #1358949
[ Ming Lei ]
* SAUCE: (no-up) Drop APM X-Gene SoC Ethernet driver
- LP: #1360140
* [Config] Drop XGENE entries
- LP: #1360140
* [Config] CONFIG_NET_XGENE=m for arm64
- LP: #1360140
[ Stefan Bader ]
* SAUCE: Add compat macro for skb_get_hash
- LP: #1358162
* SAUCE: bcache: prevent crash on changing writeback_running
- LP: #1357295
[ Suman Tripathi ]
* SAUCE: (no-up) arm64: Fix the csr-mask for APM X-Gene SoC AHCI SATA PHY
clock DTS node.
- LP: #1359489
* SAUCE: (no-up) ahci_xgene: Skip the PHY and clock initialization if
already configured by the firmware.
- LP: #1359501
* SAUCE: (no-up) ahci_xgene: Fix the link down in first attempt for the
APM X-Gene SoC AHCI SATA host controller driver.
- LP: #1359507
[ Tuan Phan ]
* SAUCE: (no-up) pci-xgene-msi: fixed deadlock in irq_set_affinity
- LP: #1359514
[ Upstream Kernel Changes ]
* iwlwifi: mvm: Add a missed beacons threshold
- LP: #1349572
* mac80211: reset probe_send_count also in HW_CONNECTION_
- LP: #1349572
* genirq: Add an accessor for IRQ_PER_CPU flag
- LP: #1357527
* arm64: perf: add support for percpu pmu interrupt
- LP: #1357527
* cifs: sanity check length of data to send before sending
- LP: #1283101
* KVM: nVMX: Pass vmexit parameters to nested_vmx_vmexit
- LP: #1329434
* KVM: nVMX: Rework interception of IRQs and NMIs
- LP: #1329434
* KVM: vmx: disable APIC virtualization in nested guests
- LP: #1329434
* HID: Add transport-driver functions to the USB HID interface.
- LP: #1353021
* ahci_xgene: Removing NCQ support from the APM X-Gene SoC AHCI SATA Host
Controller driver.
- LP: #1358498
* fold d_kill() and d_free()
- LP: #1354234
* fold try_prune_
- LP: #1354234
* new helper: dentry_free()
- LP: #1354234
* expand the call of dentry_lru_del() in dentry_kill()
- LP: #1354234
* dentry_kill(): don't try to remove from shrink list
- LP: #1354234
* don't remove from shrink list in select_collect()
- LP: #1354234
* more graceful recovery in umount_collect()
- LP: #1354234
* dcache: don't need rcu in shrink_
- LP: #1354234
* lift the "already marked killed" case into shrink_
* split dentry_kill()
- LP: #1354234
* expand dentry_kill(dentry, 0) in shrink_
- LP: #1354234
* shrink_
- LP: #1354234
* dealing with the rest of shrink_
- LP: #1354234
* dentry_kill() doesn't need the second argument now
- LP: #1354234
* dcache: add missing lockdep annotation
- LP: #1354234
* fs: convert use of typedef ctl_table to struct ctl_table
...
| Changed in linux (Ubuntu Trusty): | |
| status: | Fix Committed → Fix Released |
| Emanem (em4n3m) wrote : | #12 |
Apologies for this question, don't know where I can find the answer to it: when the above version of the kernel will be officially released?
Currently I have:
uname -a
Linux scv 3.13.0-34-generic #60-Ubuntu SMP Wed Aug 13 15:45:27 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Cheers!
| Reilly Grant (reillyg) wrote : Re: [Bug 1353021] Re: USB HIDRAW Feature Report Implementation for HID devices not working correctly in Ubuntu 14.04 | #13 |
3.13.0-36-generic is the first kernel version that includes the fix.
On Wed, Feb 25, 2015 at 11:30 AM Emanem <email address hidden> wrote:
> Apologies for this question, don't know where I can find the answer to it:
> when the above version of the kernel will be officially released?
> Currently I have:
>
> uname -a
> Linux scv 3.13.0-34-generic #60-Ubuntu SMP Wed Aug 13 15:45:27 UTC 2014
> x86_64 x86_64 x86_64 GNU/Linux
>
> Cheers!
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https:/
>
> Title:
> USB HIDRAW Feature Report Implementation for HID devices not working
> correctly in Ubuntu 14.04
>
> Status in linux package in Ubuntu:
> Fix Released
> Status in linux source package in Trusty:
> Fix Released
> Status in linux source package in Utopic:
> Fix Released
>
> Bug description:
> With the release of Ubuntu 14.04 I've been investigating an issue with
> a software library I maintain to talk to USB based HID signature pads.
> I believe I've narrowed the issue down to the HIDRAW implementation
> released with Ubuntu 14.04. Essentially what seems to be failing is
> the ioctl to get feature reports (HIDIOCGFEATURE). Any attempt to get
> a feature report results in a failure with a ENODEV error code.
>
> The devices I'm testing with are USB signature pads
> (http://
> reports to communicate capabilities and to set up the device. I can
> provide further information along with USB/HID descriptors if it would
> be helpful.
>
> I have been testing with Ubuntu 14.04 Desktop (x64) with kernel version:
> Linux <hostname> 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08
> UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
>
> This kernel exhibits the problematic behavior, but when testing with
> Ubuntu 13.10 Desktop (x64):
> Linux <hostname> 3.11.0-23-generic #40-Ubuntu SMP Wed Jun 4 21:05:23 UTC
> 2014 x86_64 x86_64 x86_64 GNU/Linux
>
> The 13.10 kernel's version of HIDRAW seems to work correctly. I've also
> tested with the vanilla kernel:
> Linux <hostname> 3.13.1-hidtest #1 SMP Tue Aug 5 09:14:28 EDT 2014
> x86_64 x86_64 x86_64 GNU/Linux
>
> The vanilla kernel appears to work correctly as well. Kernel source used
> was downloaded from:
> https:/
> The configuration file used was from config-
> in linux-image-
>
> I believe the breaking change was made as part of commit
> aa6c390c4d59c9f
> trusty.git.
>
> I have attached a simple C program to demonstrate the problem. You'll
> need a USB HID device with known feature reports.
>
> Please let me know if I can provide any additional information or be
> of any assistance.
>
> ProblemType: Bug
> DistroRelease: Ubuntu 14.04
> Package: linux-image-
> ProcVersionSign
> Uname: Linux 3.13.0-32-generic x86_64
> ApportVersion: 2.14.1-0ubuntu3.2
> Architecture: amd64
> AudioDevicesInUse:
> ...


This change was made by a bot.