Welcome to Iopener.How.To!

 

This is just a preliminary page... I intend to improve it quite a bit very soon. Right now, I'm just linking a few of my plans for iOpener hacks. Some of them are untested as of yet. Others just didn't work. Don't ask me why. I'll modify the plans and post them here when I get them working. If you have any detailed How To's feel free to email them to me at iOpener@how.to.

Who is This Guy?
Installing the Hard Drive
Add a Stereo Headphone Port to the Front Panel!
Alternative to the Keyboard/Mouse Splitter!
Add a Second USB Port!
Upgrading the Processor!
Installing Operating Systems
Replace the BIOS Logo Screen!
Multiple OS Startup Menu!
I-Opener Links!


Who is This Guy?

Alright... You don't know who I am. Why should you trust me? Okay; My name is Anthony Saxton. I'm 42 and have been a Computer/Electronics Technician for over 20 years. I actually worked on the very first Seagate Wren hard drive (The first 5MB drive designed for use in Microcomputers). I wrote the Assembler (programming language) for it! For the last ten years I've been working freelance as a Programmer, Service Technician and Consultant for the Macintosh Platform (I like to say I'm the Maytag Repairman for the Computer Industry!).

I've never lost my love for hacking electronics though. It used to be so much easier when I could add six additional HiRes Graphic Screens to my Apple II or rewrite the Monitor ROM (Old name for BIOS). Nowadays, the only real hacking is spotting features that a board designer left out from a chip set. Not as fun as it used to be, but still fulfilling. The i-opener is only my latest delve into hacking and my second time playing with the PC platform. Previously I've delved deep into the guts of my Apple II, Apple //gs, various Macs, a NeXT Workstation and various consumer devices. I'm kinda late getting into the i-opener scene, but I intend to find every feature the board has to offer. Why? Because this is my definition of "Fun!"


Installing the Hard Drive

This is the first hack that any iOpener will get. Without this, you're limited to only Jailbait if you can figure out how to get it into the SansDisk (This is the solid-state memory "disk" that originally contains the iOpener's operating system.). I assume you want more than this or you wouldn't even be here!

I chose to install my drive in the iOpener using the same fashion that Codeman originally used, leaving the huge heatsink in place. I purchased a 4.3MB, 2.5" drive from The Computer Geeks and made my own aluminum plate to mount the drive out of some scrap I had. I purchased the custom cable from Cables-N-Mor, simply because I couldn't find a source in Las Vegas.

The Computer Geeks conveniently offered a discount on the adapter making it easy to partition and install the operating systems. The drive went in without a hassle following the procedures in Codeman's link above.


Add a Stereo Headphone Port to the Front Panel!

This hack follows the procedure defined by the National Semiconductor LM4835 Data Sheet. Surprisingly, most of the pads are already present in the iOpener to accomplish this hack. All you need to do is remove one resistor and add a few components. Thanks to Roastbeef and his iScope Page for supplying the heads up to the component locations.

Click to view plans


Alternative to the Keyboard/Mouse Splitter!

This hack is very easy and convenient! What it does is put the mouse port into the side, back or underside of the keyboard! (Can you tell I'm a Mac user from way back?). The only part needed for this hack is a 6 conductor PS/2 Keyboard Extension cable and a little bit of soldering skills. You can pick the cable up at any Radio Shack for $5.

Note the exposed wires rerouting the mouse signals to the outgoing port. I used electrical tape to cover the mouse data and clock. The additional wire is the ground shielding for the cable. I twisted this and tinned it to take up slack and prevent shorting with the logic board. The outgoing port is held securely at the hole using RTV Silicone Sealant. The "top" of the connector is flat against the base of the keyboard. I had to trim some of the tension relief from the connector to get it to fit flush. There was a vague outline of the hole already at this point. I'm betting the company that made the keyboard ( A CompUSA Clone ) also makes Mac keyboards with the same mold.

The Keyboard Exposed Original Wiring Prepared for Hacking
It's Hacked! Finished Product Click to view plans


Add a Second USB Port or an Internal Ethernet Port!

I was able to get the iOpener to recognize and use the second port, starting with Roastbeef's iScope Page information. My plans show the proper placement of the capacitors and inductors. If anyone has the proper values of the inductors, please let me know. If, like me, your intention is to use the second USB port to directly drive the Ethernet adaptor internally, you can leave out the USB filtering and fusing. The fuse and filtering in the Ethernet adaptor should suffice. All documentation I've located on USB doesn't show any filtering between the port and controller anyway. I can see the purpose of the filtering here, as you never know what quality of cable, hubs or devices (Or paper clips and probes and such for those of use with children!) are going to be plugged into the port. If you use jumpers to replace the inductors and fuse, leave out the capacitors at locations C252 and C253. Do not, under any circumstances, leave out the capacitors at CT47, CT45 and C259. They are to clean up the power line of the port and need to be there.

Interestingly, the port show's up as the second port of the second USB Controller on the VIA South Bridge chip. As a result, port two of of the first controller and port one of the second controller don't exist. This could be both good and bad. Some OS's may not be able to use a second driver. I suspect this is the reason the port was left off. I'm sure two drivers would have been necessary to drive both of them and there just wasn't space in the SansDisk.

I've now placed my SMD 2202 Ethernet adapter internally using Mac's procedure at Adding a SMC 2202USB/ETH (AKA EZ connect USB) inside the I-O shell. I was able to mount the adapter on top of the modem using a single piece of two sided foam tape and a small piece of electrician's tape to shield a capacitor from the components on the modem. Now I have both available internally! The foam tape is located under the area marked with a white rectangle in the picture below.

A Word of Caution! Pins one and two of the second USB port have two traces squeezed tightly between them. To avoid shorts, make sure that the wires are fully inserted leaving the insulation flush with the logicboard, and use as little solder as you can get away with only on the underside of the logicboard.

Hack Photo Hack Plans
Click to view complete hack Click to view ext. plans Click to view int. plans


Upgrading the Processor!

This is not a hack for the fainthearted! It requires patience and exceptional soldering skills. My particular iOpener is a V1 (original version) making this hack much more complicated.

The first step is to install the switches to allow adjusting the clock and processor multiplier. From the factory, this board is hard set to a 66MHz clock and a 3X multiplier for the processor ( 200MHz ). We need to first remove the presets and then add the switches so we can manually adjust them.

The K6 III processor I'll be using requires 2.2V vCore and a 3.3V base voltages, where the original WinChip used 3.3 volts throughout. To allow us to have two separate voltages, we need to remove the Zero Ohm resistors from R60 and R61 (Above the processor) to positions R130 and R131 (Right of the Processor). We will come back to this later.

To install the Multiplier Switch ( SW1) remove R130 (another zero ohm) from below the SW1 pads to the right of the processor. Now add a four switch pack at SW1. Set the second switch from the top to on to set the 3X speed (previous preset) for now.

Now we want to install the Bus Speed Switch (SW2) above the Modem. First remove R130 ( zero ohm resistor) below SW2, under the modem. Add the four switch pack in the position where SW2 is indicated., Set the left-most switch on to set it to 66MHz (previous preset) for now.

Put your iOpener back together now and test your speeds. You can do this without the drive attached. Just press the Tab key until it shows the test screen. If your WinChip indicates 200MHz, you're in business. At this time you likely would have little luck with other settings if you've got the original WinChip.

You may notice in the pictures below that I install both switch packs backward (switch 1 at position 4). I plan on resolving this soon. The charts are for the switches in the correct orientation.

Remove Jumper Resistors Add the SW1 Add SW2

SW1 CPU Multiplier
4 3 2 1 X Bus Speed
x 1 0 0 2 ( 2.5 )
x 1 0 1 3 *
x 1 1 0 6 ( 2 )
x 1 1 1 3.5
x 0 0 0 4.5
x 0 0 1 5 [ 2.33 ]
x 0 1 0 4
x 0 1 1 5.5 [ 2.66 ]

0 = switch ON ( Ground )
1 = switch OFF ( High )
x = No Effect ( Keep OFF )

Values in parenthesis are for
processors other than K6.

Values in brackets are for
WinChip processors only.

* = Default Position on V1

SW2 Bus Speed
4 3 2 1 Bus Speed (MHz)
1 1 1 1 60
1 1 1 0 66.6 *
1 1 0 1 70
1 1 0 0 75
1 0 1 1 80
1 0 1 0 83
1 0 0 1 95
1 0 0 0 100
0 1 1 1 75
0 1 1 0 96.2
0 1 0 1 83.3
0 1 0 0 105
0 0 1 1 110
0 0 1 0 115
0 0 0 1 120
0 0 0 0 124

SW4 vCore Voltage
2 1 vCore (V)
Off Off 2.0
Off On 2.2
On Off 2.6
On On 2.8

The above chart applies
only to V4 and V5
iOpeners with the SW4
either already present or
installed properly.

It is supplied for the
convenience of readers
with that switch present.

If your iOpener has the
position for SW4, but
no switch ( Above
the memory connector ),
search the I-Appliance
BBS
for information on
installing it.

Now that we have the switches installed, we need to adjust the voltage to the processor. As I said before, I need 2.2 volts for the vCore of the new KIII/333 processor. With newer iOpeners, it's simply a mater of adjusting a new SW4 switch, but on the V1 that switch isn't available. Attempts to add the same components as the newer iOpeners proved fruitless because the voltage reference used in newer iOpeners are heftier and can handle the adjustments. To get around this, we need to "borrow" the voltage reference from pin 5 of the power supply chip U27 ( MAX1631 ). From the top of C257 (below U27) I connected a 1/4W 50 K ohm resistor, and from the bottom post of C248 (left of U27) I connected a 1/4W 100K ohm resistor. With the other end of both resistors tied together, I was able to draw a reference of about 1.7V. This reference is connected to pin 3 of U16 after lifting the pin from it's pad. This changed the vCore voltage to about 1.9V with the rest of the components unchanged. Replacing R202 (10K ohm) with a 25K ohm resistor gave me 2.14V for vCore. This was close enough for me, so I went with it.

Now I can adjust SW1 to 5X to get 333MHz and it should work. I initially tried setting it to 4.5X (300MHz) and found the system temperature got to warm too quickly ( 200 degrees F! ). So until I get a fan, I've got it running with SW1 set to 4X giving me 266MHz processor speed. I'll let you know my results when I get a fan...

vCore Hack


Installing Operating Systems

Okay. We've got a working hard drive for out iOpener. We need to put one or more operating systems (OS) on it. The iOpener doesn't have a floppy or a CD to install anything. So far, there's no practical way of putting a package on the SansDisk to install an OS through a USB Ethernet port. What we have to do is put the OS on the drive before we put it in the iOpener.

The first step is to install the drive into another PC using a 2.5" to 3.5" drive adapter. Now in order to make a bootable drive, we actually have to initialize the drive as a Primary. You can do this with various third party packages, but I'm cheap! I figured out how to do it with FDisk! I mounted the drive into the primary IDE port with the CD drive as the slave. Then I booted a Windows CD and quit out of the Installer. Then from the DOS prompt I was able to FDISK the C drive the way I wanted it making it a fully bootable drive. After the drive was ready, I moved it to the Secondary port and reinstalled my original drive where it belongs.

I've been successful with the following. As I come up with more, I'll add them.

Windows 95/98/98SE

We can't install Windows on the drive from another machine because the install process needs to see the devices it's going to use during the install. This is actually pretty easy though as long as the drive partition is large enough. Just format the iOpener's drive with the DOS system option (format d: /s) and copy the WIN98 folder from the Windows CD to the drive. While you're at it, download the Trident CyberBlade i7 Video Driver and the VIA 4in1 Driver for the rest of the chipset (Pre-V5 iOpeners). Now install the drive in your iOpener and boot it. From the C: prompt, run INSTALL from the WIN98 directory.

BeOS 5 Personal Edition

Believe it or not, this truly modern operation system is FREE! That's right! Just go to the Free BeOS web site and download it! It's worth it even if you don't have an iOpener. Now. How to get it into the iOpener... Actually it's quite easy. Just install the BeOS on your PC and run it.

Once you're at the BeOS desktop, don't change anything! Go directly to the BeOS logo in the upper-right corner and click. Follow the resulting menu down to Preferences and select DriveSetup.

Select Partition:intel from the Setup menu and configure your partitions. If you already setup the drive with multiple partitions then change the partition you intended for BeOS and change it's type to BeOS (235). If you haven't setup the drive at all, now is the time to do it! My configuration was to give the drive four partitions:

1) DOS 32-bit FAT (for Windows)
2) Linux (When I figure that one out!)
3) Linux swap
4) BeOS.

The sizes of the partitions depend on your drive size. I gave all but the swap partition about 1/3 of the available space leaving 128MB for the Linux swap partition. Do NOT change the size of a DOS partition if you intend to retain the contents of that partition. Once you're done, click OK to write the partition changes. Now, select each partition you need to initialize from the Setup:Initialize menu. With that done, we can now close the Drive Setup window and continue on to install our BeOS.

Again, go to the BeOS logo in the upper-right corner of the screen, but this time select Installer from the Applications menu. Agree to the END USER LICENSE AGREEMENT (Does anyone ever read those things???) and carefully verify that it's set to Install from "Personal Edition" to the partition you just initialized (Probably "BeOS"). Now, click Begin.

Once the Installer is done copying the files it will ask if you wish to create a floppy. Don't bother. We don't have a drive to use it in our iOpener. The next dialog will ask if you wish to setup the Boot Loader. If you're putting more than just BeOS on the drive, do this and select each of your OS partitions, Giving each a readable name. To access this menu from iOpener you will have to press the Tab key on startup until the Startup Screen clears. Once your iOpener is up and running, check below about the Multiple OS Startup Menu for a better boot loader.

BeOS will automatically configure itself to your iOpener when you first boot it. Yes, it already supports the CyberBlade and the rest of the iOpener's chipset. One drawback is that BeOS does not yet support USB or parallel port Ethernet adapters. You will have to settle with a modem connection to the net.

Linux

I finally figured out an effective technique to get Linux installed properly into the iOpener. Everytime I tried to install it using a desktop PC w/CD, I would end up with an unusable or incomplete version for the iOpener. I'm not a Linux person at all, and have no concept as to what needs to be tweeked once the OS is already in there. I finally got FreeBSD loaded and it had the option to set it up after the install. The problem there was once I defined the setup, it then needed a CD to complete the install!

My solution turned out to be to temporarily erase the BeOS partition and format it as a DOS drive. I then logged into RedHat's FTP server and downloaded the entire contents of the RedHat install folders into the proper places on the new D: drive. I also downloaded the boot image, hoping against hope that I could somehow put the image onto the SansDisk and get it to boot!

Well, it actually was a simple process to copy the floppy image to the SasDisk using Dolly with the command:

dolly d:\boot.img hd129:

Since I'm already using XOSL (see below), I was able to bypass using the BIOS to change the boot drive. I just told the loader to boot the drives boot block, and swap disks, I was concerned that the hard drive would appear as the second drive in the installer, but it didn't! I simply had to tell the installer to install from the hard drive, modify the partition table to supply both root and swap partitions and I was off! The RedHat installer has no problems installing at all!

Now to reinstall BeOS and Jailbait!

If I run into problems with incompatibilities, I'll report them here...

Jailbait

This is a version of Linux designed exclusively to fit the 16MB SansDisk on our iOpener! It's actually quite easy to install as well! Just go to the Jailbait website and follow the instructions posted there... One drawback so far. Jailbait does not support the Ethernet connected to the second USB port yet. If you need Ethernet with Jailbait, do not install my USB hack! If you know how to edit the Jailbait configuration to support this, please let me know!


Replace the BIOS Logo Screen!

I can't claim this one. Others have been doing it for quite a while. I found the basic instructions at This Site. and the I-Hack Resources page. I created this Startup Screen (See above!) for this purpose and it works! The penguin came from the Jailbait site! You can also create your own using the Linux 2.0 Penguins

1) Download both CBROM112.EXE (or Here) and AWD772.EXE. You may also need software to edit a graphic to convert it into a 16bit Windows BMP file. Since I did this on a Mac, I used Graphic Converter. PC Users... You're on your own here...

2) Once you have a 16 color Windows Bitmap with the dimensions of exactly 640x464, place the graphic into the same folder with the above two programs. Boot to a DOS prompt (As the Windows splash screen appears press F8 and select item 5.)

3) Find your way to the folder with the Flashing utilities. Enter the following lines:

 
C:\>AWD772 /Pn mybios.bin

(Follow instructions...)
C:\>CBROM130 mybios.bin /logo yourimage.bmp
(This places the graphic into the BIOS image and returns a percentage of space used.)
C:\>AWD772 mybios.bin /Py oldbios.bak /Sy
(This simultaneously writes the new BIOS and creates a backup of the old BIOS.)

4) Reboot the computer. If all went well, you'll see a penguin (or whatever...) greeting you! If the graphic didn't take, you just won't get the startup screen. Use AWD772 to write back the oldbios.bak image.


Multiple OS Startup Menu!

This isn't exactly i-Opener related, but it's handy in my case. I have a 4.5GB drive with Windows 98, BeOS and Linux partitions as well as Jailbait in the 16MB SansDisk. This little utility allows booting any of my OS's from a startup menu. This is the only loader I could find that would allow booting the SansDisk as well without changing the Boot order in BIOS Also, most of the boot loaders don't clear the Startup Logo. This utility is called called XOSL (Extended Operating System Loader) and can be downloaded from the XOSL HQ site.

A word of warning... I could not get it to boot Windows 98 until I gave it it's own tiny partition (I gave it 64MB, but I'm sure it would work with less...) on the boot drive rather than installing it on the Windows partition. This is a minor inconvenience for the simplicity of the end product. To get it to boot Jailbait, select the Boot Partition and set it to Swap Drives. This will fool Jailbait's Lilo into thinking it's still on the boot drive.


I-Opener Links!

Hack Sites:

Expanding the i-opener - Fred Maxwell's Hack Page.
The Frankin-Opener Page - Want to add Desktop Speed to your I-Opener?
How I-opened It - ZippyFear's Hacking Page.
i-Opener - another one, hacked. - Netik's i-opener hacks page.
The iScope Page - Roastbeef's Invaluable Hacking Site.
Linux-Hacker.net - The site that started it all!
The Open-I Project - Another I-Opener Hacking Site
Pascal's Computer Tech Stuff - Source of lots of great info! (Currently Rebuilding)

Information Sites:

Fastolfe I-Opener FAQ - Lot's of useful information.
I-Appliance BBS - Every I-Opener Hack's Home Page!
i-Opener Info Index - Another source of invaluable information.
Linux - iOpener Page - Comprehensive instruction for getting Linux into your iOpener.
Snoopy.net iOpener Archives - Archives of the i-opener mail list.

Other Sources:

Badflash's Stuff! - The source for I-Opener Backup BIOS chips, IDE CABLES and IMOD-2 kits.
BeOS Free! - Just install it into your Windows machine, run it, and then use its own Installer to put it on your i-opener drive!
Cables-N-Mor - A great source for inexpensive iOpener IDE cable!
ClipDragon™ - A gratuitous self plug for you Macintosh Users out there!
The Computer Geeks - Great source for 2.5" Drives and more!
Digi-Key Corporation - The source for most of your SMD part needs.
Extended Operating System Loader - A Boot Loader that really works.
Linux Router Project - Install two Ethernet ports and put this into the SansDisk. Instant driveless Router!
TennMax - The source for the Lasagna iOp Cooler to cool your processor!
Trident Microsystems - Info on the Cyberblade i7 video chip.
VIA 4in1 Driver Page - Windows drivers to support the South Bridge Controlers


This page was created by Anthony D, Saxton, LnA Concepts
Last Update: 01/16/2001