PCI Symphony Network Cards
The Proxim data sheets did a fine job of describing the products and functionality for use in a Windows NT environment, but did not provide some of the gory technical details I needed. Proxim delivers a layer of peer-to-peer networking setup software to configure and operate their products that insulates the user from the Microsoft networking properties dialogs. My questions were:
Did these cards act like standard Ethernet interface cards to the operating system? Yes, the cards present a standard Ethernet interface to Windows and Linux. Under Win9x and NT, you use the standard Microsoft network property dialogs to set up and control the wireless network card.
Could standard network routing be used on a Linux server to eliminate the need for a costly Wireless Bridge to provide the connectivity to the rest of an installed Ethernet? Yes, once a Proxim wireless card is installed and set up on the Linux box, standard TCP/IP routing provides the connectivity to the other Ethernet hosts and the Internet.
Thanks to the Linux driver mail list, I had enough information to proceed.
The existing network operates on the private class C network 192.168.1.0. The Linux server provides IP masquerading for all systems on the internal network through an ipfwadm firewall and diald support for an ISDN connection to the Internet. I am currently running Debian 2.0 with kernel 2.0.34 on the server. I chose to use 192.168.4.0 as the network number for the new wireless segment.
Installation of the Proxim drivers on the notebook is quite straightforward. Make a note of the Secid you use, since this will need to be used for the Linux driver and any other nodes that will be on the same wireless segment. After the Proxim installation is done, go to the “Microsoft Network Neighborhood | Properties” to bring up the Network dialog box. On the Configuration tab, select TCP/IP Symphony Cordless PC Card Adapter—Properties to set the network parameters, using the appropriate addresses for your system, as follows:
IP Address: IP address: 192.168.4.2 Subnet Mask: 255.255.255.0 WINS Configuration: Enable WINS Resolution Add 192.168.1.254 as a WINS server Gateway: Add 192.168.4.1 as a new gateway DNS Configuration: Enable DNS Enter a Host name and your Domain name Enter one or more IP addresses of your DNS server(s) Add Domain Suffix Search Orders as desired
The “new gateway” entry will be the IP address of the eth1 interface on the Linux box.
I use the domain name of my ISP and their DNS servers. You will need to use entries that correspond to your network and ISP. With diald, the first DNS query for a new connection brings the line up to the ISP. I chose to use a different host name for the notebook, depending on whether the Symphony card is active or if the regular wired 10/100 PC Card is active. When on the wireless network, the notebook is on the 192.168.4 segment; when it is on the wired Ethernet, it's on the 192.168.1 segment. I use different host names so I can state them explicitly in the /etc/hosts table on the Linux server.
On the Identification tab, set the computer name, workgroup and an optional computer description. Use the same name you used in the DNS setting above, and the name of the workgroup for your Microsoft networking. This will allow you to browse the shares on your Linux Samba server if the workgroups match. Once again, I made sure that the notebook, when on the wireless interface, had a different name than when it was on the wired network, since its IP address will be different.
First, you need to fetch the driver from the ftp.komacke.com/pub/rl2isa-drive site. If you are running a 2.0.3x kernel, I would recommend trying the rl2-1.5.1.tgz version. As of this writing, the latest version, rl2-1.5.3.tgz, had changes to support 2.2.x kernels, but broke for the older kernels. A kind soul from the driver mail list helped identify the version that worked for me. The Symphony driver is used as an installable module, so you must have module support compiled into your kernel.
Place the .tgz file in a suitable directory, and unpack it with:
tar -xvzf rl2-1.5.1.tgz
This will create a tree of directories under the current directory. I like to use /usr/src for source files, so I ended up with the driver source tree in /usr/src/rl2-1.5.1.
The rl2-version directory contains very good README files explaining the installation process. The examples and defaults are for Red Hat Linux, so I needed to answer several of the prompts differently for my Debian Linux host during the make config step.
For Debian, I answered as follows:
Module location? /lib/modules/2.0.34/net Executables? /usr/local/bin Man pages? /usr/man System header files? /usr/src/kernel-source-2.0.34/include CardType default : 5 PC Card support? : n
Be especially careful with module location and system header files. Until I got them right, the driver module produced would not load. The README file gives the CardType values; 5 is PCI.
Next, do make modules followed by make modules_install. If the driver module compiles without error, you should be able to do an insmod rlmod and see the initialization message on the console and in /var/log.messages. You can confirm that the module has been loaded by doing lsmod. Since I used a PCI card, the I/O address and interrupt were set automatically when the driver module loaded.
Practical books for the most technical people on the planet. Newly available books include:
- Agile Product Development by Ted Schmidt
- Improve Business Processes with an Enterprise Job Scheduler by Mike Diehl
- Finding Your Way: Mapping Your Network to Improve Manageability by Bill Childers
- DIY Commerce Site by Reven Lerner
Plus many more.