Project LPWS

The goal of Project LPWS is to create a cheap, silent web server with almost no power consumption (or at least as little as possible), but enough computing power to give a reasonable response to web requests. What is Project LPWS? The answer to this question requires some explanation. Late 2004 I got ADSL (as it's known here, other call it DSL) , which means I'm on line 24/7. I have installed a four port router and connected my OS/2 and my Linux boxes to it, using a KVM switch, so I only need one keyboard, screen and mouse.

After playing around with this setup for some time, I decided it could be fun to set up a web server, and experiment with CGI and such.

If I should have a web server I had some requirements it had to fulfill:
  • As my computers are located in my bedroom, it has to be absolutely noiseless.
  • Electricity are not free, and in this country it's rather expensive, so a web server should use as little power as possible
  • My preferred operating system is (what else) OS/2, and therefor my web server should be powerful enough to run OS/2, at least in text -mode, but preferable with GUI in in low resolution. This will also give some protection against hackers and virus.
This was the start of project Low Power Web Server.

The goal of Project LPWS is to create a cheap, silent web server with almost no power consumption (or at least as little as possible), but enough computing power to give a reasonable response to web requests.

Nothing more, nothing less ;o)

{mosimage}

Take 1:
I have been in the IT business since before IBM created the PC, and I have a large collection of bits and pieces of computers, old and not so old. So I raided my stock to see what I could find, and found:
  • An old cabinet, with an 200 Watt, AT power-supply.
  • Some 500 MB 3.5" hard disks.
  • A 66 MHz, Pentium motherboard, with 16 MB ram (31 pin).
  • Some 10 / 100 Realtec net cards.
  • I also found an Apple ][ Europlus, but even if it would be fun to try to get it on line, it would be somewhat off topic for this project.
OK, a 200 Watt power supply can neither be called low power, or silent, but the actual power used would depend on the motherboard, disks and what ever else would be connected. If I could get the power consumption down, and increase the natural airflow, I might even be able to remove the fan.

The old 500 MB hard disks, was just too noisy and power hungry, so I dropped those, and bought two Compact flash to IDE connectors, this means that I could use some of my CF cards (I have a a lot of old cards I'm not using any more as they has become too small for my camera) as hard disks, they are not fast, but they also do not use much power, they are absolutely silent, and (not to forget) I already have them !

{mosimage}

The motherboard is not exactly young, and 66 MHz is somewhat slower than I had hoped for, but it could be replaced later. The power consumption of the motherboard is unknown but, taking the age into consideration, probably not small, and would have to be tested, with everything not used, disabled.

The 16 Mb ram was a problem, In my experience OS/2 can run fairly decent on a slow computer, if it has a lot of ram, and 16 Mb is not much, further more, 31 pin ram's are nearly impossible to get hands on today, and 16 Mb or 32 Mb sticks (only room for 4 sticks on the mother board) is as close to impossible as you get !

The Realtec net cards should be no problem, I use these cards in my other computers without any problems.

Status: 1 out of 3, not good!

{mosimage}


Take 2:

I could use an laptop, by nature they normally do not use much power, they also are fairly quiet, and can go in power down mode when not used for some time.
I do have two old Thinkpads, 166 MHz Pentium, one of them with 72 MB ram, but none of them has net cards, and pc-card net card's without bus mastering, and supported by OS/2, is at best difficult to get hands on.

Status: No go!

Back to the old drawing board.

{mosimage}


Take 3:
A short time ago, I was ordering some hardware at work, for a customer. When I got the goods, our supplier had added a flier with some stock clean out sales, among others a single board computer (SBC) Wafer 5820-300 for around $50, as far as I can see, normal price for this computer is somewhere around $550 !

Data for the Wafer 5820-300:
  • Cyrix i586 compatible processor
  • 300 MHz clock
  • Up to 128 MB ram, SODIMM in one slot
  • Svga
  • RealTec 10 / 100 Ethernet
  • Sound card
  • USB
  • 2 * COM, com2 also as Rs485
  • Need only single +5V 2A power supply (see comment later)
  • Passive cooling
  • Floppy connector
  • 1 IDE controller
  • Connector/controller for LCD
  • Size as 3.5" floppy drive
{mosimage}

{mosimage}

Just what I needed, so I bought 2 (you never know, and it is cheap !).

I have no experience with the Cyrix processor, but I believe I have heard about some problems with OS/2 and some Cyrix processor. I have searched the net, but cannot find anything about this.

Even though I was not ready with a power supply yet, I started to play with the SBC. At first I connected the board's IDE controller to a CF-card connector as master, and a CD-rom as slave, and a 3.5" floppy drive to the floppy controller.

For power I use the power supply in the cabinet I was thinking of using in take one.

Right at the start I found a problem, the floppy-drive (one found in the old cabinet) did not work ! I am not sure if this is because the drive is dead, or there are a problem with the FDC on the board, but nothing happens when the processor tries to access the floppy.

The CF card and the CD, both are detected and seemed to work.

Next i tried to install eCS (it can be installed from a bootable CD), it booted as it should, and I got the configuration screen, but when it tried to access the CF card, it told me it couldn't install on this type of drive.

Hm, time to panic, what now ?!

In the many years I have used OS/2, I have had a lot of hard disks, and I have not always reinstalled OS/2 when I changed the disk, now and then I have just copied the OS2 from the old disk to the new one, which is fairly straight forward, as long as you remember to get all the files, also the hidden ones, except for OS2BOOT. I decided to try that approach in this case.

First I tried to format the CF card with the HPFS file system, in my USB Sandisk Imagemate CF card reader, and met (again) some problems. When format was done, it told me, it was unable to transfer the system files.

I asked for help on the os2world site, and have to thank warpcafe for his help in solving this problem.

It would seem you have to have the CF-card installed in the reader while booting, for OS/2 to be able to format the card as HPFS. When the format was done, I installed the boot system by executing the command SYSINSTX J: (sysinstx is found in \os2\install\bootdisk) and J: is the USB drive for my imagemate card reader.


OS2 boot 101. (Quick and dirty)
Maybe this would be a good place to describe the basic boot process for those who don't know about it. This explanation is as I understand the process and may not be entirely true or the entire story, but it does help in understanding what I'm doing !

When you turn on your computer, the BIOS loads the contents of the Master Boot Record. The MBR then loads the file OS2BOOT from a predetermined position on the disk, using standard BIOS calls (this is why the boot disk must be located within the first 1024 tracks, as the standard BIOS cannot handle larger track numbers).

OS2BOOT is generated by the Sysinstx command, are file system aware, and can find the nessesary files to continue the boot process.

Next to load are the file OS2LDR which loads OS2KRNL, whereafter the rest of the system are loaded.

Sysinstx creates the master boot record (MBR), and the system file OS2BOOT in the root, this is the boot program, then I could copy OS2LDR, OS2LDR.MSG and OS2KRNL from the root of my boot disk to the card.

Now I had a minimal bootable system, it would not be able to finalize the boot operation, but I would be able to see if the system was booting, so I installed this card in the CF connector, and booted the SBC.

After the self diagnostic screen came up, the card was detected, and the system tried to load the master boot record, whereafter the computer froze !
As a test I did the same with another card, except I formatted it as FAT, then the boot succeeded until the loader was looking for the ALTF1 files, then it (as expected) halted with an error.

So there might be a problem booting HPFS from the CF card!

{mosimage}


Power supply.
The manual states, the SBC needs only gnd and +5V, at 2A, so I have purchased a 5V, 4A switching mode power supply, with a very high efficiency, of the kind used for laptops.

When I connected this to the SBC ..... nothing happened! After fooling around for some time, I found that the SBC also needed +12V at 100 mA.

So, I purchased a 12V, 2A power supply. This was unfortunately very bulky and generated a lot of heat (ie. not very efficient).

When I connected both power supplys to the SBC it ran without any problems, but now I had a rather bulky and somewhat power hungry setting.

After looking around on the net, I found just what I needed, Farnell has a solid state 5V to 12V, 2W dc to dc converter with an efficiency of over 89% !

I now have constructed a power supply board, consisting of a veroboard with a single component, a connector for the external power supply at one end, and two power connectors for the SBC and CF 'drive' on the other (see picture above).

This has eliminated the need for an external 12V power supply, so I'm back to one efficient 5V power supply.

Some comments to the image shown above:
  • You may have observed the unconnected leads (black and yellow) to the floppy connector, these are the 12V leads needed for a floppy, but not needed here.
  • You may also have observed, the red lead (+5V) going from the external power connector is twisted with a yellow lead which is connected to the board, this (rather messy) setup, is so I can measure the power consumption of the whole setup, by inserting a ampere-meter at this point.

{mosimage}


Installing OS/2 and Why OS/2?
If you're the one asking this question, you may be on a wrong site ;o) There are many reasons (ordered in with most significant first):
  • I prefer OS/2. I have used OS/2 for so long, I have seen both the nice sides and the ugly ones, so I am comfortable in it's company.
  • I do not like the M$ products. I am a professional programmer and have to perform my daily tasks on the M$ platform, and I do not enjoy it.
  • I do not know Linux well enough. I have been playing with Linux, on and off, for a couple of years now, and I find it somewhat more enjoyable than the M$ platform, but it cannot compare with my trusty old OS/2 !
  • Stability. A web server must be what is called mission critical, therefor the OS must be reliable, and OS2 is very reliable, if you do not muck around with the configuration it pretty much just runs !
  • Speed. 300 MHz is not much today, and none of the current M$ platforms (maybe with the exception of the pocket PC version) will be able to deliver a response time I would like to live with ! Linux without the GUI could have a usable response time, but here I must you refer to (3).
  • Security. In the world of today (and of tomorrow), with viruses, hackers, trojan horses, browser hijacking, spyware, back doors and whats not, it is a security strength to use a little known OS (and like it or not, this is the category OS/2 are in !). A hacker will be unable to exploit an known security flaw in a web-server, if he does not know how to use (or misuse) the underlying OS. And if you are using a little known web server (like Web/2) he has serious troubles. I have used OS/2 on the internet since 1995, and I have not once had problems with virus, spyware, browser hijacking etc. So the combination of little known software and OS is almost as secure as an expensive firewall !
After the earlier results, trying to install OS/2 on the CF card, and the problems booting HPFS on the CF card, I decided to try another approach.
I formated a 250MB CF card with FAT, and installed the boot files with sysinstx, then I copied everything I believed I would need from my desktop system to the CF card. This was using a lot of space (about 200MB), but it was a starting point.

I have tried the bootos2 utility but got some weird results, so I decided to do the configuration manually.

{mosimage}


Up and running
I inserted the card in the CF drive, and booted the SBC, after a lot of error messages (because of missing hardware, and software) I had the OS2 desktop running with network and GUI !

The network was no problem, I'm using a Realtec net card in my desktop system, and the one on the SBC is either the same chip set, or so closely related, that the same drivers worked without modification. Also I'm using my router as DHCP, so the IP address is assigned automatically.

Now to the time consuming task, cleaning up in the copied files. I started by removing any references to non existing hardware and software from config.sys, then I removed the mdos folder from the OS2 folder, anything associated with dos in the config.sys, and added "Set protectedonly=yes". This removes the ability to run Dos, and 16 bit OS/2 programs which I'm not planning anyway, as a trade off it makes the system much more reliable.

I continued this process for some time, moving files I wanted to remove, to other folders, rem'ing lines in config.sys and renaming folders, then rebooting.

If the boot succeeded and everything worked, I then deleted files, folders and rem'ed lines. Then I started trying some other files / folders.

Now I have a fine tuned system with GUI and network using about 50 MB of disk space. The disk has been repartitioned with a FAT boot partition of 64 MB and a HPFS partition of 180 MB.

While experimenting, I have found it impossible to boot from a 1GB CF drive, and I have also discovered that a CF card cannot be a slave drive (there are a slave jumper on the CF to IDE converter, but in reality it is a cable select jumper), this means I cannot install a larger card as boot drive, and I cannot install a card as slave !

So I have activated the om board USB, installed the USB drivers, and connected an USB card reader, with a 1GB card installed, this gives me a total disk capacity of 1.2 GB. Thats more like it !

The beauty of this, is that whenever I get a larger card (I have seen 2GB for less than $100, and 4GB for a bit more than $200), I just zip everything on the old card, unzips on the new card, and we are up and running with a larger disk.

I have installed the Web/2 tiny web server, FTPD FTP server by Peter Moylan, and the Apache web server, all running without problems.

I have even written a small CGI program (web chat) for use with Web/2.

Now I just need to build the SBC, CF disk and power board into a box, and I'm done for now.


Next generation:
In time it could be fun to make the LPWS totally 'green', by making it run on wind- or solar-power. With a power consumption of less than 10W it should not be too difficult.

But that's another story ;o)

Remaining problems:
There still are some problems, but they are not hampering the use of the SBC as a web server.
  • Copying a file using the GUI now and then freeze the computer, totally nothing works. Move works without any problem.
  • As mentioned earlier, I have been unable to boot on a 1 GB CF card, neither HPFT or FAT will start, not even on a 64 MB partition, this problem may stem from the fact that a CF card always has sector sizes of 512 bytes, this could also be the reason for the failure of booting HPFS from a CF card, if the MBR needed to load OS2BOOT needs more than 512 bytes! Does anyone know how to format a CF card with another logical sector size ?
  • Also as mentioned earlier, I have been unable to install a second CF drive, the BIOS only find one drive (not always the same !). A search on the net reveals the problem : The CF specification only allows a CF card to be master, it cannot be slave ! On the net, I have found a description of how to patch the connector board, to allow it to be a slave, but I do not know if I want to try. An alternative to a slave CF board is to activate the USB in the SBC, and mount whatever disks I might need this way, this works with very large cards.

Price tag:
CF to IDE connector $10
Wafer 5820-300 $50
SODIMM 128 MB ram $50
5V 4A regulated power supply $50
5V to 12V. 2, converter $45
Total price: $205

*Prices are approximated as I have bought all components here in Denmark, and paid in Danish Kroner (DKKr), I have calculated the prices as DKKr / 7 = $, and I believe the US dollar is somewhere around 6.50 DKKr right now. The prices are inclusive tax, vat and shipping.

Contacts
If you have comments and / or questions you are welcome to contact me either on e-mail at kim at foder dot dk or here at OS2World in the forum (preferred, so everybody can participate in the discussion). You may also be lucky to catch me at ICQ as 220314462.

You can also visit the LPWS server on http://83.72.102.163 (see addendum), where you can find a listing over files on the boot disk, and try the webchat CGI.

Kim Foder

Addendum :

Since 15. July 2006 LPWS has been off line because of a fire in my house, of all my electronics, only the LPWS 5V power supply was damaged, it has been replaced, and LPWS has been on line again since sometime in April 2007.

There are some changes though :
  1. As I had to have my (A)DSL reinstalled, I have got a new IP address, now you can find LPWS on http://83.72.97.41.
  2. I have registered a host address at dyndns.com, so now you also can find LPWS at http://lpws.mine.nu.
  3. The LPWS web pages has been totally redesigned.
  4. On several occasions, the dc-dc converter ceased to function, even though it was over dimensioned to the purpose. While I was off line, i deliberated over this problem, and came to the conclusion the problem was the KVM. While my main computer was on, the KVM was drawing it's power from it, but when it was off the KVM was drawing it's power from the LPWS, thereby overtaxing the dc-dc converter. I now have installed PM-VNC so I can remote control the LPWS over the internal network, and disconnected it from the KVM.
  5. Now I also can be reached via MSN as This email address is being protected from spambots. You need JavaScript enabled to view it..

There are some comments to this article in the old forum and it can be found here - but for new comments, please use the new comment feature.

Search

Who's Online

We have 1092 guests and no members online

Poll

OS/2 Distro & Version

Which OS/2 based OS do you have installed and use frequently ? (VM or Real hardware)

65
ArcaOS 5.0.x
63
eComStation 2.x
47
OS/2 Warp 4.5x (Client and/or Server)
20
OS/2 Warp 4.0 (Client and/or Server)
10
eComStation 1.x
Add a new response!
» Go to poll »
3 Votes left

jVS by www.joomess.de.

Social Media

Follow us also at:

Facebook  Twitter  LinkedIn

 Google Plus-  github icon

 

Like Us


Artie v1 0