Posted by: ruckuus | December 23, 2008

Back to android

Hi there,

just want to inform you all, that i am still alive !!!

i will be back on Android hacking by the beginning of 2009. since i will get new board for that.

currently i am doing porting and device driver development. seems my bloods are ready to continue my ambition on getting android running with all it’s functionality. well, Jakarta’s ambience is as good as the needed spirit.

Posted by: ruckuus | July 3, 2008

Send a Dusk Ver 0.0.1

PHP scripts allow you to upload image, crop it, resize the cropped image, and finally send it to your spouse or whoever you want. :P

I was inspired by Seno Gumira Ajidarma’s short story. whatever it said, give it a try here

have fun. oya, you also can get it from here

Posted by: ruckuus | June 28, 2008

Again, Android and GSM

taken from /etc/init.testmenu

#!/system/bin/sh

atdev=/dev/omap_csmi_tty0
pppdev=/dev/omap_csmi_tty1
/sys/devices/system/omap_csmi/debug

then open LDD3, if you really want to get GSM module running well with android, you need to make such sysfs entry for your serial as :

/sys/devices/system/omap_csmi

if you want to take a look into pppd :

sh -c \"chat -v -f /etc/ppp/connect-data <$atdev >$atdev\""

unfortunately, i don’t have any /etc/ppp/connect-data

Posted by: ruckuus | May 21, 2008

GSM serial

Last time, i tried to connect serial GSM modem. The modem is working well with PC, try to send sms and dial a number using AT command. this website (http://www.developershome.com/sms/) covers very well tutorial about AT standard command.

simply, my assumption is that, android must recognize the modem, generally in linux, it is stored in file. It uses such library to do communication with the hardware, and the command is sent through specified layer in the library. there is RILD (no exact definition about it), Benno said : “although I can’t find out more details than that. rild is the radio-interface-link daemon (I think! ;) . The init files imply that you can connect a real-modem and get Android to us it, but by default it has the simulated Java radio-interface“. and here :* “rild (Radio Interface Layer daemon?) controls”. whatever definition is that, the promising is it handles radio communication in android. me myself, i defined it as Radio Interface Library Dunno(?LOL).

/system/bin/rild -l /system/lib/libreference-ril.so -- -d /dev/smd0

this pointed when there is no libhtc.so (HTC ?). check the script init.rild, so i change the device to /dev/ttymxc1 which is connected to GSM modem. the init.testmenu is working nice, with several modification inside the script. but not working from android dialpad. unless, modify the device entry in sysfs. because, andriod runtime still complain that the modem device class is not available. mine, the serial modem is located in /dev/ttymxc2 and certain node in sysfs.

GSM modem:

you can use any serial GSM modem. standard modem supports AT standard command. i test with PC first, and it worked fine. both sms function and phone function. first time i use the same cable with development board and it was not working at all. then i modified the cable, if you face the same problem, make sure the serial cable is correct as Plug/Plug Crossover :

RXD <-> TXD
TXD <-> RXD
RST <-> CTS
CTS <-> RTS

changed on one side 2 with 3 and 7 with 8. okay, i found this from Jürgen Kilb. thanks Jürgen.

test the baudrate and set it :

check the baudrate with stty -F /dev/ttymxc2, connect to a PC, start a terminal prog with the correct baudrate.
then you can make echo AT > /dev/ttymxc2 and you should see it on your pc.
You can also do a getty -L 115200 /dev/ttymxc2 to open a console.

You can change the baudrate with stty -F /dev/ttymxc2 {baudrate}.

i just wonder my documentation is not clear enough. for now, just listed above.

Posted by: ruckuus | May 21, 2008

m5-patches set

last time, i ported m5 and i use 2.6.22 kernel version. as we know, there are a lots differences between m3 and m5, especially in binder driver. to get android running i did modification with kernel source, these are the list :

cacheflush.h.diff

fbmem.c.diff

fcntl.diff

file.h.diff

fs.h.diff

futex.diff

list.h.diff

miscdevice.h.diff

mm.h.diff

module.h.diff

mutex.h.diff

proc_fs.h.diff

rbtree.h.diff

sched.h.diff

vmalloc.c.diff

vmalloc.diff

runtime complained that some function, or DEFINED value missing in 2.6.22, try to do little investigation in which parts should be adjusted and make a diff between 2.6.22 phytec kernel source and 2.6.23 m5 kernel for certain file, that solve my problem. now android m5 running well.

these are logs before the patch applied :

FromNodes+0x1f0/0x27c)

[] (binder_transaction_ConvertFromNodes+0x0/0x27c) from [] (

binder_thread_ReturnTransaction+0x58/0x50c)

[] (binder_thread_ReturnTransaction+0x0/0x50c) from [] (bind

er_thread_Read+0xb9c/0xfcc)

[] (binder_thread_Read+0x0/0xfcc) from [] (binder_thread_Con

trol+0x174/0x438)

[] (binder_thread_Control+0x0/0x438) from [] (binder_unlocke

d_ioctl+0x168/0x1b0)

[] (binder_unlocked_ioctl+0x0/0x1b0) from [] (do_ioctl+0x34/

0xd0)

 r7:bed11518 r6:c0186201 r5:c7efdae0 r4:c7efdae0

[] (do_ioctl+0x0/0xd0) from [] (vfs_ioctl+0x2c0/0x2e8)

 r7:c7efdae0 r6:bed11518 r5:0000000a r4:c7efdae0

[] (vfs_ioctl+0x0/0x2e8) from [] (sys_ioctl+0x40/0x64)

 r9:c2bda000 r8:c0026024 r6:c0186201 r5:bed11518 r4:0000000a

[] (sys_ioctl+0x0/0x64) from [] (ret_fast_syscall+0x0/0x2c)

 r7:00000036 r6:0013f7b0 r5:00000000 r4:c0186201
[] (dump_stack+0x0/0x14) from [] (binder_transaction_Convert
FromNodes+0x1f0/0x27c)
[] (binder_transaction_ConvertFromNodes+0x0/0x27c) from [] (
binder_thread_ReturnTransaction+0x58/0x50c)
[] (binder_thread_ReturnTransaction+0x0/0x50c) from [] (bind
er_thread_Read+0xb9c/0xfcc)
[] (binder_thread_Read+0x0/0xfcc) from [] (binder_thread_Con
trol+0x174/0x438)
[] (binder_thread_Control+0x0/0x438) from [] (binder_unlocke
d_ioctl+0x168/0x1b0)
[] (binder_unlocked_ioctl+0x0/0x1b0) from [] (do_ioctl+0x34/
0xd0)
 r7:befef518 r6:c0186201 r5:c7a3b400 r4:c7a3b400
[] (do_ioctl+0x0/0xd0) from [] (vfs_ioctl+0x2c0/0x2e8)
 r7:c7a3b400 r6:befef518 r5:0000000a r4:c7a3b400
[] (vfs_ioctl+0x0/0x2e8) from [] (sys_ioctl+0x40/0x64)
 r9:c24ee000 r8:c0026024 r6:c0186201 r5:befef518 r4:0000000a
[] (sys_ioctl+0x0/0x64) from [] (ret_fast_syscall+0x0/0x2c)
 r7:00000036 r6:0013f7b0 r5:00000000 r4:c0186201
binder_release(c76cfa40 c7a3b400) (pid 2965) pd c2e3b000
binder_release(c76cfa40 c7e6df00) (pid 2942) pd c3439000
binder_release(c76cfa40 c7201180) (pid 2929) pd c3b7b000
[1]   Killed                  /system/old/runtime
#
[] (binder_unlocked_ioctl+0x0/0x1b0) from [] (do_ioctl+0x34/
0xd0)
Backtrace:
[] (kmem_cache_create+0x0/0x450) from [] (init_binder+0x38
x2d0)
[] (init_binder+0x0/0x2d0) from [] (kernel_init+0xb4/0x26c
 r6:00000000 r5:00000000 r4:c001f000
[] (kernel_init+0x0/0x26c) from [] (do_exit+0x0/0x90c)
Code: e59f13ac e51b203c ebfee03f e3a03000 (e5833000)
Kernel panic - not syncing: Attempted to kill init!

Older Posts »

Categories