Android running on BBB with Linux 3.8

I’m currently having a lot of problems here. If I use Andrew’s pre-built image I get support of the LCD3 Rev. A2 with the BBB Rev. A6A but no support to miniUSB+ADB, the device is not even recognized as an actual device when I connect it (not even with a missing driver, it’s just a ghost device when connected).

If I use the TI pre-build image is just the opposite. I get support to ADB but I can’t see anything on the LCD3 Rev. A2 screen. I have Linux only on a Virtual Machine so compiling an new image is a bit difficult here. I tried adding some parameters to uEnv.txt but nothing worked. Not to mention the FTDI cable that is not showing anything, and became useless since I booted Android.

I also have a big question: OTG support is gone with this pre-built images? I can’t read any memory stick or to use a USB Bixolon printer. It’s possible to connect a USB fingerprint reader, Smart Card reader, RFID Card reader or Camera as input? Another thing how about configuring the GPIO of the BBB to use a keypad?

Thanks in advance.

BBB does not ship with HW support for OTG.

Gerald

I’m currently having a lot of problems here. If I use Andrew’s pre-built image I get support of the LCD3 Rev. A2 with the BBB Rev. A6A but no support to miniUSB+ADB, the device is not even recognized as an actual device when I connect it (not even with a missing driver, it’s just a ghost device when connected).

If I use the TI pre-build image is just the opposite. I get support to ADB but I can’t see anything on the LCD3 Rev. A2 screen.

LCD3 A2 revision did not exist when the TI Android 3.2 kernel was developed. I have not seen any recent development activity on that tree so I don’t think LCD3 A2 support is going to get added anytime soon. You would need to add it yourself if you wish to continue using the 3.2 kernel.

-Vishveshwar

Have you tried Adb via TCP/IP ?
That worked for me with Andrew Henderson’s pre-built image.

-Suzanne

I’ve been looking into the issue some more (sorry for the delay), and I’ve still not been successful on getting the touch screen to work with 3.8.
I am getting touch interrupts, but i don’t appear to be able to calibrate myself out of the problem… (?)

After touching the screen the first time, events just keep scrolling indefinitely…
it appears that calibration is (rather) correct, but whenever i “release”, its behaving like i’m still touching a part of the screen…

I recorded a short video of the issue, in hope that someone might be able to help me identify what’s going on, and how to fix it.
https://www.youtube.com/watch?v=we--uPXqye8

Thanks

Hi,

Check out this thread:

http://beagleboard.org/Community/Forums/?place=msg%2Fbeagleboard%2FnwS91gX6dtk%2FKzn5LeytsCUJ

I had the same issue with the 4DCAPE-70T.

I replaced the delay to 15 ms and the issue went away but it still
feels like a hack.

Daniel
I’m experiencing the same problem with the miniUSB and ADB - works on TI prebuilt; doesn’t work on Andrew’s 3.8 image. Have you had any luck figuring out a solution. I’ve Googled a lot and haven’t seen anyone else report the issue.

  • Andy

Thanks a lot for this great job !

I was able to flash the compiled image on SD card and to boot my BBB on android without too much trouble (I only faced display resolution issue with my DVI display).
But now I’m fighting to replicate the same from the compilation stage. I followed step by step your instructions (http://icculus.org/~hendersa/android/), by the way really well described since I’m far away to be an expert in this area, and I succeed to build the image and fashed it on SD card.
Unfortunately, the android boot doesn’t complete. On the display, I first get the Linux icon (penguin) in the top left side, then “ANDROID” text appears endlessly. I never reach the step when android icon is displayed.

Here is what I observe on the debug port (last part):

[ 2.510219] mmc1: BKOPS_EN bit is not set
[ 2.517157] mmc1: new high speed MMC card at address 0001
[ 2.523620] mmcblk1: mmc1:0001 MMC02G 1.78 GiB
[ 2.528784] mmcblk1boot0: mmc1:0001 MMC02G partition 1 1.00 MiB
[ 2.535639] mmcblk1boot1: mmc1:0001 MMC02G partition 2 1.00 MiB
[ 2.544012] mmcblk1: p1 p2
[ 2.549817] mmcblk1boot1: unknown partition table
[ 2.557000] mmcblk1boot0: unknown partition table
[ 2.589896] tilcdc 4830e000.fb: found TDA19988
[ 2.595354] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[ 2.602322] [drm] No driver support for vblank timestamp query.
[ 2.701590] Console: switching to colour frame buffer device 160x64
[ 2.728743] tilcdc 4830e000.fb: fb0: frame buffer device
[ 2.734413] tilcdc 4830e000.fb: registered panic notifier
[ 2.740104] [drm] Initialized tilcdc 1.0.0 20121205 on minor 0
[ 2.795760] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
[ 2.802176] davinci_mdio 4a101000.mdio: detected phy mask fffffffe
[ 2.809819] libphy: 4a101000.mdio: probed
[ 2.814090] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720
[ 2.823943] Detected MACID = 90:59:af:49:d2:c1
[ 2.828598] cpsw 4a100000.ethernet: NAPI disabled
[ 2.835754] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01 00:00:01 UTC (946684801)
[ 2.897265] tilcdc 4830e000.fb: timeout waiting for framedone
[ 2.915299] ALSA device list:
[ 2.918443] #0: TI BeagleBone Black
[ 5.700344] EXT4-fs (mmcblk0p2): recovery complete
[ 5.712806] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 5.721334] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 5.730288] devtmpfs: mounted
[ 5.733724] Freeing init memory: 236K
[ 5.771806] init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_score_adj instead.
[ 5.896375] init: cannot open ‘/initlogo.rle’
[ 9.427979] EXT4-fs (mmcblk0p3): recovery complete
[ 10.102043] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: nomblk_io_submit,errors=panic
[ 10.149532] init: cannot find ‘/system/bin/vold’, disabling ‘vold’
[ 10.157261] init: cannot find ‘/system/bin/sgx/rc.pvr’, disabling ‘pvr’
[ 10.164888] init: cannot find ‘/system/bin/netd’, disabling ‘netd’
[ 10.172136] init: cannot find ‘/system/bin/debuggerd’, disabling ‘debuggerd’
[ 10.180494] init: cannot find ‘/system/bin/surfaceflinger’, disabling ‘surfaceflinger’
[ 10.189167] init: cannot find ‘/system/bin/app_process’, disabling ‘zygote’
[ 10.197073] init: cannot find ‘/system/bin/drmserver’, disabling ‘drm’
[ 10.204255] init: cannot find ‘/system/bin/mediaserver’, disabling ‘media’
[ 10.211996] init: cannot find ‘/system/bin/installd’, disabling ‘installd’
[ 10.225883] init: cannot find ‘/system/etc/install-recovery.sh’, disabling ‘flash_recovery’
[ 10.234762] init: cannot find ‘/system/bin/keystore’, disabling ‘keystore’
[ 10.298698] init: untracked pid 92 exited
/system/bin/sh: /system/etc/mkshrc[8]: id: not found
@android:confused: #

It sounds to me that I’m missing something during the compilation but what ???

Any support would be more than welcome !

Jeremy.

It appears that one of your partitions is not properly mounting, hence the failure of all of the daemons to start. The launch scripts are trying to start everything, but since the files aren’t there, nothing is going to be able to start. Are you using a microSD card bigger than 4GB? This might be of some help to you: https://groups.google.com/forum/?fromgroups=#!category-topic/beagleboard/android/kx43JkGPDkA

Andrew

I’m using a 4GB SD card. I tried to delete the 4th partition with no success.
Then I did again the full procedure from the beginning (a second time) and surprisingly now it works !
I probably missed (the first 2 times) one step in the procedure …

Thanks a lot for your support.

Hi,

I followed the procedure described in this blog post but still cannot succeed to see my board over ADB.

I recompiled the kernel after enabling the FunctionFS, updated the “uEnv.txt” and "init.am335xevm.usb.rc" files.
Then when booting up my board I can see the mounted FunctionFS:
~$ lsusb
Bus 002 Device 005: ID 1d6b:0105 Linux Foundation FunctionFS Gadget
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 003: ID 0b97:7772 O2 Micro, Inc. OZ776 CCID Smartcard Reader
Bus 007 Device 002: ID 0b97:7761 O2 Micro, Inc. Oz776 1.1 Hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 002: ID 0461:4d81 Primax Electronics, Ltd Dell N889 Optical Mouse
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

But still cannot see the device in ADB:
~$ adb devices

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

Does anyone succeed to have ADB working using the FunctionFS method ?

Thanks,
Jeremy.

Is adbd running on the device?

I followed the steps recommended in the link http://icculus.org/~hendersa/android/ .The BBB is booting through HDMI properly. My requirement is to boot on a new LCD SH480272T-006-I13Q with the datasheet link as http://www.google.co.in/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCMQFjAA&url=http%3A%2F%2Fwww.cec-mc.ru%2Fpdf%2FSPF-PH480272T-006-I13Q_002[2].pdf&ei=z66OU9q1I8aokAXDi4DYDQ&usg=AFQjCNFxB5up6lYg3ohs5YGn2vuaGpWPCg&bvm=bv.68235269,d.dGI
How do I manipulate the EEPROM pins to work for my LCD in the firmware.(if that is required…I dont know!).
Suggestions Requested Please!!!

Regards
Polash

Hello Polash. I received your mail to me this morning on this topic. Keep in mind that I have about four to five people mailing me data sheets EVERY MORNING asking me how to get this or that working with the BBB, so I’m going to give you the quick overview and post it here so perhaps others can find it.

  1. Get your LCD working under Linux, rather than Android. The kernel in Android is the Linux kernel with a few extra Android features in it. You’ll have more tools under Linux for querying the system, loading/unloading device tree overlays, etc. than you will under Android, and it makes it a lot easier. If you get your display working under Linux, then start working with Android.

  2. Use a Linux image with the 3.8 kernel to do your development. This will allow you to boot and then dynamically load your overlay later, which will make your life easier during development.

  3. Use the TILCDC driver in the kernel. This is a generic-ish LCD driver that has a lot of flexibility. The driver is controlled by a device tree fragment that describes behavior specific to the controller chip for your LCD. For an example that is similar to your LCD, please examine the firmware/capes/BB-BONE-LCD4-01-00A1.dts file in the 3.8 kernel source tree to see a working example of the LCD interfacing for a similar LCD. This file works for both the CircuitCo LCD4 and the 4D Systems 4DCAPE-43T cape boards. You use the device tree to map control lines for your LCD controller to specific BBB pins, define your PWM duty cycles for backlight brightness, and any clocks rates, inverted signals, etc.

  4. Once you get your display working, if you are permanently attaching this display to the BBB, statically build your overlay fragment into the kernel’s device tree.

  5. Disable the HDMI and HDMIN built-in capes so that they don’t claim the LCD pins during development. You’ll be doing your interaction with the system over the network or, even better, via the FTDI serial interface.

  6. Your display is not a cape without an eeprom to identify the cape to the I2C capebus. This is not actually required if you are hard-coding the device tree nodes into the device tree. Making your display into a full cape enables the capemgr to dynamically discover the cape and load the appropriate device tree overlay at boot. But, if you are manually loading the overlay on the command line, you’re fine.

This is a VERY brief look at the process. Please keep in mind that I spend a few hours answering mail on the BBB each day and I just can’t hold your hand to walk you through the process of developing your product. Good luck!

Andrew

I’m not sure how can I verify it.

Below is the log I obtain on the beagle serial port during boot:

U-Boot SPL 2013.04-dirty (Jun 19 2013 - 09:57:14)
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Peripheral mode controller at 47401000 using PIO, IRQ 0
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Host mode controller at 47401800 using PIO, IRQ 0
OMAP SD/MMC: 0
mmc_send_cmd : timeout: No status update
reading u-boot.img
reading u-boot.img

U-Boot 2013.04-dirty (Jun 19 2013 - 09:57:14)

I2C: ready
DRAM: 512 MiB
WARNING: Caches not enabled
NAND: No NAND device found!!!
0 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Warning - readenv() failed, using default environment

musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Peripheral mode controller at 47401000 using PIO, IRQ 0
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Host mode controller at 47401800 using PIO, IRQ 0
Net: not set. Validating first E-fuse MAC
cpsw, usb_ether
Hit any key to stop autoboot: 0
gpio: pin 53 (gpio 53) value is 1
mmc0 is current device
micro SD card found
mmc0 is current device
gpio: pin 54 (gpio 54) value is 1
SD/MMC found on device 0
reading uEnv.txt
607 bytes read in 17 ms (34.2 KiB/s)
Loaded environment from uEnv.txt
Importing environment from mmc …
Running uenvcmd …
reading zImage
5526008 bytes read in 665 ms (7.9 MiB/s)
reading am335x-boneblack.dtb
25926 bytes read in 9 ms (2.7 MiB/s)

Flattened Device Tree blob at 815f0000

Booting using the fdt blob at 0x815f0000
Using Device Tree in place at 815f0000, end 815f9545

Starting kernel …

Uncompressing Linux… done, booting the kernel.
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 3.8.13-bone54.1 (casid@casid-Latitude-D630) (gcc version 4.7.3 20130328 (prerelease) (crosstoo4
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=50c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine: Generic AM33XX (Flattened Device Tree), model: TI AM335x BeagleBone
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] AM335X ES1.0 (neon )
[ 0.000000] PERCPU: Embedded 9 pages/cpu @c0d14000 s14080 r8192 d14592 u36864
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 129792
[ 0.000000] Kernel command line: consoleblank=0 console=ttyO0,115200n8 androidboot.console=ttyO0 mem=512M root=/dev/mmcb0
[ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] __ex_table already sorted, skipping sort
[ 0.000000] allocated 1048576 bytes of page_cgroup
[ 0.000000] please try ‘cgroup_disable=memory’ option if you don’t want memory cgroups
[ 0.000000] Memory: 511MB = 511MB total
[ 0.000000] Memory: 508372k/508372k available, 15916k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xe0800000 - 0xff000000 ( 488 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf800000 - 0xbfe00000 ( 6 MB)
[ 0.000000] .text : 0xc0008000 - 0xc07c50cc (7925 kB)
[ 0.000000] .init : 0xc07c6000 - 0xc0802700 ( 242 kB)
[ 0.000000] .data : 0xc0804000 - 0xc088bc20 ( 544 kB)
[ 0.000000] .bss : 0xc088bc20 - 0xc0903400 ( 478 kB)
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
[ 0.000000] NR_IRQS:0 nr_irqs:0 0
[ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[ 0.000000] Total of 128 interrupts on 1 active controller
[ 0.000000] OMAP clockevent source: GPTIMER1 at 24000000 Hz
[ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[ 0.000000] OMAP clocksource: GPTIMER2 at 24000000 Hz
[ 0.000000] Console: colour dummy device 80x30
[ 0.000348] Calibrating delay loop… 545.07 BogoMIPS (lpj=531968)
[ 0.015443] pid_max: default: 32768 minimum: 301
[ 0.015660] Security Framework initialized
[ 0.015750] Mount-cache hash table entries: 512
[ 0.025361] Initializing cgroup subsys cpuacct
[ 0.025393] Initializing cgroup subsys memory
[ 0.025455] Initializing cgroup subsys blkio
[ 0.025584] CPU: Testing write buffer coherency: ok
[ 0.026107] CPU0: thread -1, cpu 0, socket -1, mpidr 0
[ 0.026182] Setting up static identity map for 0x804a8a78 - 0x804a8ac4
[ 0.027698] Brought up 1 CPUs
[ 0.027722] SMP: Total of 1 processors activated (545.07 BogoMIPS).
[ 0.028826] devtmpfs: initialized
[ 0.093417] pinctrl core: initialized pinctrl subsystem
[ 0.093680] rstctl core: initialized rstctl subsystem
[ 0.094146] regulator-dummy: no parameters
[ 0.094639] NET: Registered protocol family 16
[ 0.095710] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.105711] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
[ 0.106644] platform 49000000.edma: alias fck already exists
[ 0.106673] platform 49000000.edma: alias fck already exists
[ 0.106697] platform 49000000.edma: alias fck already exists
[ 0.107909] OMAP GPIO hardware version 0.1
[ 0.112067] gpio-rctrl rstctl.4: loaded OK
[ 0.117430] hw-breakpoint: debug architecture 0x4 unsupported.
[ 0.119522] cpsw.0: No hwaddr in dt. Using 90:59:af:49:d2:c1 from efuse
[ 0.119552] cpsw.1: No hwaddr in dt. Using 90:59:af:49:d2:c3 from efuse
[ 0.135330] bio: create slab at 0
[ 0.146331] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
[ 0.146752] vmmcsd_fixed: 3300 mV
[ 0.149355] SCSI subsystem initialized
[ 0.149745] usbcore: registered new interface driver usbfs
[ 0.149859] usbcore: registered new interface driver hub
[ 0.150134] usbcore: registered new device driver usb
[ 0.152053] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[ 0.153462] input: tps65217_pwr_but as /devices/ocp.3/44e0b000.i2c/i2c-0/0-0024/input/input0
[ 0.155617] DCDC1: at 1500 mV
[ 0.156785] vdd_mpu: 925 <–> 1325 mV at 1100 mV
[ 0.157855] vdd_core: 925 <–> 1150 mV at 1100 mV
[ 0.158961] LDO1: at 1800 mV
[ 0.160043] LDO2: at 3300 mV
[ 0.161959] LDO3: 1800 mV
[ 0.163027] LDO4: at 3300 mV
[ 0.164001] tps65217 0-0024: TPS65217 ID 0xe version 1.2
[ 0.164701] omap_i2c 44e0b000.i2c: unable to select pin group
[ 0.165364] omap_i2c 4819c000.i2c: bus 1 rev0.11 at 100 kHz
[ 0.167603] omap_i2c 4819c000.i2c: unable to select pin group
[ 0.167877] media: Linux media interface: v0.10
[ 0.167982] Linux video capture interface: v2.00
[ 0.168094] pps_core: LinuxPPS API ver. 1 registered
[ 0.168771] Advanced Linux Sound Architecture Driver Initialized.
[ 0.169711] NetLabel: Initializing
[ 0.169779] NetLabel: domain hash size = 128
[ 0.169791] NetLabel: protocols = UNLABELED CIPSOv4
[ 0.169900] NetLabel: unlabeled traffic allowed by default
[ 0.170363] Switching to clocksource gp_timer
[ 0.222335] NET: Registered protocol family 2
[ 0.223401] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.223541] TCP bind hash table entries: 4096 (order: 4, 81920 bytes)
[ 0.223709] TCP: Hash tables configured (established 4096 bind 4096)
[ 0.223802] TCP: reno registered
[ 0.223827] UDP hash table entries: 256 (order: 1, 12288 bytes)
[ 0.223869] UDP-Lite hash table entries: 256 (order: 1, 12288 bytes)
[ 0.224247] NET: Registered protocol family 1
[ 0.224802] RPC: Registered named UNIX socket transport module.
[ 0.224820] RPC: Registered udp transport module.
[ 0.224832] RPC: Registered tcp transport module.
[ 0.224844] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.225856] hw perfevents: enabled with ARMv7 Cortex-A8 PMU driver, 5 counters available
[ 0.226238] CPU PMU: attempt to register multiple PMU devices!
[ 0.226273] arm-pmu: probe of arm-pmu failed with error -28
[ 0.226681] omap2_mbox_probe: platform not supported
[ 0.494448] VFS: Disk quotas dquot_6.5.2
[ 0.494775] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.495963] NFS: Registering the id_resolver key type
[ 0.496116] Key type id_resolver registered
[ 0.496133] Key type id_legacy registered
[ 0.496537] fuse init (API version 7.20)
[ 0.497301] Btrfs loaded
[ 0.497460] msgmni has been set to 992
[ 0.500074] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[ 0.500098] io scheduler noop registered
[ 0.500112] io scheduler deadline registered
[ 0.500150] io scheduler cfq registered (default)
[ 0.502050] tps65217-bl tps65217-bl: no platform data provided
[ 0.502089] tps65217-bl: probe of tps65217-bl failed with error -22
[ 0.502956] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.505362] omap_uart 44e09000.serial: did not get pins for uart0 error: -19
[ 0.505652] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UART0
[ 1.254061] console [ttyO0] enabled
[ 1.258795] [drm] Initialized drm 1.1.0 20060810
[ 1.276332] brd: module loaded
[ 1.286036] loop: module loaded
[ 1.289463] at24 0-0050: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[ 1.296759] at24 1-0054: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[ 1.304033] at24 1-0055: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[ 1.311301] at24 1-0056: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[ 1.318573] at24 1-0057: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
[ 1.332904] bone-capemgr bone_capemgr.9: Baseboard: ‘A335BNLT,0A5C,2713BBBK0865’
[ 1.340685] bone-capemgr bone_capemgr.9: compatible-baseboard=ti,beaglebone-black
[ 1.379462] bone-capemgr bone_capemgr.9: slot #0: No cape found
[ 1.416567] bone-capemgr bone_capemgr.9: slot #1: No cape found
[ 1.453677] bone-capemgr bone_capemgr.9: slot #2: No cape found
[ 1.490786] bone-capemgr bone_capemgr.9: slot #3: No cape found
[ 1.497043] bone-capemgr bone_capemgr.9: slot #4: specific override
[ 1.503641] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 4
[ 1.511666] bone-capemgr bone_capemgr.9: slot #4: ‘Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G’
[ 1.521809] bone-capemgr bone_capemgr.9: slot #5: specific override
[ 1.528401] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 5
[ 1.536439] bone-capemgr bone_capemgr.9: slot #5: ‘Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI’
[ 1.546492] bone-capemgr bone_capemgr.9: slot #6: specific override
[ 1.553087] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 6
[ 1.561124] bone-capemgr bone_capemgr.9: slot #6: ‘Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN’
[ 1.571712] bone-capemgr bone_capemgr.9: loader: before slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 1.580609] bone-capemgr bone_capemgr.9: loader: check slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 1.589481] bone-capemgr bone_capemgr.9: loader: before slot-5 BB-BONELT-HDMI:00A0 (prio 1)
[ 1.598236] bone-capemgr bone_capemgr.9: loader: check slot-5 BB-BONELT-HDMI:00A0 (prio 1)
[ 1.606939] bone-capemgr bone_capemgr.9: initialized OK.
[ 1.612538] bone-capemgr bone_capemgr.9: loader: before slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 1.621388] bone-capemgr bone_capemgr.9: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 1.632917] OneNAND driver initializing
[ 1.638405] usbcore: registered new interface driver cdc_ether
[ 1.644576] bone-capemgr bone_capemgr.9: loader: after slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 1.653361] bone-capemgr bone_capemgr.9: loader: after slot-5 BB-BONELT-HDMI:00A0 (prio 1)
[ 1.662114] usbcore: registered new interface driver rndis_host
[ 1.668397] bone-capemgr bone_capemgr.9: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 1.677273] usbcore: registered new interface driver cdc_ncm
[ 1.683248] bone-capemgr bone_capemgr.9: slot #4: Requesting firmware ‘cape-bone-2g-emmc1.dtbo’ for board-name ‘Bone-LT-’
[ 1.697591] usbcore: registered new interface driver cdc_acm
[ 1.703556] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 1.711947] Initializing USB Mass Storage driver…
[ 1.717098] bone-capemgr bone_capemgr.9: slot #4: dtbo ‘cape-bone-2g-emmc1.dtbo’ loaded; converting to live tree
[ 1.727795] bone-capemgr bone_capemgr.9: slot #5: Requesting firmware ‘cape-boneblack-hdmi-00A0.dtbo’ for board-name ‘Bo’
[ 1.742179] bone-capemgr bone_capemgr.9: slot #4: #2 overlays
[ 1.748336] usbcore: registered new interface driver usb-storage
[ 1.754644] USB Mass Storage support registered.
[ 1.760395] bone-capemgr bone_capemgr.9: slot #4: Applied #2 overlays.
[ 1.767257] bone-capemgr bone_capemgr.9: loader: done slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 1.775962] bone-capemgr bone_capemgr.9: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 1.784751] bone-capemgr bone_capemgr.9: slot #5: dtbo ‘cape-boneblack-hdmi-00A0.dtbo’ loaded; converting to live tree
[ 1.796166] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
[ 1.802864] musb-hdrc musb-hdrc.0.auto: pdev->id = 0
[ 1.808101] musb-hdrc musb-hdrc.0.auto: drivers/usb/musb/musb_dsps.c:468 dsps_musb_init: OK
[ 1.817814] bone-capemgr bone_capemgr.9: slot #5: #4 overlays
[ 1.826132] platform 4830e000.fb: alias fck already exists
[ 1.832208] musb-hdrc musb-hdrc.0.auto: *** mode=3
[ 1.837294] musb-hdrc musb-hdrc.0.auto: *** power=250
[ 1.844102] bone-capemgr bone_capemgr.9: slot #5: Applied #4 overlays.
[ 1.851013] bone-capemgr bone_capemgr.9: loader: done slot-5 BB-BONELT-HDMI:00A0 (prio 1)
[ 1.859636] bone-capemgr bone_capemgr.9: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 1.869093] musb-hdrc musb-hdrc.1.auto: pdev->id = 1
[ 1.874345] musb-hdrc musb-hdrc.1.auto: drivers/usb/musb/musb_dsps.c:468 dsps_musb_init: OK
[ 1.883219] bone-capemgr bone_capemgr.9: loader: after slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 1.892032] bone-capemgr bone_capemgr.9: slot #6: Requesting firmware ‘cape-boneblack-hdmin-00A0.dtbo’ for board-name ‘B’
[ 1.906536] musb-hdrc musb-hdrc.1.auto: *** mode=1
[ 1.911604] musb-hdrc musb-hdrc.1.auto: *** power=250
[ 1.916931] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[ 1.923339] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
[ 1.931629] bone-capemgr bone_capemgr.9: slot #6: dtbo ‘cape-boneblack-hdmin-00A0.dtbo’ loaded; converting to live tree
[ 1.943168] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.950306] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.957887] usb usb1: Product: MUSB HDRC host driver
[ 1.963104] usb usb1: Manufacturer: Linux 3.8.13-bone54.1 musb-hcd
[ 1.969589] usb usb1: SerialNumber: musb-hdrc.1.auto
[ 1.975116] bone-capemgr bone_capemgr.9: slot #6: BB-BONELT-HDMIN conflict P8.45 (#5:BB-BONELT-HDMI)
[ 1.984691] bone-capemgr bone_capemgr.9: slot #6: Failed verification
[ 1.991460] bone-capemgr bone_capemgr.9: loader: failed to load slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 2.002314] hub 1-0:1.0: USB hub found
[ 2.006596] hub 1-0:1.0: 1 port detected
[ 2.011515] g_ffs: file system registered
[ 2.016419] mousedev: PS/2 mouse device common for all mice
[ 2.024628] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
[ 2.032387] i2c /dev entries driver
[ 2.037784] pps_ldisc: PPS line discipline registered
[ 2.043233] Driver for 1-wire Dallas network protocol.
[ 2.050406] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[ 2.058284] device-mapper: ioctl: 4.23.1-ioctl (2012-12-18) initialised: dm-devel@redhat.com
[ 2.067243] cpuidle: using governor ladder
[ 2.071595] cpuidle: using governor menu
[ 2.076203] omap_hsmmc mmc.5: of_parse_phandle_with_args of ‘reset’ failed
[ 2.083424] omap_hsmmc mmc.5: Failed to get rstctl; not using any
[ 2.090232] edma-dma-engine edma-dma-engine.0: allocated channel for 0:25
[ 2.097433] edma-dma-engine edma-dma-engine.0: allocated channel for 0:24
[ 2.104776] mmc.5 supply vmmc_aux not found, using dummy regulator
[ 2.111698] omap_hsmmc mmc.5: pins are not configured from the driver
[ 2.145425] gpio-rctrl rstctl.4: gpio_rctrl_request eMMC_RSTn
[ 2.151617] omap_hsmmc mmc.11: Got rstctl (gpio:#0 name eMMC_RSTn) label:eMMC_RSTn
[ 2.159606] gpio-rctrl rstctl.4: gpio_rctrl_deassert eMMC_RSTn
[ 2.166067] edma-dma-engine edma-dma-engine.0: allocated channel for 0:3
[ 2.173214] edma-dma-engine edma-dma-engine.0: allocated channel for 0:2
[ 2.180718] mmc.11 supply vmmc_aux not found, using dummy regulator
[ 2.187813] omap_hsmmc mmc.11: pins are not configured from the driver
[ 2.221748] pinctrl-single 44e10800.pinmux: pin 44e10854 already requested by 44e10800.pinmux; cannot claim for gpio-led8
[ 2.233444] pinctrl-single 44e10800.pinmux: pin-21 (gpio-leds.8) status -22
[ 2.240762] pinctrl-single 44e10800.pinmux: could not request pin 21 on device pinctrl-single
[ 2.249733] leds-gpio gpio-leds.8: pins are not configured from the driver
[ 2.258197] ledtrig-cpu: registered to indicate activity on CPUs
[ 2.265017] edma-dma-engine edma-dma-engine.0: allocated channel for 0:36
[ 2.272245] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
[ 2.280249] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
[ 2.286583] edma-dma-engine edma-dma-engine.0: allocated channel for 0:5
[ 2.293976] edma-dma-engine edma-dma-engine.0: allocated channel for 0:6
[ 2.306664] usbcore: registered new interface driver usbhid
[ 2.312610] usbhid: USB HID core driver
[ 2.317962] ashmem: initialized
[ 2.321384] mmc0: host does not support reading read-only switch. assuming write-enable.
[ 2.330284] logger: created 256K log ‘log_main’
[ 2.335446] logger: created 256K log ‘log_events’
[ 2.340554] mmc0: new high speed SDHC card at address aaaa
[ 2.346693] logger: created 256K log ‘log_radio’
[ 2.352258] mmcblk0: mmc0:aaaa SU04G 3.69 GiB
[ 2.357283] logger: created 256K log ‘log_system’
[ 2.364260] mmcblk0: p1 p2 p3 p4
[ 2.372928] davinci_evm sound.14: nxp-hdmi-hifi <-> 48038000.mcasp mapping ok
[ 2.384131] TCP: cubic registered
[ 2.387801] NET: Registered protocol family 10
[ 2.394003] NET: Registered protocol family 17
[ 2.399058] usb 1-1: new high-speed USB device number 2 using musb-hdrc
[ 2.406257] Key type dns_resolver registered
[ 2.411231] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[ 2.419482] ThumbEE CPU extension supported.
[ 2.424059] Registering SWP/SWPB emulation handler
[ 2.430301] registered taskstats version 1
[ 2.436900] tilcdc 4830e000.fb: No power control GPIO
[ 2.472836] mmc1: BKOPS_EN bit is not set
[ 2.479815] mmc1: new high speed MMC card at address 0001
[ 2.486251] mmcblk1: mmc1:0001 MMC02G 1.78 GiB
[ 2.491375] mmcblk1boot0: mmc1:0001 MMC02G partition 1 1.00 MiB
[ 2.498197] mmcblk1boot1: mmc1:0001 MMC02G partition 2 1.00 MiB
[ 2.506521] mmcblk1: p1 p2
[ 2.512153] mmcblk1boot1: unknown partition table
[ 2.519239] mmcblk1boot0: unknown partition table
[ 2.543892] usb 1-1: New USB device found, idVendor=1a40, idProduct=0101
[ 2.550939] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 2.558426] usb 1-1: Product: USB 2.0 Hub
[ 2.563808] hub 1-1:1.0: USB hub found
[ 2.567953] hub 1-1:1.0: 4 ports detected
[ 2.574893] tilcdc 4830e000.fb: found TDA19988
[ 2.580491] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[ 2.587440] [drm] No driver support for vblank timestamp query.
[ 2.682336] Console: switching to colour frame buffer device 160x64
[ 2.706387] tilcdc 4830e000.fb: fb0: frame buffer device
[ 2.712059] tilcdc 4830e000.fb: registered panic notifier
[ 2.717834] [drm] Initialized tilcdc 1.0.0 20121205 on minor 0
[ 2.774031] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
[ 2.780437] davinci_mdio 4a101000.mdio: detected phy mask fffffffe
[ 2.788000] libphy: 4a101000.mdio: probed
[ 2.792264] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720
[ 2.802117] Detected MACID = 90:59:af:49:d2:c1
[ 2.806774] cpsw 4a100000.ethernet: NAPI disabled
[ 2.813707] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01 00:00:01 UTC (946684801)
[ 2.875531] tilcdc 4830e000.fb: timeout waiting for framedone
[ 2.893375] ALSA device list:
[ 2.896518] #0: TI BeagleBone Black
[ 2.920541] usb 1-1.3: new low-speed USB device number 3 using musb-hdrc
[ 3.025972] usb 1-1.3: New USB device found, idVendor=046d, idProduct=c05a
[ 3.033184] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3.040829] usb 1-1.3: Product: USB Optical Mouse
[ 3.045745] usb 1-1.3: Manufacturer: Logitech
[ 3.054374] input: Logitech USB Optical Mouse as /devices/ocp.3/47400000.usb/musb-hdrc.1.auto/usb1/1-1/1-1.3/1-1.3:1.0/i1
[ 3.067290] hid-generic 0003:046D:C05A.0001: input,hidraw0: USB HID v1.11 Mouse [Logitech USB Optical Mouse] on usb-musb0
[ 3.089745] EXT4-fs (mmcblk0p2): recovery complete
[ 3.096872] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 3.105378] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 3.113101] devtmpfs: mounted
[ 3.116541] Freeing init memory: 240K
[ 3.141714] init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_score_adj instead.
[ 3.254752] init: cannot open ‘/initlogo.rle’
[ 3.452405] EXT4-fs (mmcblk0p3): recovery complete
[ 3.459509] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: nomblk_io_submit,errors=panic
[ 3.497261] init: cannot find ‘/system/bin/sgx/rc.pvr’, disabling ‘pvr’
[ 3.512066] init: cannot find ‘/system/etc/install-recovery.sh’, disabling ‘flash_recovery’
[ 3.562542] g_ffs: read descriptors
[ 3.566311] g_ffs: read strings
[ 3.569924] gadget: using random self ethernet address
[ 3.575473] gadget: using random host ethernet address
[ 3.582839] usb0: MAC ce:ed:c7:4a:a7:c9
[ 3.586918] usb0: HOST MAC 36:f8:9d:f3:17:dc
[ 3.591684] gadget: g_ffs ready
[ 3.595895] musb-hdrc musb-hdrc.0.auto: MUSB HDRC host driver
[ 3.602672] musb-hdrc musb-hdrc.0.auto: new USB bus registered, assigned bus number 2
[ 3.611468] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[ 3.618622] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 3.626164] usb usb2: Product: MUSB HDRC host driver
[ 3.631355] usb usb2: Manufacturer: Linux 3.8.13-bone54.1 musb-hcd
[ 3.637818] usb usb2: SerialNumber: musb-hdrc.0.auto
[ 3.645171] hub 2-0:1.0: USB hub found
[ 3.649143] hub 2-0:1.0: 1 port detected
[ 3.835113] CAUTION: musb: Babble Interrupt Occurred
root@android:/ # [ 3.950378] CAUTION: musb: Babble Interrupt Occurred
[ 4.078787] gadget: high-speed config #2: FunctionFS + ECM

It shows gadget looks to be ready.

Executing lsusb I got following info:
Bus 002 Device 021: ID 1d6b:0105 Linux Foundation FunctionFS Gadget
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 003: ID 0b97:7772 O2 Micro, Inc. OZ776 CCID Smartcard Reader
Bus 007 Device 002: ID 0b97:7761 O2 Micro, Inc. Oz776 1.1 Hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 002: ID 0461:4d81 Primax Electronics, Ltd Dell N889 Optical Mouse
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 004: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

While dmesg gives:
[72049.880261] usb 2-2: new high-speed USB device number 22 using ehci-pci
[72050.014184] usb 2-2: New USB device found, idVendor=1d6b, idProduct=0105
[72050.014197] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[72050.014205] usb 2-2: Product: USB Function Filesystem
[72050.014212] usb 2-2: Manufacturer: Linux 3.8.13-bone54.1 with musb-hdrc

I added the line “g_ffs.idVendor=0x1d6b g_ffs.idProduct=0x0105 g_ffs.iSerialNumber=” to the uEnv.txt file.
Updated init.am335xevm.usb.rc file as described in your blog.
Also added “SUBSYSTEM==“usb”, ATTRS{idVendor}==“1d6b”, ATTRS{idProduct}==“0105”, MODE=“0660” GROUP=“androiddev”, SYMLINK+=“android%n”” to /etc/udev/rules.d/51-android.rules file.

But still no success, the beagleboard doesn’t appears in the listed devices under adb.

Regards,
Jeremy.

Hello Jeremy,

I had a few issues getting adb working. I have posted my findings here

http://android.stackexchange.com/questions/62472/enabling-adb-on-beaglebone-black

Also note most of my work is on the 3.2 based kernel from TI. I did get Andrew distribution working once.

May I also suggest the you try using the TI Android distribution.

Here is the link

http://processors.wiki.ti.com/index.php/TI-Android-JB-4.2.2-DevKit-4.1.1_DeveloperGuide

Good luck

Hi,

Finally I succeeded to make it work …
For that I had to add adb_usb.ini file under .android directory (from the device I run ADB) and set in this file the LinuxFundation device_id (1d6b).

Regards,
Jeremy.

Great that you got it working.
I had similar issue when using adb on Ubuntu 14.04, 12.04 /Mint 13(based on Ubuntu 12.04 LTS).
adb always worked under Mac OS X (10.9) whenever android booted on BBB - whether video output was working or not.
I guess adding udev USB rules in /etc/udev would solve this issue as well.

I have installed Andrew’s Android build on a BBB with a 4D 4.3 display. Most of it is working well.

Has anyone succeeded getting keys mapped to Home, Menu, Back and Search?

Thanks

Mahen

Since I answered this over on the 4DSystems forums, I figured that I should link it here for everyone’s reference:

http://forum.4dsystems.com.au/forum/forum-aa/4d-systems-hardware/beaglebone-display-modules-and-capes/40743-screen-resolution-and-key-mapping-4dcape-43-beaglebone-black-android-kernel-3-8

Andrew