I-Appliance BBS
The Official Source for Internet Appliance Upgrades and Mods

Click Here!
BBS Main List | Sign In | Sign Up | Search | Help | Linux-Hacker.netReply to Thread | Printer |

Home / I-Opener Areas / I-Opener Technical Stuff
New BIOS in Testing Phase

New MessageNew BIOS in Testing Phase (modified 0 times) Wild_Pencil
Profile | Email
A new BIOS is in the works, which attempts to start the IOpener with Ultra-DMA (UDMA2) enabled. Initial tests are good, and the benchmarks show a dramatic improvement.

If you're willing to test (and you have a backup BIOS chip, just in case it doesn't work for you), you can download the "RC2" (Release Candidate 2) BIOS from the DataSheets/Firmware section of www.not404.com. Registration is required to see the file attachments, as that discourages abuse on the site.

-WP

10-26-2004 12:05:51

New MessageRE:New BIOS in Testing Phase (modified 0 times) KneuB_2
Profile | Email
Wild_Pencil

I have not got a clue what Ultra-DMA (UDMA2) is and my duaghters i-opener is the V3b with all the hacker stopping goo still intact, but I think I may still be able to come up with a V4. Let me see what I can do and get back with you on this.

Sooooo What is Ultra-DMA anyway?

10-31-2004 22:28:53

New MessageRE:New BIOS in Testing Phase (modified 0 times) Wild_Pencil
Profile | Email
It's a disk speed enhancement.

It'll boost disk throughput from 3Megs/second up to 26 Megs/second.

At least, 26 is the number I've received from the initial tester.

11-01-2004 08:44:51

New MessageRE:New BIOS in Testing Phase (modified 0 times) andy2000
Profile
It's nice to see people still working on the I-Opener. It's a neat machine and fun to make it do way more than it was ever supposed to do. I have a v5 that I found at a yard sale for $0.50. I've installed a 4GB hard drive and replaced the CPU with a K6-III running at 250MHz. The main thing that limits its usefulness to me is the fact that PIO disk access really taxes the CPU. I want to use it to listen to MP3s, but it skips when there's more than light disk access.

I downloaded and flashed it with the v5.41b.bin from not404.com, but I can't see how to enable UDMA in BIOS setup. Windows 2000 still shows it running in PIO mode. I tried reinstalling the IDE controller in windows, but there was no change. Am I missing something obvious? Did I download the right file?

Andy

11-03-2004 12:10:57

New MessageRE:New BIOS in Testing Phase (modified 0 times) Wild_Pencil
Profile | Email
The v541b.bin "RC2" file is the correct file.

The Option ROM is hard-coded to try and auto-activate the UDMA registers on the PCI bus. It was originally done for someone who wanted the "Hibernate" function to work faster in WinXP. The system achieved the desired results, dropping the hibernate and restore times in line with the throughput -- 7.5 seconds to Hibernate 25.6 to restore (15 seconds of that are used by BIOS). The same user was able to play back a DVD with full audio support, no glitches.

Since there are all sorts of configurations out there (different drives, cable lengths, etc), I wasn't sure if this tweak would be reliable across the board. It could be that turning on UDMA can cause I/O problems, after all. :-7 I'm bummed to see that it's still at PIO, and yet, I'm somewhat relieved to see that it'll fall back to PIO if needed.

Dunno what to say at this point.. it really was just a matter of tweaking a couple of PCI registers to get the chipset to auto-activate UDMA. More testing needs to be done. Hmm...

-WP

11-03-2004 20:02:38

New MessageRE:New BIOS in Testing Phase (modified 0 times) andy2000
Profile
Thanks for the quick reply. At least I know what it should be doing. I think I'll try a different drive and cable to see if either one is the problem.
11-04-2004 00:04:58

New MessageRE:New BIOS in Testing Phase (modified 0 times) KneuB_2
Profile | Email
Wild_Pencil

What was the configuration of the i-o that the initial tests worked on?

I do have access to a virgin V4 so it will be a few weeks to acquire a hard drive, an extra chip etc.

11-04-2004 14:27:19

New MessageRE:New BIOS in Testing Phase (modified 0 times) andy2000
Profile
I just tried it with a 6GB IBM hard drive and DMA still isn't working. Do you have any idea what should happen if the drive can't do UDMA mode 2 (although I know this drive should be able to handle it)? Will it fall back on a slower UDMA, or DMA mode, or just drop back to PIO?
11-04-2004 15:30:33

New MessageRE:New BIOS in Testing Phase (modified 0 times) Wild_Pencil
Profile | Email
KneuB: I think it was a v4, pretty heavily modified.

andy2000: It's the equivalent of setting the DMA Mode to "Auto" in other Award BIOSes.. it should fall back to the most efficient method.

This is still an experimental tweak, so don't go overboard in buying new hardware, in case this doesn't pan out. Considering there's a P4 laptop motherboard going for $16, I'd say there are better alternatives to start any new projects on.

11-04-2004 22:53:45

New MessageRE:New BIOS in Testing Phase (modified 0 times) andy2000
Profile
Oh I'm well aware that I could buy something 10 times better for far less trouble than this, but that's no fun. I'm just using parts I have sitting around, so it's not costing me more than my time.

I just tried a 6GB Hitachi drive (made before they bought IBM). Now windows 2000 shows that the drive is running in DMA mode, but it's still behaving like PIO. Disk transfer rate and CPU usage are the same either way. I wonder if my cable could be causing problems with DMA mode?

11-05-2004 23:09:15

New MessageRE:New BIOS in Testing Phase (modified 0 times) andy2000
Profile
I tried changing the CPU from 2.5 * 100MHz to 4 * 66MHz and now it looks like DMA mode is working. I'm only getting 4 MB/s, but at least the CPU isn't maxed out. Before I was only getting around 1.7 MB/s with 100% CPU usage.
11-06-2004 00:55:45

New MessageNew BIOS in Testing Phase (modified 0 times) Turbo3
Profile
I am the original requester/tester for this new BIOS. Let me try to answer the questions that have come up with regards to this enhanced BIOS.

First a little background on IDE transfer modes. There are three types of transfer modes (PIO, MDMA, & UDMA) supported by the IOpener VIA Southbridge chip. Each mode defines the protocol used to send data between the storage device (Harddisk, CD or DVD drive) and the CPU or Memory. Within each protocol there are different maximum transfer speeds support as defined by how quickly the "Data Valid" signal can be raised and lowered. The actual transfer speed you get depends on three things. What the IDE controller in the Southbridge can support, what the attached device (Harddisk, CD, DVD) can support, and most important what the software driver decides to use.

The IDE transfer modes have evolved over time starting with PIO (the slowest) and ending with UDMA (the fastest). So all drives support PIO mode, most support MDMA, and the “newer” drives support some speed of UDMA. The big difference between PIO and either flavor of DMA is the amount of CPU resource required to transfer a block of data. PIO stands for Programmed Input/Output and as its name implies the CPU must read or write each word (two bytes) of data to or from the IDE cable. It is possible to play DVD movies using PIO but you must have a fast CPU and a good graphics card neither of which apply to the IOpener. The two DMA modes use a separate IDE Bus Master DMA controller to move data between the device and memory with the CPU only needing to do initial setup. When the operation completes the CPU is interrupted. The DMA engine can transfer one sector (512 bytes) up to 100’s of megabytes depending on what is specified in the setup table. The advantages of UDMA over MDMA is higher data rates (both raising and falling edges of the data valid signal qualify data giving a 2x increase) and data transfers are covered by an error detecting CRC code.

So if you want the safest data transfer independent of speed you want some form of UDMA since PIO and MDMA offer no error detection if bad data is read or written to/from your hard drive due to a signaling error. For the IOpener this means you want UDMA-2 (max 33 MB/s). The VIA Southbridge does support UDMA-4 (max 66 MB/s) but for any software driver to even think of using this mode it must detect an 80 wire IDE cable (extra ground wire between each signal wire) and the IOpener is not wired for this. Keep in mind that these high rates (33/66 MB/s) are only burst rates from a drive (i.e. data read to/from a buffer) and sustained rates from the disk surface are normally much lower. There is also setup overhead that eats into the burst rate and lowers the average.

Now let’s look at the IOpener and see what has to be in place to get the maximum out of whatever hard disk you have attached to it. The original IOpener only had a Flash memory connected on the IDE port so the BIOS written to setup the IDE configuration registers left most setting at their default values as defined by the VIA data sheet. This means that UDMA is disabled and PIO and MDMA speed settings (which use the same set of registers) are set for a 600 nsec cycle time per two bytes transferred. That translates to a maximum speed of 3.333 MB/s. So the best you could do prior to this new BIOS was something less than 3.3 MB/s. MDMA is still much better than PIO due to the much reduced CPU overhead.

During my testing, prior to the new BIOS, I had one disk drive that would not go into MDMA mode. It was an old notebook drive but still supported MDMA and UDMA. After connecting it to a logic analyzer I determined that the flash controller which I had disabled by lifting one of the chip select lines (pin 37) was still driving a line called DMA Request to the inactive state (ground) which prevented the notebook drive from getting into MDMA mode. Once I lifted this pin (pin 48) MDMA mode was enabled. So keep that in mine if you are stuck in PIO mode.

The operating system I use now on all my IOpeners is WinXP. It is the best OS for the IOpener if you have at least 128MB of RAM (256 MB is possible with a 16 chip SODIMM). WinXP has all the drivers built-in to support the native IOpener display and either sound chip and USB port. No need for anything else like VIA 4in1. Just be sure to disable the printer port from using a DMA engine in BIOS if you have the Yamaha chip and manually install a generic 56K modem driver. You must install WinXP on the hard drive when it is installed in the IOpener. This is done by disabling the Flash controller (lift pin 37 and 48) and connecting an external CDROM drive to the IOpener. I have an IMod3 disk adapter board that includes a built in 40 pin IDE connector so all I do in connect an IDE cable to it and the CDROM drive. An old PC power supply runs the CDROM which is powered on first before the IOpener. WinXP loads custom chipset drivers during the first boot so if you install on a different machine and then try to move it to the IOpener, like we did for Win98, you will most likely get the Blue Screen of Death. With WinXP it is very easy to determine which IDE mode is active by going to the device manager screen.

This new BIOS does two things that improve the performance of your IOpener‘s disk transfers. The value 0xA8 that limited the PIO and MDMA speeds to less than 3.33 MB/s is changed to 0x20 which moves the max up to 16.6 MB/s. Second it sets up the UDMA registers with values that support 33.3 MB/s. Keep in mine that in order to get any DMA mode running you need a driver. If you just run basic DOS you are limited to PIO transfers. With this BIOS the time to transfer two bytes in PIO mode is reduced from 600 nsec to 120 nsec but you still have all the CPU overhead to move the bytes around. However, in my testing of WinXP I have found that it only uses PIO mode during Hibernate mode when it copies all of memory to the hard disk and the decrease in time is significant with a K6-III+ running at 550MHz. The restore after Hibernate is also improved as it too uses PIO mode. The changes that BIOS makes to the UDMA configuration registers is enough of a hint for WinXP to know that a UDMA mode is now possible. Prior to this WinXP just assumed the UDMA was not available.

So if you have the new BIOS installed and a relatively new notebook drive (6GB or larger should support UDMA) then WinXP should report that it is using Ultra DMA mode 2. If not and you think you have a drive that supports it try uninstalling the Bus Master IDE controller driver. After you go through the two reboots to get the driver reinstalled check to see if UDMA-2 is active.

If you are running a disk benchmark program you may get transfers much lower than 33 MB/s for your disk drive. But if UDMA-2 is selected you are running as fast as your combination of disk drive and CPU can handle.

I will see if I can run benchmarks for the various disk drives that I have and post a summary here to give you an idea of the variability you can expect to see.

There is no down side to using this BIOS. If your disk drive does not support the higher rates the WinXP driver will detect a problem and automatically switch down to a lower transfer speed or mode. This is one reason why you may need to uninstall the Bus Master IDE controller driver so WinXP can start again at the highest rate and work down. I have done an install using this BIOS on a drive that did not support UDMA and it worked fine and just used MDMA instead.

I hope this long post makes things a little clearer about the benefits of this new BIOS. I see no reason why it should not be the new standard for the IOpener no matter what hard drive you are using. You still get better PIO and MDMA speeds even if UDMA is not possible on your old drive.

Turbo3

11-09-2004 19:30:28

New MessageNew BIOS in Testing Phase (modified 0 times) Turbo3
Profile
Here are the benchmark numbers from Sandra 2002 sp1 for a 40GB Toshiba MK4025GAS drive. Transfer size is 128MB.

Read Buffer 28 MB/s
Read Sequential 27 MB/s
Read Random 5 MB/s
Write Buffer 24 MB/s
Write Sequential 23 MB/s
Write Random 6 MB/s

CPU is a K6-III+ running at 5.5x100MHz for 550MHz 128MB RAM

I did have to disable the wireless 802.11g USB adapter to get these high benchmark numbers with the adapter enabled (like right now since I am posting from this same machine) I get 19/15/4/16/16/6 for the six tests.

Turbo3

11-10-2004 01:33:29

New MessageRE:New BIOS in Testing Phase (modified 0 times) Unit_1
Profile
Hi Turbo3,
I'm really anxious to try the new bios but I have a question for you about running your I-Opener at 550Mhz.

I have a V5 I-O that had been running Win98se for a year at 500Mhz x 100FSB with an AMD K62 550+. It was unstable at 550.
I thought I'd upgrade to WinXP but to my surprise it crashed constantly. However, after dropping the FSB to 66 it runs fine!!

So... at 100FSB Win98se runs great, but WinXP only runs at 66FSB.

Would you have any thoughts on why this is and what could be done to hit 100FSB in WinXP??
Did you do anything special to get yours running 100FSB??

Thanks,
Unit 1

12-06-2004 22:24:49

New MessageRE:New BIOS in Testing Phase (modified 0 times) Unit_1
Profile
THANK YOU... Wild Pencil for creating BIOS "RC2.

And also to Turbo3 for giving me the info (above) to get it working.

I tried for hours to get WinXP to accept UDMA2 without success.
After reading Turbo3's posting, I pulled out my jewelers lens' and disabled the SanDisk memory by lifting pins 37 and 48. Although this in itself was tedious, WindowsXP now runs with UDMA2 just fine.

It should be noted, at least for my I-Opener, the key to getting BIOS "RC2" working with Windows XP was disabling the SanDisk memory.

Thanks again,
Unit_1

12-15-2004 18:57:49

New MessageRE:New BIOS in Testing Phase (modified 0 times) Wild_Pencil
Profile | Email
While I'm happy to be the custodian of the BIOS update ROM, I can't take full credit for it.

All I did was figure out how to restore the Setup Screen on the stock v5 BIOS, and pass bootup control to an open-source CDROM Boot Manager.

All the other tweaks were figured out or developed by others far more knowledgable in these things. Most Notably:

Bypassing the Partition Checks, to allow booting from ANY disk with ANY partition scheme - FrustratedMan
Memory Interleave Optimization - Programmer
Video Initialization - Programmer
USB Optimizations - Programmer, Georgie
DMA Support - Turbo3
Smart Boot Manager, which gives us CDROM-Booting capability - James Su, Lonius, and Christopher Li (from btmgr.sourceforge.net)
AMD K6 Optimization - Reverend Jones

(I'm probably missing others.. but they're all greatly appreciated!)

And of course, the one who made this all possible -- Codeman, who figured out how to add a hard-drive to the v1 IOpener, and started this whole craze. :) :) :)

12-17-2004 12:32:37

New MessageRE:New BIOS in Testing Phase (modified 0 times) Unit_1
Profile
Question: (Turbo3 or Wild Pencil) After much cheering over getting UDMA-2 working in WinXP with the new RC2 BIOS, it finally dawned on me that my sound is non-functional. Any ideas??

The device manager shows all parts are there... just nothing out the speakers. I tried uninstalling all sound components, then rebooting. Windows did redetect all parts, but still no sound.

Oh... one more thing.
Would it be possible to add an option in the BIOS to disable the SanDisk rather than doing it manually the hardway?

~Unit_1

12-17-2004 16:03:02

New MessageRE:New BIOS in Testing Phase (modified 0 times) Lincoln_man
Profile
There will be no sound if your PS is not putting out enough voltage.
Always been a problem. Something to check.
12-17-2004 16:31:40

New MessageRE:New BIOS in Testing Phase (modified 0 times) KneuB_2
Profile | Email
Wild_Pencil


Smart Boot Manager, which gives us CDROM-Booting capability - James Su, Lonius, and Christopher Li (from btmgr.sourceforge.net)

Refresh my memory please. Is this refering to booting from a CDROM on the IDE ribbon?

12-17-2004 20:05:51

New MessageRE:New BIOS in Testing Phase (modified 0 times) Wild_Pencil
Profile | Email
KneuB: Yes, booting the cdrom on the ide.

Though, I recently got a 4x notebook DVD burner for my IOpener, and Smart BootManager won't boot from it yet. It looks like I need to tweak some timing constants or rework some of the "wait 'til ready" routines to make this work. (The hybrid bios booted from the DVD just fine, but it sure took a while 'til the drive became ready. Probably because I used an el-cheapo purple DVD-R).

USB booting probably won't added to the BIOS, unless an open-source implementation comes to light. So, it's good to see your DOS-driver implementation on the Sandisk is working out.

-WP

12-20-2004 11:58:35

New MessageRE:New BIOS in Testing Phase (modified 0 times) torpor
Profile
how do you flash a new BIOS in linux? and, is there any way to replace the bootup image in the BIOS?
08-10-2005 16:48:15

New MessageRE:New BIOS in Testing Phase (modified 0 times) MAeslin
Profile
I seem unable to find the RC2 Bios on the website even after registering. Is it still there or would someone have a copy?
12-22-2005 22:23:01

Reply to Thread | Printer |
All times are PSTPowered by UltraBoard v1.62



Copyright © 2000, Netmake Inc. All Rights Reserved.
See Terms and Conditions for more information.




i-opener opener laptop notebook computer help drivers dll free windows dos repair fix linux mac macintosh 2000 95 98 nt pc configure hardware software sound video netscape explorer network networking lan wan software cmos fat bios printer card mouse modem ide scsi cd rom controllers scanner tape hard drive cgi scripts source code mp3