048d/1336 Integrated Technology Express Inc

Hace tiempo que juego con el SDK de Android, ADB y sus máquinas vistuales, pero hoy, por primera vez, he probado a correr una aplicación directamente en un dispositivo conectado al ordenador.

Soy un tio raro, y para esto no iba a ser menos. El dispositivo es un CUBOT GT99, un teléfono móvil chino con un procesador Mediatek, y como era de esperar no ha sido fácil. Al conectarlo y comprobar si funcionaba me he encontrado con:

~$ adb devices List of devices attached ???????????? no permissions

Claro, es lo Google dice al respecto:

If you’re developing on Ubuntu Linux, you need to add a udev rules file that contains a USB configuration for each type of device you want to use for development. In the rules file, each device manufacturer is identified by a unique vendor ID, as specified by the ATTR{idVendor} property. For a list of vendor IDs, see USB Vendor IDs, below.

El identificador que aparece para Mediatek en la lista es 0e8d y como suele pasar en estos casos no era correcto para este dispositivo. Así que me puse las gafas, volví a conectar el teléfono y…

~$ 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 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 003 Device 002: ID 1058:1021 Western Digital Technologies, Inc. Elements 2TB Bus 002 Device 003: ID 048d:1336 Integrated Technology Express, Inc. Bus 002 Device 004: ID 07d1:3c0a D-Link System DWA-140 RangeBooster N Adapter(rev.B2) [Ralink RT3072]

¡Sorpresa! Ningún dispositivo concide con la ID proporcionada.

Tras identificar cada dispositivo y descartarlos uno a uno, llego a la conclusión de que el teléfono es el Bus 002 Device 003: ID 048d:1336 Integrated Technology Express, Inc.. Así que el identificador es 048d.

Me aseguro de que mi usuario pertenece al grupo plugdev y creo el archivo /etc/udev/rules.d/51-android.rules como administrador con el contenido:

SUBSYSTEM=="usb”, ATTR{idVendor}=="048d”, MODE="0664”, GROUP="plugdev"

Y acabo con:

~$ sudo chmod a+r /etc/udev/rules.d/51-android.rules ~$ sudo udevadm control –reload-rules

Ahora si que aparece:

~$ adb devices List of devices attached 0123456789ABCDEF device