udev并不总是在蓝牙设备上报告“功能”

时间:2014-05-14 15:54:17

标签: udev ubuntu-14.04 pyudev

我一直在使用pyudev寻找蓝牙设备,然后使用"功能"属性以确定设备是否具有LE支持。然而,就在最近的Ubuntu版本中,udev不再为"功能"报告任何内容。

以下是我的具体细节:

$ udevadm info --attribute-walk /sys/class/bluetooth/hci0

  looking at device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.0/bluetooth/hci0':
    KERNEL=="hci0"
    SUBSYSTEM=="bluetooth"
    DRIVER==""
    ATTR{name}=="ubuntu-0"
    ATTR{type}=="BR/EDR"
    ATTR{address}=="08:3e:8e:xx:xx:xx"

然后在另一台正在按照我的预期继续工作的设备:

$ udevadm info --attribute-walk /sys/class/bluetooth/hci0

  looking at device '/devices/platform/sw-ohci.1/usb3/3-1/3-1:1.0/bluetooth/hci0':
    KERNEL=="hci0"
    SUBSYSTEM=="bluetooth"
    DRIVER==""
    ATTR{bus}=="USB"
    ATTR{sniff_min_interval}=="80"
    ATTR{name}=="linaro-nano-0"
    ATTR{type}=="BR/EDR"
    ATTR{hci_version}=="6"
    ATTR{class}=="0x000000"
    ATTR{idle_timeout}=="0"
    ATTR{address}=="00:02:72:xx:xx:xx"
    ATTR{features}=="0xbffecffedbff7b87"
    ATTR{sniff_max_interval}=="800"
    ATTR{manufacturer}=="15"
    ATTR{hci_revision}=="4096"

是否存在导致响应不同的某种配置更改?

修改 我发现大多数缺失的值现在都在/sys/kernel/debug/bluetooth/hci0/,但我不知道为什么会这样。但是features文件的格式不同。这是由配置文件,编译器选项还是其他东西控制的?

1 个答案:

答案 0 :(得分:0)

我认为在内核代码中已经进行了更改,以便使用debugfs而不是sysfs来获取几个信息。所以,我只需要重新思考如何获得这些信息。