Android 2.1 on BM-170 Release Notes - r2e (Android 2.1_r2 - Alpha)Release This software is built on Linux kernel 2.6.32 and Android 2.1_r2. Please note that this release is pre-release of the Android 2.1 software on the BM-170. The user should not use this software in a production environment, but it should be suitable for development, testing and demonstration purposes.Installation You must already have Linux installed on your BM-170 in order to be able to install this Android release. Please contact SDG Systems if you have only a Windows Mobile BM-170. You must have SDGBoot (bootloader) build 1283 or higher for Android. If you have a build before 1283, you must upgrade SDGBoot according to the instructions below.SDGBoot 1283 Installation To upgrade sdgboot, reset the device. Then, while the red line is progressing along the bottom, press the up arrow 3x quickly. This action will enter reflashing mode. Reflashing must be done from a Linux host at this time. Now, run the following command from your installation folder: sudo ./dfu-util -a sdgboot -d 0525:a4a6 -c 2 -D bm170_sdgboot_1283.sdg After sdgboot has flashed itself, press the Power button to reset the device. You MUST reboot before flashing other sdg files. At this point, you will likely want to press the up arrow 3x again, to enter reflashing mode and reflash the remaining images.Android Installation To reflash the device with Android, do the following: Extract the software to a Linux host (e.g. tar zxvf release_name.tgz). Reset the device (e.g. press the Reset button or remove the battery). When you first see the SDG logo screen, quickly press the Up button 3x to enter the reflashing screen. You must do this before the red progress bar reaches the end of the screen. Now, run ./reflash-it script in the release folder. This will reflash and boot the unit. After reboot, you will need to calibrate the screen. The calibration utility is found by opening the bottom application tab. Use the keyboard, if necessary, to open the application tab. When the unit first displays the opening screen, performance may be slow as the system continues to initialize.Known Problems, Fixes in Progress We are not currently supporting video capture at this time. WiFi may not connect on boot. You may have to disable then re-enable it. The 2D Barcode scanner and RFID are not supported in this release. Bluetooth headset is supported but may cause a kernel panic - we are investigating The Web Browser does not report location due to the lack of Google-proprietary code not available in AOSP. Bluetooth file transfer "Accept" button does not appear during a Bluetooth transfer.USB composite driver This release now supports a USB composite driver. ADB over USB is enabled by default.
You can easily enable and disable the various USB functions: # echo 1 > /sys/class/usb_composite/rndis/enable # echo 0 > /sys/class/usb_composite/rndis/enable # echo 1 > /sys/class/usb_composite/usb_mass_storage/enable # echo 0 > /sys/class/usb_composite/usb_mass_storage/enable # echo 1 > /sys/class/usb_composite/adb/enable # echo 0 > /sys/class/usb_composite/adb/enable At this time, Windows is able to use only RNDIS (and adb over RNDIS), or adb directly over USB and USB mass storage, simultaneously. By default Android is configured to use ADB-over-USB. In this case, do not set the ADBHOST environment variable. To change the default USB functions, you can do so by commenting or uncommenting the relevant lines in /init.bb_bm170.rc on your Android device (vi that file and search for write).Android Software At this time, we do not have the Android Market application. Many applications found in the market, however, may also be found at http://www.androidfreeware.org/, including Google Maps, Opera, Astro File Manager, etc. You can install these applications using adb install <application.apk>. Or, use the Android Central Side Load Wonder application on Windows for installing applications: http://www.androidcentral.com/sideload-android-apps-all-you-want-sideload-wonder-machine.USB Ethernet This section provides details on how to set up USB Ethernet networking between a host computer and the BM-170 with Android. Note: Internet Sharing will only work in this release if you set the default route on the BM-170 to 192.168.0.1. To do this, you must adb shell to the device, then execute busybox route add default gw 192.168.0.1. Doing so will disable GSM and other network connectivity on the BM-170.Linux Host Linux can use any combination of USB functions simultaneously (RNDIS, adb, and USB mass storage). By default, the USB client connection to the BM-170 is both ADB-over-USB and USB mass storage. To use ADB-over-USB, do not set ADBHOST. ADBHOST is only used for USB Ethernet. The USB client connection to the BM-170 may instead be a USB Ethernet (RNDIS) connection. To use USB Ethernet on a Linux computer, you must be running Linux kernel 2.6.30 or higher, or have a patched USB Ethernet gadget driver. This networking has been tested on Ubuntu 10.04 (Lucid Lynx). In /etc/network/interfaces, put the following entry: auto usb0 iface usb0 inet static address 192.168.0.1 netmask 255.255.255.0
You should now be able to ping 192.168.0.201. If you cannot, then do sudo ifdown usb0; sudo ifup usb0.Windows Host To connect using ADB-over-USB to your Android device, you will need to install the Google Windows drivers. On some Windows systems, this driver will be found by default. Otherwise, please see this page for more information: http://developer.android.com/sdk/win-usb.html. using this approach, do not set ADBHOST on your Windows computer. To connect using USB-Ethernet with your Android device from SDG Systems, you will need to install the android-usb-xp.inf driver. For Vista64 or Windows7, you will need to install the bugvista64.inf driver In the USB-Ethernet case, the Android device uses RNDIS to connect to Windows XP. To install the driver, follow these steps. First, download the driver to a well-known location, such as your Desktop. Second, plug in the BM-170 or other Linux device. When Windows prompts you for a driver, select that you would like to have this Networking driver installed from a specific location. Tell the setup wizard not to search. Next, if asked what hardware type, select "Network adapters." When prompted, select the "Have Disk" option and specify the location where you stored the android-usb-xp.inf file. Select the "Android USB Ethernet/RNDIS Gadget" and continue. If Windows warns that the driver has not passed Logo testing, select "Continue Anyway". Finally, assign the IP address recommended in the release notes, or specific to your configuration by going into the Control Panel, Networking options. The Android gadget device will have a name similar to "Local Area Connection 3". Edit the properties of this device, and change the TCP/IP address to 192.168.0.1. On a Windows XP box, right-click on the Internet-facing network connection, and select Properties. Then click the Advanced tab. Then turn on Internet Connection Sharing and for the "Home networking connection" choose the connection name for the Linux RNDIS connection. For Vista, download the driver to a well-known location, such as your Desktop. Second, plug in the BM-170 or other Linux device into the Vista computer. Vista will now attempt to install the driver from the standard Microsoft location. It will fail. Next select "Show Me Other Options", and it will allow you to browse your computer for the driver. In the file box, select the location to where you downloaded the driver. The driver will not install, and will create a network connection that is named something like "Local Area Connection 2". Edit the properties of this device, and change the TCP/IP address to 192.168.0.1. The next step is to enable sharing on your Ethernet or WiFi connection. In the Network and Sharing Center, select "View Status" for the connection that goes to the Internet. Next select "Properties", then the Sharing tab. Enable Sharing, and select the connection of the Linux device as the connection on which you would like to enable sharing (the so-called "Home networking connection"). See Note above regarding Internet sharing.General To use the GPS, you must turn on Location Services: Settings -> Security & Location -> Enable GPS satellites. It is enabled by default. To use 802.11 and/or Bluetooth, you must configure and enable it: Settings -> Wireless & networks. GSM data services should automatically connect to your cellular network. If not, you must configure an APN for your provider: Settings -> Wireless & networks -> Mobile networks -> Access Point Names (Menu -> Add).
Busybox is installed in the root. Links are in /system/xbin.Hardware Support Android Debug Bridge (adb over USB) - Working with root access Touchscreen - Working Keypad - Working. Mapping is as follows: Left Context is Menu Right Context is Home Side Button is Back Graphics (Framebuffer) - Working 802.11 - Working Barcode scanning - 1D scanner working by using Yellow scan buttons for EAN13/UPC, Code128, and Code39 GPS - In testing SD Card - Working Battery Monitoring - Working USB Host - Working (both internal GSM and external USB Host adapter, but specific devices not yet support, like USB Mass Storage) Sound - Working Backlight control - Working Bluetooth - Working Camera - Not Working GSM - Not WorkingADB over USB Ethernet This release works with adb either over USB-Ethernet or directly over USB. As installed, it uses adb-over-usbnet (USB-Ethernet). For USB-Ethernet, the BM-170 will have the IP address 192.168.0.201. You must enter the following on a Linux PC: $ export ADBHOST=192.168.0.201 $ adb kill-server; adb devices Or on Windows: > set ADBHOST=192.168.0.201 > adb kill-server > adb devices And you should see something like this: * daemon not running. starting it now * * daemon started successfully * List of devices attached emulator-5554 device NOTE: This release has changed the default USB mode to ADB over USB.Recent Fixes or Changes