私は pyudev を使用して Bluetooth デバイスを探し、「features」属性を使用してデバイスが 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
ファイルの形式は異なります。これは、構成ファイル、コンパイラ オプション、またはその他によって制御されますか?