I am trying to avoid ranting too much on this blog, but the computing industry is not cooperating.
So, I bought (actually, I was given) an HP Mini 1000 (modelo 1030NR) netbook computer. I would have find it useful for talks and short trips if it weren’t for the incredibly absurd choice of HP of: 1) including a non-standard external video port; 2) failing to provide the adapter to a standard VGA or DVI for more than a year after the machine has hit the market. No, I’m not kidding. Nevertheless, I still found it rather convenient for leisurely browsing the web or doing quick jobs on Microsoft Office.
However I’ve been noticing that the netbook has become slower and slower with the passing months, to the point that, lately, it’s been as useful as as self-heating paperweight. That’s when I’ve decided to do a fresh install of Ubuntu Netbook Edition and use it only for web browsing.
After not little struggle to have Ubuntu NE installed in an SD Card (I ended up using the Universal USB Installer in Parallels, since the solution described in the Mac section creates a filesystem that apparently will only boot on a Mac machine — on a PC, it is recognized as “unformatted”).
I’ve booted — finally ! — to Ubuntu NE, but only to discover that the default installation does not include the proprietary Broadcom firmwares for the (in)famous B43 kernel module. But, wait ! You can still install then quite easily, by clicking an icon on the system notification area: “Install Additional Drivers”. The only thing is: you have to connect to the Internet. Which you can’t, since you don’t have the drivers in first place. Talk about a Catch-22 !
Fortunately, I’ve found an walkthrough to solve that circular dependency. I quote:
If you do not have any other means of Internet access on your computer, you will have to install
patchpackages from the install media. After that you will need to setup firmware manually (without the firmware automatically downloading and being set up).
b43-fwcutteris located on the Ubuntu install media under
patchis located under
../pool/main/p/patch/or both in the official repositories online. Double click on the package to install or in a terminal (under the desktop menu Applications > Accessories > Terminal) navigate to the folder containing the package and issue the following command:
/b43-fwcutter/$ sudo dpkg -i b43-fwcutter*
On a computer with Internet access, download the required firmware files from http://downloads.openwrt.org/sources/wl_apsta-188.8.131.52.o and http://mirror2.openwrt.org/sources/broadcom-wl-184.108.40.206.tar.bz2
Copy the downloaded files to your home folder and execute the following commands consecutively in a terminal to extract and install the firmware:
~$ tar xfvj broadcom-wl-220.127.116.11.tar.bz2
~$ sudo b43-fwcutter -w /lib/firmware wl_apsta-18.104.22.168.o
~$ sudo b43-fwcutter --unsupported -w /lib/firmware broadcom-wl-22.214.171.124/driver/wl_apsta_mimo.o
Under the desktop menu System > Administration > Hardware/Additional Drivers, the b43 drivers can be activated for use. Note: A computer restart may be required before using the wifi card. LiveCD/LiveUSB Note: The install media contents are mounted under
/cdromof the filesystem.
For temporary use with the LiveCD and LiveUSB environments, instead of a computer restart, in a terminal issue the following commands:
~$ sudo modprobe -r b43 ssb
~$ sudo modprobe b43
Note: Allow several seconds for the network manager to scan for available networks before attempting a connection.
End of the drama ? And they connected happily ever after ? Not quite. I’ve got the wireless card working — for about 4 or 5 seconds. And then it would either drop the connection, or fail to connect altogether, or even stop showing the available networks. What sortilege could be keeping my card from its ethernet blessing ?
A quick inspection on
dmesg revealed the matter:
b43-phy0 ERROR: Fatal DMA error: 0x00000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
b43-phy0 ERROR: This device does not support DMA on your system. Please use PIO instead.
Again, Saint Google had a pointer to the solution. To load the modules durint an active session, type:
sudo modprobe -r b43 ssb
sudo modprobe b43 pio=1 qos=0
For making the settings permanent, type:
sudo touch /etc/modprobe.d/b43.conf
echo "options b43 pio=1 qos=0" | sudo tee -a /etc/modprobe.d/b43.conf
Then, and only then, I’ve got the system working !
Two more hints :
- If you are trying to install Ubuntu on the Netbook and the program is stalling, try to unmark both options (download updates, install third party proprietary software) — you can always do those later !
- After having all the pains above to make everything working, don’t use the “Install Proprietary Hardware” automated GUI of Ubuntu — it will only mess everything up.
(When computers were created, weren’t they supposed to solve our problems ?)