Archive Index (1999-2012) | 2013-current at | About  

Device profile: Filanet intelligent Internet service appliance

Jan 29, 2001 — by Rick Lehrbaum — from the LinuxDevices Archive — 11 views

Filanet Corporation (Sunnyvale, CA) aims to provide small and medium sized businesses with plug-and-play “big company networking” capabilities through an “Internet service appliance” known as the InterJak. Accordingly, the company's InterJak 200 is meant to be an easy-to-use, compact, appliance-like device which implements the functions of an Internet gateway, VPN/firewall, email server, file sharing, and… other LAN/WAN services, and includes tools for remote system monitoring and management.

Technical specifics

The system, which contains a custom-designed system-on-chip processor running a customized version of the uClinux embedded Linux kernel, functions as a full-featured LAN networking device that supports VPN IPSec, IP routing, firewall, NAT/NAPT, URL filtering, DHCP server/client, DMZ, web/cli/telnet management and logging, network address and port translation, DHCP client and server capabilities, and file and print sharing. The system also contains embedded web server technology, based on the open source GoAhead webserver.

The Interjak boots in less than 5 seconds from reliable solid state “Flash” memory, and there are no fans or other moving parts to fail. Two types of system control software are stored internally: a fully operational version; and a smaller sized recovery version which is capable of downloading new operational software when an upgrade is required. A hardware “watchdog timer” is also provided, to ensure continuous reliable operation.

Highly flexible external expansion is facilitated by the combination of dual USB ports plus dual FireWire (IEEE 1394A) ports. Plug-and-play support is available for a long and growing list of USB and FireWire printers, hard drives, modems, and other external devices. A wide range of WAN options — from V.90 and cable modems to ADSL, SDSL, and ISDN — are supported. Additionally, the system includes a pair of 10/100 Ethernet ports which can be used for LAN, WAN, and DMZ connectivity.

Meeting price/performance goals

In an effort to optimize the Interjak's price/performance, Filanet undertook the unusual step of crafting a custom RISC-based system-on-chip processor that integrates the functionality of an entire embedded computer into a single piece of silicon. The result, a one-chip embedded computer which Filanet dubs the “Dino”, contains the following functions . . .

  • 32-bit ARM 940T core processor
  • Two 10/100 Ethernet ports
  • Two USB host/slave ports
  • IEEE 1394 (FireWire) port
  • PCI expansion bus, for internal expandability (SDSL, ISDN, 802.11b, etc.)
  • DMA, Interrupt, and timing controllers
  • Interface for SDRAM system memory and Flash storage memory
  • 128KB on-chip static RAM (SRAM) memory
  • Patented “crossbar switch” for high speed internal data transfers (up to 1.6 gigabyte/sec)
Taking advantage of the Dino's capabilities, the InterJak 200 implements six external peripheral interfaces — all serial: two USB ports, two FireWire (IEEE-1394) ports, and two 10/100 Ethernet ports. Entry level Interjak models are equipped with 64MB of SDRAM system memory and 8MB of Flash storage memory; however, the system can support up to 256MB SDRAM and 32MB Flash.

Why embed Linux?

When it came time to select an operating system to embed within the device, the company examined a variety of embedded OS alternatives including Nucleus, VxWorks, pSOS, and QNX. James Goodwin, Finanet's senior architect, explained that the development team rapidly concluded that Linux represented the best match to their requirements, for the following reasons . . .

  • Relative to the commercial embedded and real-time operating system (RTOS) products that were available, Linux provided full operating system features, including the most extensive and up-to-date support for networking and communications.
  • A small-footprint version of Linux (called uClinux) was available which supported operation on the ARM CPU without requiring a memory management unit (MMU), which their Dino system-on-chip does not have, and which met the project's fast-boot objective (under 10 seconds).
  • Open source Linux device drivers were available that, thanks to free availability of source code, could readily be ported to the Dino system-on-chip.
  • Linux would not add anything to the cost of the end system.
Slightly ahead of their time

When designing the Dino system-on-chip processor, Filanet made the strategic decision to go exclusively with next generation peripheral expansion interfaces — USB and IEEE-1394 (FireWire) — rather than retaining legacy expansion ports like IDE (for disk), RS232C serial (for comm interfaces), or IEEE-1284 parallel (for printers).

A big benefit that resulted from this decision was a reduction in interface connectors. Also, it meant having the capability for plug-and-play installation and configuration of USB- and FireWire-interfaced devices such as hard drives, printers, modems, and WAN interfaces. A disadvantage, however, was that Filanet's Linux requirements in the area of USB and FireWire were running a year or so ahead of mainstream Linux (the Linux kernel first gained built-in USB support with the release of 2.4.0).

Consequently, Filanet found themselves needing to create some of the required USB support, including both device drivers and plug-and-play configuration functions. The resulting InterJak USB support allows plug-and-play installation and support of printers, hard drives, modems, and both LAN and WAN comm interfaces. Because of the need to incorporate the new USB and FireWire capability into uClinux, the InterJak currently contains a nonstandard implementation of uClinux. Filanet plans to “sync up” its OS with standard uClinux sources as soon as practical, according to Goodwin.

The bulk of the required software development was accomplished prior to actually receiving first prototypes of the Dino system-on-chip. Once Dino chips became available, it took the team less than three weeks to arrive at a fully working system.

System development challenges

Goodwin said some key challenges in developing the Interjak's embedded Linux software included . . .

  • Ensuring reliable and efficient system operation despite the Dino processor's lack of a memory management unit (MMU).
  • Fitting the required Linux kernel, services, and web pages within 4MB of Flash memory, including a recovery image, boot loader, configuration info.
  • Meeting performance goals by tuning the kernel and applications (including VPN IPSec functions) for maximum speed execution on the Dino processor.
  • Satisfying ease-of-use requirements for system management and configuration tools, including Web-based “quick setup,” remote management through encrypted web interface, telnet/cli interfaces, remote syslog, and email alerts.
  • Implementing new technologies, including the Dyno processor itself, and providing broad plug-and-play support for USB and 1394 peripheral devices.
When will it be available and how much will it cost?

The InterJak 200 will be available to customers in February 2001 at a suggested list price of $695. An earlier model, the InterJak 100 sells for $595 and does not provide the two FireWire expansion ports.

Filanet is partnering with service providers to deliver its InterJak products to a broad range of small and medium businesses around the world. A leasing option will also be offered, beginning at $25 per month.

This article was originally published on and has been donated to the open source community by QuinStreet Inc. Please visit for up-to-date news and articles about Linux and open source.

Comments are closed.