个人工具

“UbuntuHelp:WifiDocs/Driver/bcm43xx/Feisty”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
(新页面: {{From|https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx/Feisty}} {{Languages|UbuntuHelp:WifiDocs/Driver/bcm43xx/Feisty}} == Using Broadcom Wireless in Ubuntu Feisty 7.04 == As...)
 
 
(未显示2个用户的8个中间版本)
第1行: 第1行:
 
{{From|https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx/Feisty}}
 
{{From|https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx/Feisty}}
 
{{Languages|UbuntuHelp:WifiDocs/Driver/bcm43xx/Feisty}}
 
{{Languages|UbuntuHelp:WifiDocs/Driver/bcm43xx/Feisty}}
 
+
<<Include(Tag/Unsupported)>>
 
+
 
+
 
== Using Broadcom Wireless in Ubuntu Feisty 7.04 ==
 
== Using Broadcom Wireless in Ubuntu Feisty 7.04 ==
 
As of kernel 2.6.17, there is native support for some Broadcom chipsets. You have to use the fw-cutter tool to suck out the firmware code from a windows driver. The fw-cutter, or firmware cutter, or firmware extractor, does this.  
 
As of kernel 2.6.17, there is native support for some Broadcom chipsets. You have to use the fw-cutter tool to suck out the firmware code from a windows driver. The fw-cutter, or firmware cutter, or firmware extractor, does this.  
 
 
This driver was included into the Linux kernel since kernel version 2.6.17-rc2.
 
This driver was included into the Linux kernel since kernel version 2.6.17-rc2.
 
 
There are two ways to use the Broadcom chipset with Linux:
 
There are two ways to use the Broadcom chipset with Linux:
 
 
* Using ndiswrapper. This was the only way of getting support for these devices before Linux kernel 2.6.17-rc2. This will not work on PowerPC.
 
* Using ndiswrapper. This was the only way of getting support for these devices before Linux kernel 2.6.17-rc2. This will not work on PowerPC.
* Using the native drivers in the kernel. This still requires extracting the firmware (the software that runs on the card itself) from one of a number of places using a tool called fwcutter. If you have bcm43xx hardware that is recognizable to the new kernel and you boot your PC with the Feisty installation CD, you will see error messages about the missing bcm43xx firmware, that show up on the console after the first boot splash screen but before X is started (or with the '''dmesg''' command). Following these instructions will fix this problem and you will have a working wireless card.
+
* Using the native drivers in the kernel. This still requires extracting the firmware (the software that runs on the card itself) from one of a number of places using a tool called fwcutter. If you have bcm43xx hardware that is recognizable to the new kernel and you boot your PC with the Feisty installation CD, you will see error messages about the missing bcm43xx firmware, that show up on the console after the first boot splash screen but before X is started (or with the <code><nowiki>dmesg</nowiki></code> command). Following these instructions will fix this problem and you will have a working wireless card.
 
+
 
=== Forum Support for this Wiki ===
 
=== Forum Support for this Wiki ===
 
nickm wrote a howto [http://ubuntuforums.org/showthread.php?t=185174 on this forum] for bcm43xx.  If you have questions or need additional help please post there.
 
nickm wrote a howto [http://ubuntuforums.org/showthread.php?t=185174 on this forum] for bcm43xx.  If you have questions or need additional help please post there.
 
 
=== Using ndiswrapper ===
 
=== Using ndiswrapper ===
 
+
If your particular chipset is not supported by the bcm43xx driver in the kernel ([http://bcm43xx.berlios.de/?go=devices as shown on the driver's website]) you may need to install a driver using ndiswrapper. Depending on your chipset, you may even need to manually install a newer version of ndiswrapper. Note that if you aren't sure if your card is supported installing bcm43xx-fwcutter cannot hurt anything, is relatively easy, the drivers are free software (except for the firmware), and therefore should be tried first. Ndiswrapper should be used only if the card does not work well with the native drivers.
If your particular chipset is not supported by the bcm43xx driver in the kernel ([http://bcm43xx.berlios.de/?go=devices as shown on the driver's website]) you may need to install a driver using ndiswrapper. Depending on your chipset, you may even need to manually install a newer version of ndiswrapper.
+
See [[UbuntuHelp:WifiDocs/Device/Broadcom_BCM4311_rev_01_(ndiswrapper)|WifiDocs/Device/Broadcom_BCM4311_rev_01_(ndiswrapper)]].
 
+
(Note: Here's a [[UbuntuHelp:WifiDocs/Driver/bcm43xx/Feisty_No-Fluff|no-fluff|howTo]] for using a bcm43xx--a bcm4311, to be specific--in Feisty. Also includes WPA configuration.)
 
=== Using the native drivers ===
 
=== Using the native drivers ===
 +
See also the [http://linuxwireless.org/en/users/Drivers/b43 drivers home page].
 
==== Step 1: Obtaining the Firmware ====
 
==== Step 1: Obtaining the Firmware ====
 
+
The software that runs on the card itself is loaded onto the device by the driver prior to each use (this happens regardless of the operating system you are running this card on). Although the driver for the card is open source the firmware from the manufacturer is not, and is not allowed to be distributed by anyone but Broadcom, hence why it must be downloaded from their site and extracted from their driver, and why it cannot be distributed in Ubuntu by default.
The software that runs on the card itself is loaded onto the device by the driver prior to each use (this happens regardless of the operating system you are running this card on). Although the driver for the card is open source the firmware from the manufacturer is not.
+
If you're an Acer laptop user, try those instructions first. If you install everything correctly and still you're not able to connect to any wifi network, you should try to install acer-acpi package. It often helps and you won't be made to install driver using ndiswrapper. Find out more here: https://launchpad.net/acerlaptop-wifi/
 
+
After enabling the Universe repository (see [[UbuntuHelp:Repositories|Repositories]]), install the '''bcm43xx-fwcutter''' package.
'''The recommended firmware is wl_apsta.o which may be downloaded at http://boredklink.googlepages.com/wl_apsta.o.  Running ''install-bcm43xx-firmware.sh'' as detailed below will do this automatically.''' 
+
 
+
After enabling the Universe repository (see [[UbuntuHelp:Repositories]]), install the '''bcm43xx-fwcutter''' package.
+
 
<pre><nowiki>
 
<pre><nowiki>
 
sudo apt-get install bcm43xx-fwcutter
 
sudo apt-get install bcm43xx-fwcutter
 
</nowiki></pre>
 
</nowiki></pre>
Links to various drivers come with the package. View them via
+
It will ask if you want it to download and extract the firmware, but because the link is currently broken, choose no. Then enter the following to download the [http://linuxwireless.org/en/users/Drivers/b43 recommend] driver manually.
 
<pre><nowiki>
 
<pre><nowiki>
zless /usr/share/doc/bcm43xx-fwcutter/README.gz
+
wget http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o
 
</nowiki></pre>
 
</nowiki></pre>
and pick one to download, or copy the .sys file from the Windows Installation CD that came with your hardware (bcwl5.sys, for example).
+
Now extract the firmware.
 
+
To extract the firmware files and install them to the correct location, use the fwcutter application.
+
 
+
You may have to extract the .sys file before the next step: if you downloaded an .exe, try to unzip it. If that fails, try to cabextract it (install the cabextract package). The file of interest is .sys. If you downloaded a .o, it is the file of interest.
+
 
+
 
<pre><nowiki>
 
<pre><nowiki>
sudo bcm43xx-fwcutter -w /lib/firmware/`uname -r` <downloaded file>
+
sudo bcm43xx-fwcutter -w /lib/firmware wl_apsta-3.130.20.0.o
 
</nowiki></pre>
 
</nowiki></pre>
The firmware files will be copied to '''/lib/firmware/2.6.20-X'''.
+
If that doesn't work, [http://ubuntu.cafuego.net/dists/feisty-cafuego/bcm43xx/ look here]
 
+
Where X is your kernel minor version (you can find out your kernel version by running ''' uname -r ''').
+
 
+
Alternatively you can run the provided script:
+
 
+
<pre><nowiki>
+
sudo /usr/share/bcm43xx-fwcutter/install_bcm43xx_firmware.sh
+
</nowiki></pre>
+
This will automatically download the firmware from the internet.
+
===== Firmware Packages =====
+
 
+
'''Note: This method may not download the latest firmware, try the previous method if this fails.'''
+
 
+
As an alternative to running the script, you can install the firmware files from a package. To automatically keep up to date, add this repository line to your /etc/apt/sources.list:
+
<pre><nowiki>
+
deb http://ubuntu.cafuego.net feisty-cafuego bcm43xx
+
</nowiki></pre>
+
and make sure apt knows about the GnuPG key used to sign the packages:
+
<pre><nowiki>
+
wget http://ubuntu.cafuego.net/969F3F57.gpg -O- | sudo apt-key add -
+
</nowiki></pre>
+
Then update your package listings and install the '''bcm43xx-firmware''' package:
+
<pre><nowiki>
+
sudo apt-get install bcm43xx-firmware
+
</nowiki></pre>
+
 
+
or download the package directly:
+
<pre><nowiki>
+
wget -c http://ubuntu.cafuego.net/pool/feisty-cafuego/bcm43xx/bcm43xx-firmware_1.3-1ubuntu2_all.deb
+
</nowiki></pre>
+
and then install it manually:
+
<pre><nowiki>
+
sudo dpkg -i bcm43xx-firmware_1.3-1ubuntu2_all.deb
+
</nowiki></pre>
+
 
+
 
+
 
==== Step 2: Loading module and checking card ====
 
==== Step 2: Loading module and checking card ====
 
 
Load the module:
 
Load the module:
 
<pre><nowiki>
 
<pre><nowiki>
 
sudo modprobe bcm43xx
 
sudo modprobe bcm43xx
 
</nowiki></pre>
 
</nowiki></pre>
 
 
The device gets loaded as either eth1/eth2. Find out which one it is by doing a
 
The device gets loaded as either eth1/eth2. Find out which one it is by doing a
 
<pre><nowiki>
 
<pre><nowiki>
 
iwconfig
 
iwconfig
 
</nowiki></pre>
 
</nowiki></pre>
 
 
This should return the name of the interface as '''ethX'''. Check if you can scan for networks using
 
This should return the name of the interface as '''ethX'''. Check if you can scan for networks using
 
<pre><nowiki>
 
<pre><nowiki>
 
sudo iwlist ethX scan
 
sudo iwlist ethX scan
 
</nowiki></pre>
 
</nowiki></pre>
 
 
Note: For some reason I could not scan for networks, the result of iwlist would be "no networks found", but when I entered the access point information manually it worked fine.
 
Note: For some reason I could not scan for networks, the result of iwlist would be "no networks found", but when I entered the access point information manually it worked fine.
 
 
==== Step 3: Connecting to your network ====
 
==== Step 3: Connecting to your network ====
 
 
Now, Network Manager is by default in Feisty and available on the upper right side of your screen, next to sound applet, etc...
 
Now, Network Manager is by default in Feisty and available on the upper right side of your screen, next to sound applet, etc...
You can manage your connections directly by clicking left (to see infos, enable or disable networking) or right (to choose a network) on it.
+
You can manage your connections directly by clicking left (to see info, enable or disable networking) or right (to choose a network) on it.
 
+
 
If it doesn't work, you can use the following :
 
If it doesn't work, you can use the following :
 
 
 
Go to System -> Administration -> Network (if using gnome). click on your wireless card, click Properties, click "enable connection" and enter your wireless network details.
 
Go to System -> Administration -> Network (if using gnome). click on your wireless card, click Properties, click "enable connection" and enter your wireless network details.
 
Or, if Network Manager is not yet installed, install the following package, with apt-get or Synaptic:-
 
Or, if Network Manager is not yet installed, install the following package, with apt-get or Synaptic:-
第120行: 第61行:
 
sudo apt-get install network-manager-kde
 
sudo apt-get install network-manager-kde
 
</nowiki></pre>
 
</nowiki></pre>
 
 
This will install another Network Icon next to your Network Connection icon. This will allow you to manage your wireless connections.
 
This will install another Network Icon next to your Network Connection icon. This will allow you to manage your wireless connections.
 
 
Everything should now work. It should also work every time you turn on your computer without further configuration.
 
Everything should now work. It should also work every time you turn on your computer without further configuration.
'''Remember that you can use gnome-networking or network-manager, but not both! You have to deconfigure your card in gnome-networking to use network-manager if you have already configured it in gnome-networking.'''
+
'''Remember that you can use gnome-networking or network-manager, but not both! You have to set your card to roaming mode in gnome-networking to use network-manager if you have already configured it in gnome-networking.'''
 
+
 
==== Step 4: Configuration of WPA ====
 
==== Step 4: Configuration of WPA ====
 
+
Usually, the network manager utility should enable you to connect directly to the wireless utility. However, in some cases it might not connect even though you use the correct password. In case your default password does not work, try the password generated by the wpa_passphrase utility.
 +
<pre><nowiki>
 +
wpa_passphrase <wireless network> <your intended password>
 +
</nowiki></pre>
 +
This will generate a password (psk=<password>). Copy this password into the text box presented by network manager, which should enable you to connect to the wireless network (this was verified on a wpa2 personal using TKIP authentication).
 +
Try the manual method given below if you are having trouble with the network manager utility.
 
wpa_supplicant is usually installed by default, if not, install the package "wpasupplicant".
 
wpa_supplicant is usually installed by default, if not, install the package "wpasupplicant".
 
 
- Create the file /etc/wpa_supplicant.conf and insert the following:
 
- Create the file /etc/wpa_supplicant.conf and insert the following:
 
<pre><nowiki>
 
<pre><nowiki>
第138行: 第80行:
 
fast_reauth=1
 
fast_reauth=1
 
network={
 
network={
ssid="<your accesspoints essid>"
+
    ssid="<your accesspoints essid>"
scan_ssid=1
+
    scan_ssid=1
psk="<your wpa passphrase in plaintext>"
+
    psk="<your wpa passphrase in plaintext>"
 
}
 
}
 
</nowiki></pre>
 
</nowiki></pre>
 
 
- Make this file readable only for root
 
- Make this file readable only for root
 
<pre><nowiki>
 
<pre><nowiki>
 
sudo chmod go-rwx /etc/wpa_supplicant.conf
 
sudo chmod go-rwx /etc/wpa_supplicant.conf
 
</nowiki></pre>
 
</nowiki></pre>
 
+
- Edit /etc/network/interfaces ( This will disable network-manager and may not be required ):
- Edit /etc/network/interfaces:
+
 
<pre><nowiki>
 
<pre><nowiki>
 
auto ethX
 
auto ethX
第157行: 第97行:
 
wpa-conf /etc/wpa_supplicant.conf
 
wpa-conf /etc/wpa_supplicant.conf
 
</nowiki></pre>
 
</nowiki></pre>
 
 
- Finally, test it by restarting the wireless interface
 
- Finally, test it by restarting the wireless interface
 
<pre><nowiki>
 
<pre><nowiki>
第163行: 第102行:
 
sudo ifup ethX
 
sudo ifup ethX
 
</nowiki></pre>
 
</nowiki></pre>
 
 
=== Resources ===
 
=== Resources ===
* The Dapper wiki entry: [[UbuntuHelp:WifiDocs/Driver/bcm43xx/Dapper]]
+
* The Dapper wiki entry: [[UbuntuHelp:WifiDocs/Driver/bcm43xx/Dapper|WifiDocs/Driver/bcm43xx/Dapper]]
* The Edgy wiki entry: [[UbuntuHelp:WifiDocs/Driver/bcm43xx/Edgy]]
+
----
+
[[category:CategoryDocumentation]]
+
 
=== Bcm43xx as ap ===
 
=== Bcm43xx as ap ===
 
[http://forum.openwrt.org/viewtopic.php?id=5585 link found on it working as an ap ]
 
[http://forum.openwrt.org/viewtopic.php?id=5585 link found on it working as an ap ]
 +
----
 +
[[category:CategoryHardware]] [[category:CategoryNetworking]] [[category:CategoryWireless]]
  
 
[[category:UbuntuHelp]]
 
[[category:UbuntuHelp]]

2008年12月16日 (二) 20:45的最新版本

<<Include(Tag/Unsupported)>>

Using Broadcom Wireless in Ubuntu Feisty 7.04

As of kernel 2.6.17, there is native support for some Broadcom chipsets. You have to use the fw-cutter tool to suck out the firmware code from a windows driver. The fw-cutter, or firmware cutter, or firmware extractor, does this. This driver was included into the Linux kernel since kernel version 2.6.17-rc2. There are two ways to use the Broadcom chipset with Linux:

  • Using ndiswrapper. This was the only way of getting support for these devices before Linux kernel 2.6.17-rc2. This will not work on PowerPC.
  • Using the native drivers in the kernel. This still requires extracting the firmware (the software that runs on the card itself) from one of a number of places using a tool called fwcutter. If you have bcm43xx hardware that is recognizable to the new kernel and you boot your PC with the Feisty installation CD, you will see error messages about the missing bcm43xx firmware, that show up on the console after the first boot splash screen but before X is started (or with the dmesg command). Following these instructions will fix this problem and you will have a working wireless card.

Forum Support for this Wiki

nickm wrote a howto on this forum for bcm43xx. If you have questions or need additional help please post there.

Using ndiswrapper

If your particular chipset is not supported by the bcm43xx driver in the kernel (as shown on the driver's website) you may need to install a driver using ndiswrapper. Depending on your chipset, you may even need to manually install a newer version of ndiswrapper. Note that if you aren't sure if your card is supported installing bcm43xx-fwcutter cannot hurt anything, is relatively easy, the drivers are free software (except for the firmware), and therefore should be tried first. Ndiswrapper should be used only if the card does not work well with the native drivers. See WifiDocs/Device/Broadcom_BCM4311_rev_01_(ndiswrapper). (Note: Here's a no-fluff|howTo for using a bcm43xx--a bcm4311, to be specific--in Feisty. Also includes WPA configuration.)

Using the native drivers

See also the drivers home page.

Step 1: Obtaining the Firmware

The software that runs on the card itself is loaded onto the device by the driver prior to each use (this happens regardless of the operating system you are running this card on). Although the driver for the card is open source the firmware from the manufacturer is not, and is not allowed to be distributed by anyone but Broadcom, hence why it must be downloaded from their site and extracted from their driver, and why it cannot be distributed in Ubuntu by default. If you're an Acer laptop user, try those instructions first. If you install everything correctly and still you're not able to connect to any wifi network, you should try to install acer-acpi package. It often helps and you won't be made to install driver using ndiswrapper. Find out more here: https://launchpad.net/acerlaptop-wifi/ After enabling the Universe repository (see Repositories), install the bcm43xx-fwcutter package.

sudo apt-get install bcm43xx-fwcutter

It will ask if you want it to download and extract the firmware, but because the link is currently broken, choose no. Then enter the following to download the recommend driver manually.

wget http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o

Now extract the firmware.

sudo bcm43xx-fwcutter -w /lib/firmware  wl_apsta-3.130.20.0.o 

If that doesn't work, look here

Step 2: Loading module and checking card

Load the module:

sudo modprobe bcm43xx

The device gets loaded as either eth1/eth2. Find out which one it is by doing a

iwconfig

This should return the name of the interface as ethX. Check if you can scan for networks using

sudo iwlist ethX scan

Note: For some reason I could not scan for networks, the result of iwlist would be "no networks found", but when I entered the access point information manually it worked fine.

Step 3: Connecting to your network

Now, Network Manager is by default in Feisty and available on the upper right side of your screen, next to sound applet, etc... You can manage your connections directly by clicking left (to see info, enable or disable networking) or right (to choose a network) on it. If it doesn't work, you can use the following : Go to System -> Administration -> Network (if using gnome). click on your wireless card, click Properties, click "enable connection" and enter your wireless network details. Or, if Network Manager is not yet installed, install the following package, with apt-get or Synaptic:-

sudo apt-get install network-manager
sudo apt-get install network-manager-gnome

Or, for kubuntu:-

sudo apt-get install network-manager
sudo apt-get install network-manager-kde

This will install another Network Icon next to your Network Connection icon. This will allow you to manage your wireless connections. Everything should now work. It should also work every time you turn on your computer without further configuration. Remember that you can use gnome-networking or network-manager, but not both! You have to set your card to roaming mode in gnome-networking to use network-manager if you have already configured it in gnome-networking.

Step 4: Configuration of WPA

Usually, the network manager utility should enable you to connect directly to the wireless utility. However, in some cases it might not connect even though you use the correct password. In case your default password does not work, try the password generated by the wpa_passphrase utility.

wpa_passphrase <wireless network> <your intended password>

This will generate a password (psk=<password>). Copy this password into the text box presented by network manager, which should enable you to connect to the wireless network (this was verified on a wpa2 personal using TKIP authentication). Try the manual method given below if you are having trouble with the network manager utility. wpa_supplicant is usually installed by default, if not, install the package "wpasupplicant". - Create the file /etc/wpa_supplicant.conf and insert the following:

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
eapol_version=1
ap_scan=1
fast_reauth=1
network={
    ssid="<your accesspoints essid>"
    scan_ssid=1
    psk="<your wpa passphrase in plaintext>"
}

- Make this file readable only for root

sudo chmod go-rwx /etc/wpa_supplicant.conf

- Edit /etc/network/interfaces ( This will disable network-manager and may not be required ):

auto ethX
iface ethX inet dhcp
wireless-essid <your accesspoints essid>
wpa-driver wext
wpa-conf /etc/wpa_supplicant.conf

- Finally, test it by restarting the wireless interface

sudo ifdown ethX
sudo ifup ethX

Resources

Bcm43xx as ap

link found on it working as an ap