Friday, August 1st, 2008 by Marcin Juszkiewicz
My previous post about Nokia N800 tablet emulation became one of popular ones. On LinuxTag I shown Maemo booting in QEmu and it was met with nice response from community. But the problem remained — how to boot it when config.mtd which I used was not distributable…
Yesterday I solved that part. After studying how Maemo boots and why does QEmu restarts with wrong config.mtd I grabbed that partition from my N810 and tried again. This time OS2008/Chinook booted fine :)
What is needed? Tablet needs to have “no-lifeguard-reset” flag set. IT can be done by using flasher as this is one of R&D flags. I had it set on my N810 because I did experiments with booting from internal SD card in past.


Thanks to Faheem Pervez (more widely known as “qwerty12″) who sent me config.mtd dumps (without R&D and with “no-lifeguard-reset”) from his N800 I was able to confirm that this is all what is needed.
Next step will be updating qemu to more recent revision to get N810 emulation (which is present in HEAD) and getting Diablo booted.
UPDATE: Diablo booted on emulated N800 and N810:


Nokia N810 emulation is more useful as there is a keyboard attached so no need for use of onscreen input methods. There are some things to remember anyway:
- Alt(Gr) behave like Fn (with sticky status)
- no CapsLock (but Shift works like on N810 so no big loss)
- no numeric row — to get “5″ press “Alt+t” like on N810
- some of other keys are also in weird places
- Right Shift does not work (N810 has 2 Left Shifts)
NOTE: This is QEmu HEAD — no extra patches were needed to boot Chinook on emulated N800. To boot Diablo “hw/nseries.c” file needs to be edited to change partition info (initfs is twice as big compared to Chinook).
Tags: maemo n810 nokia qemu 4 Comments »
Thursday, June 26th, 2008 by Marcin Juszkiewicz
OS2008 for Nokia tablets comes with Skype installer pre-installed to make installing it as easy as possible. But how to remove it if you do not use Skype at all?
The solution is not so simple if you do not know anything about how dpkg works. But if you know then you probably do not need to read rest of post :)
I looked at that “problem” and here is a solution:
- run X-Terminal
- became root (
sudo gainroot or any other method)
- edit dpkg status file:
vi /var/lib/dpkg/status and search for “skype-installer” - it will be listed once and you have to remove it.
- back in shell run
dpkg --purge skype-installer
And that’s all — no more “Skype” entry in menus.
Tags: maemo nokia 6 Comments »
Tuesday, June 17th, 2008 by Marcin Juszkiewicz
Nearly two years passed since I started to use my current cellphone: Sony Ericsson k750i. It is great device but I feel more and more limited during using it. For example PIM is very simple (no recurrent events, no attenders) and none of my PDA devices has something more extended.
PIM — Agendus
Few years ago when I had PalmOS powered Sony Clie SJ30 I used Agendus application for PIM. Recently I checked newest version in Garnet VM emulator on my Nokia N810 tablet. It is really great and complex application. There is a support for event attenders, contacts linking, contacts history (tasks, calls, meetings) and lot more. Interesting feature is support for “Trip” events — I tested it with my GUADEC 2008 trip. I was able to add timeline for whole conference, bus trips from Szczecin to Berlin Tegel airport (and back) + plane flights and all of that linked as one trip with all components available in calendar, agenda etc…
Yesterday I installed Windows Mobile emulator and checked Agendus for that platform. It lacks some features from PalmOS version (trips are one of them) but is much better then default WM PIM. I do not plan to check BlackBerry or Symbian versions because they are not on a list of systems which I want to use.
Which system to choose?
So the problem now is which cellphone system to choose… I do not want Symbian because most of devices lack touchscreen (iirc only UIQ ones have it), BlackBerry is totally unknown for me and I also do not want to use totally closed phones like I did in last few years. PalmOS is trying to not die but nothing new was done on this platform in last few years so it is also not for me. Looks like the only choice is going to Windows Mobile cellphones.
Possible devices
Which one to choose? Most of devices use QVGA screens which is a very limiting resolution. After searching on web and discussing with few friends I have a few devices to check — Toshiba G900 (WVGA, new ~480EUR, used ~300EUR, hardware keyboard, no gps) or something from ETEN Glofiish devices with VGA screen (X650, X800, M800, M810). HTC has only Touch Diamond with VGA screen but it is too expensive.
Why not Linux phone?
Because there is nothing interesting now :( Openmoko guys moved from GTK+ to mix of E17 and Qtopia and when I saw result during LinuxTag 2008 it was nothing impressive. To add more confusion there are at least 4 different environments for Openmoko in development (GTK+ based OM2007.2, Qtopia on framebuffer, E17 + Qtopia on X11 and something called “Openmoko underground”). Also formfactor of GTA01/02 is not something I would call “nice” — have a look at any device manufactured by HTC…
And I did not yet saw Linux mobile platform with good PIM… Maemo lack it totally — even GPE contacts/calendar are hard to use due to lack of alarms functionality, Openmoko does not decided yet which PIM they want to support (not that there is something on a horizon)… So sorry guys but I will not buy Linux phone soon.
Tags: guadec n810 nokia openmoko palmos phone sonyericsson windows mobile 21 Comments »
Monday, June 2nd, 2008 by Marcin Juszkiewicz
Over year ago I wrote post about USB — connected most of my devices/gadgets into desktop USB ports and checked how system reacts to it. As Kees Jongenburger gave me USB AF/AF adapter during this year LinuxTag I decided to do the same with N810 tablet.
Required software
In theory nothing is needed as N8×0 tablets are equipped in USB On-The-Go port and proper support is enabled in kernel. To make things easier users can install USBControl (available in normal Maemo repositories).
But there is one problem — default kernel is compiled with OTG whitelist enabled. As a result some classes of devices are rejected — for example all my USB Hubs. After disabling of CONFIG_USB_OTG_WHITELIST (and recompilation of kernel) they got supported.
Attached hardware
I decided to not connect everything USB I have but most of it. Resulting list (names in brackets are added by hand):
Bus 001 Device 001: ID 0000:0000 (Nokia N810 internal USB Host)
Bus 001 Device 004: ID 058f:9254 Alcor Micro Corp. Hub
Bus 001 Device 005: ID 058f:6362 Alcor Micro Corp.
Bus 001 Device 007: ID 0c76:0007 JMTek, LLC.
Bus 001 Device 008: ID 0409:005a NEC Corp.
Bus 001 Device 020: ID 1457:5122 (OpenMoko GTA01 phone)
Bus 001 Device 021: ID 046d:0b02 Logitech, Inc.
Bus 001 Device 023: ID 046d:c70e Logitech, Inc.
Bus 001 Device 024: ID 046d:c70a Logitech, Inc.
Bus 001 Device 026: ID 0409:005a NEC Corp.
Bus 001 Device 027: ID 0403:6001 Future Technology Devices International, Ltd 8-bit FIFO
Bus 001 Device 028: ID 0fce:d016 Sony Ericsson Mobile Communications AB
Bus 001 Device 029: ID 05e3:0606 Genesys Logic, Inc.
Bus 001 Device 030: ID 0a81:0205 Chesen Electronics Corp. PS/2 Keyboard+Mouse Adapter
Bus 001 Device 031: ID 1130:0202 Tenx Technology, Inc.
Bus 001 Device 033: ID 0a46:9601 Davicom Semiconductor, Inc.
Bus 001 Device 034: ID 13fe:1d00 (2GB pendrive from GUADEC 2007)
In other words:
- 3 hubs (2 of them were powered, one had 7 ports)
- Ethernet card (dm9601 based)
- serial port
- PS/2 -> USB adapter for keyboard and mouse
- 2 pendrives
- Bluetooth adapter (those 3 Logitech entries)
- panic button
- Openmoko GTA01 pda/phone
- my cellphone
- multi slot card reader
Obligatory screen shot
Screenshot must be — especially when it shows that GUI was not ready for this amount of devices. But thats expected — in normal situations no one connects more then one device (especially when USB hubs are not supported).

Conclusion
USB Host ports are handy in devices like N810 tablet. Would be nice if there would be possibility to update firmware from thumb drive like it is one few other devices.
Tags: gadgets maemo n810 nokia openmoko 1 Comment »
Friday, April 11th, 2008 by Marcin Juszkiewicz
Few days ago Nokia N800 tablet emulation was released into public. Richard integrated it into Poky so now we have QEMU which can be used not only to test ARM images on ARM Versatile or Sharp Zaurus but also to run on Nokia N800 tablet. Of course it is not limited to Poky images — Maemo boots very nicely on it :)
Poky
Booting Poky is easy: runqemu nokia800 after building of “poky-image-sato” for “nokia800″ machine. After few minutes (needed to create NAND Flash image and boot into JFFS2 rootfs) Poky desktop appears:

Maemo
Booting Maemo takes few steps more now (will be improved).
- Edit “scripts/poky-qemu-internal” script and in line 154 change KERNELCMDLINE to boot from “/dev/mtdblock3″ instead of “/dev/mtdblock4″ as Poky do not use Maemo’s “initfs”.
- Get copy of “config” flash partition from N8×0 — simple “cat /dev/mtd1ro > config.mtd” is enough. Bad news: it does not work :( And the one which works for me is not distributable as it does not came from device but was pre-generated somehow.
- Transfer it to the desktop.
- Grab OS2008 firmware image from Maemo website.
- Unpack firmware image to get kernel and images of “initfs” and “rootfs”.
- Use
poky-nokia800-flashutil to generate NAND Flash image:
poky-nokia800-flashutil initfs.jffs2 maemo-image.qemuflash initfs
poky-nokia800-flashutil config.mtd maemo-image.qemuflash config
poky-nokia800-flashutil rootfs.jffs2 maemo-image.qemuflash rootfs
Then “touch maemo-image” and run one command: poky-qemu zImage maemo-image to boot it.


Status
Basic emulation works. There is no networking yet, DSP code is not emulated and few other limitations. But it is work in progress so expect improvements.
How to get it
Patch alone can be fetched from Poky repository.
Linux binaries of QEMU with N800 support can be built with Poky by bitbake qemu-sdk command. They will be also part of Poky Linux SDK — nightly builds are available on Poky website.
UPDATE: poky-nokia800-flashutil instructions are fixed (thx to Yasser)
Tags: maemo nokia poky qemu 18 Comments »
Thursday, April 10th, 2008 by Marcin Juszkiewicz
Three months ago I wrote post about situation of my Nokia 770 tablet. Today I looked how situation looks with non-Maemo systems.
Flashed recent Poky Linux build. Device booted into nice Sato desktop which I am familiar with. As it was expected — no WiFi support in base system. Why? Licensing problem.
Nokia tablets WiFi stack in implemented by:
- firmware loaded to the chip at runtime (when interface is brought up)
- closed source wi-fi stack in module umac.ko
- open source glue layer cx3110x which forwards packets between firmware and umac.ko over SPI and implements support for linux wireless extensions API.
We also use 2.6.18 kernel from OS2007 instead of 2.6.16.27 from OS2006. With some hacking on “umac.ko” module from 2.6.16.27 + patching “cx3110x” driver I got module which loads on my device. But then other problem appeared — WPA Supplicant is unable to connect to WiFi interface due to lack of wireless extensions support. And Nokia implementation is closed source :(
On IRC I got information that there is a patch which adds WE18 support into cx3110x driver. Fetched, applied but situation is the same:
[ 7206.999359] umac: module license 'Proprietary' taints kernel.
[ 7210.030334] CX3110x chip variant: STLC4370
[ 7210.319458] CX3110x: firmware version: 2.13.0.0.a.13.14
[ 7210.319580] Loaded CX3110x driver, version 0.8
root@nokia770:~# wpa_supplicant -Dwext -iwlan0 -c /etc/wpa_supplicant.conf
ioctl[SIOCSIWPMKSA]: No such device
and then reboot :(
So it looks like my 770 will get Maemo OS2006 again and will end it’s life as console for simple games + music player. Too bad that it hard to make it work with other systems.
BTW: I wonder why Maemo.org forbids GoogleBot… It is really hard to find Maemo related things with Google :(
UPDATE: Niels Breet (X-Fade on #maemo) pointed me to maemo webdevs discussion which clarify that GoogleBot index Maemo websites. My fault — sorry guys. It is hard to find current informations in wiki but there are plans to move to MediaWiki and reorganize content.
Tags: nokia poky 10 Comments »