This page has come about because out of all the hardware on the Acer Aspire 3023 WLMi, the Broadcom WiFi card (BCM4318) is the most problematic yet indispensible to configure.
Part of the problem is the perennial lack of Linux support from hardware vendors. In general, the less supportive they are, the more difficult it is to get hardware going under Linux.
By way of disclaimer: I'm no programmer. I just learned how to make WiFi go in my notebook using tools that already existed. There's a lot of variation in support between kernel versions and distributions. I'm using Ubuntu Gutsy (Beta) now having moved away from Fedora Core 4. Support for WiFi has improved tremendously in the last 2 years, and it is easier than ever to get bcm43xx working.
The card sits under the small panel with 2 screws in the bottom of the notebook. Two leads (black and grey) connect to the aerial, which goes up behind the LCD monitor.
lspci reports the card as:
0000:06:05.0 Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02)
Subsystem: AMBIT Microsystem Corp. Aspire 3022WLMi
Flags: bus master, fast devsel, latency 64, IRQ 177
Memory at c0204000 (32-bit, non-prefetchable) [size=8K]
You will need to be familiar with the following sites to get your card going:
At the moment I'm using the bcm43xx driver in preference to NDIS Wrapper. While NDIS Wrapper works well, and bcm43xx has incomplete support for the BCM4318, I feel that a kernel driver is the better way forward. The more that we use it, the better it will become.
Both Fedora and Ubuntu include the bcm43xx driver in their default RPM and DEB kernel packages. You can also get the driver by compiling your own kernel (since 2.6.16), if you use a distro like Slackware for example. If you do this you must compile bcm43xx as a module.
The choice is yours. Since NDIS Wrapper is really well documented, I won't repeat the instructions here. What I will stress, is that you must use acer_acpi or acerhk. The card will not turn on otherwise.
If you find these instructions useful, or if you have something to add, please email me.
Andrew Henry has a great set of instructions for getting bcm4318 to play very nicely indeed with Ubuntu Dapper, which he has kindly allowed me to reproduce here. They supersede my old instructions, which I have left here for something inbetween posterity, redundancy and confusion. A few modifications are required in order to get Andrew's instructions to work on Gutsy though.
I could not find a guide for this anywhere so I wrote my own. It's very quick to implement and is an elegant solution as upgrades should not break this and there is minimal scripting involved. This was tested on an Acer Aspire 5021WLMi. Pre-requisites: clean install of Ubuntu 6.06.1 amd64, but arch. shouldn't matter. Install all updates as of 2006-10-20 (again; shouldn't matter) [Or, Gutsy with all updates applied] A working wired ethernet connection Broadcom AirForce54g 4318 (rev 02) adapter. The universe repository must be enabled. Open a Terminal and paste in the following commands (ignore comments)… echo 'deb http://ubuntu.cafuego.net dapper-cafuego bcm43xx' | sudo tee -a /etc/apt/sources.list wget http://ubuntu.cafuego.net/969F3F57.gpg -O- | sudo apt-key add - sudo apt-get update sudo apt-get install bcm43xx-fwcutter bcm43xx-firmware echo 'blacklist ndiswrapper' | sudo tee -a /etc/modprobe.d/blacklist echo 'ENABLED=0' | sudo tee -a /etc/default/wpasupplicant sudo mv /etc/network/interfaces /etc/network/interfaces~ echo 'auto lo' | sudo tee -a /etc/network/interfaces echo 'iface lo inet loopback' | sudo tee -a /etc/network/interfaces ## ******************** ONLY FOR ACER USERS ******************** #install acer_acpi to turn on wireless adapter through software #this is the only package that will be manually installed #as it will be compiled, it works on 32-bit and 64-bit systems whereas acerhk #only works on 32-bit systems AFAIK #when upgrading kernel, make sure to re-compile and re-install acer_acpi in the new kernel wget http://aceracpi.googlecode.com/files/acer_acpi-0.9.1.tar.bz2 tar -xvf acer_acpi-0.9.1.tar.bz2 cd acer_acpi-0.9.1 sudo apt-get install build-essential linux-kernel-headers linux-headers-$arch linux-headers-`uname -r` make sudo make install echo 'acer_acpi' | sudo tee -a /etc/modules echo 'pre-up /etc/network/StartAcerWireless' | sudo tee -a /etc/network/interfaces sudo touch /etc/network/StartAcerWireless echo 'chmod 777 /proc/acpi/acer/wireless' | sudo tee -a /etc/network/StartAcerWireless echo 'echo 1 > /proc/acpi/acer/wireless' | sudo tee -a /etc/network/StartAcerWireless [Note: Old versions required you to echo "enabled: 1" not 1] [Note: If permission is denied to sudo, su to root and execute] echo 'iwconfig eth1 ap any' | sudo tee -a /etc/network/StartAcerWireless
If your loopback (lo, 127.0.0.1) stops working, try substituting eth0 for eth1 in the previous line.
sudo chmod 754 /etc/network/StartAcerWireless ## ************************************************************ Start GDM and from the menu, go to System|Preferences|Sessions|Startup Programs, click the Add button and write in: nm-applet –sm-disable reboot PC When rebooted, left-click on nm-applet and choose to “connect to other wireless network” even if your AP is visible. Write in the SSID, choose WEP or WPA and enter the password. Upon connecting nm-applet will ask for a master password for the wallet. Choose something simple. DONE!
I managed to break this setup by entering my keyring password incorrectly, so here's what to do:
The acer_acpi command you need if you type in the keyring password wrongly is: echo 1 > /proc/acpi/acer/wireless ...in case you need to 'modprobe -r' everything.
And, if you like software suspend,
I noticed that laptop suspend does not work with networkmanager! Do not try to suspend your laptop as you will get a kernel panic and have to wait through an automatic fsck on next bootup. Not good. With my script solution, at least suspend worked (even with ATI fglrx driver), but wireless would connect to nearest non-encrypted network and not my WPA network, which was a hassle.
Alternatively you can do my traditional install (below), which doesn't give quite as seamless control to nm-applet as Andrew's instructions above.
This is not optional - well, it's acerhk vs. acer_acpi. Sometimes, especially on dual boot systems where you activate your card with another OS, you may find that your WiFi has mysteriously worked. Ignore this: your card has not magically decided to work for you, it's just working because it doesn't get turned off when the other OS shuts down. You need acerhk installed. So. download acerhk, extract it, follow the instructions for installation and usage. You can stick
/sbin/modprobe acerhk
into your rc.local to make the acerhk module load
on boot. You can put in extra flags if you want the
dmesg output to be more verbose, or to force special
behaviour, but you don't need extra flags for general usage on the
Acer Aspire 3023 WLMi.
New kernels (since 2.6.16) contain bcm43xx. There are a few tricks to get it to go, though.
Download
the bcm43xx-fwcutter tool tar.bz2 or use yum/apt to install the
bcm43xx-fwcutter package. Download the firmware from
Acer-Europe. The files you need are bcmwl5.inf and bcmwl5.sys,
from 80211g.zip.
To extract the firmware one should:
] make
] bcm43xx-fwcutter -i FILE
] bcm43xx-fwcutter FILE
If using self-compiled fwcutter: ] make installfw or on Ubuntu: ] sudo bcm43xx-fwcutter -w /lib/firmware bcmwl5.sys
I like NetworkManager and its taskbar applet, nm-applet. So much so, that FC4's tardiness in upgrading it was the final push that I needed to switch to Ubuntu.
So, install NetworkManager and nm-applet, using whatever method best suits your distribution (apt, yum or self-compilation).
You must make sure that there is no other configuration script running, and that there is no other configuration for eth0 and eth1. Don't configure your wireless card with the GNOME network configuration tool - this should report that none of your network devices are configured (confusing, I know, but bear with me...)
Don't use ifup or ifdown from the
command line because NM will get confused.
Finally, I have a little sequence that works reliably on my Ubuntu Dapper system with bcm43xx, nm-applet and acerhk
] sudo modprobe -r bcm43xx; sudo modprobe bcm43xx; echo 1 > /proc/driver/acerhk/wirelessled
Why does it work? Who knows. acerhk turns on the WiFi card, and I guess the kernel driver is still so buggy that it needs to be forcefully reset each time a new connection is made. I have faith that the bcm43xx developers will fix this in due course. In the meantime, this process isn't too onerous.
This file last modified 1304hrs 03 October 2007 Michael Doube 2004-2008 :: Designed to be interoperable and standards-compliant. Looks best with Mozilla Firefox