Username/Email:  Password: 
TwitterFacebookFlickrRSS

Linux on the Air

Fifteen-mile internet connections through thin air--with a bit of help from Linux.

Filanet is a venture capital funded startup company that, like many other companies, saw the advantages of basing their software architecture on an embedded version of Linux. The benefits were quite clear: a familiar and flexible operating system with the power of the Open Source community behind it.

Filanet's CEO, along with a group of software and chip engineers, began Filanet with the idea of creating a simple and inexpensive solid-state appliance that would provide all of the networking services a small office might need. This would include a custom ASIC system-on-a-chip design with a number of I/O interfaces and would run an embedded version of Linux, µClinux, at its core. A simple and elegant web management interface and remote management capabilities would allow for easy installation and configuration.

After a couple years of development (and a bit of pain and suffering), this idea has turned into the Filanet InterJak Service Appliance (Figure 1).

Figure 1. Filanet InterJak 200 Service Appliance

A variety of basic and optional networking services have been added to the product line since, as well as a number of WAN connectivity options including ADSL, SDSL, ISDN and USB-attached V.90 modems.

In exploring sales opportunities, a quite interesting product request came from Trillion Digital Communications, a large wireless ISP covering much of the southeastern United States. They were looking for a solid-state, wireless broadband router that could support networking services such as firewalling, web content filtering, NAPT/NAT, dynamic routing, traffic shaping and remote management--all in a small reliable platform that could withstand the harsh environment of rural Alabama. Trillion had already gone through the experience of developing and supporting standard Linux-based rackmounted PCs, dealing with reliability, deployment and provisioning issues in the field, and were looking for a better solution.

Figure 2. Trillion Digital Communications Wireless Network

Filanet, a typically aggressive startup, decided that this application was an absolute perfect fit for the InterJak product line. Well, it was a perfect fit except for the complete lack of a wireless interface. And, there were a couple of other complications. We (Filanet) had no idea what ``in the field'' really meant when talking about long-distance outdoor wireless connectivity in rural Alabama. Oh, and Trillion required a shipping solution in two months. No problem. Time to rattle engineering's cage.

Engineering quickly decided that doing any new hardware design was out of the question, due to the need for a quick solution. The InterJak product line did have a single PCI slot available, which was designed to support more traditional WAN connectivity such as ADSL and ISDN. We also had decided that using standard IEEE 802.11b (11Mbps) hardware would be the most flexible solution, as the growing wireless LAN opportunity was looking quite attractive. We had heard that it was possible to hit fairly long distances with standard 802.11b equipment (in conjunction with specialized directional antennas and amplifiers), and figured that 802.11b would work out fine for last-mile wireless broadband connectivity.

On the development side of things, we had to make several decisions:

  • How to jam a wireless PC Card into our available PCI slot?

  • Which wireless chipset to support?

  • What can be leveraged from the Linux Open Source community?

  • What are the major software development pieces?

  • How do we test and productize this wireless thing?

Figure 3. Adding a Wireless Interface to the InterJak Service Appliance

How to Jam a Wireless PC Card into Our Available PCI Slot?

Since the PC Card didn't just fit (darn), we started looking at PCI sled adaptors for PC Cards. Numerous PCI to PC Card (16-bit and 32-bit) sled adaptors based on standard chipsets from TI, Ricoh and others were available on the market, but we rejected them for the following reasons.

The first was overkill. We really didn't want to port over the complete Linux card and socket services when all we were looking for was a PCI to 16-bit PC Card bridge. After all, the InterJak runs an embedded version of Linux that must fit into 8MB of Flash memory (with almost half of that Flash space reserved for the boot loader, configuration files and backup recovery image).

The second reason was that they were too expensive, and cheaper solutions were to be found somewhere. We then came across some very simple PCI to 16-bit PC Card sled adaptors based on the PLX 9052 chipset. The PLX 9052 is a simple PCI bus target interface chip providing a built-in ISA local bus, which is essentially the same thing as a 16-bit PC Card interface. These adaptor cards were available inexpensively from a number of Taiwanese OEM manufacturers and provided a very simple PCI interface to I/O mapped registers on the PC Card (Figure 3).

One PCI BAR (base address register) on the PLX 9052 provides access to control registers on the 9052 itself, a second BAR provides access to the PC Card attribute space and a third provides access to the PC Card 16-bit I/O mapped registers. Very little PCI bridge configuration was necessary to begin working with the wireless PC Card itself in our system.

______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Great Work, Wonderful Account of an awesome experience

Bob Wong's picture

Very inspiring.
Thanks for sharing your experience.

Regards.