Arquivos do Blog

Howto: make adb recognize your android device

adb (android debug bridge) is the official tool for android development.

Usually it is activated just by connecting your android device, select USB debugging and verify connection using the “adb devices” command, that should return a list with the serial numbers from the connected devices.

That is the theory. On the real world only devices from established manufacturers as HTC, Motorola, Samsung are recognized automatically… if your device is from some obscure or newcomer manufacturer or even some cheap chinese device you get something like this:

adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached

To your device be recognized it must have it’s identifier added at the adb_usb.ini file.

How to identify the manufacturer:

Conect you device to the USB port on your computer (enable USB debugging).

Linux: type the command lsusb and look the device list


$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 003: ID 10ab:0816 USI Co., Ltd
Bus 002 Device 003: ID 04f2:b1da Chicony Electronics Co., Ltd
Bus 002 Device 004: ID d324:9018

The android device is the last in the list. The first four digits group after ID is VendorID, the code that we need

The example device is a Genesis GT-7250 tablet. The lack of manufacturer description when you use lsusb is typical from rush made chinese devices, that are released without proper care. Usually they just use the base design released by the CPUs and chipset manufacturer.

Windows: open Control Panel -> System and Safety -> System -> Device Manager and look for the properties of a device named as Android Phone or Android ADB Interface.

Right click that device and select Properties. Select the Details tab and the select on the combo box Hardware IDs.

The value at front of the text USB\VID_ is the VendorID.

How to update the file:

Linux: on your home directory there should be a hidden directory named .android, the file adb_usb.ini is inside that directory.

Update that file with your device using the command

echo 0xd324 >> adb_usb.ini

Windows: on your personal folder there should be a folder named .android, the file adb_usb.ini is inside that folder.

Open that file using some editor that has no special format, like notepad and add a line with the VendorID

0xd324

Be sure that USB debugging is enabled on your device and check if your device has been identified:

adb kill-server
* server not running *

adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
1234567890ABCDEF device

If that folder is not present, open a command promp window (Windows Explorer does not create folders whose name start with a dot) and type these commands to create the folder and file:

cd /d %USERPROFILE%
md .android
cd .android
echo 0xd324 >> adb_usb.ini

Done! Now you can use adb and do nice things to your android devices like app development or rooting.

This post is a translation from another post in this blog, since I realized that I was getting many hits looking for that information coming from USA and Europe. I hope that translation makes easier to readers that don’t speak portuguese to use that information. Feel free to suggest corrections on grammar or spelling, since english is not my native language.

Fazendo o adb reconhecer seu dispositivo android

This post has been translated to english.

o adb (android debug bridge) é uma ferramenta desenvolvimento para android.

Geralmente para ativar basta conectar seu dispositivo android, ativar a depuração USB (USB debugging) e verificar com o comando “adb devices”, que deve retornar uma lista com o número serial dos dispositivos que estejam conectados.

Essa é a teoria. A prática é que só são reconhecidos de maneira automática dispositivos de fabricantes como HTC, Motorola, Samsung… se seu dispositivo é de algum fabricante obscuro ou um legítimo xing-ling, o resultado é parecido com esse:

adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached

Para que seu dispositivo seja reconhecido é necessário colocar o identificador de seu dispositivo no arquivo adb_usb.ini.

Como identificar o fabricante:

Conecte seu dispositivo na porta USB do seu micro (ative a depuração USB).

Linux: digite o comando lsusb e veja a lista de dispositivos


$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 003: ID 10ab:0816 USI Co., Ltd
Bus 002 Device 003: ID 04f2:b1da Chicony Electronics Co., Ltd
Bus 002 Device 004: ID d324:9018

O dispositivo android é o da última linha. O primeiro grupo de quatro dígitos após o ID é o VendorID, o código que precisamos

Esse dispositivo do exemplo é um tablet Genesis GT-7250. O fato de não haver uma descrição do fabricante ao se usar o lsusb é típico de produtos chineses feitos sem maiores cuidados. Praticamente se limitam a usar o projeto base do fabricante da CPU e chipset utilizados.

Windows: abra o Painel de Controle -> Sistema e Segurança -> Sistema -> Gerenciador de Dispositivos e veja as propriedades de um dispositivo identificado como Android Phone ou Android ADB Interface.

Clique com o botão direito sobre esse dispositivo e selecione Propriedades. Selecione a aba Detalhes e na caixa de seleção IDs de Hardware.

O valor a frente do texto USB\VID_ é o VendorID.

Uma maneira mais simpless é utilizar o aplicativo  USBView. Execute e conecte seu dispositivo ao computador. Observe o o valor da linha idVendor, é ele que você vai utilizar. Observe na figura abaixo que destaquei um caso em que aparece um triângulo amarelo na frente do nome de um dispositivo. Isso é um indicador que os drivers para seu dispositivo não foram instalados corretamente. Os drivers de Windows precisam ser instalados corretamente ou você nunca irá obter a conexão com o aparelho. Verifique se há um CD de instalação ou se no site do fabricante os drivers estão a disposição.

Captura de tela 2017-03-05 15.17.44

Como atualizar o arquivo:

Linux: no seu diretório home deve haver um diretório oculto com o nome .android, dentro desse diretório está o arquivo adb_usb.ini.

Atualize o arquivo com seu dispositivo com o comando

echo 0xd324 >> adb_usb.ini

Windows: na sua pasta pessoal deve haver uma pasta com o nome .android, dentro dessa pasta está o arquivo adb_usb.ini.

Abra esse arquivo com um editor sem formatação, como o notepad e adicione uma linha com o valor do VendorID

0xd324

Certifique-se que a depuração USB está ativa no seu dispositivo e confirme a identificação do seu dispositivo:

adb kill-server
* server not running *

adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
1234567890ABCDEF device

Caso essa pasta não exista, abra uma janela do prompt de comando (o Explorer não cria arquivos ou pastas cujo nome se iniciam com um ponto) e digite os seguintes comandos para criar a pasta e o arquivo:

cd /d %USERPROFILE%
md .android
cd .android
echo 0xd324 >> adb_usb.ini

Pronto! Agora você pode usar o adb e fazer coisas legais no seu android como desenvolvimento de aplicações ou coisas mais legais ainda como root.

Nas versões de android 4.x e superiores quando você digitar algum comando no adb irá aparecer uma janela de alerta na tela do dispositivo. Confirme tocando o OK e, se for um computador onde o dispositivo será sempre utilizado, marque a caixa “Sempre permitir deste computador” para que o alerta não seja acionado nas próximas vezes.

Screenshot_2017-04-23-18-46-27

Nos próximos posts:

– fazendo root no tablet Genesis GT7250 (por que vocês acham que eu descobri isso tudo sobre o adb?)

– conectando um teclado bluetooth no android

Matt's Entropy

... seeding /dev/random, one blog post at a time.

Maravilhoso Mundo Novo

De volta ao Paraíso

androideia

Idéias e Android, necessariamente não nessa ordem.

Another Airgun Blog

Idéias e Android, necessariamente não nessa ordem.

Armas de Pressão - Modificações e afins

Metade da graça em atirar está em fazer ajustes na arma.