This area of the wiki is for those who wish to assist by reporting non-working wireless drivers or by testing new drivers. Both reporting and testing provides valuable information to the developers of wireless drivers. It also helps to ensure that PC-BSD and FreeBSD provide support for the wireless devices used by their users.
This page contains three tables:
- Table 1: devices in this table don't have a FreeBSD driver yet. If your device requires you to run the ndisgen script to convert a Windows driver to a FreeBSD driver module, it belongs in this table. Such devices use ndis(4) as their driver name. The goal of this table is to determine which devices need a native FreeBSD driver.
- Table 2: devices in this table already have a FreeBSD driver, but there are problems with the driver e.g. certain features are unavailable or the driver crashes. The goal of this table is to provide information to developers so the driver can be fixed. This means that you should reference any existing PRs or other URLs containing a description of the problem. If a PR does not exist, consider submitting one; information on how to submit a useful PR can be found at Writing FreeBSD Problem Reports.
- Table 3: devices in this table have a working FreeBSD driver, making it a quick reference to determine if a device is supported. If your device works and is not in the table, take a minute to create a wiki login account and add an entry for your device.
If your wireless device is not supported and is not listed in Table 1, please create a wiki account and add it. However, do a little bit of research first:
- Perform a web search for the name of the device and the word FreeBSD (for example, "freebsd broadcom 5709"). This should give you a good idea if the driver already exists--and if so, the name of the driver--or if other FreeBSD users have had problems getting their device to work.
- If you are not sure of the name and model of your internal device, try this command: pciconf -lv | grep -i wireless. If the device is USB, try usbconfig dump_all_config_desc.
- If a FreeBSD driver does not exist, download a Windows driver for the device, run the interactive script ndisgen as the superuser, and see if you can successfully use the generated driver module. Add the results for your architecture (i386 or amd64) to Table 1.
Note: ndisgen currently does not support the NDIS 6.X API. In practical terms, this means that you should only try it on XP and 2003 drivers. Make sure you download and try to convert the correct driver for your architecture (32 or 64 bit). If you would like to help test the most recent version of ndisgen, follow these instructions.
Note to iwi(4) users: work is ongoing to improve this driver. Please see Bernhard Schmidt's iwi wiki if you are interested in testing these changes.
Table 1: Wireless Devices Needing Drivers: Does ndisgen Work for this Device?
|BCM4313||YES||YES||Download this WinXP driver, add bcmwl5.inf and bcmwl5.sys (bcmwl564.sys if using the amd64 version of freebsd) as driver files and both bcm43xx.cat (bcm43xx64.cat for amd64) and bcmwlcoi.dll (bcmwlcoi64.dll for amd64) as firmware files (this is important, if you don't add them through the ndisgen interface you'll get a kernel panic as soon as you kldload the bcmwl5_sys.ko or bcmwl564_sys.ko file), move all the generated *.ko files to /boot/modules, add this to your /etc/rc.conf (this for amd64 users), and this to your /boot/loader.conf, add your wpa_supplicant.conf file to /etc and finally reboot the PC to get the drivers loaded and interfaces created.
Note: The WinXP drivers mentioned above work only on FreeBSD 9.0RC3 and later, if you need to use FreeBSD 8.2 or 7.4 use the curtiebo's Win98 driver.
|RTL8185||YES||YES||Try Me driver instead of XP. Use XP driver version 1.10. Should be about 280 KiB in size. Must manually load driver. Placing it in /boot/loader.conf did not initialize device. As far as I have tested it fully works. You may have to manually configure it as well. The graphical network manager did not work for me. (More info in discussion). Just finished setting up amd64 system. XP64 driver version 1.10 does work (using it now). Follow same procedures as i386 driver.|
|RT3062||YES||Not tested||Appears to be working, but not fully functional. Have had an issue where sometimes it won't connect on boot and I've had to reboot. Also it has serious issues with uploading. Using this driver|
|RTL8191SE||YES||NO||driver Vistax64: ndisgen generates rtl8192se_sys.ko . kernel load it , but module isn't used. pciconf -lv output :|
none7@pci0:10:0:0:class=0x028000 card=0x818110ec chip=0x817210ec rev=0x10 hdr=0x00
Vista drivers are not XP drivers and will not work.
|RTL8187SE||YES||NO||Not kldload if_ndis, says the archive already exists. PC-BSD (x86) is restarted after kldload rtl8187Se_sys.ko from Windows XP driver. The wireless continue to not function.|
|RTL8192SE||YES||YES, in 8.2||use the the Windows XP driver|
If a driver exists for your wireless device but the driver does not work well, add a description of the problem to Table 2. Take a minute to query the PR database and add the PR number if one exists.
Table 2: Existing Wireless Drivers That Don't Work Well
|Driver Name||i386||amd64||PR Number||Comments|
|rum||X||X||Some chip revisions have problems with poor signal strength if distance from AP is medium to high.|
|wpi||Known issue in 8.2 (http://www.freebsd.org/cgi/query-pr.cgi?pr=143874). Updating src and rebuilding kernel as per that link or upgrading to 9.0 fixes issue.|
Table 3 provides a handy resource for checking to see if your wireless driver is known to work on FreeBSD and PC-BSD. Devices should be added alphabetically (then numerically). Only add devices that you have successfully used (e.g. don't add devices that "should" work according to the driver man page).
Table 3: Wireless Devices Known to Work
|AR9285||ath||should work in 9.0 according to http://www.freebsd.org/cgi/query-pr.cgi?pr=148112|
|Belkin 54G (F5D7050)||rum||YES||external USB|
|Broadcom Corporation Dell Wireless 1390 WLAN Mini-PCI Card (BCM4311)||bwn||YES||YES||Works in 8.1 or later, only station, adhoc-demo and monitor mode is currently supported. Must install net/bwn-firmware-kmod port. Not the bwi-firmware-kmod. 8.1 users may need to modify /usr/src/sys/kern/subr_firmware.c to read FIRMWARE_MAX 50 and recompile their kernel; this is not necessary in 8.2 or higher.|
|Broadcom 802.11b/g (BCM4318)||bwn||YES||YES||Same as above|
|Intel 5100AGN||iwn||Should work in 8.1 or later|
|Intel 6205a||iwn||Works in 9.0. Instructions for 8.2 at http://blog.cochard.me/2011/08/backporting-intel-prowireless-6205a.html|
|RLT8187B||urtw||Should work in 8.0 or later|
Table 4: Devices Needing Drivers
The following interfaces need a FreeBSD driver:
|Device Name||Driver Sources/Notes|
|AR9287||committed to HEAD May 26/11|
|DW1501||appears to be Broadcom based, no open source driver or blob yet|
|RT2760T||doesn't seem to have a blob for Linux yet|
|RT5390||http://www.phoronix.com/scan.php?page=news_item&px=OTA5MA open sourced in 2/11|