Wireless Testing

From PC-BSD Wiki
Revision as of 21:26, 1 July 2013 by Jpaetzel (Talk | contribs)

Jump to: navigation, search

Contents

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 four tables:

  • Table 1: devices in this table do not 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[1].
  • 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.
  • Table 4: devices in this table have users who desire support but lack a FreeBSD driver.

If your wireless device is not supported and is not listed in Table 1, please create a wiki account and add it. However, please 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[2].

Note: report of ndisgen process causing a faulty situation. Description: Wireless is active, but when trying to connect to the network, the screen goes dark and the system stops responding. The black screen can be removed by restarting, but after reboot PC-BSD® does not enter the boot loader section. The system shows a prompt FreeBSD (Amnesia mode). Likely solution: FreeBSD problem report and patch[3] for "Unregistered use of FPU in kernel" panic caused by miniport driver adapted via ndisgen.

Note to iwi(4) users: work is ongoing to improve this driver. Please see Bernhard Schmidt's iwi wiki[4] if you are interested in testing these changes.

Table 1: Wireless Devices Needing Drivers: Does ndisgen Work for this Device?

Device Name i386 amd64 Comments
BCM4310 NO
BCM4313 YES YES Download this WinXP[5] 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 do not add them through the ndisgen interface you will 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[6] to your /etc/rc.conf (this[7] for amd64 users), and this[8] 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, also the drivers listed are extremelly sensitive to correct timing during installation and can brick your *BSD install, and are also very unstable and cause lots of kernel panics.

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 will not connect on boot and I've had to reboot. Also it has serious issues with uploading. Using this driver[9]
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
vendor = 'Realtek Semiconductor'
device = 'Realtek RTL8191SE wireless LAN 802.11N PCI-E NIC (RTL8191SE ?)'
class = network

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[10] and add the PR number if one exists.

Table 2: Existing Wireless Drivers That Do not 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. do not add devices that "should" work according to the driver man page).

Table 3: Wireless Devices Known to Work

Device Name Driver i386 amd64 Comments
AR5001 ath YES
AR9285 ath YES YES works in 9.1
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
Intel Centrino Advanced-N 6230 iwn Should work in 8.3 and later
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
BCM4321 bwn(4) needs support for N PHYs
BCM4322
BCM43224 http://wireless.kernel.org/en/users/Drivers/brcm80211
BCM43225 http://wireless.kernel.org/en/users/Drivers/brcm80211
BCM4313 http://wireless.kernel.org/en/users/Drivers/brcm80211
DW1501 Its actually a BCM4313, PCI Id. 0x4727, thus same driver at http://wireless.kernel.org/en/users/Drivers/brcm80211
RT2760T does not seem to have a blob for Linux yet
RT2800
RT2860 http://forums.pcbsd.org/showthread.php?t=13722&page=2
RT5390 http://www.phoronix.com/scan.php?page=news_item&px=OTA5MA open sourced in 2/11
RTL8188CE OpenBSD uses urtwn

Additional Information

Mobile broadband

Mobile Broadband provider info[11]

References


  1. http://www.freebsd.org/doc/en/articles/problem-reports/article.html
  2. http://blog.pcbsd.org/2010/11/looking-for-ndis-testers-freebsd-and-pc-bsd/
  3. http://www.freebsd.org/cgi/query-pr.cgi?pr=165622&sourceid=opensearch
  4. http://people.freebsd.org/~bschmidt/iwi/
  5. http://dl.dropbox.com/u/1101857/%5Bwikidrivers.com%5D%20Broadcom_BCM43xx_5.100.235.19_win5x.exe
  6. http://pastebin.com/bRPaBS7N
  7. http://pastebin.com/qYR1wXs4
  8. http://pastebin.com/s2gBzVVQ
  9. http://zonetusa.net/media/import/ZEW16X2_DRxp.zipL
  10. http://www.freebsd.org/cgi/query-pr-summary.cgi?query
  11. http://packages.ubuntu.com/precise/mobile-broadband-provider-info