By now i got Android UI booting perfectly (
http://picpaste.de/
IMG_0093.JPG).
As you can see on the Screenshot, it boots fine. It also seems to get
interactions from the cursorpad i got in the lower center as i can
move down the 3 main entries as well as the turn off screen. All other
buttons don't do anything (not even the "enter" Button which is in the
middle of the cursorpad).
What i did:
- took the Kernel from
handhelds.org (2.6.21-hh20) with
htcblueangel_defconfig
- patched it with
http://android-on-n8xx.googlecode.com/files/linux-2.6.21_rx-34_android-m5-rc14-patch3.bz2
- i didn't find a plain patch so i applied this one. Benno's
android.diff is for 2.6.23 and causes some trouble.
- activated Android specific settings and compiled it
- created the userland-img like in
http://www.alextreme.org/drupal/?q=android_on_n810
- copied the compiled busybox
- used haret to boot the kernel off the sd-card
There are 4 input devices found:
[ 1.040000] input: blueangelkb as /class/input/input0
[ 1.770000] input: gpio-keys as /class/input/input1
[ 2.110000] 9<6>input: tsc2200-keys as /class/input/input2
[ 2.160000] input: tsc2200-ts as /class/input/input3
Altogether i've put up two tbz2:
-
http://evil-packet.org/android/vfat-bootloader-kernel.tbz2
Just copy this to the vfat partition (first partition) on your SD-
Card.
Android will autoboot as soon you plug the card into your BA.
-
http://evil-packet.org/android/ext2-android-htc-blueangel-arm.tbz2
Copy it to the ext2 partition (second partition) on your SD-Card.
/bin contains busybox with the according symlinks.
I moved /init (android loader) to /sbin/android.
And i also cross compiled strace and dropbear (which doesn't work
yet).
My /sbin/init is to be customized with your own start-stop stuff.
If you boot Android while your BlueAngel is in it's USB Cradle and
your Linux Computer on the other end got USBnet (so that usb0 appears
on both devices), then my /sbin/init will configure usb0 with
192.168.1.201/24 and start telnetd. The default root password is
"android".
I think this is a fairly good base to start of hacking for this
device :) Let's do it.
Finally i got some questions
google.com couldn't answer me:
- What ANDROID_ environment-variables are there?
- What does it take to make my TS Input Device (tsc2200) available?
Here are several outputs:
--- dmesg ---
<5>Linux version 2.6.21-hh20-omap1 (fbe...@jane.doe) (gcc version
4.2.3 (Sourcery G++ Lite 2008q1-126)) #5 PREEMPT Sun Aug 3 21:26:21
CEST 2008
<4>CPU: XScale-PXA255 [69052d06] revision 6 (ARMv5TE), cr=0000397f
<4>Machine: HTC Blueangel
<4>Memory policy: ECC disabled, Data cache writeback
<7>On node 0 totalpages: 32768
<7> DMA zone: 256 pages used for memmap
<7> DMA zone: 0 pages reserved
<7> DMA zone: 32512 pages, LIFO batch:7
<7> Normal zone: 0 pages used for memmap
<6>Memory clock: 99.53MHz (*27)
<6>Run Mode clock: 398.13MHz (*4)
<6>Turbo Mode clock: 398.13MHz (*1.0, inactive)
<4>CKEN=0x10a71 CKEN11_USB=0x800
<4>CKEN=0x10a71
<4>CPU0: D VIVT undefined 5 cache
<4>CPU0: I cache: 32768 bytes, associativity 32, 32 byte lines, 32
sets
<4>CPU0: D cache: 32768 bytes, associativity 32, 32 byte lines, 32
sets
<4>Built 1 zonelists. Total pages: 32512
<5>Kernel command line: root=/dev/mmcblk0p2 rootdelay=10
console=ttyS0,115200n8 console=tty0
<4>PID hash table entries: 512 (order: 9, 2048 bytes)
<4>Console: colour dummy device 80x30
<4>Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
<4>Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
<6>Memory: 128MB = 128MB total
<5>Memory: 126336KB available (2868K code, 502K data, 104K init)
<7>Calibrating delay loop... 397.31 BogoMIPS (lpj=1986560)
<4>Mount-cache hash table entries: 512
<6>CPU: Testing write buffer coherency: ok
<4>android_power_init
<4>android_power_init done
<6>NET: Registered protocol family 16
<6>[ 0.420000] asic3: using irq 108-177 on irq 26
<4>[ 0.430000] Initializing blueangel tsc2200 ssp... done
<4>[ 0.440000] tsc2200_probe: SPI: cr0 0000138f cr1 60000010 sr:
0000f024 it: 00000000 to: 00000000 ps: 00000000
<6>[ 0.470000] Bluetooth: Core ver 2.11
<6>[ 0.470000] NET: Registered protocol family 31
<6>[ 0.480000] Bluetooth: HCI device and connection manager
initialized
<6>[ 0.490000] Bluetooth: HCI socket layer initialized
<6>[ 0.510000] Time: pxa_timer clocksource has been installed.
<4>[ 0.520000] pxa2xx-udc-gpio: Generic driver for GPIO-controlled
PXA2xx UDC
<6>[ 0.530000] NET: Registered protocol family 2
<4>[ 0.640000] IP route cache hash table entries: 1024 (order: 0,
4096 bytes)
<4>[ 0.650000] TCP established hash table entries: 4096 (order: 3,
32768 bytes)
<4>[ 0.660000] TCP bind hash table entries: 4096 (order: 2, 16384
bytes)
<6>[ 0.670000] TCP: Hash tables configured (established 4096 bind
4096)
<6>[ 0.680000] TCP reno registered
<4>[ 0.720000] blueangel_lcd_init
<4>[ 0.720000] Blue Angel Board ID 0x6
<4>[ 0.730000] in blueangel_lcd_probe
<4>[ 0.740000] HTC Blueangel DS1WM driver
<4>[ 0.740000] blueangel_pcmcia_socket_init
<4>[ 0.750000] blueangel_pcmcia_configure_socket
<4>[ 0.760000] Reset:0 ,Vcc:0 ,Flags:0
<4>[ 1.030000] blueangel_pm_init
<4>[ 1.030000] retval=0
<6>[ 1.040000] input: blueangelkb as /class/input/input0
<5>[ 1.050000] Probing PXA Flash 1 at physical address 0x00000000
(32-bit bankwidth)
<4>[ 1.060000] mymtd=00000000
<6>[ 1.070000] ttyS8 at MMIO 0x10800000 (irq = 91) is a DPRAM
<4>[ 1.080000] dpram hwident: 'HTC-DPRAM ASIC P/N:30H80037-00-L'
<5>[ 1.090000] HTC Blueangel Phone Modem Driver
<6>[ 1.090000] PXA CPU frequency change support initialized
<4>[ 1.110000] NetWinder Floating Point Emulator V0.97 (double
precision)
<6>[ 1.120000] JFFS2 version 2.2. (NAND) (C) 2001-2006 Red Hat,
Inc.
<6>[ 1.140000] io scheduler noop registered
<6>[ 1.140000] io scheduler anticipatory registered (default)
<6>[ 1.150000] io scheduler deadline registered
<4>[ 1.160000] Corgi Backlight Driver Initialized.
<4>[ 1.170000] Found w3200 at 0x08000000.
<4>[ 1.210000] blueangel_pcmcia_configure_socket
<4>[ 1.220000] Reset:0 ,Vcc:50 ,Flags:0
<4>[ 1.230000] Console: switching to colour frame buffer device
60x53
<6>[ 1.250000] fb0: w100fb frame buffer device
<6>[ 1.400000] TI Calypso / HTC firmware GSM UART line discipline
ver 0.1<6>pxa2xx-uart.0: ttyS0 at MMIO 0x40100000 (irq = 15) is a
FFUART
<6>[ 1.420000] pxa2xx-uart.1: ttyS1 at MMIO 0x40200000 (irq = 14)
is a BTUART
<6>[ 1.440000] pxa2xx-uart.2: ttyS2 at MMIO 0x40700000 (irq = 13)
is a STUART
<6>[ 1.450000] pxa2xx-uart.3: ttyS3 at MMIO 0x41600000 (irq = 0) is
a HWUART
<6>[ 1.470000] pxa2xx-ir-serial: Initialized
<4>[ 1.480000] RAMDISK driver initialized: 4 RAM disks of 8192K
size 1024 blocksize
<6>[ 1.500000] loop: loaded (max 8 devices)
<6>[ 1.510000] tun: Universal TUN/TAP device driver, 1.6
<6>[ 1.520000] tun: (C) 1999-2004 Max Krasnyansky
<
ma...@qualcomm.com>
<4>[ 1.530000] acx: this driver is still EXPERIMENTAL
<4>[ 1.530000] acx: reading README file and/or Craig's HOWTO is
recommended, visit
http://acx100.sf.net in case of further questions/
discussion
<7>[ 1.560000] acxcs_init()
<6>[ 1.570000] I2C: i2c-0: PXA I2C adapter
<6>[ 1.580000] pxa2xx_udc: version 4-May-2005
<7>[ 1.600000] DPM: pda_udc: Turning off port
<4>[ 1.600000] ether gadget: using random self ethernet address
<4>[ 1.630000] ether gadget: using random host ethernet address
<4>[ 1.650000] blueangel_pcmcia_configure_socket
<4>[ 1.670000] Reset:1 ,Vcc:50 ,Flags:240
<4>[ 1.680000] blueangel_pcmcia_configure_socket
<4>[ 1.700000] Reset:0 ,Vcc:50 ,Flags:200
<6>[ 1.710000] usb0: Ethernet Gadget, version: May Day 2005
<6>[ 1.730000] usb0: using pxa2xx_udc, OUT ep2out-bulk IN ep1in-
bulk
<6>[ 1.750000] usb0: MAC 1e:bf:a5:a0:28:2d
<7>[ 1.770000] DPM: pda_udc: Turning on port
<6>[ 1.780000] input: gpio-keys as /class/input/input1
<4>[ 1.780000] pxa_gpiodev_get_value(8)
<4>[ 1.810000] Registering tsc2200 buttons driver
<5>[ 1.820000] pccard: PCMCIA card inserted into slot 0
<5>[ 1.840000] pcmcia: registering new device pcmcia0.0
<7>[ 1.860000] acx_attach()
<7>[ 1.860000] acx_cs_config(0xc0622600)
<6>[ 1.870000] MEMORY WINDOW FOUND!!!
<6>[ 1.880000] requesting Irq...
<4>[ 1.890000] pcmcia: request for exclusive IRQ could not be
fulfilled.
<4>[ 1.920000] pcmcia: the driver needs updating to supported
shared IRQ lines.
<4>[ 1.950000] blueangel_pcmcia_configure_socket
<4>[ 1.960000] Reset:0 ,Vcc:50 ,Flags:200
<4>[ 1.980000] blueangel_pcmcia_configure_socket
<4>[ 1.990000] Reset:0 ,Vcc:50 ,Flags:220
<7>[ 2.050000] RequestConfiguration OK
<4>[ 2.050000] acx: found ACX100-based wireless network card
<7>[ 2.070000] initial debug setting is 0x000A
<6>[ 2.070000] memwinbase=2c000000 memwinsize=4096
<7>[ 2.080000] using IRQ 40
<4>[ 2.110000] ACX radio type 0x0d
<7>[ 2.120000] requesting firmware image 'WLANGEN.BIN'
<4>[ 2.120000] 9<6>input: tsc2200-keys as /class/input/input2
<4>[ 2.150000] tsc2200_ts_probe IRQ: 39
<6>[ 2.170000] input: tsc2200-ts as /class/input/input3
<7>[ 2.190000] sa1100-rtc sa1100-rtc: rtc intf: sysfs
<7>[ 2.190000] sa1100-rtc sa1100-rtc: rtc intf: proc
<7>[ 2.200000] sa1100-rtc sa1100-rtc: rtc intf: dev (254:0)
<6>[ 2.200000] sa1100-rtc sa1100-rtc: rtc core: registered sa1100-
rtc as rtc0
<6>[ 2.230000] Driver for 1-wire Dallas network protocol.
<4>[ 2.250000] DS1WM w1 busmaster driver - (c) 2004 Szabolcs Gyurko
<4>[ 2.280000] blueangel_ds1wm: OWM_EN Low (active)
<6>[ 2.310000] 1-Wire driver for the DS2760 battery monitor chip
- (c) 2004-2005, Szabolcs Gyurko
<4>[ 2.340000] blueangel_set_charge: enabled=1
<6>[ 2.360000] APM Battery Driver
<6>[ 2.370000] Bluetooth: HCI UART driver ver 2.2
<6>[ 2.390000] Bluetooth: HCI H4 protocol initialized
<6>[ 2.400000] Bluetooth: HCI BCSP protocol initialized
<6>[ 2.420000] Registered led device: blueangel:red
<6>[ 2.440000] Registered led device: blueangel:green
<6>[ 2.460000] Registered led device: blueangel:phonebutt
<6>[ 2.480000] Registered led device: blueangel:vibra
<6>[ 2.490000] Registered led device: blueangel:kbdbackli
<6>[ 2.510000] logger: created 64K log 'log_main'
<6>[ 2.530000] logger: created 64K log 'log_events'
<6>[ 2.550000] logger: created 64K log 'log_radio'
<6>[ 2.560000] Advanced Linux Sound Architecture Driver Version
1.0.14rc3 (Wed Mar 14 07:25:50 2007 UTC).
<6>[ 2.600000] ASoC version 0.13.3
<6>[ 2.610000] UDA1380 Audio Codec 0.5<6>asoc: UDA1380 <-> pxa2xx-
ssp1 mapping ok
<6>[ 2.640000] asoc: UDA1380 <-> pxa2xx-i2s mapping ok
<7>[ 2.660000] uda1380: uda hw write 2 val 100
<7>[ 2.660000] uda1380: uda hw write 0 val 10
<6>[ 2.680000] ALSA device list:
<6>[ 2.690000] #0: Blueangel (UDA1380)
<6>[ 2.700000] TCP cubic registered
<6>[ 2.710000] NET: Registered protocol family 1
<6>[ 2.730000] NET: Registered protocol family 17
<6>[ 2.740000] Bluetooth: L2CAP ver 2.8
<6>[ 2.750000] Bluetooth: L2CAP socket layer initialized
<6>[ 2.770000] Bluetooth: SCO (Voice Link) ver 0.5
<6>[ 2.780000] Bluetooth: SCO socket layer initialized
<6>[ 2.800000] Bluetooth: RFCOMM socket layer initialized
<6>[ 2.810000] Bluetooth: RFCOMM TTY layer initialized
<6>[ 2.830000] Bluetooth: RFCOMM ver 1.8
<6>[ 2.840000] Bluetooth: BNEP (Ethernet Emulation) ver 1.2
<6>[ 2.860000] Bluetooth: BNEP filters: protocol multicast
<6>[ 2.870000] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
<6>[ 2.900000] XScale DSP coprocessor detected.
<4>[ 2.900000] pxa_gpiodev_get_value(8)
<6>[ 2.920000] sa1100-rtc sa1100-rtc: setting the system clock to
1994-09-02 12:07:13 (778507633)
<4>[ 2.950000] asic3_mmc: ASIC3 MMC/SD Driver, controller at
0xe000000
<4>[ 2.950000] pxa_gpiodev_get_value(8)
<4>[ 3.320000] pxa_gpiodev_get_value(8)
<6>[ 3.560000] Waiting 10sec before mounting root device...
<6>[ 4.500000] mmcblk0: mmc0:6f58 SD02G 2011136KiB
<6>[ 4.510000] mmcblk0: p1 p2
<6>[ 5.030000] usb0: full speed config #1: 100 mA, Ethernet Gadget,
using CDC Ethernet Subset
<4>[ 62.120000] acx: firmware image 'WLANGEN.BIN' was not provided.
Check your hotplug scripts
<4>[ 62.140000] acx: reset_dev() FAILED
<6>[ 62.160000] wlan%d: index 0x01: irq 40, mem
0x2c000000-0x2c000fff
<4>[ 62.220000] EXT2-fs warning: mounting unchecked fs, running
e2fsck is recommended
<4>[ 62.250000] VFS: Mounted root (ext2 filesystem).
<6>[ 62.270000] Freeing init memory: 104K
--- main --- (the binary stuff in the logs kinda f'ed it up)
.apk)ip_openZipFile(/system/app/Phone.apk)apk)mission
android.permission.ADD_SYSTEM_SERVICE to
android.server.PackageManagerService
$SharedUserSetting@4004f498anagerService$SharedUserSetting@4004f498
android.permission.INTERNAL_SYSTEM_WINDOW to
android.server.PackageManagerService
$SharedUserSetting@4004f498eManagerService
$SharedUserSetting@40067100rESS_ASSISTED_GPS to
android.server.PackageManagerService$SharedUserSetting@40067100
ng provider googleaccounts:
com.google.android.providers.googleapps.GoogleAccountsProvider statup
java.io.FileNotFoundException: /sys/android_power/battery_level
at
org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:
227)
at java.io.FileInputStream.<init>(FileInputStream.java:76)
at java.io.FileInputStream.<init>(FileInputStream.java:123)
at android.server.BatteryService.readLineFromFile(BatteryService.java:
225)
at android.server.BatteryService.getLevel(BatteryService.java:137)
at android.server.BatteryService.updateBattery(BatteryService.java:
111)
at android.server.BatteryService.<init>(BatteryService.java:97)
at android.server.ServerThread.run(SystemServer.java:159)
java.io.FileNotFoundException: /sys/android_power/battery_level_scale
at
org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:
227)
at java.io.FileInputStream.<init>(FileInputStream.java:76)
at java.io.FileInputStream.<init>(FileInputStream.java:123)
at android.server.BatteryService.readLineFromFile(BatteryService.java:
225)
at android.server.BatteryService.getScale(BatteryService.java:145)
at android.server.BatteryService.updateBattery(BatteryService.java:
112)
at android.server.BatteryService.<init>(BatteryService.java:97)
at android.server.ServerThread.run(SystemServer.java:159)
java.io.FileNotFoundException: /sys/android_power/battery_level_raw
at
org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:
227)
at java.io.FileInputStream.<init>(FileInputStream.java:76)
at java.io.FileInputStream.<init>(FileInputStream.java:123)
at android.server.BatteryService.readLineFromFile(BatteryService.java:
225)
at android.server.BatteryService.getRaw(BatteryService.java:153)
at android.server.BatteryService.updateBattery(BatteryService.java:
113)
at android.server.BatteryService.<init>(BatteryService.java:97)
at android.server.ServerThread.run(SystemServer.java:159)
java.io.FileNotFoundException: /sys/android_power/charging_state
at
org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:
227)
at java.io.FileInputStream.<init>(FileInputStream.java:76)
at java.io.FileInputStream.<init>(FileInputStream.java:123)
at android.server.BatteryService.readLineFromFile(BatteryService.java:
225)
at android.server.BatteryService.getState(BatteryService.java:161)
at android.server.BatteryService.updateBattery(BatteryService.java:
114)
at android.server.BatteryService.<init>(BatteryService.java:97)
at android.server.ServerThread.run(SystemServer.java:159)
00, error 99 (Cannot assign requested address)
le.android.home/com.google.android.home.NewHome} }
java.lang.IllegalArgumentException: Given thread does not exist
at android.os.Process.setThreadPriority(Native Method)
at
android.server.am.ActivityManagerService.updateOomAdjLocked(ActivityManagerService.java:
6782)
at
android.server.am.ActivityManagerService.updateOomAdjLocked(ActivityManagerService.java:
6900)
at
android.server.am.ActivityManagerService.updateLRUListLocked(ActivityManagerService.java:
834)
at
android.server.am.ActivityManagerService.realStartActivityLocked(ActivityManagerService.java:
880)
at
android.server.am.ActivityManagerService.attachApplicationLocked(ActivityManagerService.java:
2783)
at
android.server.am.ActivityManagerService.attachApplication(ActivityManagerService.java:
2851)
at android.app.ActivityThread.attach(ActivityThread.java:2955)
at android.app.ActivityThread.main(ActivityThread.java:3050)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:356)
at android.os.Process.invokeStaticMain(Process.java:253)
at android.os.Process.access$000(Process.java:42)
at android.os.Process$1.run(Process.java:220)
at java.lang.Thread.run(Thread.java:896)
java.io.FileNotFoundException: /sys/android_power/charging_state
at
org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:
227)
at java.io.FileInputStream.<init>(FileInputStream.java:76)
at java.io.FileInputStream.<init>(FileInputStream.java:123)
at android.server.BatteryService.readLineFromFile(BatteryService.java:
225)
at android.server.BatteryService.getState(BatteryService.java:161)
at android.server.PowerManagerService
$BatteryReceiver.onReceiveIntent(PowerManagerService.java:126)
at android.app.ActivityThread$PackageInfo
$ReceiverDispatcher.run(ActivityThread.java:482)
at android.os.Handler.handleCallback(Handler.java:455)
at android.os.Handler.dispatchMessage(Handler.java:78)
at android.os.Looper.loop(Looper.java:91)
at android.server.ServerThread.run(SystemServer.java:259)
ActivityThreadrvice} }: not found) returned Invalid argument service
com.google.android.providers.media.MediaScannerServiceice]
gtalkservice Startedign requested address)t, port=5900, error 99
(Cannot assign requested address)a_jni.so 0x0
After some time i get those which obviously is a sleep-handler:
java.io.FileNotFoundException: /proc/wakelocks
at
org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:
227)
at java.io.FileInputStream.<init>(FileInputStream.java:76)
at java.io.FileInputStream.<init>(FileInputStream.java:123)
at java.io.FileReader.<init>(FileReader.java:69)
at android.server.PowerManagerService
$WakeLockHistory.scanKernelLocked(PowerManagerService.java:945)
at android.server.PowerManagerService
$WakeLockHistory.run(PowerManagerService.java:893)
at android.os.Handler.handleCallback(Handler.java:455)
at android.os.Handler.dispatchMessage(Handler.java:78)
at android.os.Looper.loop(Looper.java:91)
at android.server.ServerThread.run(SystemServer.java:259)
Best regards
- Franz
On Aug 4, 9:30 am, Josh Guilfoyle <
jast...@gmail.com> wrote:
> The HTC Vogue has a quite evolved Android port at this point. Working
> touch screen, radio, SD card, etc. It's available at:
>
>
http://it029000.massey.ac.nz/vogue/
>
> Read the page carefully, the Updates are listed chronologically and
> show the progress that has been made since originally announced 4
> months ago. If you look at his kernel diff you can get a sense for
> what areas to explore to improve support on the Blue Angel hardware
> you have. HaRET is very useful for this indeed.
>
> There does seem to be problems with certain applications on the Vogue,
> but for the most part this is quite robust environment for testing.
> Check outhttp://
android-random.googlecode.com/for some simple debug/