USBデバイスを接続するたびに、新しいデバイスが/dev/bus/usb/001/
ディレクトリに作成されることに気付きました。さらに、同じデバイスを再接続するたびに、 "デバイス番号" および "ID" が変化します。
では、新しいデバイスファイル(/dev/bus/usb/001/
内)の作成方法を教えてください。 動作を制御できますか、たとえば、変更してデバイス番号を002
に制限しますかいくつかの構成ファイルで(もしあれば)?
これが参照用の出力です。
$ ls /dev/bus/usb/001
001 002
$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0781:5406 SanDisk Corp. Cruzer Micro U3
$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 003: ID 08ec:0015 M-Systems Flash Disk Pioneers Kingston DataTraveler Elite
$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 008: ID 0781:5406 SanDisk Corp. Cruzer Micro U3
$ ls /dev/bus/usb/001/
001 008
(また、Kingston Flash Diskが出力に表示された理由もわかりません。Kingstonデバイスを持っていません!...たぶんそれはグリッチなのでしょうか、それともそうですか?)
コメントでGillesが指摘したように、/dev/bus/usb/XXX/YYY
のデバイスはカーネルの命名ポリシーに従います。 XXX
は非常に安定したバス番号ですが、YYY
はUSBデバイスが列挙されるたびに(デバイスが挿入またはリセットされた直後)変化します。これは変更できず、変更する必要もありません。
デバイスのアクセス許可を変更する必要がある場合(たとえば、テスト目的で非特権ユーザースペースUSBドライバーを使用可能にするため)、udevルールを作成できます。 udev
がデバイスに接続できるようにadb
を使用してアクセス許可を制御する例:
# /etc/udev/rules.d/42-usb-permissions.rules
SUBSYSTEM!="usb", GOTO="end_skip_usb"
# CWM 6.0.4.3 in recovery mode
ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="d001", GROUP="peter"
# CM 10.2 with MTP disabled
ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="d002", GROUP="peter"
ATTRS{idVendor}=="148f", ATTRS{idProduct}=="5372", GROUP="peter"
LABEL="end_skip_usb"