vendredi 13 avril 2007

Logitech DiNovo Edge on YDL 5.0 - PS3

The Logitech DiNovo Edge keyboard is currently not fully supported under TerraSoft's YelloDog (YDL) 5.0 Linux distribution. The keyboard part works but the touchpad is not. Fortunatelly this is fixed in recent 2.6.20 kernels. The problem is that YDL 5.0 comes with a 2.6.16 kernel patched for the PS3 (2.6.16 20061110). In the YDL repository newer kernels exist but they fail to run on the PS3 .. because they are not built for PS3 but rather for generic PPC architectures !

In fact full support for the PS3 is not present in neither 2.6.16 nor 2.6.21 official kernel trees - only partial support is present. Full kernel inclusion is scheduled from what I've read for 2.6.22.

I managed to compile a kernel following instructions at http://julipedia.blogspot.com/2007/03/building-updated-kernel-for-ps3.html (i.e. based on Sony's Geoff tree). However, Geoff's git repository evolves daily. The procedure didn't worked a few days ago (hang during the boot process) but is working today (as of April 7th 2007). I'm now able to boot on a 2.6.21-rc5 kernel on my YDL 5, including modules support.

But I also noticed a few issues with that version:

- the boot-game-os fails to reboot to game os ... until the next Linux reboot ...

- the Bluetooth stack fails to achieve a scan (hcitool scan end up with a timeout)

So I have backported the Dinovo Edge code from kernel 2.6.21-rc5 in the YDL 2.6.16 supplied kernel (http://ydl.net/pub/updates/yellowdog-5.0/SRPMS/) and it works fully ... in USB only (with the supplied dongle) ...

Here is the a summary of what is working / not working :

- kernel 2.6.16 : Keyboard USB *OK* / BT *OK* - Touchpad USB *KO* / BT *KO*

- kernel 2.6.16 patched : Keyboard USB *OK* / BT *OK* - Touchpad USB *OK* / BT *KO*

- kernel 2.6.21-rc5 : Keyboard USB *OK* / BT *KO* - Touchpad USB *OK* / BT *KO*

So the best choice is to use a patched kernel 2.6.16 ... until an official update from YDL.

Here are the instructions to get it and use it:

*** Beware do not attempt to do that if you don't have a minimum Linux experience ***

The patched kernel can be downloaded here:

http://electrozen.free.fr/dinovo/ydl-dinovo.tar.gz

To use it unpack the archive on the / directory as root.

Change your /etc/kboot.conf by adding a line for the new kernel.

See below for my own /etc/kboot.conf (the most important line is labeled "edge" - beware that the video mode shall be changed to your likings):


# kboot.conf generated by anaconda
default=edge
timeout=10
root=/dev/sda1
edge='/dev/sda1:/vmlinux-2.6.16-20061110.ydl.2ps3-edge initrd=/dev/sda1:/initrd-2.6.16-20061110.ydl.2ps3-edge.img root=/dev/sda2 init=/sbin/init video=ps3fb:mode:131 rhgb'