Being something of a linux/technology geek and with the recent-ish release of Ubuntu 9.04, I decided to upgrade my home desktop PC from Ubuntu 8.10. Like the last time I ran through the upgrade, I was surprised at how smooth the upgrade process went. Unfortunately 2 new problems appeared after the upgrade was complete, with once again one problem being rather minor and the other one being much bigger.
First up the minor problem, after rebooting into the new hotness of Ubuntu 9.04, I was greeted with a pop-up windo telling me “There was an error while performing indexing : Index corrupted.” The pop-up gave 3 options: “Ok”, “Cancel” or “Reindex all contents”. I tried all 3 but the pop-up kept coming back even after multiple reboots. The only thing I could initiall figure out to do was to kill the tracker
ps -ef | grep tracker
kill -9 XXXX XXXX XXXX
Yes, I know that’s probably a horrible idea but I rarely use the tracker’s search on my home PC so pbbbhhhhttt! A quick Google search later, I found a bug report on LaunchPad about it under which I found these instructions:
sudo aptitude install tracker-utils
tracker-processes -r
I apparently already had the tracker-utils installed, so the first didn’t do anything for me. The second command above however shutdown the tracker and removed the indexes, so the tracker was able to recreate them cleanly. Since running those commands, the pop-up hasn’t come back.
Now on to the fun with the major problem. This was a case of network failure, specifically wireless network failure. While this is a desktop PC, I live in an old house without network cabling and my PC sits too far away from the ideal location for the router to run a cable. So I have a D-Link PCI wireless NIC in my desktop. The NIC is based on the Atheros AR5413 chipset, Network performance has never been as good as a wired connection but it had been acceptable until this upgrade to 9.04 when the wireless stopped working.
I had been using ndiswrapper to load the windows driver for the card but that suddenly stopped working. I could see all the wireless networks in my neighborhood, but couldn’t connect to any of them (either networks secured with WPA or wide open ones). I started doing some research into the problem using other computers with working internet connections. I found that my router was getting blacklisted while my desktop was trying to connect and then it would timeout without ever making a network connection.
Also while researching the problem, I found out that there was now a new, open source driver which should be working with my wireless NIC (ath5k). So I removed ndiswrapper, and tried out this new driver. Alas it wans’t particularly stable, dropping connection ever couple of minutes. However since my wireless NIC uses an Atheros based chipset, I had another option. I installed the madwifi driver via jockey-gtk (Ubuntu’s tool for installing restricted modules/drivers). For whatever reason, activating the driver via jockey-gtk didn’t actually get it up and running. To test it, I used:
sudo modprobe ath_pci
To actually get the driver to load on every boot, I edited my /etc/modules file to include ath_pci.
The madwifi driver doesn’t appear to make as strong a connection as the ath5k did; the gnome network manager applet shows the connection under madwifi usually has ~45-55% signal strength (under ath5k & ndiswrapper I could get as high as 70%). However I’ve yet to lose a connection to my network while using the madwifi wrapper whereas ath5k would drop connection every couple of minutes and ndiswrapper would usually drop the connection at least once an hour (back on Ubuntu 8.10 where it actually worked for me). Also the madwifi driver allows me to connect to my network on boot-up; unlike ndiswrapper which always took some time to connect after I was booted up and signed in. So overall, I’m pleased with my new networking setup but would have been more pleased if the changes I made could have been done automagically by the upgrade process or if the upgrade process at least warned me that it might break my networking setup.