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 and its mug (sold separately)WhistleWare at startup with whistle logoThree InterJets booting NetBSD 11The IBM InterJet II, with netboot outputInside an InterJet - mainboard plugs into a backplane below
2026-10-06: a photo gallery - units, screens,
and ephemera; WhistleWare 2.0.1p1 and 3.0.2 in
known software versions, from Hari Boukis's
1998 restore disk
2026-09-30: NetBSD 11 runs on the InterJet: status, kernel configs
and patches under NetBSD
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, pleasecontact me!
It is vital that we document and preserve surviving hardware.
We need:
Hardware: entire units, or parts. Royce especially needs, for local testing: InterJet models 100, 140 (and 130 if any prototypes surface); InterJet II models 2220, 2230, 2250, 2300
Hardware knowledge: confirmation of existence of models, specifics of hardware options, and a registry (publishing optional) of known owners and which hardware they have)
Software: upgrade sets, and/or full-drive images, of the original WhistleWare software (we only have the versions listed below. This is urgent -- the original IDE drives are ancient and dying, so any surviving copies need to be imaged carefully with ddrescue or equivalent).
Testers: Volunteers to help test our upcoming bootable USB toolkit (hardware diagnostics, ROM dump, NetBSD netinstall, drive imaging (but don't wait -- image your drive now! contact me if you need assistance).
Ephemera: photos, brochures, marketing swag, printed manuals, original packaging, installation media ... (we know of two different mugs, a T-shirt, and an actual metal whistle that came in the InterJet box!)
Providers: which ISPs nd companies resold or supported InterJets, in what regions of the world?
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!)
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).
a front panel with a 20-character, 8-line LCD, a keypad ,and status
lights -- for setup and maintenance without a monitor
a built-in four-port Ethernet hub (on the 100 and 120) so the
office's PCs plugged straight into it
three comms options: 33.6Kbps modem, ISDN, or frame relay
an internal battery -- effectively an internal UPS, keeping the unit running for a while
when the power went out
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.
(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.
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 Enteronce 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
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
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
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
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: 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
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)
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 twopatches (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"
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)
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
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.