Wireless Dell Inspiron and Ubuntu 11.04 (Natty Narwhal)

So I had two slightly annoying upgrades to Natty Narwhal, one I rolled back (i.e. clean install of 10.10) the other I persevered with. The roll back was because it killed Boxee and other things which was the only reason I was running the machine (i.e. as a media PC).

The second was just infuriating, it was installed on an old Dell Insorion 1501 which has an awkward Broadcom wireless card and up to this point used the proprietary drivers provided by the manufacturers. So when the “Additional Drivers” window popped telling me to activate these drivers I did just that.

However the laptop would not connect to the network and didn’t even have a MAC address or any real proof there was even a wireless network. After looking into the issue online by using a wired connection I gave up. The next time I turned on the machine to try again the wired connection had died too which makes working on the problem a little difficult.

I eventually worked this out before killing someone or bursting into tears. The following is how to make it work but is not the order I worked it out in or even this quick.

First it seems that the “Additional Drivers” were causing issues for the wireless so I just deactivated them. Then worked out this simple command typed into a terminal window activates the wireless:

sudo modprobe b43

This now allowed the the computer to at least now know there was a wireless card. However it was turned off by a hardware switch. Pressing Fn+F2 turned it back on and ta-da connected to the internet. Now to fix the wired was even easier just run from a terminal window:

sudo modprobe b44

Again Ta-Da the wired just works 🙂

Of course this is not perfect and this should be automatic as currently these need to be run every time and then press Fn+F2. The solution is quite easy:

  1. Create a file wifi.
  2. Add these three lines:
    • modrobe b43
    • modprobe b44
    • rmmod -f dell-laptop

  3. Move the file into the /etc/init.d directory
  4. Make it exectutable “sudo chmod +x wifi”
  5. Restart Machine

Boom the wired and wireless should just work when Ubuntu launches. the new line “rmmod -f dell-laptop” kills a malfunctioning process which then switches on the wireless card. This might be a bit overkill but it works for me.

Later days,
Halo

7 comments

  1. Wish I’d found this site earlier! I found the solution by my self after I gave up on the various internet forums.

    You wouldn’t guess who is facing the same problem… Mark Shuttleworth! yeah I was searching this problem on the net and he too had the same problem. Anyway I still can’t believe modprobe b43 was all I needed to do!

    The compiling, installs, reinstalls…. Oh it has been a long journey!

  2. Quick Question: none of the searches I’ve done have come up with an easy answer to changing my permissions to enable me to copy the file to the init.d folder… do you have any advice? No worries if not – thanks again!

  3. So the first part to enable the wifi works for me but the file creation part to make it automatic doesn’t – I’ve tried doing it several different ways but each time I get no result – is there anything obvious to check that I’m doing it wrong?

    Thanks again!

  4. Alex you should be able to just use sudo, which allows you to run the command as if you are a superuser (called root) giving you access to folders such as init.d.

    Assuming your file is called wifi and has no extension and is on your desktop, try either of the following commands in a terminal window

    sudo mv /home/Desktop/wifi /etc/init.d
    or
    sudo cp /home/Desktop/wif /etc/init.d

    Then it will ask for your password to prove you can run as root for a while, type your password and the command will execute and there should be a copy of filaname in /etc/init.d

    There is only a minor difference in the commands but what you have done (in English):

    for this command run as Root/superuser (sudo) and move (mv) the file called wifi on my desktop (/home/Desktop/wifi) into the directory /etc/init.d and leave the name the same (/etc/init.d)

    for this command run as Root/superuser (sudo) and put a copy (cp) of the file called wifi on my desktop (/home/Desktop/wifi) into the directory /etc/init.d and leave the name the same (/etc/init.d)

    If your file is somewhere else change /home/Desktop/wifi to the correct location, to check you have it right, in a terminal typing “gedit /location/of/file/wifi” should open your file in gedit

    If sudo does not work this could mean that your user is not allowed to become a superuser but I’m not 100% sure how to fix this but may have something to do with the sudoers file so have a google of that.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.