HardwareConsiderations

Requirements

The most important features that the hardware has to satisfy:

  • silent running: the box is located in the living area of my and my wife's flat
  • robust: the box runs 24/7, but it should not break down after 3 weeks
  • good networking support: the box' main purpose is to provide internet/intranet services
  • as cheap as possible, aka "not too expensive" :-)


What I bought

Noise:

  • acoustic insulation
  • silent CPU cooling unit
  • silent power supply unit

Robustness

  • hardware components of known quality (i.e. no no-name stuff)
  • no high-end components

Networking support:

  • mainboard with 2 integrated LAN ports (1 for the WAN side, 1 for the LAN side)

Price:

  • well, at least the graphics card was cheap :-)


The invoice lists the following stuff:

  • Processor: AMD Athlon XP 2500, 333 MHz, 1.833Ghz, Socket
    • Cooler: Arctic Slim Silent Pro TC
  • Mainboard: Asus A7N8X Deluxe
    • nVidia nForce2
    • Audio, SATA, Firewire, 2x LAN
  • Power supply: Enermax EG301AX-VEG, 300Watt, Fancontrol, noiseless
  • RAM: Apacer DDR-DIMM 512MB, PC-2700, CL2.5, 184pin, 333MHz
  • Graphics card: ATI Excalibur Rage128 Pro
    • 32MB SD-RAM
  • Hard disk drive: IBM IC035L120, ATA-100, 7200/8.5ms/8MB
    • 120GB
  • CD-ROM/DVD drive: Combo RW+DVD Philips RWDV3210K, IDE, Retail Version
    • 40x READ/*"X Write/10x ReWrite
  • BIOS: Phoenix - AwardBIOS


Later on I bought additional hard disk drives for additional file server storage:

  • IBM 7K250 Vancouver 3, SATA-150, 7200/8.5ms/8MB
    • 250GB
  • Samsung HD753LJ, SATA 3.0 Gbps (SATA Revision 2.0), 7200/8.9ms/32MB
    • 750GB

Because of lacking Linux kernel support for the on-board LAN ports, I had to install 2 network cards:

  • Netgear FA312GR, 10/100 MBit, PCI, retail
  • an old busmaster LAN card with a DEC chip


Last but not least, I use an ADSL router for Internet connectivity:

  • Zyxel 650R-E1


Main problems

The following major problems related to hardware have occurred since I started my self-hosting project.


Chipset support

The first crisis came right at the beginning when I discovered that the Linux kernel did not have sufficient support for the mainboard's nForce2 chipset to make the 2 on-board LAN ports work.

Even though the immediate solution was simple (add 2 PCI network cards to the system), I was still quite disappointed - after all I had explicitly bought the Asus mainboard because of its two built-in LAN ports.

Conclusion: Always check if the operating system supports the hardware before you buy it.


BIOS upgrade

After I bought the SATA hard disk drive, I discovered that the BIOS support for SATA drives was buggy/incomplete and that I would have to perform a BIOS upgrade if I ever wanted the hard disk to work properly.

I then discovered the ridiculous fact that even in these modern days a floppy drive and an MS-DOS 5.0 boot diskette are still essential requirements for a BIOS upgrade on PC (i.e. non-Mac) systems.

The system in question was bought in 2003. Unfortunately I did not think at that time that a floppy drive would come in useful one day, so I did not buy one. When I performed the BIOS upgrade it was (of course :-) in the middle of the night and I had no way of getting my hands on a new floppy drive. In the end I was forced to cannibalize my wife's old PC to get at a floppy drive.

Conclusion: never, never, never buy a PC without a floppy drive!


Technical stuff

See a dump of lspci -vv


MAC addresses

nVidia controller (on-board)
00:0C:6E:32:65:91
3COM controller (on-board)
00:26:54:0C:52:06
NetGear network card
00:40:F4:38:E6:FA
busmaster network card
00:C0:26:60:01:A1


Mainboard

Name
Asus A7N8X Deluxe
URL
http://www.asuscom.de/products/mb/socketa/a7n8x-d/overview.htm

PCB Version (Revision)

  • PCB Version (Revision) = Printed Circuit Board Version (Revision)
  • this version information is important when updating the BIOS
    • there are different BIOS versions for PCB versions <= 1.06, and for PCB versions >= 2.0
    • the PCB version is printed next to the name of the motherboard; the name of the motherboard is located between the 3rd and the 4th PCI slot (counting from the bottom of the case)
    • my motherboard has PCB version 2.0
  • basically the ASUS board has the chipset nForce2; however the chipset specifications cannot be taken as-is because every mainboard manufacturer (in my case ASUS) adds or removes chipset options
  • specifically, the Deluxe motherboard differs from the regular motherboard in that the South Bridge has the nForce2 chip MCP-T(urbo) instead of just the simple chip MCP. MCP-T supports the following features:
    • 3d-audio Dolby Digital 5.1
    • a second LAN Controller manufactured by 3COM
  • in addition, the Deluxe motherboard has the following add-on features that the regular motherboard does not have; these features have nothing to do with the nForce2 chipset, they are features provided by ASUS
    • a SerialATA/RAID controller
    • FireWire support

Specifications of the Asus A7N8X Deluxe

Processor

  • AMD Athlon/Athlon XP with the bus speeds 100/133/166 MHz
  • AMD Duron with the bus speed 100MHz
  • Socket A

The nVidia nForce II Chipset

  • North Bridge nForce2 SPP
  • South Bridge - nForce2 MCP-T
  • Interbridge Bus - HyperTransport (800 MB/s)

System memory

  • Three 184-pin slots for DDR SDRAM DIMM
  • Maximum memory capacity 3 GB
  • Supported memory types PC1600/2100/2700/3200, unbuffered non-ECC SDRAM
  • 128-bit dual-channel memory access possible
  • Onboard power indicator

Graphics

  • AGP slot supporting the 4x/8x modes
  • AGP Warning LED indicator

Expansivity options

  • Five 32-bit PCI Bus Master slots
  • Six USB 2.0 ports (4 integrated + 2 additional)
  • Two IEEE1394 (Firewire) ports
  • Integrated audio nForce2 APU (audio processing unit)
  • LAN controller nForce2
  • LAN controller 3COM

Overclocking Options

  • FSB adjustable between 100MHz to 250 MHz in 1(-5) MHz increments; multiplier adjustable
  • Processor/memory, AGP voltage adjustable

Disk subsystem

  • 2 channel UltraDMA133/100/66/33 Bus Master IDE (with support for up to 4 ATAPI-devices)
  • Support for SerialATA (2 channels)
  • Support for LS-120 / ZIP / ATAPI CD-ROM

BIOS

  • 4MBit Flash ROM
  • Award BIOS Phoenix with support for Enhanced ACPI, DMI, Green, PnP Features and Trend Chip Away Virus

Miscellaneous

  • One FDD port, two serial and one parallel ports, ports for PS/2 mouse and keyboard
  • STR (Suspend to RAM)
  • SPDIF Out
  • Asus POST Reporter
  • Asus Q-Fan

Power management

  • Wake-up on modem, mouse, keyboard, LAN, timer and USB
  • Standard 20-pin ATX (ATX-PW) power connector

Monitoring

  • Processor temperatures, voltages and the rotational speeds of the three fans are monitored
  • Asus PC Probe utility

Dimensions

  • ATX form factor, 245mm x 305mm (9.63" x 12")


Hard disk drive support

S-ATA Support

  • Controller: Silicon Image SiI3112 SATALink host controller
  • 2 SerialATA Channels, one hard disk can be connected to each channel
  • the 2 hard disks can be merged to a single RAID, either level 0 or 1
  • the controller is enabled/disabled using the motherboard jumper SATA_EN1
    • the jumper is located next to the controller chip
    • enable controller: connect pins 1-2 (pin 1 is located nearest to the PCI slots)
    • disable controller: connect pins 2-3 (pin 3 is located farthest from the PCI slots)


S-ATA controller specification

General

  • Serial ATA - 1.5 Gbps (150 MB/s)
  • Compliant with Serial ATA 1.0 specification
  • Integrated Serial ATA Transport, Link logic and PHY
  • 48-bit sector addressing
  • Dual independent DMA channels with 256B FIFO per channel
  • Virtual DMA
  • Command buffering
  • Supports up to 4 MB external Flash
  • Supports external BIOS
  • Supports spread spectrum clocking to reduce EMI
  • Register compatible with parallel ATA
  • Single, digital PLL architecture, with 1 PLL for both channels

Transfer Rates

  • Supports PIO and DMA modes
  • Supports bus master DMA at 1.5 Gbps burst rate

PCI Bus

  • 32-bit, 33/66 MHz
  • PCI 2.2 compliant

Power

  • Core: 1.8V, I/O: 3.3V operating voltage with 5V tolerance
  • ACPI: PCI Bus Power Management Spec 1.1 compliant

Package

  • 144-pin, 20x20 mm TQFP (Thin Quad Flat Pack)

IDE Support

  • primary IDE connector is colored blue
  • responsible for I/O und system monitoring: ITE IT8708 chip

Memory Configuration

The ASUS motherboard has 3 DIMM slots:

  • the standalone slot DIMM 3, which corresponds to the first memory bank
  • the slots DIMM 1 and DIMM 2, which correspond to the second memory bank

Because nForce2 is a dual-channel chipset, the following advice should be followed when adding memory modules in order to get maximum performance:

  • always install the same memory modules into the first and second memory bank, i.e. the first module is placed into DIMM 3, the second into DIMM 1 or DIMM 2

!!! Memory slots can be handled only with difficulty !!!

Grafikkarte

Because the ASUS motherboard uses the nForce2 chipset, only the following types of graphics cards can be used:

  • 1.5V
  • AGP4X or AGP8X (AGP 3.0)

Specifically does not work: old 3.3V graphics cards. If such a card is nevertheless installed, the system will not boot and a red LED is lighted on the motherboard.

USB/Firewire

Chip for Firewire: RealTek RTL8801B

Audio

nVidia APU

  • supports 256 2D and 64 3D "voices"
  • is responsible for hardware-accelerating incoming/outgoing audio streams
  • is composed of 5 separate digital signal processors (DSPs)

Interface to audio jacks

  • Realtek ALC650 6CH w/ built-in HP amplifier
  • is AC97-compliant

Network

  • both Ethernet controllers are integrated on the MCP-T
  • MAC 1: nForce II MCP / nVidia MCP networking adapter
    • physical interface: Realtek RTL8201BL (10/100MBit) chip
  • MAC 2: 3Com 3C920B-EMB integraded controller
    • physical interface: Broadcom AC101L chip


BIOS

BIOS type

AwardBIOS.


Settings

Things that I might have changed:

  • APIC = on
  • CPU External Freq. = 100 MHz
  • CPU Frequency Multiple Setting = Auto
    • CPU Frequency Multiple = 11.0x
  • Memory Frequency = by SPD
    • could also be a user-defined value, e.g. 200%
    • Resulting Fequency = 166MHz (= CPU External Freq. * Memory Frequency)
  • AGP 8X Support


All settings as per September 20 2009

  • main
    • primary master = ide hard disk
    • primary slave = none
    • secondary master = cd-rom
    • secondary slave = none
    • legacy diskette A = none (needs to be enabled when a floppy is attached for booting)
    • halt on = all errors
  • advanced
    • advanced bios features
      • boot virus detection = disabled
      • cpu level 1 cache = enabled
      • cpu level 2 cache = enabled
      • quick power on self test = enabled
      • SATA & SCSI boot order = SATA,SCSI
      • first boot device = floppy
      • second boot device = SCSI (to boot from SATA disks; always tries to boot from the first disk)
      • third boot device = cdrom
      • boot other device = enabled
      • boot up floppy seek = enabled
      • boot up NumLock status = on
      • gate A20 option = fast
      • typematic settings = <fastest possible>
      • APIC mode = enabled
      • OS/2 onboard memory >64M = disabled
      • full screen logo show = disabled
      • speech POST reporter = enabled
      • POST complete report = enabled
    • advanced chipset features
      • CPU externel freq. (MHz) = 100 MHz
      • CPU frequency multiple setting = auto
        • CPU frequency multiple = 11.0x
      • system performance = optimal
        • CPU interface = optimal
      • memory frequency = by SPD
        • resulting frequency = 166 MHz
        • memory timings = optimal
        • SDRAM active precharge delay = 7
        • SDRAM RAS to CAS delay = 3
        • SDRAM RAS precharge delay = 3
        • SDRAM CAS latency = 2.5T
      • FSB spread spectrum = 0.50 %
      • AGP spread spectrum = disabled
      • CPU Vcore setting = auto
        • CPU Vcore = 1.650V
      • graphics aperture size = 64M
      • AGP frequency = auto
      • system BIOS cacheable = disabled
      • video RAM cacheable = disabled
      • DDR reference voltage = 2.6V
      • AGP VDDQ voltage = 1.5V
      • AGP 8x support = enabled
      • AGP fast write capability = enabled
    • integrated peripherals
      • primary VGA BIOS = AGP VGA card
      • USB controllers = V1.1 + V2.0
      • USB keyboard & legacy support = disabled
      • USB legacy mouse support = disabled
      • onboard AC97 audio controller = auto
      • onboard AC97 modem controller = auto
      • onboard Lan(nVIDIA) = auto
      • onboard Lan(3COM) = auto
      • floppy disk access controller = enabled
      • onboard serial port 1 = 3F8/IRQ4
      • onboard serial port 2 = 2F8/IRQ3
      • UART2 use as = COM port
      • onboard parallel port = 378/IRQ7
      • parallel port mode = ECP+EPP
      • ECPA DMA select = 3
      • onboard game port = 201
      • onboard MIDI I/O = 330
      • onboard MIDI IRQ = 10
    • power management setup
      • ACPI suspend to RAM = enabled
      • video off method = DPMS support
      • HDD down in suspend = disabled
      • PWR button < 4 secs = soft off
      • power up on PCI device = enabled
      • wake/power up on ext. modem = disabled
      • automatic power up = disabled
      • AC power loss restart = previous state
      • power on by PS/2 mouse = disabled
      • power on by PS/2 keyboard = disabled
    • PnP/PCI configuration
      • resources controlled by = Auto(ESCD)
      • PCI/VGA palette snoop = disabled
      • PCI latency timer (CLK) = 150


POST infos:

  • AMD Athlon XP 1100Mhz
  • Memory Frequency is at 166 MHz


Official BIOS updates and flash utilities

Asus (the motherboard manufacturer) provides official BIOS updates, and an accompanying utility to flash the BIOS:


Unofficial BIOS updates and flash utilities

Newer versions of the flash utility can be obtained, for instance, from http://www.biosmods.com/download.php. At the time of writing the most recent version of the utility was V8.83 (awd883.zip), which I used to perform an actual flash.


Unofficial BIOS versions can be downloaded from a lot of BIOS hacking sites on the web. An important site for the A7N8X motherboard seems to be http://www.nforcershq.com/. It appears that there exists a utility that allows mere mortals like me to take an official BIOS and patch parts of it with newer drivers/BIOS' for motherboard components such as the Silicon Image SATA controller. I have not yet attempted to perform a patch myself...


History of BIOS versions that I have used

First BIOS

The BIOS version that was installed on the motherboard when I bought it, probably was BIOS version 1003 (labelled C1003 on the Asus support site). It reports the following information at boot time:

  • Phoenix - AwardBIOS v6.00PG
  • US A7N8X2.0 Deluxe ACPI BIOS Rev 1003
  • Trend ChipAwayVirus(R) On Guard Ver 1.65
  • 08/19/2003-nVidia-nForce-A7N8X2.0


Second BIOS

When I installed the first SATA hard disk drive, I had to flash a new BIOS because the drive and the SATA controller did not cooperate for some reason. I installed the official BIOS version 1008 that can be obtained from the Asus support site (see above for details). The new SATA BIOS was 4.2.15. The BIOS reports the following information at boot time:

  • Phoenix - AwardBIOS v6.00PG
  • US A7N8X2.0 Deluxe ACPI BIOS Rev 1008
  • 08/04/2004-nVidia-nForce-A7N8X2.0C-00


Third BIOS

When I installed the second SATA hard disk drive, it again did not work and I had to flash the BIOS a second time to get a newer SATA BIOS. This time I had to install an unofficial BIOS because Asus had never published another BIOS after version 1008:

  • I found the BIOS that I ultimately flashed by googling for this search term (without quotes): "a7n8x deluxe sata 4.2.84"
    • 4.2.84 is the newest BIOS version of the Silicon Image SiI3112 controller, dated 12/3/2007
    • I obtained the number by searching through the support site of Silicon Image
    • Google's search results contained a lot of false positives, most of them referring to the "A7N8X-E Deluxe" (notice the "-E" suffix), which is a newer motherboard than the one that I have
  • the forum thread that contains the post from which I took the BIOS is this: http://www.nforcershq.com/forum/image-vp624202.html
  • the direct download link is this: http://users.bigpond.net.au/wells/BIOS/1008.BIN
  • the poster documents his work like this: an official 1008 BIOS for the A7N8X Deluxe Rev 2, but integrated with the 4.2.84 Silicon Image BIOS


The unofficial BIOS reports the following information at boot time (notice the missing suffix on the last line, when compared to the official 1008 BIOS):

  • Phoenix - AwardBIOS v6.00PG
  • US A7N8X2.0 Deluxe ACPI BIOS Rev 1008
  • 08/04/2004-nVidia-nForce-A7N8X2.0


Notes:

  • The actual problem that I needed to fix by flashing was that the SATA controller hung when it tried to detect the new SATA drive
  • drive model = Samsung HD753LJ
  • setting the drive's jumpers did not work
    • my drive model only has 2 jumpers, as opposed to Samsung's documentation that always shows 4 jumpers
    • I tried all 4 combinations with my 2 jumpers, but none worked
    • seting jumper 1/2 : has no visible effect
    • setting jumper 3/4 : drive becomes "inactive" and is no longer detected by the SATA controller
    • setting both jumpers 1/2 and 3/4 : has the same effect as setting the 3/4 jumper only
  • Samsung provides boot disks/CD-ROMs (see www.samsunghdd.com) that can be used to permanently flash the drive's bus speed to 1.5Gbps, assuming that this will fix the failing speed negotiation between SATA controller and drive (drive is 3.0Gbps, controller is 1.5Gbps)
  • this of course does not work because the SATA controller hangs and never allows the computer to boot from either boot disk or CD-ROM


The process of flashing the BIOS

The official page from Asus for the "AWDFLASH BIOS Update Procedure": http://support.asus.com/technicaldocuments/technicaldocuments_content.aspx?no=532&SLanguage=en-us


My personal log from my most recent flashing adventure:

  • I am using a minimal boot disk with Caldera DR-DOS 7.03 that I downloaded from http://www.biosmods.com/download.php
  • the boot disk has enough space so that I can put the flashing utility and the new BIOS (~512KB) on it, AND still have room for backing up the old BIOS
  • it seems to be impossible to use the flashing utility integrated into the BIOS (press Alt+F2 during bootup to launch the utility); for some unknown reason, the utility never finds the BIOS file whose file name I enter at the prompt; I tried it, unsuccessfully, using a regular 3.5" floppy drive, and also a 3.5" USB floppy drive
  • it is also not possible to boot from a USB floppy drive - even though the BIOS allows to set the first boot device to "USB FDD" :-(
  • open the computer case and temporarily attach the 3.5" floppy drive (ATA cable is still inside)
  • boot the machine and enter the BIOS
  • on the main page, enable "legacy diskette A" support
  • make sure that on the "advanced bios features" page, the first boot device is set to "floppy"
  • reboot
  • run the flashing utility
  • if flashing works without errors, reboot and pray :-)
  • if everything seems to be OK, turn off the computer again and remove the 3.5" floppy drive
  • perform additional changes, such as attaching a hard disk drive
  • boot the machine and, on the BIOS main page, disable "legacy diskette A" support
  • perform the final reboot