This is an update to my original Wireless Smoothwall article, now updated for version 3. If your looking for the older version 2 guide you can find it here.
To restate what we are trying to accomplish, I live close to an area with open & free WiFi access. I am using a 19db dish to connect to this access point and then route it to my internal wired network using Smoothwall. This should also be the basic idea if you want to do it in reverse, connect a cable modem to your box and route wireless to your house.
There are some fairly advanced Linux topics in here so if you are not comfortable with compiling programs or using a command line you may want to look into other solutions such as DD-WRT.
Good news! Smoothwall 3 now includes basic wireless tools and several wireless drivers (mostly 802.11b). If your wireless card is supported by the arlan, atmel, hermes, orinoco, strip, wavelan, or prism54 drivers you're in good shape. The bad news is, it still has no easy installation and setup for wireless. I'll do my best to get you on the right track.
Go ahead and start the install as normal. When it comes time to setup the network we'll choose the GREEN + RED option. Probe for your cards and set your wired card to GREEN and your wireless card to RED. If Smoothwall cannot locate your wireless card (I'm not sure if it's even possible) you can choose the 'Select' -> * MANUAL * option and type in the name of the driver for your card (e.g. orinoco_pci). If you are unsure what driver your card requires you may have to go through them all (they are in /lib/modules/2.6.*/kernel/drivers/net/wireless). If you have selected the proper module for your card and have the driver installed correctly you will be allowed to continue.
If your card is not supported we will have to skip it for now. Choose the GREEN (RED is modem/ISDN) option instead. GREEN will be our local wired network, so be sure to assign it an IP you can access.
If your card was not supported by Smoothwall, you must download and install the developer edition of Smoothwall Express 3. This contains gcc and other libraries and headers we need to build and install extra programs and drivers. The Smoothwall developers recommend that you compile programs on a dev machine and then copy the binaries over to your real firewall box running the regular version of Smoothwall Express. A virtual machine is great for this and I recommend VMware Server or VirtualBox.
A lot of cards have drivers for Linux but are not included in the standard Linux kernel. Simply check with your card's manufacturer and download the correct driver. If your wireless card does not have a working Linux driver you can try using the Windows driver with ndiswrapper.
To build a driver you must download a matching Linux kernel, SFTP it (enable it in the web interface and use port 222) to your dev box and build it according the instructions in this post.
If you need WPA support you will have to download and build WPA Supplicant as well.
Once you have a working driver you can log into your box and run setup. Reconfigure the network type to GREEN + RED. Configure the RED device and choose the 'Select' -> * MANUAL * option and type in the name of the driver for your card.
If you have a card that uses the prism54 driver you may need to install firmware to get it to work correctly. Make sure SSH remote access is enabled on your Smoothie box using the web interface. You can download the correct firmware here then upload it through SFTP (port 222) to /usr/lib/hotplug/firmware/ and rename it to isl3890.
Use the iwconfig tool to configure your card. It automatically connects to the AP with the strongest signal so if your antenna is pointed in the correct direction you should be good to go. If you need to change it type iwconfig wlan0 essid 'name'.
If your looking for other modifications for your Smoothie box, check out this post at Smoothwall.org.