tags: n900, n900, n900, linux, linux, linux, kernel, kernel, kernel, debian, debian, debian, uboot, uboot, uboot2010-11-22 23:45 by lwi
After lots's of tries and help from different people
I got my own kernel running on the N900, which is based
on the Debian kernel package. So far it just offers basic
features (e.g. framebuffer, keyboard) and is missing some
important ones (e.g. touchscreen).
To test it on your phone you need to do have Debian
installed on an µSD card, install uboot on the N900
(as described in
Debian on N900: U-Boot) and install the kernel
You can fetch the package from
I also uploaded the kernel config next to the package,
so that you can check if a specific feature is enabled.
I will ask for inclusion into the official package now.
tags: n900, n900, n900, wireshark, wireshark, wireshark, phonet, phonet, phonet, isi, isi, isi, c, c, c2010-10-05 04:38 by lwi
After some time writing the phonet dissector for wireshark
in lua I noticed the disadvantages:
- wireshark's lua interface is incomplete
- it can't be properly installed
- C is much faster
- I can't reuse any code
So I tried the C interface. I found the basic structure for plugins
pretty fast in their documentation and thought about some design
changes in the plugin:
- usage of tree's (e.g. all data is below "Message")
- usage of dissectors for the individual resources
- one file per resource
- usage of expert-info, for broken packet length
A word and a blow. The new plugin is available in this
I took some deeper looks on these packets and found the time and date
information from the GPS data packets. Then I found out, that some
guy from the Maemo community reverse engineered
stuff about it already and added all that to the plugin. The dissection
of a GPS packet now looks as follows:
So the basic features of GPS are available (position,date/time,movement).
Missing though are status fields, satellite information and AGPS stuff.
Update (17.10.2010 17:21:00 +0200):
The guy from the Maemo community, Luke Dashjr, who reverse engineered the GPS
data packet contacted me the other day and told me he found out about the missing
bits, so I'm pleased to announce, that the wireshark plugin does know about
satellite info now. The only missing bit is A-GPS!
tags: n900, n900, n900, debian, debian, debian, wireshark, wireshark, wireshark, lua, lua, lua, phonet, phonet, phonet, isi, isi, isi2010-08-26 03:10 by lwi
In the last days I finally got some bits out of the Nokia N900's modem
on Debian without any properitary tools. For now it's just the following
model: "Nokia N900"
revision: "V ICPR82_10w08 25-02-10 RX-51 (c) Nokia"
But the most difficult part is probably done. My next plan was to get
the modem connect to a mobile network, which requires an unlocked SIM
card. Unfortunately ofono does not yet
support SIM cards with PINs. Thus I had to find another way to get out
how to perform this task.
I started reverse engineering the properitary sscd, but got annoyed of it
pretty fast (it's lots of work for just a little bit of information). I
thought it might be easier to analyze the network traffic, since I know
the basic format of these messages anyway. So I installed tcpdump in maemo
and added the following event.d rule as /etc/event.d/tcpdump:
description "tcpdump on phonet0"
author "Sebastian Reichel"
start on started dbus
stop on stopping dbus
respawn limit 10 1
exec tcpdump -i phonet0 -w /root/phonet.log
This worked at one go and I had a log file with ~300 packages in it (this is the amount
of packages generated during maemo's boot phase). The packages were detected as
SLL packages by wireshark. This means there
was just one blob of data, thus I deceided to write a plugin for Phonet. After some
searching I deceided to use the lua interface,
since it looked quite easy. I got hit by one problem while coding the (still very basic)
plugin, which needs patching of wireshark (Debian Bug #594390).
Now check the IMHO amazing result:
Note, that the plugin covers only some commands and is far from being complete. It will
append all data, which has not been analyzed in an extra field.
Update (12.09.2010 04:21:00 +0200):
As of Revision 34101
Wireshark does support ssl.ltype dissectors, so the patch is not needed with it anymore.
Update (05.10.2010 03:35:00 +0200):
You must add the parameter "-s 0" to the tcpdump call or it will limit the packet size.
tags: debian, debian, debian, n900, n900, n900, fso, fso, fso2010-06-06 00:38 by lwi
As I promised in my last post I improved Debian support. The changes
since initial Debian support are:
- Working Cameras (via Video4Linux 2 interface)
- Working Bluetooth
- Working FM-Radio Receiver
- Complete Keyboard Layout
- mdbus2 in Debian
In short: All kernel related stuff is solved. Remaining issues are
- GSM/UMTS not working
- Charging not working
- Accessing most hardware is very uncomfortable