Note: This FAQ was last updated on 31 July, 2002 and is no longer
This is a general purpose hardware/software FAQ for those
interested in using the I-opener Net Appliance for things the makers
probably didn't intend. See the original page at http://www.linux-hacker.net/iopener/.
Links to more sites, the mailing list and another FAQ are available
below. You're probably voiding your warranty
by even being at this page, so don't jump into this unless you're
pretty familiar with a PC's (preferably a laptop's) internals.
1.0 The i-opener
1.1 Where can I buy one?
Circuit City is sold out pretty much nationwide. If you
really really want one, you can have them order you one,
but beware: they're ordering them from, like, Taiwan, so it
might take a while. Expect to pay $99 for the unit and up to
$40 for shipping. Supposedly the back-order wait time at
Circuit City is being counted in weeks. You can also order
direct at 1-800-IOPENER for an estimated 7-10 day wait.
They ship via Fed-Ex. Circuit City seems to be limiting orders
to one per customer.
Note that according to their new license agreement, they say that
they're not so much selling the units anymore as leasing
them, which means they may ask for them back once you terminate
your ISP service. However, the only "penalties" they've noted on
their web site are for an early cancellation of their ISP service.
Try eBay. I am not aware of any retailer that is selling
these any longer. These units originally sold for $99, and
some outlets potentially went as high as $200 when the panic
started setting in, but if anyone is telling you they paid
significantly more, they're either lying or an idiot. (I've
seen people say they paid $500 for one of these things, which
is ridiculous, though see question 1.5
below for a possible explanation for this.)
1.2 What modifications have been made in recent units to keep us out?
On "second generation" units and later (basically anything made
more than a couple of months after this hack project made news),
the BIOS is epoxied to the board so that it cannot be removed
and replaced. Presumably, this was done to keep people from
undoing whatever they've done to the BIOS. It's likely a BIOS change has been
made to avoid tampering, but this is not confirmed. Some of the IDE pins are
hand-clipped on some models and the underside epoxied as well.
We do not know if this is the extent of the modification.
There are reports that a hard drive is unbootable on the device,
but it is not clear yet as to whether this can be attributed
to faulty cable or connector construction.
1.3 Are there different versions of the i-opener?
As far as the hardware goes, there is a gray version and a black
version. Some of the later ones have a labeled 200MHz processor
instead of 180MHz, though it appears that they all run at 200MHz
1.4 How can something like this be this cheap?
The devices were sold as a loss-leader for monthly Internet service.
This was why they were very much against the modification of the units
to do anything other than what they wanted it for.
The best guess as to the actual cost of the device is roughly $400.
1.5 Do you have to sign up with service?
This question is fairly moot today, but back then, yes you did.
You didn't have to before, but they made changes to their terms
which requires you to purchase a minimum of 3 months of service
when you buy your I-opener. You're still free to return
everything in new condition in the first 30 days for a complete
refund, but if you cancel in the first 90 days and keep the
unit, you will be charged $499. Yep. So, the cheapest you
can get this device now is for about $165, and various OS/hardware
changes they've promised may make it hard to do anything with
the resulting unit once you get it (well, aside from what they
meant you to do with it).
Others placed their orders after me and received their i-openers. Why haven't I?
Orders placed between the 16th and the 20th had "difficulties"
at some point while processing the order. As a result, these
orders could be delayed up to a week. No conspiracy theories,
sorry. (This question will automatically self-destruct.)
2.0 The hardware
2.1 How fast is it?
The processor is an x86-compatible 180MHz (some are 200MHz)
IDT WinChip C6 (MMX). It's comparable to any Pentium-class
~150MHz chip. Linux reports 80 bogomips. It appears that the
system is running the processor at 200MHz regardless of the
speed that's printed on it.
2.2 Does sound work under Linux?
Yes, the YMF715 is supported in the Linux kernel (Yamaha OPL3/SA2
driver) and exists for ALSA. It even has a microphone. The two
speakers sound pretty crappy, though, and there isn't much
of an option to attach external speakers, unless you want to mess
with the speaker connectors on the board or you want to do some
2.3 Are there close-up pictures of the system board?
2.4 Does it have an external VGA connector?
Yes, there is a place on the board where you could theoretically
connect a VGA DIN-style connector to use a standard monitor. The
LCD is driven by an internal LCD ribbon connector and I doubt it
would be suitable to drive anything else, but the analog VGA
connector should suffice nicely.
2.5 Does the modem work?
Yep. The internal 56k modem shows up and is accessible as a
standard COM1/ttyS0 modem. The connector appears to be a standard
serial port with a few extra pins for audio and telephone line
2.6 Is there a second serial port I can use?
The 10-pin header next to the dip switches is a 2nd serial port.
You can hook this up to your PC's serial port (with a null
modem), and get connectivity that way, utilizing the 'qtalk'
app on the i-opener. This seems to support zmodem, but the
i-opener doesn't seem to have the sz/rz binaries. If it did
(or if you can find/FTP them), it might make an easy way to
transfer files to/from your PC. If nothing else, qtalk also
provides you with a simple way to dial up to an existing setup
to transfer files ("
qtalk -m //1/dev/modem1") or set
up a PPP link. The command character is
2.7 What's this about a 16MB flash card drive?
There is a SanDisk NVRAM
pseudo-drive in the device. This appears to the BIOS and OS
as a standard IDE device (which would be secondary to any
installed IDE drive) from which you can read and to which you
can write data. There's no reason you can't install a minimal
system on this "drive" and use it to boot instead of permanently
installing an IDE drive in the unit. Note that these devices
have a finite write lifetime (10,000 to 100,000 writes, in all
likelyhood). In other words, you definitely don't want to use
this as your swap partition, and you probably don't want to
put /tmp or /var on it. Consider NFS or a small ramdisk. The
OS on the i-opener gets around this write limitation by mounting
most of the filesystem in a ramdisk built from a compressed
root image. See below (about how /etc/passwd isn't persistent
across reboots) for details.
3.1 How do I get into the BIOS?
The BIOS is a standard PC-style Award BIOS. There really isn't
anything worth looking at in there, but if you REALLY want to
get in, I hear that Ctrl-Alt-Esc will do it just after it starts
(where you'd expect the "Press F1 to enter Setup" message would
ordinarily be if this were a PC, which it basically is).
Something tells me that Ctrl-Alt-Esc bit could be simplified
3.2 How do I get to the QNX root prompt?
There are three methods to accessing the root prompt.
The Easy Way
This is usually the first stage for any of the other methods,
but it normally suffices perfectly fine for those just wanting
to take a peek. When the device starts up, and says "Updating
the I-opener", your moues cursor will change to a larger one.
At this point, hold down the Escape key (or Home if you're using
the device's keyboard), and press the number 4 about four times.
You'll get a root window. Note that if you have completed the
tutorial on your device, this window will disappear and the
Esc-4 combination will cease to function when the device is
allowed to boot through to the main menu. You have about 10
seconds to work, in this case.
The Serious Way
For those wanting to Get Stuff Done, or for devices that have
gone through the tutorial, but don't want to make any permanent
OS changes, this is the method for you. Get a root prompt
through the method above, and edit /etc/passwd. Null out the
password for root (just delete the x) and save (:w! as it is
read-only). Once you're back at the root prompt, execute
/app/stop-apps to kill the running i-opener application, which
should leave you a login: prompt. Type 'root' and you're in.
Note that if you've been using your i-opener as it was designed,
your unit may have been silently upgraded over the 'Net. Your
/etc/passwd may no longer be writable, so this method may not
be suitable for you anymore.
The Really Serious Way
This actually involves writing a file to the SanDisk which will
pre-empt the I-opener application (and null out the root password
in the process), giving you an immediate login prompt upon boot.
Secure a root prompt through any of the methods above, create
the directory /app/ztest, and a file /app/ztest/startup, with
this in it:
echo root::925158644:0:0 >/etc/shadow
Note that this can be done in the 10-second or so window
that you might have for method 1 if your i-opener has already
gone through the tutorial and method 2 no longer works for you.
You just gotta be fast. This simple example, in addition to
pre-empting the I-opener application itself, also does not
allow the device to load anything like network drivers. For
the Really Very Serious user, you'll want to use this startup script from Eric McDonald.
Don't forget to chmod 775 the /app/ztest/startup script.
You will need to hit the TAB key immediately after the device
starts to drop out of the boot logo so that you can see the
login: prompt when it appears.
These two commands should also allow you to achieve the same
thing without a startup script:
dsmod -d nvram -e startup -a .first -c -s .nopass
dsmod -d nvram -e startup -a .nopass -c -s "echo root::925158644:0:0 > /etc/shadow"
3.3 So this thing's Unix? What all can I do?
Yep. Most all standard /bin-style tools are available, as is
pppd/chat, ftp and telnet/telnetd. Interesting binaries are
in /bin, /dbin and /usr/ucb. Startup scripts are in /rc (loads
of cool stuff, esp. if you're interested in embedded devices
and how to build one).
3.4 Why isn't it saving /etc/passwd for the next boot?
The root filesystem is being mounted in RAM. The only filesystems
that you are able to write to (saving data on the SanDisk) are
/os and /app. /os contains the core of the operating system,
including a "root.fs" compressed image, which is what's loaded
into the ramdisk at boot time. The result of this is that no
changes you make outside of the /os or /app directories will
be persistent. Configuration of the device (phone number,
device ID, etc.) is actually done in NVRAM and not even on the
SanDisk. See the scripts in /rc for details on accessing NVRAM
I'll write about it here in a bit.
4.1 How can I network it?
You'd think they would put ethernet on this thing. In fact, there
DO seem to be drivers and configuration files in it for a 3com
ethernet setup, but there is no evidence of such a card or even the
means of connecting a card. (It's likely that different,
ethernet-capable hardware was used to aid in the OS's development,
and they're simply using the same image.) This leaves us with
some relatively unpleasant, but not insurmountable options:
- USB Ethernet
- The better choice is to get a Pegasus-style
USB ethernet device and use the USB support available in
the Linux development kernels. The dlink 650tx
($45) is an apparent #i-opener-linux favorite, as is the
LinkSys 100TX (not, it seems, the 10T).
- You might be able to use PLIP in the Linux kernel
to get some rudimentary IP networking over the parallel port.
Lots of people have reported success using all methods of
networking. The issues to watch for are Linux's poor (mainly
limited to Pegasus chipset) USB support, though OS's like NetBSD
and Win98 tend to have full support for most any USB device.
4.2 Can I dial the i-opener up to my own ISP?
Yes. You NEED to be familiar with pppd, though. I won't teach
you how to use it. The device has standard pppd/chat binaries and
/etc/ppp structure. Just plug in the values for your own ISP, and
4.3 Are there non-TCP/IP networking options?
There is a serial port you can use (see 2.6).
5.0 Alternate OS's
5.1 How do I put <insert alternative OS here> on it?
There are two methods to putting your own OS onto the I-opener.
The first involves purchasing a 2.5"/laptop IDE hard drive
(or an adapter for your existing 3.5" hard drives), installing
Linux on it through some other means, and attaching the drive
via a modified IDE cable to the I-opener, which will then
cheerfully boot it. Despite its complexity, this method has
thus far been the popular one, and it will work with any x86
operating system (yes, including Windows). The alternative is
to find a boot image for the OS of your choice and write that
boot image directly to the SanDisk. This could be a complete
16M filesystem image or just a root-over-NFS kernel image.
You probably want to have someone else test it first, since if
you do mess up the SanDisk, the unit is dead until you can
attach an IDE drive to it so it can boot.
5.2 How do I go the IDE route?
First of all, the connector is a mini laptop-style (2.5")
connector, so you'll need an adapter and an external power
supply if you want to use a standard hard drive. If you want
it to stay in the case, you'll want a 2.5" laptop hard drive.
People have been quoting $30-80 prices for some very nice 2.5"
multi-GB hard drives on PriceWatch, so that might
be something to think about. This is the hard part: You have
to make/modify your own IDE cable. You basically have to
flip/twist around each pair of pins (123456 -> 214365).
You need to essentially mirror the pins along an imaginary line
going down the center of the connector's length.
5.3 And just how the hell am I supposed to do that?
The latest working idea: Use a male-male adapter/connector,
but connect it *backwards* (e.g. pin 44 where pin 1 would be).
This changes it from 1/2 3/4 5/6 to 44/43 42/41 40/39, which,
if looked at from the other direction, matches the mirrored
pin-out that you need to connect a drive. Ask someone on IRC
(see the bottom of the page for details) or read any of the
web pages below for a better description. Other methods for
constructing the cable yourself:
- Swap every pair of wires on a standard IDE ribbon
cable, crimping them into a connector. This would result in
22 pair twists on your 44-pin IDE cable, crimped into a stock
cable end (something you *might* be able to pick up from Radio
Shack -- just make sure it's a *mini* laptop-style connector,
NOT a standard PC connector).
- The clever alternative is to take a standard 44-pin IDE
cable and add an extra connector on the motherboard end of the
cable. Crimp the connector on so that it is touching the
existing connector. The rows of pins should be spaced so that
you can use the middle 2 rows (the top of one connector and
the bottom of the other) to connect to the motherboard,
effectively mirroring the pins as required. Groovy.
offered to buy parts en masse and build the requisite
44-pin cable for you. The current negotiated price will be
about $18. I think this is just for the cable itself, which
means if you wish to connect a standard 3.5" hard drive, you'll
need an external power supply and an adapter (it's not just a
matter of using a standard IDE connector with the mini-IDE
ribbon cable). He's also considering putting together various
kits with the IDE cable, an extra USB port, a PS/2 adapter (for
using both an external mouse and keyboard) and a VGA cable for
connecting to an external monitor. Note: The site
doesn't make this very clear, but some of these kits will
require soldering and making changes to the system board itself.
Not for the feint of heart. Check out the web page at http://iopener.e7e.com/ and
another price list at http://www.i-opened.com/pricelist.php3
for more information.
5.4 How do I go the non-IDE route?
The alternative is to create a boot image (either a simple NFS
kernel with root over NFS or a full 16MB image with kernel and
a small root filesystem, possibly NFS mounting things like
/usr), dial the appliance up, and save that boot image into
/dev/hd0 (gunzip <boot.image.gz >/dev/hd0). Beware: If
you fuck it up, the device will never boot again, unless you
rig up an IDE drive as described above. Some more detailed
directions of this process are available at http://www.digitron.com/iopener/.
There are some that are working on creating "distributions" of
Linux for the device, and these distributions will include
various "stock" disk images with which we'll be able to simply
overwrite the existing SanDisk image, giving us a simple
Linux distribution from which to work. Latest information
indicates that this will be a self-contained distro (still
with NFS support), with standard /bin utils as well as an X
server and an MP3 player. More information (and hopefully
the distribution itself) will eventually be available from http://i-opener.sourceforge.net/.
Update: Jailbait Linux is one such distribution, but as of this
writing, due to the number of similar appliances that have come out,
there is a sizable community revolving around Linux distributions made
for tight environments like this, so feel free to search around
any of the links below or on SourceForge.
6.1 Can I upgrade the memory?
The unit comes with a single SODIMM (what I like to call "laptop
memory") slot with a 32MB stick of memory. I don't see any reason
why you couldn't just replace this with a larger stick. People
kept saying the BIOS might have a 64MB limit, but this does not
appear to actually be the case. 128MB SODIMMs have been reported
to work perfectly.
6.2 Can I upgrade the processor?
The board has a standard Socket7 slot, at 3.3v. A popular
upgrade is to the WinChip2, which gives you 3DNow! features.
Due to the fact that the socket is 3.3v all-around, and there
has not yet been an identified way to change this voltage, you
cannot upgrade it with standard Pentium-based chips. At the
moment, the best route is to continue with the WinChip line.
6.3 Can I upgrade the SanDisk to something more than 16MB?
No. Firstly, the SanDisk is a surface-mounted component.
You'd have to carefully unsolder it and replace it with something
better. Secondly, there is nothing better. 16MB is
the largest size available for these devices. More information
about the SanDisk is available
in a PDF from the SanDisk web site.
6.4 USB connectors are pretty cheap; I bet I can buy one and add that 2nd USB port!
Not unless you're an electrical engineer. This question applies to that formerly "mystery"
area of the board as well. Just because the board looks like
it could house additional plugs, gizmos or connectors does not
mean that the board has the requisite electronic components to
use whatever plugs, gizmos or connectors you attach to it.
They design these boards to do many things, and it's up to the
builders of the design to decide what exactly they want to put
on it. It's hardly worth leaving out a $1.65 USB connector,
but you could save a lot more by leaving off the connector
*and* all of the support circuitry used to drive that 2nd
connector. Trust me, it's not as simple as attaching the
7.0 More Information