[Bug 199885] New: Bluetooth HID devices do not report idVendor/idProduct values to sysfs (while USB HID devices do)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.kernel.org/show_bug.cgi?id=199885

            Bug ID: 199885
           Summary: Bluetooth HID devices do not report idVendor/idProduct
                    values to sysfs (while USB HID devices do)
           Product: Drivers
           Version: 2.5
    Kernel Version: 4.15.0
          Hardware: All
                OS: Linux
              Tree: Mainline
            Status: NEW
          Severity: low
          Priority: P1
         Component: Bluetooth
          Assignee: linux-bluetooth@xxxxxxxxxxxxxxx
          Reporter: abos@xxxxxxxx
        Regression: No

Hello,

this is in reference to [1].

udev rules are based on the content of sysfs.

The PS3 gamepad will connect with a Linux computer either via USB [2] or via
Bluetooth [3] - the kernel driver hid-sony.c for this device uses the same HID
idVendor/idProduct combination to identify it.

I would thus expect a udev rule with ATTRS{idVendor}=="054c",
ATTRS{idProduct}=="0268" to match this device when connected with USB or
Bluetooth.

But this only works for USB connections, since the USB stack exposes these
values to sysfs, while Bluetooth does not.

Meanwhile the Bluetooth only reports back the full device "name" ("%s %s",
manufacturer, product). This is unfortunate, as that name is not specific
enough. There are devices out there using the same generic name but different
idVendor/idProduct combinations.

It would be very beneficial if Bluetooth HID devices could export the same
values to sysfs as USB HID devices already do, e.g. at least

- manufacturer
- product
- idVendor
- idProduct
- version

To review the problem, here are the outputs of

udevadm info -a -n /dev/input/js0

for the same PS3 gamepad

- connected via USB [4]
- connected via Bluetooth [5]

Thanks!

[1] https://github.com/systemd/systemd/issues/9101
[2]
https://github.com/torvalds/linux/blob/7fbb6157630f2ba6ee355689061f9596b84373ef/drivers/hid/hid-sony.c#L3038
[3]
https://github.com/torvalds/linux/blob/7fbb6157630f2ba6ee355689061f9596b84373ef/drivers/hid/hid-sony.c#L3048
[4] https://github.com/systemd/systemd/files/2044163/udev-sony-usb.txt
[5] https://github.com/systemd/systemd/files/2044164/udev-sony-bluetooth.txt

-- 
You are receiving this mail because:
You are the assignee for the bug.--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux