Aug 18 2009

SystemTap GUI contribution – I

SystemTap GUI is an application for easy use of the SystemTap tool in Linux. This is an Integrated Development Environment for the SystemTap scripting language. This will perform data visualization and analysis of the probed data from running Kernel. Further details are available here:

http://stapgui.sourceforge.net/

The present state of Systemtap GUI server (.cpp files) Makefile will allow us to use only the native g++ present in the system. This was creating issues in building the stapgui-server for another target like ARM/MIPS. I have modifed the makefile for cross compiler friendliness and sent the patch to the SystemTap GUI community.

Today, I have received a mail from Anithra, a SystemTap GUI developer saying that the modification will be included in the next release version of SystemTap GUI. I am eagerly waiting for the next release.

Happy Hacking !!!


Aug 16 2009

Fun with Motorola A1600 : Part III

I have downloaded the GNU ARM cross toolchain for A1600 from

http://ezxdev.org/qtopia/sdk/old/arm-linux-ezx.tar.bz2

Thanks to Antonio Ospite (AO2) of #openezx

I have downloaded and cross compiled inetutils-1.6.tar.gz (mainly for telnetd) , busybox-1.14.3.tar.bz2 (for httpd and other useful commands) and util-linux-2.12r.tar.gz (for dmesg). Cross compiled these packages using the ARM cross tool chain and transferred to the phone using the flash card.
I have started the telnetd using the below given command
/mmc/mmca1/busybox telnetd -E /bin/bash

Connected the phone to the debian linux laptop using the usb connector after putting the usb mode of mobile in Modem mode. After that , I have started the usbnet application in the phone. Now , I have usb0 interface in my laptop.

I have configured the usb0 interface using the below given command in laptop:

ifconfig usb0 192.168.1.1 mtu 1500

After that, I have successfully telnet to the phone using the command:
telnet 192.168.1.2

It works!!!.. After that , I have started the busybox httpd server on the phone . I was able to open the index.html from the host machine.

A webserver on my mobile… See the action:


Aug 16 2009

Fun with Motorola A1600 : Part II

I have installed zmplayer on A1600. Now I can play whatever formats that you can throw into a mobile … without any format converters.. It can play .dat, .mpeg, .avi and even .vob files . See zmplayer in action:


Aug 15 2009

Fun with Motorola A1600 : Part I

3 months ago I bought one Motorola A1600 mobile. There were three reasons behind that decision:

One of the reason was my Sony Ericsson  K300 stopped working after 3 years of faithful work. It was a great mobile and almost all my J2ME experiments were done on it. I think it was more than worth the money that I have spent on it.

The other reason was I was looking for a Linux smart phone.  I have attended the Herlad Welte’s BOF and presentation of A780 on Foss.in-2005. That had a long lasting impression on me.  I thought I should  go for an updated version of the same mobile which is based on EZX platform.

The final reason was GPS :) .. Yes, though I came to Bangalore more than a year ago, I still don’t know some parts of the Bangalore.  So, with a GPS enabled phone, I thought I should roam around freely. However, I wasn’t that ready to pay for a GPS service on a monthly basis. So, I choose A1600. It has gps support and has a builtin map of India (We are free to download the map of any country, though… after all , that’s what freedom means) . It even shows the way from Bangalore to Kollam (my district in Kerala). I must say that this GPS on A1600 helped me very much when me and my cousin brother Lalu drove my modified Swift car from Bangalore to Kerala 2 months ago.

The first month with the A1600 was a bit boring. I was not able to spend more time for it. I also found that the built in real player needs some format converter software to run my favorite videos and songs (some are ogg files).  I was able to run some java me programs on it.. and the first j2me program that I ran on this mobile was ‘chicken warrior’ , my own production :)

I couldn’t believe that I have wasted 2 months without doing anything with my Linux mobile . Finally, I decided to do something.. I can’t let my mobile to be just another ‘ good looking mobile’ that just does what it’s supposed to do. It’s running GNU/Linux.. It is way more than just a mobile. If this was my purpose, I could have bought another ‘good looking M$’ mobile.

One of the hurdles that I have faced during the initial stages of  ‘moto modding’  was the inability to install the packages (mpkg files which are nothing else but tar.gz files with cross compiled binaries for ARM architecture) which are not trusted by Motorola, not by me. The installation of untrusted applications in the mobile were blocked in firmware by Motorola and it was a real not so cool thing for a Linux phone.  The way to avoid this was installing the  ‘MPKG’ package which resolves this issue. It is available at

http://www.modmymoto.com/forums/downloads.php?do=file&id=4179

All we have to do is download it , unzip and copy the .system  and replace the .system in the A1600 phone with that folder.  I have downloaded the MPKG package for A1200 which is the previous version of A1600. It works well on A1600. Later , I found that almost all the apps of the A1200 works on A1600 as well. Installation steps of MPKG package is as follows:

How to install A1600 Mpkg Installer.
1. extract Mpkg_A1200.rar and you ‘ll get .system folder. It’s hidden folder If you cann’t see try show hidden file.
2. copy .system folder into your flash card in usb mode.
3. restart A1600 and you are ready to go.

After installing MPKG, we can install all the .pkg (again tar.gz files) to  the A1600. Even if the application is .mpkg, just rename it to .pkg and you can install it. The details of .pkg/.mpkg format is available here:

http://wiki.openezx.org/MPKG

I have downloaded the Ekonsole application and installed it on my phone from here:

http://www.motorolafans.com/forums/a1600-general-chat/24911-ekonsole-a1600.html

Now I have a cool konsole running on my mobile. Here are some outputs:

$ ps ax

PID TTY STAT TIME COMMAND
1 ? S 0:01 init [
2 ? S 0:00 [keventd]
4 ? SN 0:00 [ksoftirqd_CPU0]
3 ? S 0:00 [ipmd]
5 ? S 0:00 [kswapd]
6 ? S 0:00 [bdflush]
7 ? S 0:00 [kupdated]
8 ? S 0:00 [keventd]
9 ? S 0:00 [kdebounced]
10 ? S 0:00 [kemud]
12 ? D 0:00 [swapper]
13 ? S 0:02 [mtdblockd]
14 ? S 0:00 [khubd]
39 ? SN 0:00 [jffs2_gcd_mtd8]
42 ? SN 0:01 [jffs2_gcd_mtd9]
45 ? SN 0:09 [jffs2_gcd_mtd15]
54 ? S 0:01 ./musbd -r /ezxlocal/download/mystuff -s 30Mib -t fat16 -C UTF8 -U 2000 -G 233 -B 0 -H 0Kib -e
85 ? S 0:03 /usr/SYStapi/tapisrv
86 ? S 0:00 /usr/SYSqtapp/modem/modemlauncher
92 ? S 0:00 /usr/bin/apmd
93 ? S 0:01 /usr/bin/emud
99 ? S 0:50 /usr/SYSqtapp/windowsserver/windowsserver -qws
102 ? S 0:00 /usr/bin/db_daemon -tapi -delay 12
105 tty1 Ss+ 0:00 -bash
113 ? S< 0:00 /usr/SYSqtapp/sound/soundmanager
116 ? S< 0:01 /usr/SYSqtapp/sound/soundmanager
117 ? S< 0:00 /usr/SYSqtapp/sound/soundmanager
118 ? S< 0:01 /usr/SYSqtapp/sound/soundmanager
119 ? S< 0:00 /usr/SYSqtapp/sound/soundmanager
120 ? S< 0:00 /usr/SYSqtapp/sound/soundmanager
121 ? S< 0:00 /usr/SYSqtapp/sound/soundmanager
126 ? S< 0:34 /usr/SYSqtapp/phone/phone
145 ? S 0:00 /usr/bin/db_daemon -tapi -delay 12
146 ? S 0:00 /usr/bin/db_daemon -tapi -delay 12
153 ? S 0:03 /usr/SYSqtapp/windowsserver/misc1
165 ? S 0:00 /usr/SYSqtapp/windowsserver/misc1
166 ? S 0:02 /usr/SYSqtapp/windowsserver/misc1
169 ? Ss 0:00 /usr/SYStapi/lapisrv
187 ? D 0:00 /usr/SYSqtapp/windowsserver/misc1
275 ? S 1:34 /usr/SYSqtapp/am/am
276 ? S 0:15 /usr/SYSqtapp/windowsserver/openwindow
277 ? S 0:00 /usr/SYSqtapp/am/am
292 ? S 0:19 /usr/SYSqtapp/messaging/messaging
297 ? S 0:02 /usr/bin/db_daemon -tapi -delay 12
301 ? S 0:01 /usr/SYSqtapp/opera/brwdaemon
302 ? S 0:02 /usr/SYSqtapp/addressbook/addrbk
303 ? S 0:00 /usr/bin/db_daemon -tapi -delay 12
304 ? S 0:34 /usr/SYSqtapp/sui/sui
305 ? S 0:00 /usr/bin/db_daemon -tapi -delay 12
309 ? S 0:11 /usr/bin/db_daemon -tapi -delay 12
342 ? Ss 0:00 ./inetd
354 ? Ss 0:00 ./smbd -D -l /dev/null
372 pts/0 Ss+ 0:00 -bash
379 ? S 0:00 /usr/bin/db_daemon -tapi -delay 12
447 pts/1 Ss+ 0:00 -bash
575 ? S 0:00 /usr/SYSqtapp/messaging/messaging
593 ? S 0:03 ./ekonsole
600 pts/2 Ss 0:00 -bash
607 pts/2 R+ 0:00 ps ax

A1600 details:

An ARM processor based mobile which runs on EZX platform with the following confirguration

Processor: Intel XScale PXA27x rev7 v5l

RAM : 64 MB

Software info:  Montavist linux 3.1 with linux kernel-2.4.20

Telnet to the phone

MontaVista(R) Linux(R) Consumer Electronics Edition 3.1
Linux/armv5tel 2.4.20_mvlcee31-mainstone_pxa27x

Will be updated soon with more adventures ..


Get Adobe Flash playerPlugin by wpburn.com wordpress themes