SystemTap GUI contribution – I

August 18, 2009

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 !!!

1

Fun with Motorola A1600 : Part III

August 16, 2009

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:

0

Fun with Motorola A1600 : Part II

August 16, 2009

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:

2

Fun with Motorola A1600 : Part I

August 15, 2009

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 ..

2

Hello World !

July 30, 2009

Hi,

Starting something new. Finally a ‘digital home’ for me : http://www.maxinbjohn.info

2

Be smart and safe with Mozilla Firefox

June 11, 2008
Today (11- June- 2008) , I got a mail from ICICI Bank <admin@icicibank.com>
It’s content goes like this..

 

Security Alert

ICICI Bank has been receiving complaints from our customers of unauthorized access of the NetBanking accounts. As a result we have started reviewing our
NetBanking Accounts periodically and temporarily restrict access of those accounts which we think are vulnerable.It has come to our attention that your account
information needs to be updated as part of our continuing commitment to protect your account in this year 2008 and to reduce the instance of fraud on our website.
If you could please take 5-10 minutes out of your online experience and update your personal records, you will not run into any future problems with our online service.
Once you have updated your account records your online banking account service will not be interrupted and will continue as normal.

To update your records click the following link(s) and fill in the necessary requirements :

Personal Account Holders – https://infinity.icicibank.co.in/BANKAWAY?Action.RetUser.Init.001=Y&AppSignonBankId=ICI&AppType=retail&abrdPrf=N
Business Account Holders – https://cib.icicibank.co.incorp/BANKAWAY?Action.CorpUser.Init.001=Y&AppSignonBankId=ICI&AppType=corporate

Please sign in to Online Banking after you have verified your account to ensure your account security. It is all about your security.
We seek your cooperation for serving you better.

Sincerely,

Benoy Dasgupta
Security Department
ICICI Bank

Hmm… A really good looking work of fraud…… phishing at it’s best.
But I decided to give it a try at Firefox and Internet Explor(d)er. IE acted as though nothing happenned. But the Firefox actually advised me that this is an unsafe website and it is potentially dangerous for me to browse that site !! Watch it…!!

 I will call it people friendly technology. Long live Free Software….. and of course Firefox. I feel it is lot more safer for me and people that I know to use Firefox as their default browser.

1

Track your thoughts with Freemind

June 4, 2008
Freemind is the first and best mindmapper application that is known to me. Thanks to Mr. Dhanan for introducing to that software and demonstrating it’s power in various arenas. Freemind is written in Java, that makes it a highly portable application.
Well, a mindmapper is an application which helps you to perform mindmapping. Perplexing, right ?? Then what is mindmapping ??

“A mind map is a diagram used to represent words, ideas, tasks, or other items linked to and arranged radially around a central key word or idea. It is used to generate, visualize, structure, and classify ideas, and as an aid in study, organization, problem solving, decision making, and writing.” — Says wikipedia.

 Recent days, I have been using Freemind extensively, for the presentations ( yes, I did one “Introduction to programming in Python” presentation in Freemind for HP zone members of Ushustech).  I was really able to convey the “Flow of my thought” using mindmaps in Freemind and I really enjoyed that presentation ( I hope those guys too :) ).

We can use freemind for designs of applications too.  I have decided to do one small Java ME application to find the Body Mass Index (BMI) . First thing I created is the mindmap of that application and then code it. That way, I can think over the application’s features and drawbacks visually. My BMI mindmap goes like this..

 Next time , when you are going to present something, do it in Freemind . It will be a refreshingly new experience.

1

Sweet Home 3D for a beautiful home

May 28, 2008
Want to design the interiors of your new Home in Gnu/Linux ? or you just need to modify the interiors of your’ home ? … You can do it all using the nice program called Sweet Home 3D.  It is available from http://sweethome3d.sourceforge.net/index.html.

Just download the software from http://prdownloads.sourceforge.net/sweethome3d/SweetHome3D-1.3-linux-x86.tgz. As it is a java based Software, make sure that you have openjdk installed in your machine.  In the latest Ubuntu Hardy Heron release,  the execution of Sweet Home 3D was flawless.

Have a look at my experiements with SweetHome 3D :)

It’s really cool.. You can make wonders with some sense of beauty and a mind willing to spend hours with this software.

0

GCompris for Unnikkuttan

May 26, 2008
Last Friday, my Uncle called me up for a particular requirement – to buy one PC for Unnikkuttan and Ponnu, my cousins.  He wanted his children to use that Computer for education purposes. I agreed to go with him and help him in choosing the PC configuration.

After some comparison by visiting multiple stores, we have decided to buy the Acer Aspire PC, which costs about 23000 (nowadays, I feel laptops are better than Desktops when we think about our wallet). It had a 1.6 Ghz, 1 MB L2 cache, 800 MHz FSB , Intel pentium dual core processor , 1 gb ram, Intel 945 GC motherboard, DVD writer….

Well, the dealers has installed some games on the PC and just after booting the PC in Windows XP , Unnikkuttan started playing the games, mostly nothing to with education and more to do with the violence. Jose Uncle wasn’t that happy with what unnikkuttan doing with the PC.

Next week, I have visited Unnikkuttan’s home , this time with 3DVDs of Debian Etch Gnu/Linux. I have installed the Debian on the 40 GB partition of that massive 160 GB HDD. Installed the Debian Gnu/Linux. Both Unnikkuttan and Ponnu were amused by the installation steps of Debian.  The whole installation took around 30 minutes (thanks to that high speed processor with 1 GB ram ).

After that it was the time for Education softwares. I have installed GCompris and Kdeedu and asked Unni and Ponnu to use it. They really liked those programs, I could guess it from their fight for playing the games. Again not willing to hurt Unnikkuttan’s desire for Racing, I have installed the Torcs race game for him. He got thrilled by that game anyway..

The PC boots directly into Debian and I have configured the Debian to have a “passwordless” entry to the Desktop to reduce the “password” problem for children. I know they are smart enough to remember the passwords. But unfortunately I dont’ remember my passwords these days. So I have decided to not to take a chance for myself :)

Nowadays Unnikkuttan and ponnu are proud owners of a Debian Linux ( I have removed the GNU to for ease of the kids) machine. They are the future, let them play with the Gnu/Linux Innocent  

( I wonder why people are saying Linux is hard to use while children like Unnikkuttan and ponnu , with ages 4 and 6 respectively are using it without any problem)

0

Play with Cheetah : the python based templating engine

May 22, 2008
Cheetah is a python powered  Templating engine and code generation tool (Though I never tried it’s code generation functionality). Its main application is in the Web Development scenario itself.

To start with Cheetah, we can download the latest release of cheetah from http://sourceforge.net/project/showfiles.php?group_id=28961.
Installation is done by the usual
python setup.py install

After this we are going to test the prime functionality of Cheetah, the Web Development scenario.

The simplest template (Greeting.tmpl)
###################################
Hello, $firstName.

Your order (#$order) has shipped:
###################################                                  

Compile it using Cheetah

cheetah compile Greeting.tmpl
Compiling Greeting.tmpl -> Greeting.py

Now we got a Greeting.py. So let’s  test that in python

>>> from Greeting import *
>>> t = Greeting()
>>> t.firstName= ‘Maxin’
>>> t.order = 23342
>>> print t
Hello, Maxin.

Your order (#23342) has shipped:

Hmm.. It works..
Best reference for cheetah is available at http://www.cheetahtemplate.org/docs/users_guide_html

2