So I figured today was the time to delve into the secrets of chipsets, firmware and flashing, just to see if I could get the Buffalo running again in Zubuntu.
First I checked for the chipset on the Buffalo card. Where else than on OESF I found that the Buffalo had a Prism 2.5 chipset. Next thing I checked was whether there was a way to update the firmware. I had no idea, never tried actually. I found this great site with lots of interesting information about flashing prism2 firmware.
I noted the information (using the '
dmesg|tail' command) after inserting the card into the Zaurus. It said:
wifi0: NIC: id=0x800c v1.0.0
wifi0: PRI: id=0x15 v1.1.0
wifi0: STA: id=0x1f v1.3.5
wifi0: defaulting to host-based encryption as a workaround for firmware bug in Host AP mode WEP
wifi0: defaulting to bogus WDS frame as a workaround for firmware bug in Host AP mode WDS
wifi0: registered netdevice wlan0
Using this handy reference table, I found that in my case, having a NIC id of 800c, I needed a primary 'K' and secondary 'F' release code of the Prism2 firmware. So I downloaded the firmware, using version 1.1.1 (
pk010101.hex) for the primary firmware and version 1.8.2 (
sf010802.hex) for the station firmware. Version 1.8.2 is not the latest (that is 1.8.4) but reportingly the most stable version, so I went for that one.
I used the Zaurus to do the actual firmware flashing. The
hostap-utilspackage contains the
prism2_srecutility, which is used for the firmware flashing. After doing a testrun using...
# prism2_srec -v wlan0 pk010101.hex sf010802.hex
...I saw no significant errors of any kind, so I then started the actual flashing using...
# prism2_srec -v -f wlan0 pk010101.hex sf010802.hex
This went flawlessly, and '
dmesg|tail' now told me:
wifi0: NIC: id=0x800c v1.0.0
wifi0: PRI: id=0x15 v1.1.1
wifi0: STA: id=0x1f v1.8.2
Firmware upgrade went fine this far, according to the version upgrade, so now it was time to check whether or not the card supported any new features, WPA being the most important for me.
In the current version of Zubuntu I use WICD as network manager. In the properties I saw my home network instantly (it was not shown at all before the flash upgrade) and I could choose WPA as well. After entering my WPA passphrase I was connected to my wireless home network in just a minute.
This was worth the upgrade, I hope this is of any help to any of you. It may be worth upgrading your wireless card as well. Be careful to pick the right firmware versions for you specific situation!
[ 5 comments ] ( 399 views ) | permalink | ( 3 / 21580 )
2.6.31-rc3 kernel MD5: 602d83142fbf3d8692e4adf4dee07b4d 2.6.31-rc3 modules MD5: b154506766ead4018140ca3c8bef9a63
Like previous kernels, the offline charging code still doesn't work, but at least the suspend/resume works again (thanks to Eric Miao for helping out again). This kernel also has all drivers compiled in to get Android going, so hopefully more on that later as well.
Again, please give it a try and give me feedback on your findings!
[ 13 comments ] ( 749 views ) | permalink | ( 3 / 21182 )
Current statusThe 2.6.31-rc3 kernel is booting. Long live the serial cable, which revealed that there currently is a problem with the alsa sound device driver. So after disabling sound support in the kernel for the time being the kernel at least boots. Not that I see anything in the console! Bummer, the lcd (or backlight?) seems to be turned off. But from the serial console I understand that everything boots ok. After logging in as "root" (blindly) and starting "xinit" the Zubuntu desktop is started. Fonts are displayed as boxes, but hey, that should be easily fixed. I almost got excited, but soon found out that the touchscreen doesn't seem to work. But then again, I didn't calibrate the screen... Now, how do I press Ctrl-Alt-Backspace on this ridiculous small keyboard... I don't know, stuck again I guess. Ouch, have to Reset the device again, possibly corrupting the filesystem.
Anyone willing to help from here?
Bare in mind that this is all pretty experimental, so if you want to try it yourself don't be afraid to get your hands dirty and be prepared for some nasty headaches!
Backing up your deviceFirst thing I did was making a NAND backup. If, in the worst case, this doesn't work out, I can always restore to the original state. Let me document here how I did that, because I didn't know that myself for this device. First of all make sure you have a FAT formatted SD or CF card inserted for storing the backup.
Removing AC/Power, keep the 'D' and 'P' keys pressed on the keyboard and then press the Reset button on the back of the device. The Diagnostic menu should show up now. While in the menu plug in the AC/Power adapter, just to make sure there's enough juice for backing up the device. Go Left and Down twice and press "Ok" to select the option "NAND BACKUP". Follow further instructions on screen. Good thing this device has English messages by the way! All the other models I own show Japanese messages, and well, although I know my way around those menus, I really don't understand any of the text shown. Anyway, after the backup has finished press Cancel to get back to the Diagnostic menu.
Press the Reset button again to turn off the device. I don't know if this is the preferred way to do this, but I couldn't find a better method.
Making preparationsUse the instructions for setting up the Zubuntu filesystem from here in the "Making preparations" part. The Tosa specific root-additions can be found here.
Flashing the Multiboot kernelSince I messed up my build tree pretty badly I wasn't able to build a multiboot kernel for the Tosa. Luckily 'Ant' had a copy lying around somewhere (thanks for that Andrea) so off I went flashing the multiboot kernel.
First, plug in the AC/Power adapter. Second, insert your FAT formatted CF or SD card containing the updater.sh and zImage.bin files. Now Reset the Zaurus using the button on the back of the device. To get into the Maintenance menu, press and hold the "OK" button, and press the power button. It should pop up a menu that has four options (nicely in English again), choose the option that says "Update". Select the medium that you are using, either CF or SD. The updater will run and the kernel is flashed. When it is done, the device will automatically reboot.
ExperimentalFrom here it all gets a bit wacky. After reboot, the boot menu is shown, probably saying it couldn't find any bootable kernels (unless you prepared well of course). Pressing the Power button doesn't work, so I had to Reset the device again. Not very nice, but the kernel has no SD/CF cards mounted, so these won't get corrupt (no guarantees).
Booting the device with the Zubuntu SD/CF card inserted shows Zubuntu in the boot menu. Pressing the "OK" button starts Zubuntu, at least until the login prompt. Login using "root" and type "startx" to see the desktop. Be aware that the touchscreen needs calibrating, but ts_calibrate bails out with an error here, so that didn't work for me.
Help is needed from here, so please try this and give me your feedback, report problems, share fixes, enhancements etc.
As you know by now, using the "Donate" button from the menu on the left keeps me motivated big time!
[ 7 comments ] ( 554 views ) | permalink | ( 3 / 20434 )
Audacious as a lightweight media player. Worked as a charm, at least for me. Now, working on the Zubuntu 2.0-RC1 release, I tried the Audacious v1.5.1 player from the Ubuntu Jaunty repository. No luck, the player wouldn't even start, it just segfaulted.
Googling here and there I found Eina, downloaded the source and compiled the player natively. Eina indeed is a nice, simple but complete media player, using Gtk+-2.0 only and GStreamer for media playback it fitted the lightweight profile. But after playing back some random MP3 files it came apparent that it couldn't play the tracks without hickups on my Zaurus. Whatever the root cause of the hickups was I still don't know, but the effect was that I once more Googled for Audacious and the cause of it segfaulting on startup.
To my surprise, the author of Audacious has just released a brand new version (v2.0.1) a couple of days back. Perfect timing, so I downloaded the source and started to compile it once again natively. The building started about 5 hours ago now, and it is still building the list of plugins. I had to restart the build once because of an error in the SID plugin, so I disabled that one. Maybe next time I need to check first whether cross-compilation is a better option. I wouldn't dare to stop it now!
To be continued, hopefully the result will be worthwhile...
Update: Not bad at all. Building finally finished, and the player works. Guess what. I think this will be the media player for the next oncoming Zubuntu release
Update: I'm glad to say this was really worth the effort. The new Audacious 2.0.1 player plays the tracks I've thrown at it without any interruptions. Bitrates varied up to 256Kb/s. And it's even light enough to do other stuff as well without any problems. Superb!
[ 10 comments ] ( 529 views ) | permalink | ( 3 / 2600 )
So, result is that since this afternoon I have the latest 2.6.30 kernel working on my SL-C3100. There are still some things to fix, but most things seem to work... finally!
Some of you already requested a link to download the kernel, so here it is then. The 2.6.30-rc2 SL-C3x00 kernel (MD5: 43b691cc05a3c1aa694a287b34aefc23) and the corresponding SL-C3x00 modules (MD5: bc13ae45d2e79e6987d9ba60f75fa206) are both highly experimental. Bear in mind that, as said, some things need to be fixed.
I've build the latest 2.6.30-rc4, this time with support for CPU frequency scaling and Android and I added various wireless LAN drivers (as modules).
New update using the latest 2.6.30-rc4 kernel. This version fixes the screen flickering and the unexpected (hard!) hangups. I had to disable the CPU Frequency Scaling to get it stable, so I guess that needs more work. Until now this one is very stable. I've added more kernel modules as well. Since the previous version was buggy I've simply overwritten it with the new one. Please re-download!
The kernel should work on the SL-C3x00 (Spitz) as well as the SL-C1000 (Akita).
2.6.30-rc4 kernel: Download (MD5: d92771c86cd7c53cabd1bd216eac5a0f)
Kernel modules: Download (MD5: 377c155df6fd1fc569188ddafa282af6)
Again, please give it a try and give me feedback on your findings!
[ 32 comments ] ( 1105 views ) | permalink | ( 3 / 2108 )
First and most important package would be the kernel, so I've been working on getting a working 2.6.28 in the last couple of weeks, resulting in a more or less working kernel. But I'm having some major issues, power management isn't working for instance.
So this is taking a little longer than I expected. The current 2.6.28 kernel I'm using has support for the ext4 filesystem, build-in support for Android, and I'll try to incorporate CPU Frequency scaling as well, so we can overclock the CPU and try to fry an egg on our Zaurus ;-) I guess I have to sit through another series of kernel debugging session before this kernel is ready for release. The CE-170TS serial cable I kindly got donated from Rolf Leggewie is doing overtime currently.
Parallel on this, I'm in the process of extending the kexecboot boot manager. A lot of ideas have been passed on at the #kexecboot IRC channel. Feel free to join us there by the way, although we might bark sometimes, we certainly won't bite. So expect to see autostart functionality, ext4 support, customized logo and icons, (re-)ordering of items and much more in an oncoming release of the boot manager.
So, to cut a long story short, there's a lot going on behind the scenes. Plan was to release a Zubuntu Jaunty combined with the 2.6.28 kernel and the new boot manager. But since this could take a while to finish, I might upload a new root filesystem based on Jaunty using the 2.6.26 kernel. Give me a shout and let me know what you think!
Last but not least, Google has cut me off from their Adsense "service" because of alleged misuse. My account "has posed a significant risk to AdWords advertisers". Bullocks of course, they just didn't like paying me. But anyway, this means I have to ask you all to use the "Donate" button if you like what I'm doing and are willing to support me. Thanks in advance!
[ 9 comments ] ( 602 views ) | permalink | ( 3 / 2017 )
I was contacted recently about the Ubuntu for ARM initiative from Canonical. I always thought that this was targeted at the armv7+ family of CPU's, but to my astonishment this seems not to be true! This means that the latest (unstable) Ubuntu should technically spoken work on our beloved Zaurus.
So that's why I started another 'proof of concept' just to see if it is possible to get Ubuntu version 9.04 (Jaunty Jackalope) running on the Zaurus.
The images speak for them self I guess. I've got it all set up now, using most of the applications from the Zubuntu 1.0 RC1.
The system is running a stock Ubuntu 2.6.28 kernel with most of the packages 'as is' from the official Ubuntu repository.
This is just a first impression. Pretty cool so far!
[ 10 comments ] ( 7122 views ) | permalink | ( 3 / 1914 )
The following procedure copies most part of Zubuntu into internal memory. Unfortunately the complete distribution is too large to fit completely into the little memory available, so a part has to be made available on SD, CF or Microdrive (see the Postinstall for more info).
It is important to now that the only drawback currently is that you have to keep your SD card inserted during use of Zubuntu, since (on default) the /usr and /var directories are located there. If your model has a Microdrive, you'd better install these two directories there, in order to make this disadvantage disappear.
Disclaimer: First of all, be aware that, if you've previously had the original Sharp ROM, Cacko, pdaXrom or any other distro running from internal memory, you will lose it permanently after following these instructions. If you're not sure, be sure to make a NAND backup before continuing. How to make a NAND backup is described here (kind of).
1. Making preparations
These instructions assume you have a Zubuntu installed as described here. There are plenty of other possible installations, but I'll only cover the default here.
Download the following two files:
mtd-utils_1.1.0+git-r1_arm.deb MD5: 01a45a3a6aa71dde9611160e943bcd1e zubuntu-flash-install.sh MD5: 45a629b112088394efad3aeba61dc861
2. Start Zubuntu
After setting up Zubuntu, you should be able to select it from the bootmenu. Select it there so Zubuntu boots and login with the root user account. Copy the downloaded files from step 1 onto the Zaurus.
3. Installing required packages
Install the mtd-utils package downloaded in step 1 by executing the following command:
dpkg -i mtd-utils_1.1.0+git-r1_arm.deb
4. Copying Zubuntu
The rest is just a matter of copying over the base system. Since this can be tricky, I've created a small script to do the dirty work. Run the script by entering ./zubuntu-flash-install.sh.
You'll be asked on which memory partition you want to install Zubuntu. Possible options are the second and third memory partition, being the Root and Home partitions of the original Sharp ROM. Default choice is the third partition since this is the largest one (about 90Mb on Spitz/Akita). After that the partition is erased (permanently!) and most of the Zubuntu system is copied from your currently running system. This also means that all adjustments, settings and configurations are preserved.
You can safely ignore the messages 'ignored sockets' and 'implausible old time stamps'.
5. Post install stuff
After running the installation script there are still a couple of things to do.
** /etc/fstab adjustment
Remove the mount point to the Zubuntu default installation (/dev/mmcblk0p1 on default) from the /etc/fstab file.
** Adjust the symbolic link to /usr and /var
Since the complete Zubuntu distribution is too large to fit completely into internal memory, both /usr and /var have to be made available on SD, CF or Microdrive. The installation script creates two symbolic links for this purpose, pointing to /dev/mmcblk0p1, being the first partition on your SD memory card. You need to adjust it only if you've installed Zubuntu on a partition other than the first one on your SD memory card.
** Adjust /etc/rc.S/00mount-zubuntu.sh
This file mounts the Zubuntu default installation early in the boot process, since files in /usr and /var are needed during boot-time. The mountpoint used in /etc/rc.S/00mount-zubuntu.sh is /dev/mmcblk0p1 on default. You need to adjust it only if you've installed Zubuntu on a partition other than the first one on your SD memory card.
6. Reboot from internal flash memory!
Now reboot your Zaurus (run reboot). You'll notice that there's a new option in the bootmenu with a litte memory icon in front. Select that option, and Zubuntu boots from internal flash memory!
Please give me your feedback, report problems, share fixes, enhancements etc.
Last but not least I want to stress the fact that visiting the advertisements on the left or (even better) use of the Donate button is much appreciated!
[ 17 comments ] ( 941 views ) | permalink | ( 3 / 1992 )
I've tested this on my Zaurus SL-C1000 and SL-C3100 devices. I also succeeded in running Zubuntu from internal flash on the SL-C1000, which is pretty darn fast!
I still have to document how to get Zubuntu running from internal flash. I'll post it here when ready.
Use xbindkeys-config to add new keyboard shortcuts. This is how the brightness keys are controlled currently. It's possible to use xautomation (xte), so Fn-Up, Fn-Down, Fn-Left and Fn-Right now moves the mouse cursor. Quite cool!
I'm rebuilding the kernels for all models with build-in support for sound, bluetooth, pcmcia and infrared. I'll also include modules for more (wireless) network adapters. I'll report here when they're ready!
Important update for Spitz owners:Please re-download and install the bootmenu-kernel and the root-addition archive. This should solve some of the problems reported.
Keep those advertisement clicks coming, but only if they're sincere of course. Or you can use the Donate button on the left, Feel free to do so!
[ 64 comments ] ( 7664 views ) | permalink | ( 3 / 1959 )
There will be two versions, Zubuntu-Base and Zubuntu-Desktop.
The Zubuntu-Base contains "just" the kernel, a working X Server and some basic applications. I leave it up to you to decide what additional packages to install. A lot of the applications can be installed directly from the Mojo repository.
The Zubuntu-Desktop contains, apart from all the packages in Zubuntu-Base, a more complete set of standard applications. Only packages missing currently are PIM applications (Calendar & Contact).
Both Zubuntu distro's will be targeted at the Zaurus Spitz (SL-C3x00) and Akita (SL-C1000) models first. I'm still in the process of getting an alternative boot kernel (kexecboot) working for at least the SL-C7x0 and SL-C860 models, but this will take some more time I'm afraid. I recently acquired a Tosa (SL-C6000L), but I still have to check what is needed to get Zubuntu working on this specific model.
Linux Kernel 2.6.26, EABI only, patched for use with Android 1.0 Sound: Tested and working, including volume control on the back of the device Touchscreen: Tested and working Network: Tested and working (tested with Linksys WCF12, Buffalo WL12-CF-S11, Billionton CFLT2-10B) Rotation: Automatic rotation in X Server once the display is flipped. Brightness control (Fn-3 and Fn-4): Tested and working Bluetooth support: Added, but untested USB Host: Added, but untested
Installed applications in Zubuntu-Desktop
Desktop: LXDE Launcher: LXLauncher (installed, but disabled on default) File manager: PCManFM Multimedia player: Audacious Web browser: Firefox 3. Thinking about replacing it by Midori. Network manager: WICD Text editor: Leafpad Word processor: Abiword Spreatsheet: Gnumeric Email: Sylpheed PDF: xPDF Instant Messenger: Pidgin Games: xMahjongg
Android 1.0. Will become available later as a seperate download
Help wantedSome of you offered help already. Thanks a lot! If you're able and willing to help in any way, please drop me a line using the "Contact Me" form, and we'll see what we can work out.
Also, if you think I'm forgetting something important, or if you have any suggestions or improvements, let me know.
Shameless footnoteOnce more, if you like what I'm doing here, and/or it is of any help to you, please keep pressing those advertisements. The more you press, the more it keeps me motivated.
[ 39 comments ] ( 1570 views ) | permalink | ( 3 / 2180 )