No meu sistema gentoo, as seguintes regras do udev são configuradas (em /lib64/udev/rules.d
para mim):
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0664", GROUP="android"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0664", GROUP="android"
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0664", GROUP="android"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0664", GROUP="android"
Essas regras dão acesso a dispositivos Android USB (22b8 = Motorola, 0bb4 = HTC, 04e8 = Samsung e 18d1 = Google) para qualquer pessoa no grupo android
.
O nome do grupo que você decidir usar não é importante, desde que seu usuário seja membro desse grupo.
Para resolver suas outras dúvidas sobre os identificadores USB, os IDs do fornecedor e do produto identificam dispositivos específicos. Você pode ver seus identificadores usando dmesg
ou lsusb
. Por exemplo. quando eu conecto meu telefone, dmesg
relatórios:
[ 4573.116303] usb 4-5: New USB device found, idVendor=22b8, idProduct=2e63
e lsusb
relatórios:
Bus 004 Device 005: ID 22b8:2e63 Motorola PCS
que me dizem que meu telefone tem um ID de fornecedor de 22b8 e ID de produto 2e63. A regra do udev:
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0664", GROUP="android"
corresponderá a este dispositivo (e a todos os telefones Motorola, já que não é restrito por um ID de produto) e definirá permissões no dispositivo USB para este telefone para:
crw-rw-r--+ 1 root android 189, 388 May 5 19:38 /dev/bus/usb/004/005
Você pode encontrar seu dispositivo usb para verificar suas permissões usando o barramento usb e o número do dispositivo. lsusb
reportou Bus 004 Device 005
e o caminho do dispositivo contém .../004/005
. Desde que você possa ler / escrever para este dispositivo, você poderá usar adb
e outros programas que requerem acesso ao telefone.
Advertência: a nomenclatura do dispositivo pode ser ligeiramente diferente no seu sistema. Estou executando o udev 215 e o kernel linux 4.0.1.