For the last 4 months, I have used two SpellCaster DataCommute/BRI ISDN cards to connect SSC's satellite office to the main office. Previously, we had used high speed modems, and after that, a set of 3Com ISDN modems. The DataCommute/BRI has given us the fastest and most reliable connection. This ISDN adapter was designed specifically for Linux, and the ISDN4Linux driver is shipped with the Linux 2.1.x development kernel. See sidebar for hardware features.
The DataCommute/BRI is a 16bit ISA card. It is easy to install because there are no jumpers to set. The board's IRQ and shared memory are all set within the software driver.
SpellCaster has written an ISDN4Linux compliant driver for their ISDN cards. It is available for download from SpellCaster's ftp site: ftp.spellcast.com /pub/drivers/isdn4linux/scisa-2.00.tar.gz. This package compiles the kernel module, sc.o, and a configuration program, scctrl. The scctrl utility is used to set the ISDN switch type and SPID numbers, and to check the connection status, along with numerous other options. I had no problems compiling the driver and the scctrl utility. The kernel module takes several command line arguments to set the IRQ, memory base and io base. I recommend the use of the sc.o driver option do_reset=1 when using insmod to install the driver module into the kernel. If the reset option is not used, the kernel module will fail to install after a soft reboot unless you remove the module before the reboot.
The SpellCaster/BRI must first be configured to communicate with the phone company's ISDN switch. This action includes setting the SPID numbers of your two ISDN channels, setting the phone number (the ISDN board needs to know its phone numbers), the ISDN switch type and the speed of each channel. These hardware settings are set using the scctrl utility which is provided by SpellCaster and comes with the kernel driver. After hardware configuration is complete, the connection configuration is handled by the generic ISDN4Linux utilities. These utilities require ``ISDN Subsystem'' support compiled into the kernel. ISDN4Linux supports single channel and dual (128K) PPP connections, as well as HDLC connections. IPX can also be transmitted by using ISDN4Linux's emulated ethernet encapsulation.
It is important to use the 2.0.27 kernel with the SpellCaster boards. There have been problems reported with the ISDN subsystem in later kernels, and it hasn't been fixed as of 2.0.30. It is essential that the SpellCaster/BRI's firmware is at least version 1.51. If you have a card with an earlier firmware revision, multilink PPP connections will have less throughput than a single-channel connection due to a bug that causes packet dropping.
I found the SpellCaster's performance to be its greatest asset. Ping times between the two SpellCasters average 47ms, and long haul FTP transfers average 15KB/sec (122Kbps) with a multilink PPP connection. The CPU utilization is so low that at maximum transfer speed, the process of receiving from the ISDN and routing to Ethernet only used 1% of the processor time on a 486-33. The stability of the connection is also impressive. Our two ISDN routers have maintained a connection now for over a month with no intervention, despite periodic outages caused by unreliable ISDN service from our phone company. Reconnecting after an outage is handled by the ISDN4Linux subsystem automatically.
The hardware and the software of the SpellCaster/BRI both work well and are easy to use. The ISDN4Linux subsystem is more difficult to configure, and I recommend getting the FAQ at http://www.lrz-muenchen.de/~ui161ab/www/isdn/ before spending a lot of time attempting to decipher the cryptic acronyms.
Jay Painter is the systems administrator for SSC. He can be reached via e-mail at jay@ssc.com.