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