Subscribe via RSS
25Feb/210

HP Dual PIII-500 Motherboard

I had a good to-and-fro with the Seller on this item. He initially wanted ~AUD500 for it, so I low-balled just under 200. He didn't accept, but then proceeded to get zero bids. It was then re-listed at an auction price of AUD99 and didn't go for much more. If you look on eBay US, seems they're still fetching quite a few dollars! Anyway, it's a dual P3-500 board with on-board SCSI! Nice. The only thing I didn't know was what server it had been ripped out of.

DSC02154

DSC02155 DSC02158 DSC02159

DSC02165 DSC02173 DSC02188

Looking at the photos now, I see that there's a glaringly-obvious Hewlett Packard logo hidden below the AGP slot... something I totally missed when the board arrived. So instead, after a little googlin', I had determined that it was the motherboard from a HP Compaq Netserver E60. This was thanks to the "exchange" code/part-number of "D7140-63000" labelled on one of the ICs.

Front Panel Connector Pinout

Found that someone else had restored such a unit, but not so recently. A private message to the author saw no response. What did help though, were the pictures in that post. IT shows that there's no reset button? Just Power LED, Power Switch and HDD LED.

DSC02168

So, what to do? Grab a screwdriver and poke the pins! Actually, first I worked out which pin was ground via a multimeter. Turns out it's second-from-the-left, but there's only one ground, so that meant getting the LEDs lit will be tricky. After a bit more poking, the left-most pin was determined to be the power switch and, before I knew it, the motherboard speaker was beeping awfully as it had no Video or RAM.

DSC02191

HDD activity wasn't on the header, so I just used the connection directly on the SCSI drive.

A Suitable Video Card

I've had this crazy ATI Rage 128 All-In-Wonder in as box for ages and have never had a good reason to test it. Thankfully, this motherboard has AGP, so let's do it!

DSC02073

With this card in place, most of the operating systems I tried had issues. Drivers, resolutions, framebuffers... this card seems to be a bit of a Unicorn and really only good for Windows. Fortunately, a little bit of effort paid off and it ended up working on all systems. For future reference, here's a possible pinout for the video out breakout cable.

So, What RAM?

The manual indicates that the motherboard supports up to four SDRAM DIMMS, for a maximum total of 1GB. These are expected to be full server-grade and I had quite a few lying aorund. The actual specifications are: 64MB, 128MB, or 256MB unbuffered, 72 bits wide, ECC single-bit correcting, multi-bit detecting. So, those huge DIMMs in the box, with huge stickers and terms like 'sync':

DSC02149

Finally, I get to use the ECC SDRAM modules that seem to be very popular (i.e. in everyone's junk box gathering dust) and never usable in standard desktop motherboards! And, summing up what worked, I could only get to 384mb RAM. I tried mixing ECC and Non-ECC, but this threw a really ugly error. Interestingly it can obviously tell if the RAM DIMM is Non-ECC. Also mixing ECC 133mhz with 100mhz would throw shitty beeping. Finishing the RAM combination testing, I then just put in normal PC100 SDRAM and the bloody thing just booted straight up! No errors, no warning that this was pleb-RAM and not servah-RAM? This was a better option as I had enough laying around to get up to 512mb.

Microcode Update Block Missing

This error appears on HP NetServers when third-party CPUs are used which didn't come with a microcode block flashed onto them.

DSC02088

Could it be that these CPUs have just lost the block that had been previously flashed? Regardless, someone else has already solved this issue, but the link to HP for the new BIOS to flash is well gone! A quick google turned up this BIOS update, but it wants Windows and the filename ends in FR?... I'll get to that after I've mucked around with other OSsss.

Redhat Linux 7.2

And then for some Redhat! I already had the CDs burnt thanks to installing it on the Sony Vaio Z505. The installation was a breeze, but the installer did try to trick me into selecting the wrong video card.

DSC02079

DSC02091 DSC02095 DSC02097

Instead, choose the All-In-Wonder 20-ish lines above. Don't forget to test the mode!

DSC02098

Interestingly, as above, the mode worked fine during setup! Not so well once it then tried to boot... I'd selected the graphical login during install, so on first reboot, the machine produced a blank screen when it tried to load up XDM. It was still the correct resolution, but the whole machine had actually frozen up! No keyboard, no mouse, nothing... SSH wasn't running, so I couldn't connect underneath either! What to do? I could single-user and work out how to switch to text login, or re-install. I chose the latter to save time and effort.

Second time around, a login! startx still produced a blank screen though... at the correct resolution! I rebooted once more, but this time I logged in via SSH and ran startx remotely and...

Last login: Wed Feb 24 03:38:38 2021
[root@localhost root]# startx


XFree86 Version 4.1.0 (Red Hat Linux release: 4.1.0-3) / X Window System
(protocol Version 11, revision 0, vendor release 6510)
Release Date: 2 June 2001
        If the server is older than 6-12 months, or if your card is
        newer than the above date, look for a newer version before
        reporting problems.  (See http://www.XFree86.Org/FAQ)
Build Operating System: Linux 2.4.9-31smp i686 [ELF]
Build Host: stripples.devel.redhat.com

Module Loader present
(==) Log file: "/var/log/XFree86.0.log", Time: Wed Feb 24 03:43:04 2021
(==) Using config file: "/etc/X11/XF86Config-4"
Markers: (--) probed, (**) from config file, (==) default setting,
         (++) from command line, (!!) notice, (II) informational,
         (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) ServerLayout "Anaconda Configured"
(**) |-->Screen "Screen0" (0)
(**) |   |-->Monitor "Monitor0"
(**) |   |-->Device "ATI All-in-Wonder 128 Pro AGP"
(**) |-->Input Device "Mouse0"
(**) |-->Input Device "Keyboard0"
(**) XKB: rules: "xfree86"
(**) XKB: model: "pc105"
(**) XKB: layout: "us"
(**) FontPath set to "unix/:7100"
(**) RgbPath set to "/usr/X11R6/lib/X11/rgb"
(==) ModulePath set to "/usr/X11R6/lib/modules"
(--) using VT number 7

(II) Loading /usr/X11R6/lib/modules/fonts/libbitmap.a
(II) Module bitmap: vendor="The XFree86 Project"
        compiled for 4.1.0, module version = 1.0.0
(II) Loading /usr/X11R6/lib/modules/libpcidata.a
(II) Module pcidata: vendor="The XFree86 Project"
        compiled for 4.1.0, module version = 0.1.0
(II) Loading /usr/X11R6/lib/modules/libscanpci.a
(II) Module scanpci: vendor="The XFree86 Project"
        compiled for 4.1.0, module version = 0.1.0
(II) Unloading /usr/X11R6/lib/modules/libscanpci.a
(--) PCI:*(1:0:0) ATI Rage 128 RF rev 0, Mem @ 0xf8000000/26, 0xf4200000/14, I/O @ 0x9000/8
(II) Loading /usr/X11R6/lib/modules/extensions/libGLcore.a
(II) Module GLcore: vendor="The XFree86 Project"
        compiled for 4.1.0, module version = 1.0.0
(II) Loading /usr/X11R6/lib/modules/extensions/libdbe.a
(II) Module dbe: vendor="The XFree86 Project"
        compiled for 4.1.0, module version = 1.0.0
(II) Loading /usr/X11R6/lib/modules/extensions/libextmod.a
(II) Module extmod: vendor="The XFree86 Project"
        compiled for 4.1.0, module version = 1.0.0
(II) Loading /usr/X11R6/lib/modules/linux/libfbdevhw.a
(II) Module fbdevhw: vendor="The XFree86 Project"
        compiled for 4.1.0, module version = 0.0.2
(II) Loading /usr/X11R6/lib/modules/extensions/libpex5.a
(II) Module pex5: vendor="The XFree86 Project"
        compiled for 4.1.0, module version = 1.0.0
(II) Loading /usr/X11R6/lib/modules/extensions/libdri.a
(II) Module dri: vendor="The XFree86 Project"
        compiled for 4.1.0, module version = 1.0.0
(II) Loading /usr/X11R6/lib/modules/linux/libdrm.a
(II) Module drm: vendor="The XFree86 Project"
        compiled for 4.1.0, module version = 1.0.0
(II) Loading /usr/X11R6/lib/modules/extensions/libglx.a
(II) Module glx: vendor="The XFree86 Project"
        compiled for 4.1.0, module version = 1.0.0
(II) Loading /usr/X11R6/lib/modules/extensions/librecord.a
(II) Module record: vendor="The XFree86 Project"
        compiled for 4.1.0, module version = 1.13.0
(II) Loading /usr/X11R6/lib/modules/extensions/libxie.a
(II) Module xie: vendor="The XFree86 Project"
        compiled for 4.1.0, module version = 1.0.0
(II) Loading /usr/X11R6/lib/modules/drivers/r128_drv.o
(II) Module r128: vendor="The XFree86 Project"
        compiled for 4.1.0, module version = 4.0.1
(II) Loading /usr/X11R6/lib/modules/drivers/ati_drv.o
(II) Module ati: vendor="The XFree86 Project"
        compiled for 4.1.0, module version = 6.3.6
(II) Loading /usr/X11R6/lib/modules/input/mouse_drv.o
(II) Module mouse: vendor="The XFree86 Project"
        compiled for 4.1.0, module version = 1.0.0
(II) ATI: ATI driver (version 6.3.6) for chipsets: ati, ativga
(II) R128: Driver for ATI Rage 128 chipsets: ATI Rage 128 RE (PCI),
        ATI Rage 128 RF (AGP), ATI Rage 128 RG (AGP), ATI Rage 128 RK (PCI),
        ATI Rage 128 RL (AGP), ATI Rage 128 SM (AGP),
        ATI Rage 128 Pro PD (PCI), ATI Rage 128 Pro PF (AGP),
        ATI Rage 128 Pro ULTRA TF (AGP), ATI Rage 128 Pro ULTRA TL (AGP),
        ATI Rage 128 Pro ULTRA TR (AGP), ATI Rage 128 Mobility LE (PCI),
        ATI Rage 128 Mobility LF (AGP), ATI Rage 128 Mobility MF (AGP),
        ATI Rage 128 Mobility ML (AGP)
(II) RADEON: Driver for ATI Radeon chipsets: ATI Radeon QD (AGP),
        ATI Radeon QE (AGP), ATI Radeon QF (AGP), ATI Radeon QG (AGP),
        ATI Radeon VE QY (AGP), ATI Radeon VE QZ (AGP),
        ATI Radeon Mobility LW (AGP), ATI Radeon Mobility LY (AGP),
        ATI Radeon Mobility LZ (AGP)
(--) Assigning device section with no busID to primary device
(--) Chipset ATI Rage 128 RF (AGP) found
(II) Loading /usr/X11R6/lib/modules/libvgahw.a
(II) Module vgahw: vendor="The XFree86 Project"
        compiled for 4.1.0, module version = 0.1.0
(II) R128(0): PCI bus 1 card 0 func 0
(**) R128(0): Depth 16, (--) framebuffer bpp 16
(II) R128(0): Pixel depth = 16 bits stored in 2 bytes (16 bpp pixmaps)
(==) R128(0): Default visual is TrueColor
(==) R128(0): RGB weight 565
(II) R128(0): Using 6 bits per RGB (8 bit DAC)
(II) Loading /usr/X11R6/lib/modules/linux/libint10.a
(II) Module int10: vendor="The XFree86 Project"
        compiled for 4.1.0, module version = 1.0.0
(II) R128(0): initializing int10
(II) R128(0): Primary V_BIOS segment is: 0xc000
(--) R128(0): Chipset: "ATI Rage 128 RF (AGP)" (ChipID = 0x5246)
(--) R128(0): Linear framebuffer at 0xf8000000
(--) R128(0): MMIO registers at 0xf4200000
(--) R128(0): VideoRAM: 16384 kByte (128-bit SDR SGRAM 1:1)
(II) R128(0): PLL parameters: rf=2864 rd=63 min=12500 max=25000; xclk=9000
(II) Loading /usr/X11R6/lib/modules/libddc.a
(II) Module ddc: vendor="The XFree86 Project"
        compiled for 4.1.0, module version = 1.0.0
(II) Loading /usr/X11R6/lib/modules/libvbe.a
(II) Module vbe: vendor="The XFree86 Project"
        compiled for 4.1.0, module version = 1.0.0
(II) R128(0): VESA BIOS detected
(II) R128(0): VESA VBE DDC supported
(II) R128(0): Manufacturer: PTS  Model: 30d  Serial#: 214342
(II) R128(0): Year: 2005  Week: 22
(II) R128(0): EDID Version: 1.3
(II) R128(0): Analog Display Input,  Input Voltage Level: 0.700/0.700 V
(II) R128(0): Sync:  Separate
(II) R128(0): Max H-Image Size [cm]: horiz.: 34  vert.: 27
(II) R128(0): Gamma: 2.50
(II) R128(0): DPMS capabilities: Off; RGB/Color Display
(II) R128(0): First detailed timing is preferred mode
(II) R128(0): redX: 0.630 redY: 0.330   greenX: 0.300 greenY: 0.600
(II) R128(0): blueX: 0.148 blueY: 0.098   whiteX: 0.310 whiteY: 0.330
(II) R128(0): Supported VESA Video Modes:
(II) R128(0): 720x400@70Hz
(II) R128(0): 640x480@60Hz
(II) R128(0): 640x480@67Hz
(II) R128(0): 640x480@72Hz
(II) R128(0): 640x480@75Hz
(II) R128(0): 800x600@56Hz
(II) R128(0): 800x600@60Hz
(II) R128(0): 800x600@72Hz
(II) R128(0): 800x600@75Hz
(II) R128(0): 832x624@75Hz
(II) R128(0): 1024x768@60Hz
(II) R128(0): 1024x768@70Hz
(II) R128(0): 1024x768@75Hz
(II) R128(0): 1280x1024@75Hz
(II) R128(0): Manufacturer's mask: 0
(II) R128(0): Supported Future Video Modes:
(II) R128(0): #0: hsize: 1280  vsize 1024  refresh: 60  vid: 32897
(II) R128(0): Supported additional Video Mode:
(II) R128(0): clock: 108.0 MHz   Image Size:  337 x 270 mm
(II) R128(0): h_active: 1280  h_sync: 1328  h_sync_end 1440 h_blank_end 1688 h_border: 0
(II) R128(0): v_active: 1024  v_sync: 1025  v_sync_end 1028 v_blanking: 1066 v_border: 0
(II) R128(0): Ranges: V min: 60  V max: 75 Hz, H min: 30  H max: 80 kHz, PixClock max 140 MHz
(II) R128(0): Monitor name: 17JAGBLK-AV
(II) R128(0): Serial No: P2U052214342
(==) R128(0): Using gamma correction (1.0, 1.0, 1.0)
(II) R128(0): Monitor0: Using hsync range of 30.00-80.00 kHz
(II) R128(0): Monitor0: Using vrefresh range of 60.00-75.00 Hz
(II) R128(0): Clock range:  12.50 to 250.00 MHz
(II) R128(0): Not using mode "1400x1050" (hsync out of range)
(II) R128(0): Not using mode "1400x1050" (hsync out of range)
(II) R128(0): Not using default mode "640x350" (vrefresh out of range)
(II) R128(0): Not using default mode "640x400" (vrefresh out of range)
(II) R128(0): Not using default mode "720x400" (vrefresh out of range)
(II) R128(0): Not using default mode "640x480" (vrefresh out of range)
(II) R128(0): Not using default mode "800x600" (vrefresh out of range)
(II) R128(0): Not using default mode "800x600" (vrefresh out of range)
(II) R128(0): Not using default mode "1024x768" (vrefresh out of range)
(II) R128(0): Not using default mode "1024x768" (vrefresh out of range)
(II) R128(0): Not using default mode "1280x960" (hsync out of range)
(II) R128(0): Not using default mode "1280x1024" (hsync out of range)
(II) R128(0): Not using default mode "1600x1200" (hsync out of range)
(II) R128(0): Not using default mode "1600x1200" (hsync out of range)
(II) R128(0): Not using default mode "1600x1200" (hsync out of range)
(II) R128(0): Not using default mode "1600x1200" (hsync out of range)
(II) R128(0): Not using default mode "1792x1344" (hsync out of range)
(II) R128(0): Not using default mode "1792x1344" (bad mode clock/interlace/doublescan)
(II) R128(0): Not using default mode "1856x1392" (hsync out of range)
(II) R128(0): Not using default mode "1856x1392" (bad mode clock/interlace/doublescan)
(II) R128(0): Not using default mode "1920x1440" (hsync out of range)
(II) R128(0): Not using default mode "1920x1440" (bad mode clock/interlace/doublescan)
(--) R128(0): Virtual size is 1280x1024 (pitch 1280)
(**) R128(0): Default mode "1280x1024": 135.0 MHz, 80.0 kHz, 75.0 Hz
(--) R128(0): Display dimensions: (34, 27) cm
(--) R128(0): DPI set to (95, 96)
(II) Loading /usr/X11R6/lib/modules/libfb.a
(II) Module fb: vendor="The XFree86 Project"
        compiled for 4.1.0, module version = 1.0.0
(II) Loading /usr/X11R6/lib/modules/libramdac.a
(II) Module ramdac: vendor="The XFree86 Project"
        compiled for 4.1.0, module version = 0.1.0
(II) Loading /usr/X11R6/lib/modules/libxaa.a
(II) Module xaa: vendor="The XFree86 Project"
        compiled for 4.1.0, module version = 1.0.0
(==) R128(0): Write-combining range (0xf8000000,0x1000000)

And then the SSH session timed out. Seems that the card driver has tried to instantiate the DRM driver and frozen. A lot of mucking around then ensued, but the answer is simple: The r128 X11 driver didn't load the r128 DRM kernel module, so when it tries to call it, it just locks up. The answer is to run insmod r128 prior to starting X. Of course, this wont work if you've chosen to go for the graphical login. To get it to start on boot, edit /etc/rc.d/rc.local and slap the insmod line in there.

DSC02103

If you've already installed a distro and can't do anything as it boots to a black screen each time, then you need to edit your bootloader config to get linux to boot into single-user mode. For grub, hit E when the boot menu appears, select the second line and hit E again. Navigate to the end of the line and add the word single.

DSC02141 DSC02144 DSC02147

Hit enter and then press B. Linux will then boot, mounting disks, and provide a shell prompt with you already logged in as root. Just edit rc.local from here, inserting the insmod r128 command, and reboot. From here, all was working perfectly. I hadn't tested the All-In-Wonder features though... Looks like I'd need Gatos. The instructions don't look that hard.

Back to that BIOS update, can I use Wine?

Wine was installed by default, and so I wondered if I could run the BIOS updater from Linux? I wasn't ready to install XP/98SE/ME just yet. I downloaded the file and gave it a go:

[root@localhost root]# wine
wineserver: chdir /root/.wine : No such file or directory
[root@localhost root]# mkdir .wine
[root@localhost root]# wine
Wine release 20010731

Usage: wine [options] [--] program_name [arguments]
The -- has to be used if you specify arguments (of the program)

Options:
   --debugmsg name  Turn debugging-messages on or off
   --dll name       Enable or disable built-in DLLs
   --dosver x.xx    DOS version to imitate (e.g. 6.22)
                    Only valid with --winver win31
   --help,-h        Show this help message
   --managed        Allow the window manager to manage created windows
   --version,-v     Display the Wine version
   --winver         Version to imitate (win95,nt40,win31,nt2k,win98,nt351,win30,win20)
[root@localhost root]# wine e60bios_fr.exe
x11drv: Can't open display:

Ok ok, let's start X...

snapshot3

Ok sure, it's just a WinZip Self-Extractor that makes a floppy image... can we extract the image?

[root@localhost root]# unzip e60bios_fr.exe
Archive:  e60bios_fr.exe
  inflating: makeunix.bat
  inflating: disk1.img
  inflating: rawrite2.exe
  inflating: disks.ico
 extracting: about.txt

Yes, yes we can. We don't have to use rawrite as Linux has dd, but we'll just check what's in that batch file:

[root@localhost root]# cat makeunix.bat
@echo off
echo Hewlett Packard Company Self extracting diskette Set
echo.
echo You will need 1 formatted diskette(s) to continue
echo.
echo Press Enter to Continue or Cntrl-C to end the job
pause ^>nul:
echo.
echo Diskette Creation disk1
echo NetServer E60 BIOS Update Diskette
echo Press Enter to Continue or  Cntrl-C to end the job
pause ^>nul:
echo.
rawrite2.exe -f disk1.img

Nothing special... just a dump straight to floppy. Let's do that, Linux-style! Before I format this floppy... what's on it?

marist-wad

Oh, just a WAD for DOOM II of our high school. Excuse the crappy image... I was a little excited to find a floppy from a drawer with ~20 year old data on it?! I'll write another post on that. Where as I?

[root@localhost root]# dd if=disk1.img of=/dev/fd0 bs=1024 conv=sync ; sync
1440+0 records in
1440+0 records out
[root@localhost root]# cd /mnt
[root@localhost mnt]# mount floppy/
[root@localhost mnt]# ls floppy/
config.sys  contents.abf  e60bios.fr  io.sys  language.dat  msdos.sys  phlash.exe  phlshwrp.exe  phlshwrp.hds  phlshwrp.ini  platform.bin
[root@localhost mnt]# ls -l floppy/
total 688
-r-xr-xr-x    1 root     root           29 Aug 18  1998 config.sys
-r-xr-xr-x    1 root     root          305 Oct 27  2000 contents.abf
-r-xr-xr-x    1 root     root       524288 Oct 27  2000 e60bios.fr
-r-xr-xr-x    1 root     root        40992 May 31  1994 io.sys
-r-xr-xr-x    1 root     root            2 Dec 10  1998 language.dat
-r-xr-xr-x    1 root     root        38166 May 31  1994 msdos.sys
-r-xr-xr-x    1 root     root        65605 Feb  9  1999 phlash.exe
-r-xr-xr-x    1 root     root        21179 Jan 13  1999 phlshwrp.exe
-r-xr-xr-x    1 root     root         6791 Dec 31  1997 phlshwrp.hds
-r-xr-xr-x    1 root     root         1739 Oct 27  2000 phlshwrp.ini
-r-xr-xr-x    1 root     root         1207 Jan 22  1999 platform.bin

Nice, there's our boot disk. Time to shutdown and boot the machine with the floppy inserted.

DSC02109 DSC02116 DSC02120

Make sure your flexible disk is set to a higher priority than your solid disk. And then learn french! Or.... cheat...

DSC02123

Note that it did mistranslate one 0 for an 8, but whatever, just do the next-next-finish:

DSC02141 DSC02130 DSC02131

And then it'll reboot by itself:

DSC02139

Yey! Microcode 0000000E installed!

Dodgy LAN Port

For the life of me, I couldn't work out why I had intermittent LAN connectivity whilst using the machine. It wasn't until I checked the LEDs at the back on the port to see that sometimes none were lit, other times just link and then finally activity also. On my LAN, there's always activity thanks to streaming South Yarra Railcam, so it was very strange to see only link lit up.

A quick jiggle of the cable saw that all change though. If I forced the cable away from the board, the lights would go out. On the contrary, pulling the cable down towards the motherboard saw the LAN port function 100% correctly. It seems that the contacts inside the socket were not making a good enough connection with the end of the cable and needed adjusting. Fortunately, the tweezers from the iFixit kit worked perfectly for grabbing each of the 8 contacts and bending them up. At the very back of the plug is a guide for each contact to slide down when the LAN cable is inserted, so I just made sure not to lift the contact wires past/out-of these.

BeOS R5 Professional

This took a little bit of re-learning. After acquiring the ISO, everything just installed perfectly. Google even, sorta, showed in NetPositive. I then tried to set up World O' Networking and, after it restarted the network server, nothing worked anymore. Even a ping from Terminal just threw: ping socket: name not found. A google for this error brought up an Arstechnica forum post from 1999 where a user had the same error! I re-installed BeOS and the network worked again... I re-installed WON and it died again. Reading the doco, it said that if I wanted to uninstall WON thoroughly, I had to go to /beos/system/boot and edit Netscript. Turns out this file didn't even exist! The WON setup had failed to copy in its substitute and had just renamed the old file. I grabbed it manually from the desktop and then everything booted up! But there were no computers to be found in the WON folder on the desktop.

Windows XP

As you'd pretty much eXPect, it all just worked perfectly. All CPUs online and all hardware flying along.

winxp-dual-p3-500

I installed the ATI drivers and even managed to half-capture my shitty megadrive clone. The picture wasn't healthy, but I don't know if I was expecting it to even work, let along show a picture!

Filed under: Retro Leave a comment
Comments (0) Trackbacks (0)

No comments yet.


Leave a comment


*

No trackbacks yet.