Può capitare che, collegando un nuovo smartphone Android alla nostra ditro Linux, ADB mostri uno sgradevole messaggio quando viene lanciato il comando adb devices.
List of devices attached
???????????? no permissions
Esiste un modo per risolvere completamente il problema, che permette di capire qual è il giusto idVendor da aggiungere al file .rules di udev, indipendentemente dal device in uso.
Con il cellulare collegato tramite usb alla nostra postazione, occorre lanciare il comando (con permessi di root per evitare messaggi d’errore)
sudo lsusb -v | grep idVendor
l’output restituito dovrebbe essere simile al seguente:
idVendor 0x1d6b Linux Foundation
idVendor 0x1d6b Linux Foundation
idVendor 0x1d6b Linux Foundation
idVendor 0x1d6b Linux Foundation
idVendor 0x1d6b Linux Foundation
idVendor 0x1d6b Linux Foundation
idVendor 0x1d6b Linux Foundation
idVendor 0x064e Suyin Corp.
idVendor 0x15d9 Trust International B.V.
idVendor 0x05c6 Qualcomm, Inc.
idVendor 0x08ff AuthenTec, Inc.
Ora, staccando il device e rilanciando il comando, dovrebbe scomparire una riga. Supponendo che nel nostro caso la riga scomparsa sia
idVendor 0x05c6 Qualcomm, Inc.
è possibile capire quale sia l’idVendor necessario alla configurazione di udev. In questo caso l’idVendor è 05c6 (quindi senza il prefisso 0x)
Non resta che aggiungere al file (o crearlo nel caso non esista)
/etc/udev/rules.d/51-android.rules
la seguente riga
SUBSYSTEM==”usb”, SYSFS{idVendor}==”05c6″, MODE=”0666″
(Fate attenzione se copiate ed incollate, perché probabilmente il carattere dei doppi apici potrebbe creare qualche problema. Cancellateli e sostituiteli tutti per sicurezza)
e riavviare Linux per avere ADB nuovamente funzionante!
Fonte: rainbowbreeze