Wednesday, June 4, 2008

hp 2133 update

I was going to use SLED10 for a while on my hp2133 mini-note, but getting updates is problamatic. If you call HP support within 30 days they will send you a SLED10 restore CD at no cost. This CD is one of those boot-and-wipes-the-disk variety, so be aware. This CD is different from the ISO you can download from HP (here).

First up -- installing Ubuntu/Hardy. On the boot prompt, you'll have to add xforcevesa or the video will flake out. Using an external USB CD/DVD drve, the standard Ubuntu CD boots and starts the install, but after resizing the SLED10 partition down to 10G, the install fails with the following message:

Ubuntu 8.04 install error

Next up -- Fedora 9. Again using an external CD, the install starts up well, but then soon fails when trying to locate the CD containing the install RPMs. I has been a while since I've used Red Hat on the desktop, so I'll give Fedora another try later. (And it will make the Red Hat folks at GNHLUG happy ;-)

Next up -- Ubuntu/Hardy Alternative Install CD. This version uses the tried-and-true debian install process and this time it works great!

With the stock Ubuntu/Hardy it finds and configures the wired network, graphics, audio (except the earphone jack), MMC disk. The Broadcom Wifi does not however and needs to use the ndiswrapper with firmware downloaded from the hp.com support site.

The post-install steps for Ubuntu/Hardy to get the WiFi working can be found on "WifiDocs/Driver/bcm43xx/Feisty No-Fluff".

For the hp 2133, the steps are:



  1. I found on my Ubuntu/Hardy that the bcm43xx module was already on the blacklist so the first line wasn't necessary. See line 32 of /etc/modprobe.d/blacklist. You'll still need to install ndiswrapper-utils-1.9 and create a tmp directory to unpack the wireless firmware.


    # NOT NEEDED echo 'blacklist bcm43xx' | sudo tee -a /etc/modprobe.d/blacklist

    sudo apt-get install ndiswrapper-utils-1.9
    mkdir ~/bcm43xx; cd ~/bcm43xx



  2. Since my hp 2133 has a Broadcom Corporation BCM4312 802.11a/b/g (rev 02), use Step 2a which downloads from Hewlett-Packard the Windows firmware for the Broadcom Corporation BCM4312 802.11a/b/g (rev 02)


    sudo apt-get install cabextract
    wget ftp://ftp.compaq.com/pub/softpaq/sp34001-34500/sp34152.exe
    cabextract sp34152.exe




  3. Step 3 is to install the firmware using ndiswrapper. My /etc/network/interfaces file already had an entry to the 'lo' device, so didn't need to do that. Also ran into problems trying to load the modules on boot, so I don't load ndiswrapper from /etc/modules. Also I didn't bother to edit /etc/default/wpasupplicant because on my home wireless network. I don't use authentication -- wireless access is locked down by MAC address at the wireless router.


    sudo ndiswrapper -i bcmwl5.inf
    ndiswrapper -l
    sudo depmod -a
    sudo modprobe ndiswrapper

    #NOT NEEDED sudo cp /etc/network/interfaces /etc/network/interfaces.orig
    #NOT NEEDED echo -e 'auto lo\niface lo inet loopback\n' | sudo tee /etc/network/interfaces

    sudo ndiswrapper -m

    #NOT NEEDED by me echo 'ndiswrapper' | sudo tee -a /etc/modules
    #NOT NEEDED by me echo 'ENABLED=0' | sudo tee -a /etc/default/wpasupplicant





  4. As the wiki page mentions, there is a bug in Ubuntu/Hardy related to the ndiswrapper and ssb loadable modules, so after every boot, I do the following steps which I put in a little script, enable-wifi


    #!/bin/bash
    # This is ~/bin/enable-wifi
    ndiswrapper -l
    sudo depmod -a
    sudo modprobe ndiswrapper
    sudo rmmod ssb
    sudo rmmod ndiswrapper
    sudo modprobe ndiswrapper
    sudo modprobe ssb


    After a few seconds the NetworkManager applet will start looking for wifi networks and automatically connect.

    I've tried following the wiki's instructions on making it permanent, but found that there were nasty kernel messages about the ssb loadable module dying and preventing ndiswrapper from loading.





The next post install step is to fix the audio driver. The sound card works okay, but doesn't turn off the speakers when a headphone is plugged in. The other great wiki page, https://wiki.ubuntu.com/LaptopTestingTeam/HP2133 has the solution. Essentially download and install alsa-driver-1.0.16_linux-headers-2.6.24-17-generic-1_i386.deb.

Why hasn't a fix been pushed into the repositories is unclear.


sudo mv /lib/modules/2.6.24-17-generic/ubuntu/sound/alsa-driver \
/lib/modules/2.6.24-17-generic.ubuntu.sound.alsa-driver.bak
sudo ln -s /lib/modules/2.6.24-17-generic/kernel/sound/ \
/lib/modules/2.6.24-17-generic/ubuntu/sound/alsa-driver


Although it may look like a lot of work, it wasn't that difficult. If you have problems, check back to the source wiki pages.

5 comments:

  1. Thanks for the web page. When I received my HP 2133, the wireless worked perfectly but in general, SLED SP1 has way too many bugs. I updated to SP2 which fixed the bugs but screwed up the wireless. I tried installing Fedora 9 but there are still too many graphic card problems (openchrome does NOT work). I could not get the lcd panel to work. So I fell back to Fedora 8 and your instructions work fine with it. Everything works with the exception of the VGA port. (It worked under F9 with an external monitor even though the notebook's own lcd panel would not.)

    ReplyDelete
  2. Marc, forget the drivers I gave you yesterday. I found the drivers package Broadcom released in May. To bad I can't post them here. I have both the 32 and 64 bit drivers and the README file. The 32 bit driver built with no problem on OpenSuSE 11 and once I loaded the driver I was able to configure the the wireless connection with Network Manager. I just tried external VGA and that does not appear to be working. Other than that OpenSuSE 11 installed fine.

    --jv

    ReplyDelete
  3. [...] problem, however:  the update is breaking the 2133 for everyone. Over and over again. Even HP employees are having trouble. There seem to be a few issues, but the main one is related to the NDISWrapper WiFi setup used in [...]

    ReplyDelete
  4. I was able to get the vga port to work on the 2133 under Fedora 8. It also works under Fedora 9 - just cannot get the lcd panel to work. I get an illegal opcode exception when using the vesa driver (openchrome just will NOT work). F9 installs with no problem and you can use it with the external monitor. Of course, it's unacceptable that the lcd panel will not work under F9 when it works fine under F8 (but no sound under F8).

    I tried also installing minbuntu on the 2133. It installs but it is flaky. Installing ndiswrapper prevents it from booting (just to get minbuntu to install, you have to jump through some hoops to disable ndiswrapper during the install).

    I guess the selling point of minbuntu is that it automatically installs the via driver for the video (but the screensaver is somewhat flaky).

    ReplyDelete
  5. Broadcom has released a Linux driver that works with the 4312:

    http://ubuntuforums.org/showthread.php?t=880218

    I was amazed how easy it was to install (the directions are on the forum) and it works with the HP 2133. After I rebooted, the 2133 automagically connected to the network.

    Now on to fixing the VGA output. (BTW, the headphones do NOT work.)

    ReplyDelete