无意搜索到的一篇，试过之后，我的acer 4710G Broadcom网卡终于能用无线网络了
HOWTO: Dell Inspiron Wireless (Broadcom 1390 WLAN)
This HOWTO describes how to get Wifi working on your Dell Inspiron E1505/6400 laptop using Ndiswrapper. This applies if you have the Broadcom "Dell Wireless 1390 WLAN MiniCard", which as far as I know, is the cheaper, low-end version that Dell currently offers in this laptop. This HOWTO has been tested and works with both 32 bit and 64 bit ubuntu, and uses the exact same method for both. It is VERY IMPORTANT that you read every part of this how-to and follow the steps EXACTLY as they're written. Many users have trouble because they only read the code sections and ignore my directions to change to the proper directories. Again, PLEASE BE SURE YOU ARE IN THE PROPER DIRECTORY WHEN EXECUTING THESE COMMANDS. This will save you a lot of trouble and will make the installation go a lot smoother.
This HOWTO supports:
Gutsy Gibbon 7.10
Feisty Fawn 7.04
Edgy Eft 6.10
Dapper Drake 6.06
STEP 1: CLEAN YOUR SYSTEM
IMPORTANT NOTE ABOUT CLEANING YOUR SYSTEM:
One of the most common reasons why many people can't get their wireless working is because their system is in a state of chaos. If you have made ANY previous attempts to get your wireless working -- either using fwcutter, ndiswrapper, or the bcm43xx drivers -- this how-to will most likely not work UNTIL you reverse your previous changes. In many cases, it is much easier to simply reinstall ubuntu and come straight to this how-to. Alternatively, you can manually clean your system of the previous attempts, as outlined in various posts throughout this thread. But BE WARNED: If you have done ANY previous work on your wireless, there is almost no chance that this how-to will work unless you clean your system.
If you have a fresh install of Ubuntu, you need to remove any and all versions of Ndiswrapper that come installed by default on your system:
sudo rmmod ndiswrapper
sudo ndiswrapper -e bcmwl5
sudo apt-get remove ndiswrapper-utils
Don't worry if you get errors about not being able to find or remove these -- we're just making sure they're not present before we get started.
STEP 2: GET NEEDED PACKAGES
We'll need to install compiling tools (don't panic when you read that, just bear with me), the latest kernel headers, and then the source code for the latest ndiswrapper (seriously, don't panic. This will be very simple), and the wireless drivers from Dell.com.
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install linux-headers-`uname -r`
NOTE: The characters around `uname -r` are BACK TICS, NOT apostrophes. A back tic is usually located at the top left of your keyboard, to the left of the 1 key. The command WILL NOT WORK if you use apostrophes. Just copy/paste the commands from this how-to in to your terminal to avoid making typos.
At this point, you need to go to the ndiswrapper sourceforge site and get the latest version of the Ndiswrapper program.
wget http://superb-east.dl.sourceforge.net/s ... .51.tar.gz
If that wget doesn't work, just go here: http://sourceforge.net/project/showf...group_id=93482
Uncompress the ndiswrapper source (in my example, the file name is ndiswrapper-1.51.tar.gz):
tar -xzvf ndiswrapper-1.51.tar.gz
Finally, we need to blacklist the broken and useless bcm43xx firmware drivers that try to load in a default ubuntu install:
sudo echo blacklist bcm43xx >> /etc/modprobe.d/blacklist
NOTE: If the above command gives you a permission denied error, try this code instead:
echo blacklist bcm43xx >> /etc/modprobe.d/blacklist
YOU MUST REBOOT NOW!
STEP 3: COMPILE PROGRAM
Now we'll complile the Ndiswrapper program. In a terminal, go to the directory where you extracted ndiswrapper and execute the following:
sudo make uninstall
IMPORTANT: Do the above command multiple times. You can stop when you get the message that says something about no files or directories found. This usually means running the command 2 or 3 times, but not more than about a dozen.
sudo make distclean
sudo make install
STEP 4: INSTALL DRIVERS
If that worked, then you now have Ndiswrapper installed. Now we need to install the drivers. In a terminal, go to the directory where you have the R151517.EXE file:
unzip -a R151517.EXE
Now change directories to the DRIVER directory that was just extracted.
sudo ndiswrapper -i bcmwl5.inf
sudo ndiswrapper -l
you should see a message that says driver present, hardware detected
sudo ndiswrapper -m
sudo modprobe ndiswrapper
sudo echo ndiswrapper >> /etc/modules
NOTE: If the above echo command gives you a permission denied error, try this code instead:
echo ndiswrapper >> /etc/modules
Some users have reported the need to reboot here.
STEP 5: TEST WIRELESS
Your wifi light on your laptop should be illuminated, and you're all set! Try running this to see if your wireless card is functioning properly:
sudo iwlist scanning
Even if it doesn't detect any wireless networks in range, it will still tell you if linux is recognizing your wireless card properly. If you'd like a better way to scan for wireless networks, I'd suggest installing/using network-manager or wifi-radar.
TO ALL WHO REQUEST HELP:
1) Please indicate:
1.your laptop model
3.your lspci output
4.the relevant rows from /var/log/syslog
5.the relevant rows from dmesg
6.any unexpected output when following the steps in the how-to
2) If your wireless card is being recognized by the system, but you simply cannot connect to your desired wireless network, please understand that your issue is beyond the scope of this how-to, due largely to the fact that such issues are very complicated and often have absolutely nothing to do with the way you got ubuntu to recognize your wireless card. That said, I will do what I can to help. My first suggestion will always be to turn off all encryption first to see if you can at least connect to an open network.
- Dell driver version updated to R151517.EXE on 30 March 2007
- Ndiswrapper version updated to 1.51 on 7 January 2008
- If you are using a Dell laptop that's NOT model E1505, you need to go to Dell.com and search for the drivers that correspond to your specific model. Use those instead.