Saturday, 18 April 2009

DSL Linux on the Omnibook 800CT - Part 2

OK, here's my annotated minimal XF86Config-4 file - it's quite a bit shorter than your typical sample file but works for me:

# XFree86 has has built-in defaults for font file paths
Section "Files"
ModulePath "/usr/X11R6/lib/modules"
EndSection

# Desktop rendering isn't quite right without these
# DRI/GLX are way beyond the Neomagic chip!
Section "Module"
Load "dbe"
Load "extmod"
Load "freetype"
Load "record"
Load "type1"
EndSection

# I have a UK Omnibook
Section "InputDevice"
Identifier "Keyboard[0]"
Driver "keyboard"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc102"
Option "XkbLayout" "gb"
EndSection

Section "InputDevice"
Identifier "Mouse[0]"
Driver "mouse"
Option "Device" "/dev/psaux"
Option "Protocol" "PS/2"
EndSection

Section "Device"
Identifier "Omnibook"
Driver "neomagic"
EndSection

# Auto mode selection doesn't work without sync/refresh rates
Section "Monitor"
Identifier "Monitor[0]"
HorizSync 31.5 - 48.5
VertRefresh 50.0 - 70.0
EndSection

# I only intend to run 800x600x16
Section "Screen"
Identifier "Screen[0]"
Device "Omnibook"
Monitor "Monitor[0]"
DefaultDepth 16
SubSection "Display"
Depth 16
Modes "800x600"
EndSubSection
EndSection

Thursday, 16 April 2009

Excellent Resource - SpareInfo

This chap has been doing some sterling work on getting Linux up on the U810 with some good tablet driver and rotation stuff. Well worth a look.

Tuesday, 14 April 2009

DSL Linux on the Omnibook 800CT - Part 1

I plan to turn my one of my old Omnibook 800CT's into a "smart" wireless backup drive. It's not a lot bigger than one of the regular smart drives being basically an early netbook but its got enough grunt to act as an rsync server and also, at a push, can actually display most of its content. It's also much more configurable since it will have a local screen, and a proper OS.

Specs as follows:
  • CPU: P166 MMX
  • RAM: 80MB
  • HDD: 160GB IDE (BIOS only sees 8GB but that's not a problem for a sensible OS)
  • Display: 800x600 16-bit 10.4" TFT
  • Graphics: Neomagic 128ZV
  • Dimensions: 28.2 cm x 18.5 cm x 4 cm
  • Weight: 1.8kg

I'm trying Damn Small Linux for this purpose - if it goes well then it will go onto my other lower-spec 800CT's which will become basically wireless X terminals.

First off, the Omnibook won't boot from CD. I've lost the SCSI and power cables for the Omnibook's own CD-ROM drive but I have a 10-year-old PCMCIA Freecom Traveller CDRW around (the old drive in it expired long ago but you can drop any slimline ATA optical drive in).
  1. Download the DSL iso and burn to CD

  2. Download the DSL boot floppy image and rawwrite/dd to a disk (I used rawwrite since to 800CT still has an old Windows 98SE install on it.)

  3. Download the DSL pcmcia driver floppy image and rawwrite to another disk

  4. Boot from the first floppy and enter dsl frompcmcia at the boot prompt

  5. Insert pcmcia driver floppy when prompted
At this point we discover that the default Xserver doesn't work (nasty stripes all over the screen). Trying the boot prompt cheatcode xmodule=fbdev fb800x600 gets me a working display but the mouse is all over the place. So CTRL-ALT-BACKSPACE out of X at this point and go for a command-line installation:
  1. Partition the hard drive using fdisk - I went for 512MB root, 512MB swap at this point

  2. sudo su gets to a root prompt

  3. dslinstall brings up an installation menu

  4. Select Install to hard disk
This works fine - swap is picked up automatically if mkswap has been run on the partition. Logging on tries to bring up X automatically but it's easy enough to kill the X server as above provided you selected the fb800x600 GRUB boot option on startup. The DSL Wiki suggests that the answer to the mouse problems is to use XFree86.dsl extension rather than the minimal X servers. To do this I need wireless networking up and running - there's an old NetGear MA401 802.11b PCMCIA card in the Omnibook which the installer picked up (cardctl ident confirms this) so it needs configuring (it appears as eth0 in DSL):
  1. iwconfig eth0 essid MYSSID key XXXX...

  2. ifconfig eth0 up

  3. pump (no, not dhcpclient or anything like that - thankyou, DSL Wiki, I wouldn't have got that one)

  4. mydsl-wget XFree86.dsl system

  5. mydsl-load XFree86.dsl

  6. Edit /root/.xserverrc and /home/dsl/.xserverrc to run the XFree86 server which means that the default DSL GRUB boot option will now work:
    exec /usr/X11R6/bin/XFree86 -nolisten tcp
  7. chattr +i .xserverrc (sets the file as immutable to stop accidental reversion to Xvesa)
Now the crunch - getting the configuration file /etc/X11/XF86config-4. For this, I started with an empty file and added sections until startx brought up a a reasonable uncorrupted screen. I'll post an annotated version later.

Tuesday, 7 April 2009

Nokia 5800 16GB

There's been a lot of talk online about problems with 16GB micro SDHC cards in the 5800. Just got a Dane-Elec 16GB Class 4 card from 7dayshop which seems to work fine and was pretty cheap too.

Have put the MTP issue on hold for a bit and just mounted the 5800 as USB Media and copied 8-9GB of MP3 across which took a while. The whole SDHC speed class thing is a bit of a joke - even class 6 isn't exactly speedy (40x in old money). When you see Pretec launching CF cards at 666x...

Monday, 6 April 2009

Joys of Atheros

Have been playing with the Nokia 5800 and Joikuspot which turns the 5800 into an ad hoc wireless 3/3.5G router which is nice, very, very nice.

Except that ad hoc on the U810's Atheros is distinctly non-trivial. With the madwifi (now moved to http://madwifi-project.org) drivers, the athX devices are VAP's (virtual access points) created from the root device, wifi0 using wlanconfig . The important thing to realise is that the athX device only supports a particular wireless mode. By default (in OpenSuSE 11.0, anyway) this is sta which is workstation infrastructure mode and requires an access point. The Joikuspot network shows up in KNetworkManager but you can't connect.

Fair enough, you can create another VAP to support adhoc mode as madwifi allows you to have multiple VAP's which allows you to neat things like use your U810 as a wireless repeater or gateway. Except there's a bug - the one sort of VAP you that doesn't play nicely in multiple VAP configurations is adhoc. And judging from project discussions fixing adhoc is not exactly top of the priority list since it's not "enterprise" and anyway we're meant to be moving to the fully open ath5k driver anyway.

The alternative then, is to destroy the default sta mode VAP and create the adhoc one so it is the only one. To their credit, the madwifi website does document this all quite clearly although it does confuse KnetworkManager a little. Then all is good except, of course, I can't roam and connect to the vast majority of infrastructure mode access points out there until I reverse the process. I did start setting up a couple of scripts to switch between the two modes when I encountered another issue with adhoc VAP's which is that every so often I was getting a hard lockup and I mean power-cycle hard.

So it's off to Bluetooth DUN profile tethering for me for a bit (shame the 5800 doesn't have a PAN profile...). Which might turn out for the best, since Bluetooth power consumption on both the 5800 and U810 is much lower than for wifi. Not as elegant though IMHO :(.

P.S. ath5k doesn't even recognise the card.

P.P.S. I tried swapping the Atheros for an Intel Wireless PCI-E card in the U810. No dice - the BIOS looks for the Atheros and doesn't seem to enable the PCI-E slot if it's not there.

Wednesday, 25 March 2009

Linux Kernel Parameters

More a reminder to myself. ..

Installing OpenSUSE 11.0 on a SuperMicro H8DAE seems to hang loading amd_pata (or just after) but this is fixed with a boot parameter insmod=amd74xx which loads the correct driver in advance.

Tuesday, 24 March 2009

Nokia 5800 - MTP

OK, I've got a 5800 as a new phone - hopefully so I can use it a bluetooth 3G modem for the U810. Now to get it running with Linux. The question is where to start as there are so many bits to get working - Bluetooth, MTP, SymcML, 3G Modem...

Since it's the XPressMusic let's start with media synchronisation. Plug in the USB cable and select Media Transfer mode which should bring it up in MTP mode. I've had Amarok working with a Creative Zen in MTP mode so this should work - create an MTP device in the Amarok Configuration and click Connect. No such luck, hmmm.

The Packman repository has a new libmtp which is worth a try. Uninstall the old libmtp, Amarok and all the dependencies so we start clean. Then select libmtp8 and Amarok - things are looking better but a couple of things to note...
  • The 5800 takes an age to respond to MTP connection setup so be patient. Running mtp-detect will appear to hang for 10-20 seconds before dumping out device capability info. Amarok does the same.
  • If you change the 5800 USB connection mode (say from PC Suite to Media Transfer) while it is connected then libmtp/udev get very confused. Best to disconnect/reconnect to do this.
  • PC Suite mode seems to be an MTP mode as well, though with a different device ID (0421:0154) than Media Transfer (0421:0155)
  • My 5800 came with a load of guff on the Micro SDHC card which you probably want to clean off (dump a copy somewhere just in case...)
  • Selecting ring tones seems to want to list every MP3 on the phone as an option which is very tiresome when you've got 1000+ songs on the thing. Best to configure your profiles with the SDHC card unplugged or before you've loaded up.
All not not perfect though. Amarok fails to transfer files to the 5800 for no obvious reason. I can connect, list the files on the device, copy and remove them but not transfer to new files. I can however, use mtp-connect to transfer a file and it works fine. Mysterious. FWIW libmtp is 0.3.3 and Amarok is 1.4.10.

I have just put the new V20 firmware on the 5800 - many irritiations are fixed/improved and perhaps MTP is slightly less glacial.