This post is yet another entry in the Compaq Presario 1240 saga. If you have been reading this blog for the past week or so, you know what is going on. If you are new, let me explain. Last December I “inherited” some old laptops. And by “inherited” I mean someone gave them to me saying “if you don’t want them, I’m just gonna throw them out”. One of them was the ancient, ancient Presario 1240 with 200MHz CPU and 98 MB of RAM. At first I tried to set it up with Windows and perhaps give it to a relative, but the system was just to slow, even when I set it up with bbLean as the default shell. So I decided Linux was the way to go. Over the past few days I tried several lightweight distributions including Deli Linux (which didn’t have ndiswrapper) DSL Linux, Arch Linux (which didn’t work) and Slax Popcorn. I was not entirely happy with either of those systems.
So I decided to go back to what I know and love – Ubuntu. Or rather Fluxbuntu (a *buntu with Fluxbox) as suggested by jambrama. While Fluxbuntu is only in beta, it is based on Dapper which is remarkably stable (not to mention that it is a LTS distro).
The installation went smoothly if you don’t count my CD burning issues. The Live distro was a bit sluggish, and the GTK based GUI install was very, very slow. Still, every live distro was slow on this machine. I think the CD-ROM is at most x4 or x8 so you can’t expect good read times from that. So I wasn’t that concerned.
One thing that Fluxbuntu people should probably fix is the lack of auto-login on the live distro. Once the thing boots you are presented with a login screen, and no idea what is the username and password. Quick trip to their wiki page will tell you that it is:
user = fluxbuntu password = livecd
This is all fine, but if you don’t have internet connection, you are pretty much stuck at the login screen. Also, the live distro does not include an install icon on the desktop like it’s other *buntu sisters. To launch the installation script you need to pull up a terminal and type in:
I guess this is the name of the universal *buntu GUI install script, but perhaps symlinking it to something like install_ubuntu could have been a good idea. But I guess these are the joys of working with a beta system. As mentioned before, the install was slow. And when I say slow I mean Slowpoke slow:
With Slax and DSL the installs were quick because you had at most 100 MB of data to copy to the drive. Fluxbuntu takes up the full CD weighing in almost 700 MB which takes considerably longer to copy – expecially with a full desktop and a GUI installer running in the background and only 98 MB of RAM with no hd to swap. So slow is the operative word here.
While installation was nice and uneventful, the post installation tasks were what gave me a headache. My WPC54G v1.2 card worked on all other platforms – but fluxbuntu (which is Dapper based) refused to touch it. The ndiswrapper would take the driver without complaining, then I would generate modprobe alias as normal. Then I would run modprobe, and dmesg output gave me the following:
bcm43xx_microcode5.fw not available or load failed
WTF? The intefeace wlan0 doesn’t even show up on the radar. Nothing works. Time to do some reasearch!
After some googling, I found out that I might need to strip out the firmware drivers from the bcmwl5.sys windows driver file.
aptitude install bcm43xx-fwcutter bcm43xx-fwcutter -w /lib/firmware/ ~/bcmwl5.sys
Then I unplugged the card, plugged it again, run modprobe as before and…
Same error. Thanks internet, but you are no fucking help at all. I rebooted the machine, run the whole operation back again from scratch and got same exact result. Nothing.
Funny thing is that this same card is working perfectly in my other laptop which is also Dapper based. Actually my laptop is a Hoary which was dist-upgraded to Dapper because I’m awesome like that. I also remember having great old time getting my card working after the upgrade. But that was because my ndiswrapper-modules package was compiled from source and it apparently did not work with the newer ndiswrapper-utils. I fixed it by removing ndiswrapper and re-installing it from scratch.
This however was a whole different issue. So I hit google again, this time finding some very useful information. Apparently Dapper ships with the bcm43xx module of it’s own that interferes with ndiswrapper. The answer:
rmmod ndiswrapper rmmod bcm43xx ndiswrapper -m modprobe ndiswrapper
BOMSHAKALAKA! My wlan0 just got associated!
iwconfig wla0 ifup wlan0
I’m online kids! Me and Internet 1, Dapper 0. Wohoo! Me and Internet make a good team. Oh yeah! I conquered the machine once again. Ph34r the awesome power of the human intellect (and the ocean of information diarrhea and monkey piss that is the internet).
You just need to remember to add the following line to your /etc/modprobe.d/blacklists to prevent the bcm43xx driver from loading at startup:
If you omit this step, the system will load the driver next time you boot, rendering ndiswrapper useless once again, and forcing you to repeat the rmmod and modprobe steps once again. Once you do this, it’s smooth sailing.
So, Fluxbuntu is working. The base system is running at an acceptable speed. I think both Slax and DSL were performing better. This system just feels slower and more cumbersome. I trimmed it down using sysv-rc-conf and removed all the unnecessary daemons and background processes. This made boot times more tolerable, and made the UI a wee bit more responsive. I’m not sure if I can tweak it down from here, but suggestions are always appreciated. I guess the rest is just choice of software you use on the machine.
The default terminal on Fluxbuntu is Eterm. It is a very pretty and lightweight terminal, with nice scrollbars, it’s own menus and nice backgrounds. It has one drawback though – on my machine it is deadly slow to startup. I don’t know about you but if I can count up to 5 or 6 Mississippi’s before the window even shows up, it’s bad. I need a terminal that is a little bit snappier than this. Fortunately Martin Ankerl did all the legwork for me, and conducted a very extensive Linux terminal speed benchmark. Armed with that document, I found the best match for me: Wterm which combines good startup speeds, with acceptable output rendering. And yes – Wterm actually beats the good old xterm. I’m really happy with it so far. It pops up almost instantly!
Rox is also very swift as the file manager. I might look for another alternative later on, but so far it is working fine for me. Kazehakase is a whole other story. It is slower than slow. And when I mean slow, I mean Slowpoke Rodriguez slow:
But, here is the thing: this is a 200 MHz machine with 98 MB of RAM and Kazehakase is a gecko based browser. Gecko is a modern rendering engine which eats memory for breakfast, shits all over your swap file, and then wipes itself with your CPU cashe. I don’t think I can make it any faster. In fact, I doubt that there is a modern, full featured browser that can run fast on this hardware. There is always Dillo, but browsing the web with it is bit tedious (OMG, where are my tabz?). Not to mention that you get the retarded version of the web since Dillo is worse than IE at properly rendering CSS.
So if you want speed, you use Dillo and deal with the weird web. If you want functionality, you use Kazehakase and go get some coffee while it starts, and every time you load a bigger page.
All in all, I think this system is acceptable. It is slower than I hoped for, but it’s also fully functional Dapper which means that any packages that I might ever want are there for me to use. This was not the case with Slax and DSL. I’m not sure how much more I can improve the performance. I’m sure that there are at least a few more speed tweaks I could do, but I’m not sure if they will help much. Of course Any suggestions on trimming it down are greatly appreciated. Let me know how do you butcher your *buntu to run fast and I will do it and report the findings. Btw, the stuff I will most likely be using this machine for is for testing, casual web browsing and email. Nothing serious. So anything that is not absolutely essential to web browsing can go.
[tags]fluxbuntu, WPC54G v1.2, ndiswrapper, bcm43xx, dapper, ubuntu dapper, wireless, wifi, wlan0, modprobe[/tags]