My Nokia N900 uses Maemo5 in latest version: 2009.51.1 which still have many bugs open. Some (like 6541) were fixed already but users have to wait for next firmware drop from nokia Maemo team to get them. Of course date of such “gift” is unknown (it can even never happen) so how to solve problem now?
I spent some time digging in Modest git tree to gather changes which will fix #6541 bug. Result works fine on my device, patch is quite small (less then 2KB) but system components updates are not allowed to be pushed into Extras repositories on maemo.org website.
So how to share such useful update? I think that will create repository for such system updates. Maybe will add some other packages there (for sure my version of “mp-fremantle-generic-pr” will be present so updates will be installable without breaking firmware upgrades).
Using BeagleBoard as development platform means lot of cables as I need:
serial cable
power cable for BeagleBoard
USB hub
power cable for USB hub
USB Ethernet dongle
Ethernet cable
So by default my BB setup looks like this (here with B7 version so OTG used instead of EHCI):
I decided that I need to do something with it. The idea was to make simple expansion board which will just gather all components on board connected to BeagleBoard. First sketch was this (without keeping aspect etc — just elements):
I presented it to few people with better electronic experience then mine and got few nice suggestions.
After few days of collecting elements and soldering/glueing I got first version working:
USB Ethernet dongle is glued to PCB, USB Hub needs mounting and it’s power cable has to be replaced by better solution. But the good thing is that I have power, serial, Ethernet connectors on one side without any special cables:
When BeagleBoard is placed on top all what is needed to get it working is connecting 3 cables: power, serial and EHCI:
Audio, S-Video and HDMI connectors are on same way as rest so all cables are in one side:
The problem appears when reversed BeagleBoard has to be mounted on top… I have such one with BeagleBUG extension. Extra distances helps but cables are not so nice then:
Notice that SD card in this config is harder to reach.
Serial cable is twisted but still do job.
Audio and video connectors are easy to reach but on other side of board ;(
Yes… that hub needs replacing — note ugly way of attaching power to it.
Anyway this works and allows me to have all cables in one place instead of jungle of them.
As it can be read in many places Maemo is based on Debian. The problem arrives when someone asks “which version of Debian?”…
The answer is “oldstable” (etch) + parts from “stable” (lenny) + some updates from “testing” (squeeze). But what does it mean for developer?
If you maintain Debian packages and want them to build for Maemo5 prepare to refresh your memory for (officially deprecated) Debhelper v5 (Debian uses v7 since Lenny).
If you use Debconf then you are out of luck rather — 1.4.70 is not even from Etch…
If you use Subversion then do not even try to touch repositories which you will checkout under scratchbox — 1.4.3 from Etch is too old for working with repos fetched with today’s 1.6.x versions.
For me it looks like they just refreshed Maemo from OS2007 times again and again and again without considering rebasing on newer release. But why?
On #maemo-devel channel I got answer that this was probably due to sticking with crap^Wscratchbox which has that old stuff. But moment…. Maemo is product made by Nokia, big company with big money, so why no one got paid to update it to at least Lenny?
Good that Mer people use quite recent Ubuntu as a base for their distribution which should make development for it easier (ignore fact that there is very small user base). But this project needs lot of love still.
Koala Nano PC joined my devices and started discussion “is hdparm good for testing devices”. Now I know that it was not good choice. Maybe one day I will run better set of benchmarks.
offered serial cables for BUG device for free — sent few during year. Now new BUGbase uses iPod connector so Handylink cables are useful only for JTAG.
played a bit with syncing mobile devices and failed. OpenSync really needs new stable release.
new interesting devices appeared on a market. I was considering buying TouchBook but after playing with 8.9” netbooks decided against — I need bigger keys.
sheevaplug arrived — now it is my BitTorrent, IRC, Samba, NFS server. And of course it runs Ångström not Ubuntu (which was preinstalled). Friend recently shown me his industrial adaptation of sheeva — amazing stuff.
LinuxTAG — this year I won BeagleBoard from Texas Instruments.
Palm Pre SDK has leaked and I took a look at it under Linux (by copying from MS Windows environment). Some time later they released newer version which worked better under Linux.
played a bit with netbooks/laptops and tried to write some kind of summary of things which define good laptop. Still use my Dell D400 anyway.
hacked Connman UI for QVGA as we use it on a BUG and original version was not usable. Whole work done by changing GTK+ application when I never spent time on learning how it works.
August
NHK-15 board arrived from ST-Ericsson. It is nice board with interesting features. Too bad that there is no kernels newer then 2.6.20 for it (to make full use of it).
T-Com W500V arrived — I bought it to have VoIP functionality with normal analog phone. Need to move it to my room probably as it is too unstable to be used over WiFi :(
September
Finally we found time for some vacations and visited my parents. It was nicely spent time.
new BUGbase available worldwide — this one has WiFi, Bluetooth inside so not need for BUGwifi module. And no more HandyLink as iPod connector took it place. Too bad that BUGdock is not possible to buy (FCC not certified etc).
got third BeagleBoard — this time from Texas Instruments Germany. I think that I won it during LinuxTag.
on last evening in Grenoble I got email from Quim Gil about Nokia N900 discount. Too bad that it was not day before as I met few people with this device during ELC-E.
After 8 years of no new apps development I started Protracker module player using Qt. One source works on my desktop and under Maemo5 SDK. Still need to finish it and create new UI for tablet devices as normal one is not usable.
What will next firmware release for N900 brings? That is common question asked by too many people. Some of them wants impossible things, some wants magic, some mention realistic things. But what really will be included? That’s other story…
I can write what I found in bugtracker (numbers at the end are internal build numbers):
bug 3675: backup will loop nearly infinitely for directories containing pairs of symlinks that do not point to descendants because backup is following them — 2009.47-5
bug 3728: Modest reports email username / password incorrect when it is correct — 2009.43
bug 3762: Performance is unusable on IMAP accounts with a large number of messages in one or more folders (e.g. INBOX) — 2009.46-16
bug 4851: libosso assumes that all ARM platforms has VFP instructions. — 2009.50-5
bug 4917: wdgt_va_full_12h_time, wdgt_va_12h_hours should be replaced by wdgt_va_full_12h_time_am/wdgt_va_full_12h_time_pm and wdgt_va_12h_hours_am/
bug 4976: Add option in modest to add/not add new contact when replying to mail — 2009.50-7
bug 5161: Fix some compilation warnings in GNOME version — 2009.46-16
bug 5309: Don’t show “Update All” if no updates are available — 2009.45-14
bug 5314: Easy to enter ~ ^ ‘ ` ” symbols with 3rd row of special character view — 2009.44-5
bug 7073: Changing password on Exchange 2007 makes MfE go crazy — 2009.42-5 (not included in 42-11)
Impressive list isn’t it? I have to admit that this shows me one thing — integration of Maemo5 in OpenEmbedded will be done sooner then later. Why? Because I want to get such stuff as fast as possible without waiting for official firmware releases.
Will all those bug fixes end in next firmware? No idea as this is not granted:
(Note: 2009 is the year, and the number after is the week.)
A future public update released with the year/week later than this internal
build version will include the fix. (This is not always already the next public update.)
Please verify that this new version fixes the bug by marking this bug report as
VERIFIED after the public update has been released and if you have some time.
To answer popular followup questions:
Nokia does not announce release dates of public updates in advance.
There is currently no access to these internal, non-public build versions.
And one more thing — xulrunner 1.9.2 (version used by Firefox 3.6-pre) was tested on N900 and may land in one of next releases (rather not first one).
I just released sources of my Protracker module player. What this application is and what it can do you can read in one of my older posts: I wrote module player in Qt.
What are features:
UI created with Qt Designer (so it is easy to change if you want)
separate UI for desktop and other for Maemo5 (automatically selectable during build)
Maemo5 uses 3 stacked windows just like UI Style Guide requires
uses Phonon to play (with GStreamer modplug plugin underneath)
As I have my Nokia N900 from DDP I have just one week to test does everything works properly — after that I am on my own.
So far I checked:
microphone by doing some GSM calls. This also shown that GSM modem works for voice.
GPRS data connections — from EDGE to HSDPA (did not checked speed)
WiFi connections
Bluetooth connections — synced PIM data from my Nokia E66 phone, used headset for calls
FM transmitter — played some children songs today during driving with my daughter
FM receiver — “FM Radio” application from repository works and plays (app still need work)
TV-Out — playing movies on CRT and LCD television sets
screen — to bad that I found bad pixels… but good that they are now not later
headphones — just included ones
USB charging and storage access modes
normal charging (included charger and standard Nokia one)
keyboard — works, things could be better
SIM slot — my card works but slot itself feels cheap and reminds me one from Openmoko phones. I hope that they will get rid of it in next devices — my E66 has better one.
microSD slot — works with 8GB card but mechanically it is disaster. Prefer to not use it too often as it can break.
main camera — nice photos
front camera — complete disaster… Now I know why there is no video calls. hint: install “Mirror” application
internal storage
My feelings after first days? Hardware is nice and (as usual) there is a space for improvements:
SIM slot should be changed to sliding one — current one can break too easily
microSD slot also should be sliding one — look at Nokia E66 for example
give fullscreen button back
battery cover should be thicker so device will not bounce on camera when left on table
move microusb to right and headphones to left side of device
move lock slider to left side (so it will be top when one hand operated)
I hope that I did not missed anything on list of things to check. I excluded Irda from it because I do not know is it supported at all.
But I am not abandoning that platform. It is just because my N900 has few dead pixels on screen. They are grouped in area of “task switcher” button so were harder to notice.
Are those bad pixels or just dust? No difference for me as in both situations they are visible.