Monday, 18 February 2008

For my own future reference: How to quickly turn the neo1973 into a USB sound card, courtesy of avahi and pulseaudio:

ssh root@fic-gta01.local
ipkg install pulseaudio-module-zeroconf-publish
echo "load-module module-native-protocol-tcp auth-ip-acl=;" >> /etc/pulse/session
echo "load-module module-zeroconf-publish" >> /etc/pulse/session
/etc/init.d/pulseaudio restart

Now the padevchooser applet on the Desktop lists "output on fic-gta01" as audio sink. I really should stop ripping out my laptop's headphone jacks.

Thursday, 7 February 2008


Since that wicked N810 arrived, I've had to neglect the other devices a bit. The reason is mainly that the OMAP2420 CPU has an integrated TMS320C55x DSP. And thanks to the DSP Gateway it is possible to actually run our own code on it (see the DSPProgramming wiki page). Before, I could only dream about playing with those inaccessible DSPs on the OMAP850 and Calypso chipsets.

So I set out to learn C55x assembly and at the same time figure out how to play sound directly from the DSP. I somehow got the idea that this could be done by disassembling the pcm2 dsptask module (that is the backend for the dsppcm GStreamer sink, which unfortunately can't be built because the latest version of the DSP header files is nowhere to be found).
I think I have understood the bigger part of the pcm2 code by now, although trying to grasp indirect adressing using ARn registers gives me headaches. The stream setup and the command interface to the ARM processor is already recreated, but the most important part is still missing: the actual data transfer of PCM data from ARM to DSP via mmap and from DSP to EAC via SIO issue/reclaim.
Once that is done, I hope to make use of the knowledge gained by helping the DSP OGG Vorbis decoder project.

In the meanwhile, bricks keep falling into place in kernel land, so I have to do some catching up and submitting patches for at least Magician soon.

Wednesday, 16 January 2008

Maemo SDK

Having given away the shiny new n810 for a week, there was plenty of time to get the Maemo SDK to work. And I needed it.
After the Scratchbox installation, I was greeted by:

ph5@monster:~# /scratchbox/login
Inconsistency detected by rtld.c: 1192: dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dos' failed!

Google helped to find out that my kernel is missing COMPAT_VDSO. So I used that as an opportunity to upgrade to 2.6.24-rc7 (and later -rc8). Then b43legacy locked up hard. dtl1_cs panicked. All kinds of ext3 file systems wanted to be fscked... I knew I wouldn't have the patience.
Anyway, now that the ancient glibc in Scratchbox worked I could install the Maemo SDK and the (ugh) proprietary binary packages. Because I'm lazy I need this script to start the Maemo environment inside Xephyr:

Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac -extension Composite &
DISPLAY=:2 /scratchbox/login -k start
DISPLAY=:2 /scratchbox/login -k stop

Friday, 11 January 2008


It arrived. And it is everything I expected it to be. Sure, the upper row of keys is far too close to the bottom of the screen. A first test showed GPS reception1 to be a joke. The window list and cancel keys to the left of the display may look nice, but they feel like somebody just cut them into the screen bezel as an afterthought, scraping metal against metal when I press them.
But the display is very nice, the overall size is great and I like metal casings. A worthy successor to the iPAQ hx4700 in every regard. Thanks again to Nokia and especially to the Maemo team!
Besides, it is my first gadget with an integrated keyboard at all (and the second one running Linux from the start, after the OpenMoko neo1973).

First programs installed: openssh and avahi-daemon
First programs missed: pulseaudio and freeciv. But there is hope.

1) at least for the initial locking

Saturday, 5 January 2008

N810 ordered ... not

Nokia is teasing me. Yesterday an eMail entitled "N810 maemo program instructions" arrived, and with it a new rebate code. I happily followed the included link to the German Nokia online shop and entered the code, only to learn that the shop still considers it invalid :/