Whistle InterJet

All About the Whistle InterJet


Welcome!

The Whistle InterJet was an amazing SOHO "Internet in a box" appliance -- mail server, web server, and gateway for the entire office of the 1990s. It had a ton of innovative features for the time -- elegantly simple in its design.

Our mission: figure out cool things to do with the amazing and wonderfully well-designed InterJet -- rescuing hardware, preserving software, installing modern versions of NetBSD, preserving and recreating original functionality, and extending its usefulness. Hack value is also a high priority. :)

An InterJet 200 running NetBSD 11, beside an original Whistle Communications mug.
An InterJet and its mug (sold separately)
InterJet front panel at power-on under WhistleWare 3.0.3: the Whistle logo and the clock.
WhistleWare at startup with whistle logo
An InterJet 120 and two InterJet 200s booting NetBSD 11. The Whistle logo is drawn by our NetBSD kernel patch, not by WhistleWare; the boot stage (dhcpcd) shows beneath it.
Three InterJets booting NetBSD 11
The IBM-branded InterJet II, netbooting: the panel shows the loader.
The IBM InterJet II, with netboot output
The InterJet mainboard in its chassis, side open: ALi chipset, memory modules at left.
Inside an InterJet - mainboard plugs into a backplane below
An InterJet 200 running NetBSD 11, beside an original Whistle Communications mug. X
InterJet front panel at power-on under WhistleWare 3.0.3: the Whistle logo and the clock. X
An InterJet 120 and two InterJet 200s booting NetBSD 11. The Whistle logo is drawn by our NetBSD kernel patch, not by WhistleWare; the boot stage (dhcpcd) shows beneath it. X
The IBM-branded InterJet II, netbooting: the panel shows the loader. X
The InterJet mainboard in its chassis, side open: ALi chipset, memory modules at left. X

More photos...

What's new



HELP SAVE the InterJets!

Since this site was first stood up in the early 2000s, InterJet hardware has become dramatically more endangered.

If you have an InterJet, please contact me! It is vital that we document and preserve surviving hardware.

We need:

And if you have an InterJet that you no longer need, please consider donating or selling your InterJet (I will pay shipping and handling - contact me!)

Back to top


What is an InterJet?

The InterJet was a small office's whole Internet setup in one box: the connection out (by modem, ISDN or frame relay), the firewall, and the office's mail, web and file server. Made by Whistle Communications of Foster City, California; the earliest software release we have recovered dates from December 1996.

The InterJet won awards.. but ISPs were not keen on selling a third-party box. Frustrated would-be buyers nicknamed it "the nicest box you couldn't buy" (Jeremy Allison, a former Whistle engineer).

The InterJet II (1999) moved to a single-board approach, 32MB of RAM, internal power supply, and no onboard UPS.

Both generations of InterJet were designed to be easy: You bought one from your ISP (see Providers), plugged it into a phone line and your office network, typed in a serial number the ISP gave you on the keypad, and it configured itself. Everything else was done from a web browser through a set of pages Whistle called "agents".

The InterJet's software ("WhistleWare") had some solid OS chops under the hood. It was based on FreeBSD (2.2.x in the first-gen InterJet). Whistle's tech team even included some well-known FreeBSD developers. And the work they did for the InterJet was contributed back into FreeBSD -- notably netgraph (a networking framework) and "soft updates" (filesystem resilience). components page.

In June 1999, IBM announced it was buying Whistle -- in part (per Allison) because the InterJet had sold reasonably well in Japan (where NTT was its distributor). So there's an entire branch of the InterJet history and lineage centered in Japan (see the InterJet in Japan, in Japanese).

IBM's direction post-acquisition positioned the InterJet II as part of its Small Business WebConnections line. InterJet II got updates until at least WhistleWare 4.3 in August 2001 (the last release we know of. IBM later dropped the product.

Decades later, InterJet hardware is endangered: units lost to time, and drives failing on those that remain. Which is why we need your help.

Back to top


Models

Known InterJet models

InterJet

(The first generation had no other name -- we sometimes use "InterJet I" or "first-gen InterJet" to disambiguate)

Model 100 120 130** 140 200
Processor Cyrix DX4 Cyrix DX4   Cyrix DX4 Cyrix DX4
RAM 8MB EDO 16MB EDO 16MB 16MB EDO 16MB
Modem USR 33.6 USR 33.6 USR 33.6 USR 33.6 USR 33.6
ISDN       Digi DataFire-U TA  
Sound SoundBlaster 2.1* SoundBlaster 2.1*   SoundBlaster 2.1*  
Internal Net 4-port 4-port 4-port 1-port 1-port
Peripheral Net No No No 1-port 1-port
Hard Drive 1GB (Quantum Fireball TM1080A, 1039MB) 2GB (Quantum Fireball ST2.1A, 2014MB)   3GB 2GB (Quantum Fireball ST2.1A, 2014MB)
Factory Partitions   / 145MB, /var 49MB, /data 1.5GB      
Motherboard type I type I type II** type I type I
Async Port No No No No Yes
UPS Battery PowerSonic PS-1212, 12V 1.2Ah PowerSonic PS-1212, 12V 1.2Ah   PowerSonic PS-1212, 12V 1.2Ah  
MSRP $1,995 $2,695 n/a $2,995 $3,495

* The sound card may have been optional, and might have been supplanted by the frame-relay card when selected.

** Whistle also made a model 130, but apparently never went into production with it(?). The "type II" motherboard is detected at boot, details TBA.

Sources: RAM type, drive models, partitions, ISDN, sound and battery come from Computer Magic's 2001 quick-reference sheets; the 120 and 200 drives were also read from known units, whose Quantums appear to be factory. The PowerSonic PS-1212 is taken as the original UPS battery; the Panasonic LC-R121R3PU (12V 1.3Ah) found in some units may be aftermarket. The 100 and 120 sheets also list a second network card; both models have only one, the four-port hub.

InterJet II

Model 2200 2200a 2220 2230 2250 2300
Processor Cyrix MediaGX, 233 MHz  ?  ?  ?  ? Cyrix MediaGX 486
RAM 32MB  ?  ?  ?  ? 32MB
Modem 56K?  ? 56K 56K 56K 56K Internal
ISDN Modem Yes: Siemens IPAC-SU, ISDN-U jack  ? Yes, ISDN-U Yes, ISDN-U Yes, ISDN-U Yes
Internal Net 10/100, Intel 82558  ?  ?  ?  ? 10/100
Peripheral Net 10/100, Intel 82558  ?  ?  ?  ? 10/100
Hard Drive UDMA33. Whistle's manual says 10.2GB; its 2001 product spec, 6.4GB  ?  ?  ?  ? 6.4GB UDMA (system claims 9787MB)
Async Port Yes, DB9 (also frame relay?  ?  ?  ?  ? Yes

Sources: 2200: Royce's unit. 2220, 2230, 2250: listed with the 2200 in Whistle's 1999 FCC Part 68 registrations, which give all four a 56K modem and ISDN-U.
2300: Computer Magic's IBM sample unit (not listed in FCC registrations)
Labels on the bottom of the 2200 are prefixed with "IJ", so labels might have been IJ2200, IJ2220, IJ2230, IJ2250, IJ2300 in the wild.

Back to top


Hardware and OS info

NetBSD is now the recommended base OS (due to ongoing 486 support)


Part / subsystem Details
CPU Cyrix 486DX4 100MHz with FPU; no CPUID
Chipset ALi M1489; ISA, no PCI BIOS
BIOS General Software Embedded BIOS 3.1, Whistle build of 1996-04-27. Has no config options / interface. No serial redirection -- POST needs an ISA VGA card
RAM 8 or 16MB as shipped; 2x 32MB 72-pin FPM SIMMs for 64M (the most the BIOS can report)
memory count At some power-ons, the BIOS reports 7168 kB instead of 64512 kB; warm reboot skips the count. Seen only on units upgraded past 16MB. If your OS can override BIOS memory count, that may help (works on NetBSD)
netboot ROM BOOTP and NFS, a.out kernels only. Two versions: 7621012-3 BIOS finds only WD80x3 cards with Whistle's own MAC prefix, 7621012-2 finds NE1000/NE2000. To trigger the onboard netboot menu, press Enter once immediately after "Power check" shows on the panel
serial ports COM1 0x3f8 irq 4; COM2 0x2f8 irq 3 (LCD); COM3 0x3e8 irq 5 (modem, if installed). All 16550A. NetBSD calls them com0 through com2
front panel 128x64 graphics / 20x8 text and keypad, both on COM2 at 57600; see control map. ESC W arms a watchdog that resets the machine. Don't send pending further testing
network Hub card is an NE2000; single and dual-port cards are WD80x3 (WD8013EBT)
VGA and netboot An ISA VGA card can stop a WD80x3 card netbooting: the panel shows the MAC and stops; NE2000 is unaffected
disk No INT 13h extensions, so C/H/S only - keep the MBR, boot blocks and kernel below cylinder 1024 (recommend OS root partition under 480MB). Transcend 8GB 40-pin IDE flash modules have been tested and work well (use 63 sectors / 16 heads if prompted by NetBSD install). Standard IDE-to-CF adapters should also work, but have not been tested
sound Classic full-sized PC speaker in every unit. SoundBlaster ISA card (0x220 irq 7 drq 1) in one unit of four, unclear if it was shipped that way. Entire system freezes during playback, so clock will drift unless reset on exit
modem Internal analog modem on COM3; answers AT. USR 33.6 Sportster Fax family, supports Caller ID but not voice features
frame relay card Whistle synchronous serial card for a CSU/DSU, MK50H28, stock in the 200 models - external connector is female 25-pin
video None onboard. 16-bit ISA VGA cards should work
keyboard Motherboard connector J7, has been successfully wired
boot media No floppy header; CD-ROM works as slave but cannot boot; no USB -- install with drive in another system, or use netboot (see above)
battery Internal UPS, 12V 1.3 Ah SLA. With battery installed, the rear switch puts the unit on battery (power LED goes amber), which is frankly badass - you can just pick the thing up and move it across the room and then plug it back in. Replacement batteries are a little smaller than the original, so may need at thicker pad than the original between chassis and battery
power off Power off: rear switch, then keypad 2-5-8 simultaneously, which cuts power without telling the OS (sync or halt first!) ESC X on COM2 powers off on battery, and power-cycles on mains
models 100/120/140/200; the 200 adds a frame-relay card. Model sticker on the bottom, also substring of serial

Task Status
NetBSD 11.0/i386 DONE - runs multiuser on a model 120 and on 200s (dmesg for a 200) - full howto pending (Royce)
kernel DONE - INTERJET_64M: GENERIC_TINY plus options REALBASEMEM=639 and REALEXTMEM=64512. Both required to override the bad BIOS value. Cross-build only (unit too slow to compile directly)
memory Needs more than 16MB in practice (64MB recommended). Set REALEXTMEM to the unit's RAM less 1MB (31744 for 32MB); too high will corrupt memory
console DONE - com0 at 9600: installboot -e -o console=com0,speed=9600, and consdev=com0 in /boot.cfg
boot blocks DONE - C/H/S only. Stock bootxx can hang after "Loading system..." unless you set its stack to 0x7c00
install DONE - install on another PC and move the disk, or over the network (see hardware tab). Ensure disklabel shows partition a, or else root will not mount (error 6)
netboot DONE - wrap the ELF kernel as a.out for the ROM (a 32-byte stub). The NFS server needs NFSv2: NetBSD serves it, Debian 12 cannot
network DONE - ne1 and we0 in one kernel depending on which card is installed. Stock GENERIC_TINY has the wrong shared memory address for we
LCD and keypad DONE - lcdd, a /bin/sh daemon: status screen, some menus in the style of the original, and boot progress; the kernel draws Whistle's logo at boot (patch)
speaker DONE - enable attimer0, pcppi0, sysbeep0 and spkr*; plays Whistle's boot chime (out the PC speaker, mid quality). Getting the optional NetBSD three beeps at halt needs two patches (PR kern/60735)
power off DONE - with lcdhalt_escx=YES, shutdown -p sends ESC X (patch) on battery only (on mains power it halts immediately). DO NOT send ESC X unless the OS is halted
"Bad address" during netboot install FIXED - a race reading CR2 in the i386 trap handler: ~7% failures without fix, none after (not reported to upstream yet)
modem DONE - attaches as com2 and answers AT with cu
frame relay In progress - custom driver wfr attaches and passes IP in loopback, but not tested on real connections yet
SoundBlaster Not started - sb0 at irq 7 drq 1 plus audio*
tuning PTYFS required for ssh; root mount noatime,log; set postfix=NO in rc.conf; localcipher = blowfish,6 or logins take 10 s. No pkg_add / pkgin on the unit (too big for RAM) - install on a faster system with package altroot options, then rsync over. Also disable ntpd (but ntpdate is OK); working on chrony config (Royce)
harmless boot messages "1 error while detecting hardware" (the Cyrix cache warning); "wsbell at spkr0 not configured"

Task Status 2026
RAM testing DONE - (2) 32MB 72-pin FPM non-parity tin SIMMs (Joe Hamelin) All four units here have 64MB. A stock 16MB unit needs more RAM for NetBSD 11
OS install proof-of-concept DONE - Mike Wallette (FreeBSD 4, 2005), Matt Schumacher (2005) (Linux) FreeBSD 10.x was the last to support 486 in 64MB of RAM; consider NetBSD instead; Linux would have to be custom
FreeBSD install DONE - instructions. Use freebsd-update to patch (Royce) Outdated - see above
FreeBSD custom kernel DONE but not recommended ('make buildkernel' takes ~3.5 hours).
Use device.hints on 5.x/6.x (see sample diff).
Outdated - see above
FreeBSD 5.x/6.x install ON HOLD - use freebsd-update, but there is a boot problem with 5.x/6.x
and a kernel panic that was fixed here.
Recommendation: none at this time (Royce)
EXPLAINED - the BIOS undercounts memory at some power-ons and FreeBSD cannot be told otherwise. 5.x and 6.0 load only after a warm reboot. Recommendation: 4.11 (untried)
console on COM1 DONE - enable ttyd0 in /etc/ttys; echo -P > /boot.config; reboot  ?
keyboard DONE - works on mboard connector J7; $10 to build one (Joe Hamelin)  ?
video DONE - 16-bit cards work fine in generic VGA mode (Wallette) An ISA VGA card can stop a WD80x3 card netbooting
network DONE - Original hub works as ed0/NE2000; also 3C509, Intel Pro The netboot ROM finds only one card type; two ROM versions exist. See Hardware
LCD support In progress - 57600bps COM2 (Joe) - perl script (Royce) DONE - mapped: control map. Never send ESC W: it arms a reset watchdog
modem Not started - suspect sio2/COM3 at IRQ5 FOUND - sio2 is the modem's UART; FreeBSD disables it by default. Answers AT
CD-ROM DONE - works as slave, but BIOS doesn't support booting (Joe)  
sound support In progress - VOXWARE sb0 works on 4.x; no pcm yet; suspect IRQ7 per original config IRQ7 confirmed by Whistle's own kernel. The card was in one unit of four
power supply DONE - get the PSA-30U-120 (mirror) power supply and a Tumbler 3271V86SD cord. (Royce)  
battery DONE - order Interstate SLA1005 (12V 1.3 Ah SLA) (Cliff Erickson) Original cell is a Panasonic LC-R121R3PU, now discontinued
NetBSD 11   DONE - see NetBSD (Royce)
current FreeBSD   No - 96MB minimum; the BIOS reports 64MB at most. Last likely is FreeBSD 10.4
OpenBSD 7.x   No - wants a Pentium
Linux   Hand-built only: Debian needs i686. LILO fails on this BIOS; SYSLINUX works
WhistleWare   3.0.3, 3.2.1p8, and 3.2.1p16 recovered from original drives (contact me if you have others!)

Part InterJet II (2200) InterJet by contrast)
CPU Cyrix MediaGX, 233 MHz; no CPUID Cyrix 486DX4
RAM 32MB, one 168-pin SDRAM DIMM socket. The BIOS counts it correctly SIMMs; the BIOS can miscount
chipset Cyrix Cx5530, PCI ALi M1489, ISA
BIOS Same Embedded BIOS 3.1 build as the I  
network Two Intel 82558 10/100 on PCI NE2000 hub or WD80x3 cards
disk Cx5530 UDMA33. DMA to a buffer not aligned to 16 bytes hangs the bus IDE, CHS only
video In the Cx5530, with no connector on the back only w/3rd-party ISA card
USB Two ports none
serial ports COM1 (DB9 console), COM2 (front panel), COM3 same
front panel Same codes as the I  
netboot ROM Etherboot 4.1pre9, TFTP, ELF BOOTP/NFS, a.out
reset None in software: halt, then keypad 2-5-8 or the rocker switch reboot works
battery, speaker Neither both
power IEC C8 inlet; takes a non-polarized C7 cord. 2-5-8 cuts power at once external supply
audio Cx5530 XpressAUDIO SoundBlaster in some units?

Task Status
NetBSD 11.0/i386 DONE - multiuser, from disk and netbooted (Royce)
kernel DONE - INTERJET2_32M, from GENERIC: disk, network and video are all PCI. No REALEXTMEM. Never boot an InterJet kernel on an InterJet II, or the reverse
console DONE - the DB9 at 9600; connect before power-on, as there is no video out
disk DONE - nothing to set: NetBSD drops to PIO for any unaligned transfer
netboot DONE - the ROM loads a kernel only after it is rewritten into one flat layout; a stock kernel does not survive it
front panel DONE - lcdd runs
reboot None: shutdown -h now, then 2-5-8
USB DONE - works
audio Not started - no driver attaches
root will not mount Same as the I: disklabel must show partition a

Task Status
FreeBSD 7.0 DONE - GENERIC, 2008 (dmesg), with DMA turned off by hand
FreeBSD 10.x Not started - the last i386 branch under 64MB. GENERIC is 18.3MB against 64MB of RAM, and would need to be customized
OpenBSD Not started - wants a Pentium; the MediaGX might pass
Linux Hand-built only: Debian and its derivatives need i686

We also have some dmesgs.

Back to top



Known software versions

Original WhistleWare software versions we have recovered.

There is an A/B partition upgrade scheme -- a unit may hold two different versions at once.

Each release was distributed as an IDEA-encrypted file; all of the encryption keys are now known, so every release marked available can be decrypted. The Status column: missing (known to have existed but not held), encrypted (held but no key -- none at present), or available (held and openable, whether as a decryptable upgrade archive or a full installed disk image).

The "Released" column is the month from each release's own official Whistle release notes. "Change highlights" is a terse summary, and the changelog link opens Whistle's release notes; each release's directory under whistleware-releases/ also holds a list of its files. For 2.0.3d1, 3.0.3 and 3.2.1p8 to p16, whose notes add nothing to the previous level's, "Change highlights" names what changed from it, from a comparison of their files.

InterJet (Whistle Communications)

Version Released Status Change highlights Full changelog Contributed by
1.0 Dec 1996 available First release   Mike Dank (Famicoman)
1.1.1   missing      
1.1.2   missing      
1.1.2p3 1997 available     Hari Boukis
2.0.1p1 Oct 1997 available 200 sync port, multicast, remote mail changelog Hari Boukis
2.0.2   missing      
2.0.3d1 Nov 1997 available Kernel, mail, Samba, web server, PPP changelog Hari Boukis
2.1d3 Nov 1997 available Localized interface changelog Hari Boukis
3.0.2 Mar 1998 available Mail relay protection, queue options, ISP customization changelog Hari Boukis
3.0.3 Apr 1998 available Korean interface; APOP for remote mail; mail, Samba, web server changelog Royce
3.1 Jul 1998 available Backup, ring dial-back, mail cleanup changelog Hari Boukis
3.2 Jan 1999 available Secure Remote Access VPN add-on changelog Hari Boukis
3.2p1 Jan 1999 available Kernel, mail and daemon fixes changelog Hari Boukis
3.2.1 May 1999 available Maintenance release changelog Hari Boukis
3.2.1p8 Sep 1999 available PPP, NAT, file sharing, port scripts, kernel changelog Royce
3.2.1p8-telenor Sep 1999 available Telenor (Norway) build of 3.2.1p8 changelog Hari Boukis
3.2.1p10 Jan 2000 available Web server, DNS, mail setup, logs page, kernel changelog MM aka The Dutch Whistler
3.2.1p14 Apr 2000 available Mail loopback module; PPP, NAT, kernel changelog Hari Boukis
3.2.1p15-ricoh Apr 2000 available Ricoh (Japan) build changelog Hari Boukis
3.2.1p16 May 2000 available PPP, DNS, scheduled tasks, mail library changelog Royce

InterJet II (IBM)

Version Released Status Change highlights Full changelog Contributed by
4.0b7 Jun 1999 available WhistleWare II beta changelog Hari Boukis
4.1.1   missing      
4.1.1p1 Nov 1999 available WhistleWare II: spam blocking, reports changelog Hari Boukis
4.1.2 Feb 2000 available Mirroring, proxy speed, Mac IE 4.5 changelog Hari Boukis
4.1.2p1 Feb 2000 available Less web-block reload logging changelog Hari Boukis
4.1.2p2 Feb 2000 available Dial-on-demand mail, web-block updates changelog Hari Boukis
4.1.2p3-uunet Apr 2000 available UUNET build changelog Hari Boukis
4.1.2p4-uunet Apr 2000 available UUNET build changelog Hari Boukis
4.1.2p5-uunet Apr 2000 available UUNET build changelog Hari Boukis
4.1.2p6 Sep 2000 available Sendmail config; daemon, kernel fixes changelog Hari Boukis
4.1.3 Jun 2000 available Dynamic DNS, ODMR; mail and PPP fixes changelog Hari Boukis
4.1.3p1 Sep 2000 available CPU fan check tolerance changelog Hari Boukis
4.1.4 Oct 2000 available German UI; ISDN autoconfiguration changelog Hari Boukis
4.2 Nov 2000 available PPPoE, DHCP client, SSL autoconfig changelog Hari Boukis
4.2p1 Dec 2000 available DNS A record and firewall rule fixes changelog Hari Boukis
4.2p2 Feb 2001 available BIND 8.2.3 and ipfw security fixes changelog Hari Boukis
4.2.1 Apr 2001 available NTP security patch, mail tuning changelog Hari Boukis
4.3 Aug 2001 available SNMP agent; rebuilt userland changelog Hari Boukis

Back to top


Appliance projects

Project Status
NetBSD appliance core in progress (Royce)
NetBSD firewall waiting for a volunteer
CallAttendant port in progress, but no voice support in modem, so features will be stripped (Royce)
(superseded) Linux firewall DONE (2005) - SchuBox Linux by Matt Schumacher
jukebox paused - recommend audio/mpg123 NetBSD package
OpenBSD install (superseded) Good writeup by Nick Holland (2004, modern OpenBSD no longer feasible, but still informative) (local copy)

Interested in a project not listed? Let us know!


Other stuff

Public software components - the original list, and useful add-ons for hacking.

Whistle Folks - the rockin' people who brought you the original InterJet.

Manuals and guides - Whistle's own documentation. Preserved by Hari Boukis.

Providers - the ISPs and resellers who sold InterJets -- more info needed.

The InterJet in Japan -- more info needed.

Key Reddit thread -- the Dutch Whistler's 2020 retrospective

Fun with Your Whistle!

Working with the original system software:

References and Resources

Mailing list: (pretty low traffic right now) Send an email to whistlejet-request@nethead.org with "subscribe" in the SUBJECT. (dormant)

More photos - units, screens, and ephemera.

Back to top


Whistle while you work! Select:
royce's pages | ACS Internet | feedback

INTERESTING FACT: Fox40 Whistle is the largest manufacturer of whistles in the world.