bc10

Overview

This article explains Android Debug Bridge (adb or ADB) connection on bc10. ADB is necessary for the system management
and debugging applications.

ADB

ADB (or adb, either way) is a management tool, which monitors the current status of the device and its os and applications.
The operation of Android from ADB is very smiler to handle Linux from serial console.

The server of ADB, Android Debug Bridge daemon (adbd), is working on a device running Android, and adbd communicates with
the ADB client, which is operated in the development environment.
For the details of ADB, please look at Android Debug Bridge section of android developers.

Obtaining and configuring ADB client

Download the Android SDK from its download page, and install it. ADB can be usable.
Before the version of android-sdk_r8 is instroduced, ADB commands are included in the archive of the SDK. After downloading the
SDK and setting PATH, it can be used immediately. However, since the version of android-sdk_r8, Android SDK Platform-tools,
revision 1 is the requirement to use ADB. Android SDK Platform-tools, revision 1 can be available from Android SDK and AVD Manager.

To install the SDK, please follow the instructions described at Installing the SDK. As the installation is successful, adb command is placed
at <sdk>/platform-tools/. Please set PATH to here.

As installing the SDK on Windows, download and execute installer_r08-windows.exe. To use the default setting of the installation, adb.exe
is placed in the directory shown below.

C:\Program Files\Android\android-sdk-windows\platform-tools\adb.exe

Then, execute ADB from command prompt or Windows Powershell.

For Liniux, supposedly extract android-sdk_r08-linux_86.tgz at ~/.

~/android-sdk_r08/platform-tools/adb 

execute shell in the directory shown above.

ADB connection

ADB (Linux) via USB

On bc10, USB is the default for ADB connection, and USB_GADGET and CONFIG_ANDROID_ADB are set up at config in kernel.

As choosing "Setting" applications of Android on bc10, select "Applications" then "development." Marking on the Checking box of
"USB debugging," make USB debugging mode effective.

Add the configuration of udev to the development environment of Linux.
Create the directory of /etc/udev/rules.d/51-android.rules write into the commnad below

SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"

18d1 indicates USB vender id, which Google issues.
The vender id is configured at line 86 of bc10-rowboat-kernel/arch/arm/march-omap2/board-omap3bc10.c.
After creating udev rule, configure permission shown as below.

$ sudo chmod a+r /etc/udev/rules.d/51-android.rules

USB cable is connected to the OTG of bc10, the other end is plugged into a PC, which has been installed development environment.
Then, execute the command listed below.

$ adb devices
List of devices attached
20100720        device

After execute the command, if ADB connection is successfully established, ADB connection list appears as shown as above.
(Right after the command. List of devices attached indicates ADB connection.)

{$ adb shell}

As applying the command above, enable users to login the device, to execute commands, and to debug applications from eclipse, which
has been already configured ADT Plugin.

ADB via network

To use this network connection, CONFIG_USB_PEGASUS and CONFIG_USB_NET_ASIX8817X in kernel are already effective. USB
Ethernet can be used immediately.

First, set up bc10 side. To connect USB Ethernet adapter, boot bc10. From serial console, check IP address at eh0.

# netcfg                                                                        
      lo       UP    127.0.0.1       255.0.0.0       0x00000049                       
      eth0     UP    192.168.0.15    255.255.252.0   0x00001043 

If fail to obtain IP address, execute the command shown below.

# netcfg eth0 dhcp

If obtain IP address, configure Android Debug Bridge daemon (adbd) for using ether net.

# setprop service.adb.tcp.port 5555

As configure adbd correctly, reboot bc10.

# stop adbd
# start adbd

Set up the development environment side

$ export ADBHOST = 192.168.0.15 (This is the IP address of targeted bc10)
$ adb kill-server
$ adb start- server

Then, check the connection.

&#12288;$ adb devices
List of devices attached
emulator-5554    device

As establishing ADB connection via ethernet, the connection is defined as "emulator."
Once the connection is established, users can allow to login bc10, to execute management commands, and to debug applications
from eclipse.

ADB connection via USB from Windows client

To use ADB from a Windows client via USB connection, install USB driver Windows. Please look at the instructions at this page.
As explained at USB Driver for Windows, install android SDK , then obtain Google USB Drver package, revision 4 via Android SDK
and AVD Manager.

C:\Program Files\Android\android-sdk-windows\google-usb_driver\

Windows version's Android USB driver is downloaded at the directory shown above.
First, execute the command prompt shown below, and vender id of bc10 is added to "%USERPROFILE%\.android\adb_usb.ini" If
this file does not exist, it will be created accordingly.

C:\Uses\beat> echo 0x18D1 > "%USERPROFILE%\.android\adb_usb.ini''

Then, the value for bc10 will be written into the file, which is placed at the directory shown below,

C:\Program Files\Android\android-sdk-windows\google-usb_driver\android_winusb.inf

As this file is open by a text editor, the three lines of code shown below is added just below the section of [Google.NTx86].

;beatcraft bc10
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_9018
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_9018&MI_01

As keeping USB debug mode of bc10 effective, the OTG port of bc10 is connected to the USB port of the Windows machine
via an USB cable.

Windows recognizes this USB device and sends a message of a new device. Windows requests to install a new driver for the
USB device. Please place the driver at the directory shown below.

C:\Program Files\Android\android-sdk-windows\google-usb_driver

Identify the location of the driver, and install it.
As the installation is completed, pull of the USB cable from the Windows machine and plug in the cable to the machine again.
On the command prompt or Windows PowerShell, execute the commands shown below.

C:\Users\beat> adb kill-server
C:\Users\beat> adb start-server

After executing adb shell, prompt turns #, and log in bc10 with root.

Reference

(Caution): With the method described at the link above, you cannot obtain android sdk, please follow the instructions described
at the section of "Obtaining and configuring ADB client."

Revision History

  • 2010/12/24 This article is initially released

Front page   Edit Freeze Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   RSS of recent changes
Last-modified: 2010-12-24 (Fri) 07:22:59 (2735d)