First days using Tosa/2.4

During last days I moved from my C760 to Tosa. It is heavy, big and has awesome screen — I can use it even with lowest brightness setting (one step from “no backlight”). Stylus is made from plastic but is longer then styli from other Zaurus models. Internal WiFi is able to do WPA on firmware level but driver do not support it ;(

First day was SharpROM day because I forgot to take CF card from home to flash OpenZaurus. SharpROM looks quite OK but some things was weird. For example handling of QVGA applications — screen was switched into 240×320 mode with ‘please wait’ message on start and exit… This slowdown plus no possibility to switch off that switching force user to rather skip using such apps. WiFi settings has profiles support which is nice but due to fact that internal wireless use wlan-ng drivers I could not get WPA so was not able to connect to my home AP.

Same day evening I flashed OpenZaurus 3.5.4 (OPIE flavour) into device. System boots and works but I needed to install some upgrades to get fixed keyboard mapping etc. Reconfigured AP to get connection, configured WiFi in tosa and ipkg update;ipkg upgrade was working. Lot of stuff upgraded and after reboot I got working keyboard but lost HostAP configuration files (will hunt this bug and add proper fixes into OpenZaurus upgrades feed). Lack of Control key make it not so usable with OPIE terminals so I use OPIE-IRC on it instead of logging into my irssi-over-screen session. And there are two keys which functionality is something which I must find out (one above Cancel and Backlight/Rotate one).

Machine works quite nice but after using 2.6 kernel on PDA for over one year I feel that 2.4-crapix is slow… Resuming from suspend need time to get machine responding, enabling WiFi means machine not responding for a while too… I hope that 2.6 will get into usable state soon.

OE/OZ project devices arrived

About one month ago one OpenZaurus user contacted me and Michael ‘mickeyl’ Lauer with info that he want to donate two Zaurus machines to project — SL-6000L (tosa) and SL-5600 (poodle). After some discussion we decided that both machines will be sent to me. I will keep tosa for some time to resolve some of bugs, poodle will go to Mickeyl when we will meet in Berlin during OpenEmbedded developer meeting. Both machines are added into OpenEmbedded project devices.

As donor could not send them overseas I contacted Aman ‘TheMasterMind1’ Gupta (one of old time OpenZaurus developers) and he agreed to get them and resent to me. Last Friday I got mail from customs office that package wait for me. I went there, paid 22% VAT (110 USD) and got box with two Zauruses.

Now I’m charging Tosa — it’s huge but this screen is awesome! Now I understand why people want it in clamshells — Sharp do you hear it? Stop using screen from c700 and move to something new! I also played a bit with SharpROM (last time I used SharpROM over two years ago with my collie) and I can say that it looks nice but I feel slowdowns too often, weird behaviour on application close, handling QVGA apps is weird for me too. Too bad that I cannot test USB Host functionality — Sharp forgot to add proper cable and they are hard to buy (USB mini-A connector) but I found them in Trisoft offer so maybe will get it soon.

UPDATE: I contacted Trisoft and they will send me USB host cable for free. I also ordered one for our main tosa kernel hacker Dirk Opfer (also free). It is good that such companies exists — without them getting Zaurus and accessories in Europe would be hard.

During evening I plan to find time to flash tosa to OpenZaurus 3.5.4 + upgrades and check what need to be fixed. Too bad that wlan-ng driver for Prism2 USB lack WPA — I will have to lower security of my home AP — now it is WPA-PSK but will move to WEP so Tosa will connect with internal wifi. Next I will check how poodle works but this machine is something which I prefer to not touch too much rather — it’s 2.4 support was already marked as ‘terrible, awful’ and we want to move into 2.6 kernel on it. I will check how both machines works with 2.6.17 and maybe will try to hack it a bit — time will show.

OpenZaurus status

As I wrote on OZ website next release of OpenZaurus is coming. All images are working, now it is time to build feeds. I think that it will take few days of work. Progress can be traced in OE Tinderbox as “ewi-OZ-” build.

When it end I will have to check all packages, split them into feeds and then final work on release will have to be done — rebuilding images, testing them on all supported platforms (will have to get some helpers) and then release. And of course sending info to some of Linux targeted websites.

After release I will probably work on improving Tosa (Sharp Zaurus SL-6000) support due to anonymous donor which donated Tosa and Poodle to our project. Both machines will get used to improve their support in OpenEmbedded derived distros.

Handling PCMCIA/CF cards in Linux

I do not like a way how PCMCIA/CF cards are handled under Linux. For kernels < 2.6.13-rc1 the only choice is pcmcia-cs package with lot of files in /etc/pcmcia/ which are just cardctl ident output edited a bit with added driver name:

root@c7x0:~# cardctl ident
Socket 0:
  product info: "Pretec", "CompactWLAN Card 802.11b", "2.5"
  manfid: 0x0156, 0x0002
  function: 6 (network)
root@c7x0:~# tail -n4 /etc/pcmcia/hostap_cs.conf
card "Pretec WLAN"
  version "Pretec", "CompactWLAN Card 802.11b", "2.5"
  manfid 0x0156, 0x0002
  bind "hostap_cs"

With newer kernels we have two options:

  • stick with pcmcia-cs and it’s configs
  • use new pcmciautils and udev rules

Pcmciautils way is nice — no extra daemon running, cards are handled as hotpluggable — everything looks nice and clear… But there is something other — list of devices handled by driver is in driver itself — so if you get card which is not there then you have to provide patch for it (like I already did for some cards) or try module aliases.

But both methods has one nasty thing — no way to tell ‘this card HAS to use THIS driver NOT that’ ;( This situation is common for Prism2 based WiFi cards which can be used with orinoco_cs driver (will appear as eth0) or with hostap_cs driver (appear as wlan0). For example my Pretec card (ident shown above) is handled by both drivers but only HostAP give me possibility to connect to my home network which use WPA-PSK for security (Orinoco does not support WPA at all). And all because some manufacturers was to lazy to change manfid/prodid of card from the one which reference card had…

Choosing laptop for Ania

My fiancee Ania wants to buy laptop to not have to use my desktop machine. So I started digging in catalogs of Internet shops and misc forums, reviews to check what to choose. There is a price limit so machine had to be lowend one.

After some digging I found Acer TravelMate 2423NWXMi to be best choice — Linux instead of Microsoft Windows, DVD-RW drive, WiFi 802.11g and panoramic (1280×800) screen. Found local shop which want 510 EUR for it (with 256MiB of RAM which we will upgrade to 512MiB to get it usable) so we will probably buy it in next weeks (I have to start own business first).

I hope that it will be good machine and will not require replacement during atleast one year. Does anyone used it and want to share opinion?

UPDATE: after talks with few salesmans I’m thinking about finding something other — Acer service support is called ‘nightmare’ too often…

Users and unmaintained applications

As most of you know I maintain OpenZaurus distribution. We provide few graphical enviroments — OPIE is most popular one. And here comes a problem…

Years ago OPIE forked from Qtopia but it’s still compatible — mostly on source level (any Qtopia application/library can be built for OPIE). Years ago OpenZaurus moved from gcc 2.95.x to more modern compilers — 3.3.x was choosen. This broke binary compatibility and ‘oz-compat’ aka ‘sharp-compat-libs’ package was born — it contain libqte2 and libqpe1 from SharpROM to get possibility to run old binaries under new edition of OZ.

But with OpenZaurus 3.5.1 we started to use ‘soft-float’ toolchain (ARM cpu lack FPU and use FPU emulation on kernel level — soft-float replace FPU instructions with extra code so emulator is not used). This change broke ‘sharp-compat-libs’ — some apps was working, some not but even if something worked then not always correct (for example spreadsheets gave wrong results from calculations).

Newest version of OZ (3.5.4) does not provide ‘sharp-compat-libs’ so users start to request old, dead upstream, not fetchable applications to be added into OpenZaurus. I tried to get one of them working — as usual code required some changes to get it build with gcc 3.4.4 but finally it built. But then new question came: How to manage such dead software… If any problem will arrive no one will fix it rather. So I asked other developers and final version is: no support for such crap at all.

I know that some users will complain more now but sorry — who will maintain such stuff?

The DaVinci Code

Yesterday I took Ania to cinema to watch “The DaVinci Code” movie. The book (my first in English) was interesting and it was hard to make break during reading so I was curious how good the movie will be.

I read few reviews of movie which was saying that most of action is kept. Friend (which did not read a book before) told me that action was quite easy to guess but as a whole it was enjoyable.

So I was ready to watch. The movie was interesting but too long — 2.5h for that kind of movie is definitely too much — we even started to sleep during watching (show started at 19:30 + commercials). Paul Bettany was great as Silas — rest of actors less. Audrey Tautou will be still “Amelia” for me. Movie itself was changed too much (compared to book) — I can understand cutting the scenes (who will watch 4h movie?) but not such drastic rewrites like for example scene in Roslyn where Sophie Neveu meet her grandmather but no word about brother (which was shown few minutes before).