Most parts in a preassembled computer
are not the right ones:
non-ECC memory and a bad motherboard,
a two-button mouse (many standard applications use three buttons),
a winmodem,
and non-supported or poorly supported
(but definitely the worst quality, although not
necessarily the cheapest)
videocard, soundcard, and a printer.
Included monitors usually have .28mm dot pitch,
often -- small 15'' diagonal, and poor bandwidth
(which leads to flickering at higher resolutions).
You need to decide on the chipset/processor combination
and then to pick a motherboard with the layout you need.
I would like to be impartial, but
it is always a good idea to stay away from Intel:
From Fall 1997 to Spring 2000, people witnessed
recalls of pentiums due to "F0 0F" pentium bug,
dropped L2 cache on original Celerons
(and dropped ECC support on "low-end" chipsets,
to emphasize that those are "low-end" components),
locked multipliers (to fight overclockers),
notorious "processor serial number",
locked 133MHz bus frequency of Pentium III
(to force incompatibility with 440BX chipset),
various chipset problems which ended with the
recall of motherboards with 820 chipsets
(all this resulted from a failed attempt
to move the market to RAMBUS memory),
recall of 1.13GHz processors...
It is not that Intel is particularly bad, but
its processors and chipsets are definitely not worth more than others.
Currently, a reasonable choice is
probably Socket A motherboard with a Duron 800(?) processor.
For the ECC support,
you need a motherboard with AMD 760 chipset
or VIA266 chipset.
Make sure the motherboard takes enough memory...
KT133, SiS 735, and ALi MAGiK 1 chipsets
do not support ECC (contrary to several advertisings on PriceWatch).
If an Intel solution is required, i815 boards are beginning
to show up at more reasonable rates, coupled with a newer
model Celeron.
The i815 does particularly well with IDE hard drives
under Linux, almost doubling cached rates over a Socket A
based system.
The chipset on the motherboard determines
the main specifications of the system:
Newer Socket-A motherboards support faster DDR memory.
There are PC1600 and faster PC2100 flavors of DDR memory:
for 200MHz and 266MHz bus frequencies, respectively.
On Athlon motherboards,
the memory and FSB have to be synchronous for use of DDR,
and in order to run a processor at 133MHz bus speed
you need more expensive 266MHz DDR memory.
If you choose memory for an earlier Socket-A ("Thunderbird")
or Super-7 ("pentium" with 100MHz bus speed) motherboard,
the key words you want to hear from the vendor are probably
SDRAM DIMM (a long 168 pin card),
ECC
(with error checking and correction;
you better go for it
if the motherboard's chipset has ECC support),
and
PC133 (for 133MHz bus speed).
You do not save much buying older
PC100 memory (for 100MHz bus speed).
Two more attributes are
unbuffered and 3.3V; probably all current PC100 and PC133 modules
are of this kind.
Please compare all this with the on-line manual of "your" motherboard
and do not hesitate to ask the vendor.
If the memory module contacts and the motherboard memory sockets
are coated with dissimilar metals (specifically gold, Au, and tin, Sn),
then corrosion will be inevitable.
This typically results in memory errors which appear in about a year's
time.
Mueller's "Upgrading and Repairing PCs" recommends using gold DIMMS with
gold sockets, or tin DIMMS with tin sockets; never mix them.
Additionally, he recommends using a product called
"Stabilant" when installing all cards / modules.
(I am grateful to someone who pointed this information to me.)
Thoughts:
-
Bad memory
may lead to compilation crashes and even system crashes.
Still, since PC100 and faster memory is common,
there is no much reason to pay large premium for the brand names.
If the module hangs the system,
then it is defective and is to be exchanged,
although you might have a hard time arguing with the vendor.
The best way to check a new memory module
is to do something memory extensive
while compiling a kernel in the background (bad memory could cause
compilation errors).
There is also memory testing software (memtest and memtest86).
-
It is hard to say how many incidents are actually caused
by non-ECC memory.
I have never heard whether a proper experiment has been conducted
(several identical systems, perhaps compiling the Linux kernel,
half running with ECC enabled and half with ECC disabled).
Statistically, we expect higher rate of memory errors when
the total system memory and the system clock is increasing.
If this is not a gaming system, and since there is not much premium involved,
you might decide that what is better for a server is also better for you.
-
Avoid ECC compatible memory:
it is opposite to memory with ECC.
If in the specifications of a memory module
the layout is 16x64 or 32x64, there is no ECC. Should be ...x72
(extra 8 bits
per 64 bit word are necessary for error correction).
Physically, a DIMM of memory with ECC
carries nine (or eighteen) chips
(as opposed to eight (or sixteen) chips on a DIMM of non-ECC memory).
-
The memory speed is not as important for performance
as the bus speed,
hence faster rated memory may be not worth the money.
Faster bus speed is much more important.
Overclocking the memory is not a good idea either
(you pay too much for gaining too little).
The best way to improve performance is to have enough memory
so that the computer would not be in need of
swapping the data onto the hard drive during everyday operation.
-
Rambus memory seems to be just a waste of money.
-
Most newer systems will probably
be based on DDR SDRAM memory.
-
Practically, it seems reasonable to buy DIMM
modules with possibly higher capacity,
to have spare slots for memory upgrades.
-
If you want to use older slower memory modules,
choose a proper motherboard:
you may need a motherboard with MVP3 chipset
which supports non-PC100 memory.
You could have a hard time if you mix the different sorts
of memory, though.
I experienced some weird problem with my memory module (ECC PC100 128MB).
It worked fine for around a year, but then I started getting the following
messages in the /var/log/kern.log file (about once a day):
Jun 11 13:58:25 Port kernel: Uhhuh. NMI received. Dazed and confused, but trying to continue
Jun 11 13:58:25 Port kernel: You probably have a hardware problem with your RAM chips
NMI means non-maskable interrupt.
This problem might be related to corrosion due to different coating
of the memory module contacts and the motherboard memory sockets;
I did not look yet which material is used in my computer.
I think I have to speculate when NMI appears: I do not know anything about
how computer works, but it seems that,
while ECC (error correction which is hardware-implemented in the chipset)
detects and corrects one-bit errors, it only detects two-bit errors,
and sends NMI to the operating system.
This would only be true for ECC SDRAM DIMMs,
which store data as 64 bit words plus 8 bits devoted to error correction.
The story would be quite different with older "parity memory",
like "True Parity EDO",
which stored data as 8 bit words plus 1 bit devoted to parity checking:
NMI would be triggered when the one-bit error occured (parity does not match).
Please email me if I wrote something stupid;
I did not find an informative reference on the net.
In a while, I started getting more NMI messages
(two-three times a day), and the system crashed several times.
In twenty days, there were 22 NMI messages and 4 crashes
(which sometimes occurred right after NMI).
The crash was accompanied by the messages
Oct 29 15:44:01 Port kernel: Unable to handle kernel paging request at virtual address d55a973c
Oct 29 15:44:01 Port kernel: current->tss.cr3 = 049d6000, %%cr3 = 049d6000
Oct 29 15:44:01 Port kernel: *pde = 00000000
Oct 29 15:44:01 Port kernel: Oops: 0000
Oct 29 15:44:01 Port kernel: CPU: 0
or
Nov 11 20:41:57 Port kernel: Unable to handle kernel NULL pointer dereference at virtual address 00000000
...
At this point, everything would freeze.
Other symptoms (or, rather, their absence):
The computer did not report a memory error at the boot-up check;
memtest did not detect any memory error either;
there were no weird mistakes during compilation
(I could compile two kernels simultaneously, without errors).
What I tried:
-
Using other kernels;
downgrading the distribution to a stable version
(Debian 2.3 "woody" to Debian 2.2 "potato");
setting moderate parameters in BIOS. No effect.
- Disabling "error correction" in BIOS. The NMI messages disappeared; the crashes did not.
- Decreasing the amount of available memory after an NMI was received
(adding the line
append="mem=64m", then "mem=32m" and "mem=20m" in lilo.conf).
The NMI messages became less frequent, once in two-three days,
but did not disappear.
This may indicate that the error could occur with the same probability at any
byte: Less memory means less frequent errors.
Also, had there been some particular defective addresses,
the six fold decrease of available memory would exclude them with probability 5/6.
Finally, I changed the memory setting from 100MHz ("PC100 memory")
to 66MHz ("non-PC100 memory"),
which you can do with jumpers on MVP3-based Super-7 motherboard, and this
healed the problem completely.
I can not figure out whether
this was a problem with the memory or with the motherboard (FIC VA-503+, MVP3 chipset)
until I receive a new memory module.
It seems more likely that the problem was caused by, for example, dried
capacitors on the motherboard.
It is hard to imagine what could go wrong with the memory.
Hard drive
Usually, the main question is SCSI vs. EIDE.
As it turns out, a single user will almost
always fare better using EIDE stuff than they will for SCSI.
EIDE is faster for single (or light multi-tasking), and loses that edge
when put in a more stressful environment (ala networked as a server).
As a home user, there is no real reason to pay the price premium, unless
you can justify using it heavily enough to get a return.
Forget SCSI and you have one thing less to worry about.
There has been trouble with some Western Digital hard
drives not performing the required error checking; see
here
and
here
for a summary. Apart from that, all EIDE disks are Linux-compatible,
and all recent drives have quite similar performance.
Any latest model around 20GB shouldn't set you back much.
7200 RPM drives are usually faster,
but this may be at the expense of acoustics (more noise),
temperature, and power consumption.
You may want to compare the specifications
of particular models.
I wonder whether IBM DeskStar 40GV is the right choice:
20GB drive, 5400 RPM,
media transfer rate 372 Mbits/sec,
noise level 3.0 Bel, idle power consumption 4.9 W.
Seems to be not only UDMA/66, but also UDMA/100-compatible.
Cache is only 512k, but I am not sure whether this is bad,
or whether this matters at all.
Around $100.
A few hints:
-
One does not save money buying old or no-name drive
or going below 10GB.
The graph size vs. price becomes steep after around 25-30 GB point.
- Regarding different DMA modes (under Linux kernel 2.2.5):
If you want UDMA/XXX hard drive
and want to run it in this particular UDMA/XXX mode,
you would need a motherboard which supports this mode.
There may be certain incompatibility of UDMA/XXX motherboards
with UDMA/YYY drives, which could result in a slower speed.
You may need either
a BIOS upgrade from the motherboard manufacturer, or some
utility from the drive manufacturer to switch the hard
drive to another mode.
It seems wise to stick to UDMA/66 boards and drives.
-
At
Outpost.com,
the hard drives section
contains detailed characteristics for many drives
(and you do not pay shipping charges).
CD-ROM
-
Any internal EIDE/ATAPI
CD-ROM connected to the IDE interface of the motherboard
is supposed to work just fine.
(I did encounter some weird misreads under Linux with an old
EIDE/ATAPI CD-ROM which worked OK under Windows.)
-
Avoid
proprietary CD-ROM drives
(something which is not a true EIDE/ATAPI).
-
Make sure it reads both CDs and CD-Rs, and perhaps also CD-RWs
(regular, ``home-written'', and ``home-rewritten'' compact disks).
-
Get a SCSI CD-ROM only if you are planning to get a
SCSI controller and are willing to pay more.
See also
CDROM
HOWTO
CD burner
IDE CD-ROM burners don't cost much now and they generally
work well under Linux.
An Acer 8x4x32 with an 8MB buffer may set you back less than $150.
My priorities when choosing it were these:
time, because waiting around for my old 2X
burner to do its job was really a drag (basically 40 minutes to burn a full CD
- the new one is under 10 minutes), and two, buffer underrun is a *big* problem
for a lot of people when burning CDs, especially on marginal hardware. When you
are burning a CD, buffer underrun happens when your system can't feed data to
the burner fast enough to keep data in the buffer - if your buffer doesn't have
something in it, there's nothing to write, and the disc write fails. To avoid
that problem, I purchased the model with the largest buffer I could find (8MB).
Probably a bit overboard, but I haven't lost a CD yet.
Many people really need to use a CD burner frequently,
while others won't do much with it, or maybe won't use it very often. For the
former, $100-150 on a good burner is a worthwhile investment (still on the
lower end).
The latter would likely be perfectly happy with a 2X burner sitting
on a cheap SCSI controller.
(That $20 SCSI card takes up a slot in your machine, and if you are really
on the cheap, you'll likely wind up with a motherboard with fewer expansion
slots than a higher quality board. That $20 SCSI card supporting one item
becomes a pain when you really need that slot for something else.)
See also
CD-Writing HOWTO.
Monitor
A monitor is the most expensive and important part,
which is to outlive a few generations of your computers.
It is the monitor, not the dusty scratched case, that sits
on your table.
To ask the least:
- at least 16'' viewable area,
- at most .26mm pitch size,
- at least 80Hz refresh rate with
your preferred resolution.
This imposes certain requirements on the bandwidth
of the monitor.
Very briefly, the highest physically possible
resolution on a 16'' viewable
monitor with .25mm dot pitch is only 1152x864
(if everything is perfect, then 1280x1024).
The bandwidth for this resolution
at 80Hz refresh rate should be well above 1152x864x80Hz=79.6MHz
(the beam of electrons needs some time margin);
160MHz would be enough.
E.g., in the specs of Acer 79g (16'' viewable with .25mm dot pitch)
shameless guys wrote
that it runs 1600x1200 at 75Hz refresh rate.
This apparently means that
the bandwidth is above 1600x1200x75Hz=144MHz (in fact it is 160MHz),
although the resolution 1600x1200 does not make sense
on a 16'' monitor (even with .25mm dot pitch):
the picture will be non-sharp.
There is a short nice guide
Snake Oil, Miracle Cures, and Monitors.
I can not suggest much;
I think the best is to go for one of the
ViewSonic monitors,
like
PS775,
PT775
(16'' viewable),
or
PS790,
G790
(18'' viewable),
with huge bandwidth of 200MHz.
Look up the prices at both
PriceWatch
and
Shopper.
As of April 2000, you can find PS790
for below $500, including shipping.
Cases
Just a solid ATX case with good cooling and enough drive bays.
I prefer rackmount, but not everyone has that kind of facility
space or money.
A good case (with power supply)
should have low noise and good cooling, and an appealing style.
There are middle tower case, full tower case, and rackmount chassis.
Power supply should be adequate to power the CPU and devices.
It is a good idea to reckon how much power your complete system actually needs.
Do not buy the case with razer sharp edges, your finger will not
last long if the the case with sharp edges.
If you have problems with the power supply, have a look at
ATX power supply
frequently asked questions.
From Compute Aid, Inc.,
you can select different styled cases and power supply. If you are getting
a 1U or 2U rackmount chassis from them, mentioning the Cheap /Linux/ Box page will
get you $10 off from the order (rackmount chassis only). Their 1U rackmount
is identical to $300+ from others, but at much lower price.
Videocard
Keep in mind that certain chipsets are not
supported by Linux, or there are known difficulties.
One first needs to find out whether the card is already supported
by Xfree86
(a freely redistributable implementation of the X Window System;
that runs on UNIX(R) and UNIX-like operating systems;
this is the standard graphical user interface in Linux and FreeBSD).
See XFree86-3.3.6
documentation,
and in particular the list of
supported
chipsets.
Hints:
-
If there is an AGP slot on a motherboard,
get an AGP card.
-
Videocards with less than 4MB memory are a waste of money.
The highest resolution of a 4MB card with 32bpp
(32 bits per pixel, or 2^32 colors)
could be just 1024x768, which is not enough for 16'' monitor
(which could do 1152x864 or even 1280x1024).
-
If you do not have any particular video requirements (gaming),
then 8MB memory is enough for
at least 1280x1024 resolution with 32bpp,
which is enough for 16'' and 18'' viewable monitors.
One probably needs at least 16MB for 1600x1200 at 32bpp
(for 20'' viewable monitors).
-
Even when a card is mentioned as supported,
certain modes may be broken
(particularly at higher color depths).
Search CNet
to find out whether certain resolutions at certain
color depths are mentioned as working.
Cheap videocards, although claimed as supported,
may drive you crazy.
Add $15 and get a well-supported AGP card with 8MB of memory.
-
Although supported by latest Xfree86, a particular chipset could
be still not supported by your favorite Linux flavor,
so you'd have to upgrade to the latest Xfree86 by hand.
-
You could wait with picking a videocard:
Even an old generic ISA videocard with 512K memory will already
get you into X.
(if you have a reasonable monitor, try to use XF86_SVGA server
which is superior to VGA16).
-
Various features like
MPEG or DVD decoding, TV out, 4x AGP, 3D acceleration
are beyond the scope of this page.
It is easier not to pay attention to these features
before you know you badly need them.
A few videocards for Linux:
-
Best buy on the market right now is the 32MB GeForce2 MX ($105), but
some people have issues with spending that much on a card, as well as
the closed-source nature of the Nvidia modules. The two areas where
I won't skimp (too much, anyway) in a system are video card and
monitor. Eyeballs are too precious to waste with low refresh and bad
picture quality. Besides, the GeForce2 MX offers a nice gaming
solution at a reasonable price.
-
ATI Xpert 98,
chipset:
ATI 3D Rage Pro
Turbo
[Shopper,
PriceWatch],
8MB, 2x AGP, clocks up to 230MHz. Around $30.
I ran this card under Xfree86 3.3.2.3a and later
(XF86_Mach64 xserver),
with all resolutions up to 1280x1024 and all color depths up to 32bpp,
and at resolution 1600x1200 at 8bpp and 16bpp.
Not a single problem.
Theoretically, one can push this card to 1600x1200 at 32bpp,
although there would not be any memory left for acceleration,
and this mode does not work out of the box.
My guess is that this card is the best value
for 16'' and probably 18'' monitors.
-
Matrox Millenium G200 (and probably newer),
uses MGA driver in the XF86_SVGA xserver.
Good 2D acceleration.
Was considered the best choice for quite a while.
Get the 8MB AGP version at $55.
Modem
Times change: you can try
search PriceWatch for `linux' `modem'.
- You should avoid
controllerless modems and software modems.
The former are known as winmodems, aka HCF (Host Controlled Family),
the latter
are known as softmodems or HSP (Host Signal Processing) modems.
Both families of nonmodems are often referred to as `winmodems'.
(There are sometimes
proprietary binary-only drivers
available, but these drivers might refuse to work with a particular version
of the kernel, and still controllerless modems are inferior and
are no good for ANY computer and ANY operating system.
See also Linmodem-HOWTO.)
It becomes increasingly harder to tell a true, controller-based modem
("hardware modem") from a nonmodem.
There is a list of modems known to be modems
or instead nonmodems:
Winmodems are not modems.
- Figure out which standard is best supported by your provider:
K56F-lex, x2, or V.90
(there may be some incompatibilities).
Probably, V.90/K56Flex modems suit needs of most if not all people.
There are solid reasons to choose 56K modems above V.34 and older ones:
- the modem is the main bottleneck of a home computer;
- K56Flex protocol is less susceptible to the noise of the line:
K56Flex modems are still capable of connecting at around 45,000bps
when V.34 modems would not climb above 26,400bps.
-
External modems:
Any modem with the standard serial interface, RS-232,
is a controller-based ("hardware") modem which will
work with any operating system.
External 56K modems seem to be cheaper than
controller-based internal 56K PCI modems;
they cost similar to controller-based ISA modems (around $40-50),
while there are fewer and fewer ISA slots on the motherboards,
and newer boards often do not have ISA slots at all.
This makes an external modem your best option.
All you need is
to stay away from modems with USB interface
(all current USB modems are winmodems)
and from obsolete modems with RPI (among old 14.4 and few 28.8 modems).
-
External 56K modems
[PriceWatch].
Stay away from USB modems! Confirm with the dealer that
you are getting a modem with the serial interface (RS-232)!
- Internal PCI modems:
There are a few PCI modems which work under Linux; most notably
Actiontec's
PCI56012-01CW 56K Internal PCI Call Waiting Modem
[PriceWatch, Shopper].
For more controller-based PCI modems,
see the list at
Winmodems
are not modems
and
PCI modems and Linux.
There is no advantage in having a standard modem on a PCI bus,
except that there are fewer and fewer motherboards
with ISA slots.
- Internal ISA modems:
Beware of winmodems.
You should try to get a jumper-configurable controller-based modem.
Good signs:
controller-based ISA modem,
DOS-compatible,
Windows 3.1-compatible,
with jumpers.
Very bad signs:
HCF, HSP,
PCI, USB
anywhere on the box,
Windows only,
Designed for Windows,
CPU: Pentium or higher,
Drivers required,
"lite"- or "soft"-
something,
Auto IRQ and COM Selection,
RPI (obsolete).
It is better to avoid Plug-and-Play
modems, although there are ISAPNPTOOLS
which take care of PnP things.
Here are a few modems mentioned at
http://start.at/modem
as working.
When placing an order,
match the model number and chipset against that list.
No responsibility is assumed whatsoever.
-
AOpen FM56-ITU/2
[Shopper,
PriceWatch],
a hardware-based internal ISA modem,
V.90/K56Flex, jumper configurable, no PnP, Rockwell RC56D/SP chipset.
-
Jaton Modulator
56
[Shopper,
PriceWatch]
,
an internal ISA modem, V.90/K56Flex, PnP or jumper configuration,
Rockwell RC56D/SP-PnP chipset.
-
Jaton Communicator
56
[Shopper,
PriceWatch],
an internal ISA modem, V.90 ONLY
(could
be flashed to be either x2 or V.90), PnP or jumper configuration,
Cirrus Logic 5650/5652 chipset.
(There is also
Communicator II,
an internal ISA modem with TI chipset,
V.90 & x2, PnP or jumper configuration.
Also works under Linux.)
-
PCMCIA modems:
see the list at
Winmodems are not modems.
-
Going to a store is not an easy way to spot a hardware modem.
It is usually much faster and cheaper to buy it via the internet,
but one has to be definite that the particular model is supported.
-
Many problems with modems
are caused by wrong initialization strings:
Get the list of AT commands for your modem
from the manufacturer's web site (usually in the "support" section).
Or simply try AT&F,
which (usually) restores factory settings
which are (usually) rather reasonable.
-
There is a
Modem-HOWTO
and
Linmodem-HOWTO.
Printer
Beware: there are many printers which require
special software only available for Windows.
Their common feature is the lack of Postscript support.
This is probably true for most cheap printers.
Grant Taylor maintains a list of suggested
printers known to work well with Linux.
It's perhaps easiest to buy one of these.
For more information on printer compatibility, see the
LinuxPrinting.org
database. Price comparisons can be found in those listings, or at
PriceWatch.
Hewlett Packard inkjet 600 series (ala 648, 692, etc). $99.
Most HP inkjets work nicely with Linux, as well as do
the mainstream HP LaserJets.
Sound card
In
Sound
HOWTO,
most Creative Lab's Sound Blaster cards (e.g. 16, ..., 128, AWE32, AWE64)
are said to work under Linux, and are probably best supported.
The quality of these cards is said to be very close.
The price is as low as $20.
PCI card is faster to configure than ISA PNP,
and also PCI interface is preferred
(for cheap cards, the interface does not really matter,
but there are fewer and fewer ISA slots on newer motherboards).
Sound
HOWTO explains how to recompile the kernel.
Most people would not need a high end card in
a cheap box, so the quality does not seem to matter.
In any case, if there are some particularly good sound cards
worth mentioning here, please let me know.
I prefer Ensoniq (like "es1370") AudioPCI cards on the low end ($20),
and SB Live value on the high side ($50).
I don't use much else, simply because of past experience.
Ethernet card
The best advice here is to consider how you expect a network card to
be used. For single users under a light traffic load, most any card
with the right connector (and support under Linux) will work. Others
might need to have a fairly heavy load file-sharing (Samba) box on the
cheap, or a cheap FTP server servicing a fair amount of traffic. For
those situations, a 100Mbit card might be dictated, and possibly a
higher quality card with a sizable buffer to improve performance. As
with all things, consider the situation in which you expect your Linux
box to perform.
A second consideration would be to consider what type of network you
would be plugging into. Having a 100Mbit network card is great, but it
does nothing for you when plugged into a 10Mbit hub (your 100Mbit card
would then auto-negotiate down to 10Mbit, negating your speed
increase).
Lastly, make sure the card you choose is supported under Linux. While
great strides have been made in this area, and most any card is
supported, some are easier to set up than others.
Cables/connectors (from Ethernet-HOWTO, Section 2.6):
-
10Base2, thinnet or thin ethernet cable.
RG-58 coaxial cable with the BNC (metal push and turn-to-lock)
connectors.
Could suit a small ``personal'' network, although this setup is more
difficult to troubleshoot for bad connections than a small 10/100BaseT
network. Unless the situation dictates use of thinnet,
10/100-BaseT ("twisted pair") is a better solution.
-
10BaseT, the twisted pair cables
with the RJ-45 (thick 8-pin phone jack) connectors.
Also called UTP (Unshielded Twisted Pair).
These are very common, and fairly cheap.
Cabling costs in a comparison between 10Base2
and 10/100BaseT are roughly equivalent.
-
10Base5, the older thick ethernet (10mm coaxial cable), only found in
older installations. The 15 pin D-shaped plug (the AUI connector).
It's been years since this stuff was popular, and thick ethernet isn't cheap.
Not very likely to have need for this type of connection.
Other guidelines:
-
There is no reason to buy anything less than 10/100BT PCI card,
especially when buying new. (All PCI cards are 32bit, and a good
percentage are 10/100). Reasons for this are many, but the foremost is
that even the cheapest of 100-Base cards will outrun the fastest of
10-Base cards. With prices within just a couple of dollars, the extra
speed increase is well worth the extra $2-3 spent.
- It is a nice
idea to have a card with both twisted pair and thinnet transceiver
built-in, but such a configuration is only widely available on 10Base
combo cards (example: 3Com Etherlink III ISA cards come with
connectors for all three types of wiring).
- Better quality cards
typically have a few things to offer over lower quality cards, among
them being the ability to install a boot prom (for diskless
workstations), wake-on-LAN connectors, for booting from a network, and
a smallish memory buffer to improve performance. This memory buffer is
typically larger on higher quality hardware. Cheap cards may have no
buffer at all. Under heavier loads,
a 100Mbit card with a sizable memory buffer will outperform a 100Mbit
card with little or no buffer.
For about $40, 3Com and Intel 100Mbit cards are models that
usually come with a larger buffer as well as a boot prom socket.
The best source of information
for more demanding users is
Ethernet-HOWTO.
-
If performance is not of great concern, many cheap 10Mbit cards
can be had for the asking, if you know where to ask. Most network
administrators keep a handful of these around for no particular reason
at all, and will be willing to part with them if you ask nicely.
Prerequisites
If you are starting from scratch:
The parts you need to get to at least boot up
are:
All newer motherboards already have on-board connectors
for IDE and floppy drives and for the serial and parallel ports
(for a 386 motherboard you probably need an add-on controller card).
Those case/keyboard/mouse/monitor
you found in a street
will do just fine.
It is the best if your mouse is from the breed of
3-button mice with serial interface (Logitech or alike).
The peace of mind is worth twice the price of such a mouse
(which is $8-$20).
To run X, you need a videocard which is
supported by XFree86.
Most (all?..) old cards are supported,
but a card and a monitor with poor specifications
is not good for your eyes: you would need to upgrade soon.
The best way to get those parts is to ask the system administrator
or another friend of yours whether she
has an old 386 or 486 to be thrown away, and if YES, get it.
Before you disassemble things,
you may want to connect the box to the monitor
and turn everything on,
to make sure that the power supply, the video card,
the disk drives,
and the monitor are not dead.
Keep a fire extinguisher handy
and make sure you could switch the power off
unplugging the power cable.
If it is 486 or better
and if it boots alright and has at least 16MB of
memory (or at least 4MB if you do not want X),
you may try to install Linux on it and see if
you are happy.
Assembling the box
After you saw the interior of a computer,
you certainly have some idea about what to do:
-
Get rid of static electricity
(touch something grounded)
and never touch pins.
-
Following the manual and common sense,
configure the motherboard with jumpers
(do not overclock until everything works fine),
install the processor and the memory module(s),
fix a cooling fan on the processor,
and screw solidly the motherboard to the case.
-
Connect the motherboard
to the power supply
(Correctly!!! On AT motherboard,
the two black wires should be next to each other!!!).
-
Attach the wires
from LEDs, speaker,
and reset buttons to the motherboard.
Usually, "red" is "plus" and/or "black" is minus.
It is a good idea not to connect any of these wires with the
motherboard.
On the other hand, particular beeps during the boot-up give
you information about particular problems with the computer,
and RESET is handy if the kernel halts at boot, e.g. when it can not
mount the root partition.
-
Drives:
-
Write down Cylinders/Heads/Sectors information from the
table on the hard drive.
-
If you only have one EIDE hard drive and one EIDE CD-ROM,
set them both with jumpers to "master" (this is usually the default).
-
Mount hard disk drive, floppy drive,
and a CD-ROM.
-
Connect the hard disk drive to "primary HDD"
and the CD-ROM to the "secondary HDD"
outlets
on the motherboard
(under Linux, primary master is /dev/hda,
secondary master is /dev/hdc; under FreeBSD,
primary master is /dev/rwd0, its first partition
is /dev/rwd0s1, etc).
The marked cord of a cable
connects pins #1
of a drive and of a motherboard;
this pin is usually
closer to the middle of a disk drive (by the power connector),
try to spot "1" there.
Things will not blow up if you make a mistake.
The system will refuse to boot, though:
as far as I remember, the drive's LED will stay on.
-
Connect the floppy drive to the corresponding outlet
on the motherboard.
For the first floppy drive (/dev/fd0), use
the farthest end of the cable (after the "twist" in the cable).
"1" is usually on the other side from the power connector
on the floppy drive
(the bigger connectors are for old 5.5'' drives).
- Put a video card (solidly)
in a slot on a motherboard
and fix it with a screw.
- Connect the cables from the power supply
to the cooling fan
and to the disk drives.
-
When putting an internal modem (you may postpone this):
-
To install an external modem, read its manual
(or just plug it into COM2).
-
If you would like to play audio CDs on the CD-ROM, you need to connect
its audio output with the sound card. There should be some 4-pin cord for this.
-
Connect a monitor, a keyboard, and a mouse:
if it is a serial mouse,
plug it into COM1 (/dev/ttyS0 in Linux and /dev/cuaa0 in FreeBSD).
-
Power the monitor (it might complain that there is no video signal).
-
Throw in a boot disk (floppy or a CD),
fix a glass of whiskey, and power the computer.
BE CAREFUL:
If for some reason the cooling fan sitting on the CPU does not
blow, turn the power off immediately!
-
Press DEL to configure BIOS
and follow the manual of your motherboard.
Set the Cylinders/Heads/Sectors information about your
hard drive (usually "primary master").
Newer disks and motherboards are usually happy
when you use AUTO and LBA settings in BIOS.
Also set AUTO to where CD-ROM is (the "secondary master"?).
Specify the boot sequence in BIOS Features Setup
(to boot from a floppy (A) or CDROM).
(Note that some old CD-ROM drives may refuse to boot, so that
you would need to access them after booting from floppy.)
If you have ECC memory,
enable Memory ECC check (in Chipset Features Setup).
Turn off the on-board COM2 if you have an internal modem
set to that port (in Integrated Peripherals).
As a boot disk, you may try a Rescue Disk
from Debian
(see Installing
Debian Linux)
or a boot/rescue disk from any other Linux distribution.
When the kernel boots, it lists what it sees
on your system, so that you know whether
you are on a right track.
To scroll back, press Shift-PageUp.
Instead of /dev/ttyS1 and alike,
a kernel may say /dev/ttyS01.
If the drivers corresponding to certain hardware
(like ethernet cards and soundcards)
were not originally compiled into the kernel, that
hardware would not be mentioned.
An additional source of information:
Installing
a Motherboard.
If the system does not boot:
-
Grin and say "I knew it".
-
Check all connections. Is there power?
Make sure that everything (videocard, memory, and CPU) fits solidly.
Pool away as many add-on cards and things as you can
(soundcard, modem, etc.).
-
Some peculiar beeps with no signal to the monitor (monitor power light
stays or slowly blinks yellow and does not turn green)
may mean that the videocard does not sit nicely in its slot
(or that the monitor is not connected or that the cable is bad;
look at its pins).
-
If there is a video signal but not much else, reset the memory
(or replace it if you have another module).
-
If there are disk drive problems, you would see some error messages
(if the drive's light does not go off, the connection may be wrong).
-
If you are still reading: bad luck.
-
Try to check memory and CPU on a working system.
-
See if the pins of CPU
are bent (never touch pins with hands or anything metal!).
I once had to straighten several bent pins with a plastic toothpick
(and then the system booted).
-
Try setting moderate parameters
for the memory (set the jumpers to non-PC100 memory;
change "fast" to "normal" in BIOS).
Reduce the frequency of the processor.
Installing Linux
For a few dollars you can order a CD
from CheapBytes
or
LinuxMall.
Most distributions can be downloaded from the net
(real hackers download Linux via modem :-)
Other links
Looking for low prices on the web:
PriceWatch
and Shopper
Some people buy parts at auctions:
PCAuctioneer.com
and
Onsale.com
Hardware information:
Perfecting your working environment:
Disclaimer
No responsibility for any loss and/or damages incurred
as a result of using this document
(or otherwise not using it)
is assumed whatsoever.
This manual is most probably not suitable for you if you
have some specific needs,
such as running particular hardware-sensitive applications,
or using special hardware.
Proceed at your own risk and use your own judgment.
Andrew Comech
Mathematics Department
SUNY at Stony Brook
Stony Brook, NY 11794