Some notes we've thrown together.

Here are a few articles we've prepared on technical topics which other people may find helpful.

Wireless Network Adventures under FreeBSD v4.x

One day, I decided to experiment with wireless 802.11b internet on my FreeBSD router and fileserver here at the office. Several cards are listed on the hardware compatibility list, so what follows below are my notes and experiences in regards to setting this up.

A goal of adding wireless to my existing (wired) router machine would be to allow the system to act as a wireless access point. This would enable firewalling, access control, filesharing, and other services all to be available in a similar manner to the existing setup already in place for wired connections. All of this would be accomplished by bridging the existing network to the new wireless card added in to the mix.

The first wireless card obtained was a Compaq WL200 PCI card purchased on eBay. The card was a completely integrated PCI solution. Right from the start, there were nothing but problems with this particular wireless card. The card is actually the guts of the PCMCIA version integrated on the PCI card with a Cirrus Logic 6729 or 6730 PCMCIA controller chipset. Drivers for Windows OSes seem to top out at Windows 2000, meaning that the vendor does not appear to have been keeping drivers current for the card in recent history. Perhaps this was a hint. As it turns out, even in 4.10-RELEASE (or -STABLE) versions of FreeBSD, there is some kind of problem with that 6729/6730 chipset. The manpage for wi indicates a special setting (listed under BUGS) which needs to be added to /boot/loader.conf in order for the card to function properly, although even with that setting in place, and several others tried alongside it in varying combinations, I could not get this card to work properly. With that setting in place, the card was recognized during boot, and no longer hung up the system during the boot process, but never stopped endlessly changing channels, and refused to go into hostap mode. Since the wireless portion of the card is a Prism chipset, I have no doubt this is related to some incompatibility with the 6729/6730 chipset embedded on the PCI card.

The next card from the hardware compatibility list which I tried was a Proxim Harmony 8110 PCI card. This card was purchased from a local vendor who had several sealed packages of these on his shelves, perhaps with good reason. Again, the vendor drivers and website support seemed out of date and lacking. I tried to install the Windows OS drivers in Windows XP, but they didn't seem to work properly, and the card never seemed to function correctly. As it turns out, when the card was installed in the FreeBSD machine, the card identified itself as using the exact same Cirrus Logic 6729/6730 PCI-to-PCMCIA bridging chipset as the previous Compaq WL200 PCI card had used. This sickening coincidence played itself out predictably, with the same amount of time (or more) spent working on getting the card to function properly but without any success. Again, both the PCMCIA chipset and the Prism chipset wireless adapter were identified and seemingly set up properly, but the card insisted on continuously skipping channels, refused to go into hostap mode, and generally gave the appearance of ignoring commands sent to it.

At this point, I decided to take a different approach to wireless in FreeBSD. The majority of the wireless adapters listed on the hardware compatibility list are specifically PCMCIA versions, with only a small handful of native PCI versions. As such, it can probably be safely assumed that only the PCMCIA ones have been tested or even attempted in operation, since it only specifically states as much. The wi man page does list several PCI-to-PCMCIA adapter cards which allow you to insert your own PCMCIA card into a desktop computer. Apparently several of these are known to function properly, and so using one of them seemed like a safer route to follow in order to attempt to actually get wireless functionality up and running on that machine.

I ordered a Belkin F5D6000 PCI-to-PCMCIA adapter from eBay, which was listed on the wi man page as being compatible with FreeBSD. This installed fine and was detected as a wi device during system boot, despite that it had no PCMCIA card inserted into it. During a bootup with an actual wireless network PCMCIA card installed in it, the wireless card was detected and recognized by FreeBSD without problems. Upon configuring the card in the operating system in BSS client mode, this card immediately locked on to a neighborhood access point located down the street, and operated as it should have.

The Morals of the Story

  • PCMCIA versions of compatible cards accompanied by a compatible PCMCIA-to-PCI-bridge adapter are preferred to fully integrated PCI cards, as outlined on the manpage.
  • Avoid PCI versions of compatible cards UNLESS they are specifically indicated as compatible, or unless you have tons of time to waste trying to get them working.
  • In regards to FreeBSD, avoid PCI wireless adapters which integrate the Cirrus Logic 6729/6730 chipset. Known examples to avoid include :
    • Compaq WL200 802.11B PCI Adapter
    • Proxim Harmony 8110 802.11B PCI Adapter

Get In Touch

Lets talk about your project or online needs!
Contact Us