SDB:Wireless network card

Jump to: navigation, search
Icon-cleanup.png This article is in need of attention because it does not follow our wiki guidelines.
If you want to contribute, please read the rules for this wiki and if you have any questions, don't hesitate to contact the wiki team, we are more then willing to help you! :-)

This article will take you through the steps of getting different wireless network cards to work with openSUSE.

In many cases your wlan card will work out of the box and you needn't worry about it. In case it doesn't here's what to do.


Find out which chipset is on the card


The first step is to find out which chipset is on the card. The manufacturer is irrelevant, what matters is the chipset. There only exists a limited number of chipsets that all the card manufacturers use. The chipset tells you which driver you need.

Use this command if you have a pcmcia card or an onboard card:

/sbin/lspci

Look for the wireless card in the list and find the chipset, for example bcm43xx, Intel Pro Wireless, Atheros, RT2500 etc.

If you have a usb card use this command:

/sbin/lsusb

This won't output very detailed information, but it'll give you a unique hardware ID, for example 046d:c01b, search for it with Google or another internet search engine to find out what chipset is on the device.

The next step depends on the chipset. There can be a variety of reasons why a chipset is not supported out of the box. It may need proprietary firmware, there can be legal issues, or if you're unlucky there's no native Linux-driver for you chipset at all.


Getting your card to work


Intel Pro Wireless (IPW) 2100/2200

This is one of the most widely used cards. There's a driver for it in the kernel but you need some proprietary firmware as well for it to work. This is very easy to get, just install the package ipw-firmware from the non-oss repository

Intel Pro Wireless (IPW) 3945/4965

This chipset has an opensource driver included and an additional firmware as well for it to work. Be sure that the packages iwlwifi and iwl3945-ucode/iwl4965-ucode are installed from the repository

RT2x00

There's a driver in the wlan-kmp-<kernel flavour> package. Ralink have been very cooperative with the free and open source software community.

Atheros

The driver for these cards needs a non-oss hal that is considered in violation of the kernel license. Therefore this driver is not provided with the openSUSE madwifi package. You should be able to find packages for openSUSE elsewhere.

Intersil's Prism54 chips series

Have a look at the following URL's http://wireless.kernel.org/en/users/Drivers/p54 and http://lekernel.net/prism54/ where the old website and drivers are archived.

The following chips are (partly) supported

  • ISL3877, ISL3880, ISL3890 and ISL3886 (miniPCI)
  • ISL3886 + net2280 (USB, 1st generation with net2280 usb<->pci bridge)
  • ISL3887 (USB, 2nd generation, native USB interface)

--( STMicroelectronics' STLC4560 (SPI) - available in wireless-testing )

For the ISL3890 miniPCI chip I have used the information from URL http://lekernel.net/prism54/ and the FullMAC driver URL http://lekernel.net/prism54/fullmac.html Download the proprietary 1.0.4.3 firmware for the prism54 driver and put it in the /lib/firmware/ directory and rename it to isl3890 Run the command modprobe prism54 as root and configure the wireless networkcard in yast/ Network Devices/ Network Settings and check under the tab global options, that User Controlled with NetworkManager was selected as Network Setup Method. After saving this configuration and configuring the NetworkManager settings my wireless Intersil Corporation ISL3890 [Prism GT/Prism Duette] networkcard started working.

BCM43xx

Since version 2.6.17 of the Linux kernel there's a native driver included. This driver is reverse engineered, Broadcom have done nothing to help get support for the cards on Linux. Besides the driver you also need non-oss firmware, unlike Intel Broadcom won't allow distribution of this firmware by Linux distributors like Novell. So you need to manually extract the firmware from a Windows or Mac driver. Install the package bcm43xx-fwcutter. This package includes a script that will automatically get a driver from the internet and extract the firmware to the correct place. As root enter following command (I have added /usr in front of the command since in my openSUSE 10.3 system this was needed)

/usr/sbin/install_bcm43xx_firmware

If it turns out, via dmesg, that you have a 4311/version 2 chip, you NEED kernel 2.6.25. The default openSUSE 2.6.22 kernel will not work with this device. Furthermore, you need to use driver b43, not bcm43xx, which means that you will also need new V4 firmware. I have installed the 2.6.25 kernel, the new open source b43 driver and the new version 4 firmware using the following URL:

 http://lists.berlios.de/pipermail/bcm43xx-dev/2008-April/007355.html

After configuring the wireless network card with Yast and configuring KDE's NetworkManager the Broadcom 802.11g adapter BCM94311 MCG WLan Mini PCI started working correctly.


PS Just to help others with the same problem here are the clarifications I got from Larry Finger on the above mentioned URL.

I follow the URL, provided, to building a new kernel. I have a few remarks to make the text of the URL clearer and provide Larry's answers on my questions.

ad 1 Download kernel source Select option F behind kernel 2.6.25 otherwise you will download a patch.

ad 2 Unpack In the directory you saved the linux-2.6.25.tar.bz2 file

ad 5 Make sure you have installed qt3_devel should read qt3-devel

ad 6 In the GUI question 1: Networking/Wireless ...... Deselect "Generic IEEE80211 Networking stack (depreciated)" I can only toggle between " . " or " V " What should I do? If you cannot deselect it completely, then leave it with a dot. I think that some other network interface module requires it, which is the reason you cannot deselect it. It won't hurt. Dot means selects it as a module and the check has it built into the kernel.

question 2: Device Drivers/Network Device Support/Wireless LAN Should I not do anything, check or dot, with Broadcom BCM43xx wireless support (depreciated). Deselect bcm43xx.

ad7 Make How do I know that make ends witout errors? Does it say something after completion about errors? If there had been an error, it would have aborted with a message. Yours finished just fine.

zd1211

For information on http://zd1211.ath.cx/wiki/DriverRewrite.

The zd1211rw driver is already installed in the kernel. Download the firmware files from http://zd1211.ath.cx/wiki/DriverRewrite and copy to /lib/firmware/zd1211, create folders if they do not exist. Then connect your wireless card, and set it using Yast. It is possible that your card is detected as ethx wlanX instead, accept the automatic detection and check that it uses the zd1211rw module. Active knetworkmanager and use it to connect to the wi-fi network you want.

There's no driver for your card


If there's absolutely no native Linux driver maybe you can use a Windows driver with ndiswrapper, see ndiswrapper howto. Use only as a last resort.