2. Component hardware £1500 BudgetEquipped with a few glossy catalogues, transport and a wad of cash, you set off on your mission: to get your own workstation on the Internet. |
You have to write your shopping list of PC components. Buy them, put them together and make them work. You can always ask the PC shop to put them together, but that's part of the fun.
These prices are hopelessly wrong, but may be an indicator. If you add them up, you should fall well below £1500, but don't forget the first year's Internet cost and phone bills. Suddenly 1500 looks tight.
This workstation is an "IBM-PC" rather then a Sparc Alpha, Sun, Amiga, or other, because it is. If you are interested, have a look at the DEC Alpha which runs Linux in 64 Bit mode.
Linux supports a lot of different hardware, but there is a lot that isn't supported. For example, if you get SCSI, you need to check that your SCSI CARD is supported. If a device comes with it's own SCSI card, check to see if the card is supported. If not, buy a decent card. Unless it's CHIPSET agree's with an existing Linux driver. The supplied DOS driver won't help.
If you have a SCSI card, you will also have to make it work, when installing Linux. Raven uses an EIDE CDROM and EIDE main disk, so that the installation goes easier, on standard components, but more troublesome configurations are quite easy, when you have a second (working) machine to do the work.
It's your list, don't forget ... hand-scanners, video-frame-grabbers, FM-radio - but check LSM's and Linux DOCs for keywords. Many devices are supported in Linux, but it isn't easy to see how well they are supported. Ask your supplier, and other users. As well as the Intel-PC, you will need books, an Internet account and a phone line.
Maybe you've already got your hardware sorted, and only need Issue-1-Hardware for occasional checks of what you are supposed to have done when building your Linux box. Try Issue-2-SysBuild, where you install and configure Linux to know about the hardware you have, and Issue-3-Internet-Working to configure the IP address you have.
If you want a desktop computer case, change your mind, get a few cables and move the main box further away from you, tucked under, or beside the desk. A few people want a full-tower, but they already know it. The real choice is between a mini-tower, a midi-tower, and what is available in your shops. Most people really want a midi-tower, but some mini-towers are good enough, and it depends on how much expansion you plan to do.
I've just noticed that my mini-tower, puts the back end of a hard disk, where I want my sound card to go! The second choice card slot is also unusable, because the CPU+FAN gets in the way. Oh well.
Of course, if you want an 8 GB server, you will need a big case. You would also need 100-TP ethernet cards to the central HUB.
You may prefer a desktop case, that sits beneath the monitor. Personally I hate these, because they don't work ergonomically for me. They tend to have less space for disks and cards, (or raise the monitor too high). Conversely, you may hate towers, because they require most things to have an extension cable, which get in the way, and there might be less leg room under the desk. or the diskette is harder to reach.
A key question is how many drive bays there are, and exactly what can you do with the ones you have. Like me you probably won't be certain until several months later, but it varies between brands and is difficult to see in the shop (eg the CPU FAN getting in the way).
My objectives are also to move the contents of this mini-tower into a 'lunch-box' case, but as my box of spares decreases, I'm putting it off until next week ...
The back-plane that holds the system board is removable and makes it much easier to handle the PCB and set jumpers. I didn't notice that!
Basically, pencil which way up the back plane was, remove it, mount the system board on it, and it's much easier to handle, and much safer.
If your PSU has a connector with a pair of thin red and black wires (as well as several thicker 4-wire connectors), make sure that the CPU FAN also has the corresponding connector, otherwise you will need a splitter (or plan moving to a box with a different PSU).
Check also how much room there is, and which card it will get in the way of.
The system board, or "mother board", holds the CPU, memory, cards and various "glue" circuitry. You want a board designed for the CPU. IE it may be possible to put a Pentium on a 486 board, but you don't want to.
With 486 boards, you may have a choice of VLB or PCI. Pentiums always use PCI cards. VLB may be cheap on the second-hand market.
Some of the "Pentium Replacements", are advanced 486 derivatives, with their own requirements. Match up your CPU and main board.
I have a 486, which is fast enough for most things, so I can't help you with Pentium configuration. Have a look on the 'Net for information about them.
If you get EIDE + Floppy + Serial + parallel on the motherboard, you save a PCI slot. Maybe now that V34 technology is standard it will also appear.
Some boards have faults with extra features, but you should be able to test it fairly soon, and if it is non-standard - take it back. Also any extra features should be disable-able, allowing use of other cards. If you have a Cyrix CPU, you want a system board and BIOS that fully supports it.
Many "better brand" system boards (Mercury MX, Neptune NX), used to use the CMD-630 and RZ-1000 chips, and the flaws within them. It seems that it corrupts occasional bytes, every now and then. This was Oct-95 so shouldn't happen in newer boards, but ...
The GA586-DX has an Adaptec-2940 controller built-in, which will save you a card slot, and be one less physical connection to go wrong. Do check that it will fit your case, as the serial ports are not where most cases expect.
4 Mb is not enough, 8 MB works, 16 is OK, 32 is plenty, 64 is rich.
Don't get two lines of 8M, as this prevents you from expanding later, unless your motherboard can take it, however your Pentium board may require a pair of 72 pin SIMMS, to get 64 bit access. In that case consider 32 MB. 486's often allow a single 16 MB SIMM.
4 Mb offered in most 'bundles' is NOT enough (except for a 386/sx running X11 remotely, and local SVGA text apps). 8MB is runnable, but I find it irritating. I'd upgrade, but it's only a second machine. 16 MB seems to be quite acceptable, provided you don't do everything at once.
Without real memory, the CPU spends it time waiting:- re-loading code pages from disk, and reclaiming data pages by writing them to swap, then reading in the required page.
A second line of 16 MB (making 32 MB), will make a difference when you have lots of X11 windows open.
Ask your supplier about moving memory to new machines, and buy the chips that you can take with you. Memory prices have fallen from £300 for 16 MB to £60, but you save that much later when you upgrade the M-Board.
Normally you access 32-bit memory "words", of programs or data, and accept that what you read is what you wrote. Parity memory adds an extra bit or four, used as a parity "checksum" on the data. If the memory cell has been corrupted, the parity checksum will probably be wrong, and an error report will be generated. Most System boards can house parity memory, but ignore it, do you want it? You decide.
The plastic compound that surrounds a chip's silicon, has traces of natural radioactivity in it (in addition all environments have background radiation). There is a small but ineviatable risk of an alpha particle causing a bit in your chips to flip from 1 to 0 (or 0 to 1). Something like 1 bit every 4 months continuous use. There is a subsequent percentage probability of that bit being relevent to you.
A parity system, will detect such errors (if you use the data, without simply writing over it), and immediately halt your system, stone dead, mid-flight. That response will probably be more damaging to your data, than simply carrying on.
If you want to know what that feels like, try setting the BIOS
option to halt the machine on any attempt to write to disk
sector zero, and run lilo. (please run sync
before doing
that). Mind you that's the same risk as a power fail.
Cache RAM is used for repeat reads and writes, and runs faster than normal RAM. Older system boards come with less than 256 K, which is what you need, pay the extra £10, get it.
If you have more than 16 MB RAM, consider 512k cache. That's on-top of the internal in-chip cache, that the CPU provides for itself. Most newer Pentium boards come with 512k.
The CPU is the 'brain' of your machine. It fetches the next instruction and runs it. Each instruction is something really simple like: if the result of that subtraction was negative goto a different address to do something else. Different CPU's from different manufacturers do much the same thing but using totally different opcodes and architectures. With Intel CPU's, the 586 is much like a 486 which is much like a 386, but is capable of doing it much more quickly.
The 486 is yesterdays technology, but it is still meat enough to handle millions of bits in X-window redraws and it multi-tasks smoothly. I benchmark it every day. Running X11 with several windows active, I got a tidal memory usage of 10-14 Mb with low disk activity (less paging). Applications start up and run quickly. I compiled a few system apps (samba, smbfs, smail, ... ) and each only took a few minutes. I compiled the kernel - that took longer.
You didn't need a Pentium, but recent fashions (ie Netscape Communicator) really do require a lot of tin to run smoothly. However, that is advice for people buying new systems. I have a 486 and it runs office apps just fine. More memory (and SVGA memory) will make a bigger difference, as that reduces the (swap) traffic needed for the disk, which is orders of magnitude slower than the CPU.
However, I only use 8 bit X11R6, not 24 bit displays, which uses 3-4 times as much memory, and has more bytes to move around. I don't watch TV, I don't race MPEG-video-data to disk, I don't mix sound data real-time, and the biggest compilation I do is the Kernel (takes chunk of an hour),
Pentium chips and system boards carry a premium price, and may not be value for money, when competing against other components in a budget. That depends on what you want to do, basic office tasks or graphics rendering, as long as you buy components that will fit into a Pentium system, you can use a cheaper 486, and not regret it.
Of course, by the time you read this, costs have changed. The CPU price gap (and motherboard price gap), may make a Pentium worth while, and your expectations may be to do more than I do.
Software developers - please DON'T get the fastest possible machine. It will only hide the performence problems that others are experiencing when multi-tasking. Unfortunately tht advice is already too late. The large commercials all have pentiums, and the software developers all have 64 MB. For example the recent Netscape Communicator is 7.4MB, compared with the 4.7MB of the Netscape Navigator. That in turn is a lot more than Chimera (< 1 MB) and PINE, but it does add JavaScript, and all the other features that are 'necessary' in todays market.
Memory, and the ISA busses go at specific speeds. A faster processor is running at an internal and external speed.
DX2-80 means that the external CPU bus runs at 40 MHz, but the CPU has an internal signal at double that speed. DX4-100 runs at 25/33 MHz.
40 MHz may push the memory chips to their limit, or require extra wait states, whereas 25 MHz memory is OK for the memory. This is set on the main board and in the CMOS settings. The exact multiple effects overall system speed, as a faster CPU clock may require a slower multiple, but that varies with applications, and how much of the application sits within the cache RAM.
Wait state problems might show up as occasional system problems, or mysterious lockups. If gcc often gives you SIGSEGV, it may be a memory speed problem, try adjusting your CMOS, or cleaning the contacts.
A faster clock CPU will usually run faster, but memory clock speeds are usually divided by 2, 3 or 4. Slightly faster CPU clocks may require the memory clock dropping to a slower multiple, or wait states added. Remember, you pay for what you get, and a cheaper CPU with 32 MB may run faster than 16 MB (with a faster CPU), but you may also be considering future expansions.
CPU prices and variations are most confusing, but basically you have a range of choices between a sub- £100 CPU + System board, and a £300 combination. That price difference will buy you a large second hard disk, either now, or when you need it. However manufacturers know that, and will probably tempt you to the mid range!
A Pentium also needs a Pentium system board, such as Triton-2, which may cost more. You prefer HX not VX.
The non-Intel 486's, are close to being 486's (eg the AMD), but the higher clones (686) drift towards their own design, often more like specialised 486's than Pentium clones. They may require a system board that supports them particularly well. This is because of chip signal timings, the support glue circuitry, and settings that the BIOS can do (or could do, if you had the right board).
Earlier Cyrix chips may require a kernel patch (or switch if already included) to disable the L1 cache. This is to fix a bug in the silicon, however there are several version, each with a modified design.
AMD produce excellent 486's, a decent K5, and the exciting new K6, which has yet to get extensive use on Linux.
If you don't have the money, get a fast 486 with a PCI board, a 4 MB SVGA card and at least 16 MB memory. Then when you pass that M-Board down to a friend/relative, you will know that they will be getting a decent machine, and your system components will (hopefully) plug directly to a new machine. Don't expect to be able to sell second-hand for much money at all.
An EIDE disk system is marginally slower than a SCSI system, unless the CPU is idle (waiting for the disk ...), and EIDE is a lot checper. It's also easier for the initial installation, and most people have EIDE systems.
Two cables with upto four EIDE drives ------------------------------------- hda hdb | | hda == /dev/hda Master ide0 ----+-------+ hdb == /dev/hdb Slave ide1 ----+-------+ hdc == /dev/hdc Master | | hdd == /dev/hdd Slave hdc hdd cable ---+---x---+ Upto two Floppies | | Set 3.5" or 5.25" fd1 fd0 (or absent) in BIOS
You can add a second card, and another 4 hard disks, provided the second card can be switched to new IRQ and IO_PORT settings (and you can fit them into the case).
The floppy disk drive, fits in it's own bay in the mini-tower, when you remove the cover panel.
You can get floppies that do both 3.5" and 5.25" within the space of one 5.25", but not many people need 5.25" and fewer need them both to fit in one bay.
Unless I have A-B reversed (there is a switch on the interface card, and another one on the chipset BIOS), the A drive is the one AFTER the cross-over at the end of the cable, and B is before the kink, closer to the card. You know this, because in the olden days, the floppy used to be at the top, where the CDROM usually is, so it was at the end of the cable.
The floppy cable that came with my card, has 4 connectors for 2 drives: each drive can use either a pin array block, or edge connector, depending on how old it is.
Everyone has 1.4 MB floppies. The 2.8 MB drives were too late. Consider getting a 100 MB ZIP disk if you need the extra space.
The EIDE controller chips, drive two EIDE cables, each with two hard drives: one master, one slave. (see the previous diagram). If you don't have it on your system board, you need a plug-in card to provide it. Traditionally such cards also provide the floppy contrller and IO ports.
Serial+parallel IO do not need VLB or PCI! They only need an 8 bit XT bus! but it does save a card.
If you can get these features on your system board, it saves a card.
You want PCI, but if you already have VLB, that's OK.
The idea of VLB -or- PCI is to move large amounts of data around, using 32 bit words instead of 16 bits and use better clock speeds doing so. It makes a HUGE difference to the screen and disk drives, but less to the network card, and none to the UART card which uses 8 bit data.
Some time ago I got VLB, because it was cheaper and more tested. PCI is now reliable on 486 boards, and you can carry the cards to other machines. PCI is also faster.
When compiling the kernel, you should select PCI support, and watch out for semi-broken IDE controller chipsets, that the kernel can fixup (but only if you tell it to!). To identify the chipset you have, you will have to read the numbers off the top of the chips, and maybe look in the BIOS screens.
You may also have to disable Plug-n-Play on the PCI cards, and manually set the IRQ switches. Maybe not, see:
SCSI is great for all sorts of reasons, but can cost several pounds more, as a good quality SCSI card costs £100, and the drives cost a bit more. Configuring it from the boot disks requires a bit more thought.
SCSI is faster than EIDE, because it places slightly less load on the CPU when it is transferring data. You will be more effected by access times than throughput from the cache, though SCSI allows queued commands, which reduces the latency (the drive can fill it's own cache and seek whilst the cache is being transmitted, it doesn't wait for the end of the transmission before receiving it's next command).
The card itself is usually SCSI-address-7, with 0-6 used for your devices. Any numbers as long as they are unique. Linux will rename them to a, b, ... as it finds them. Exchangeable media drives, exist even when there is no media in them.
A proper
SCSI card can take almost any SCSI
device. Scanners, hard disks, Zip drives, tape
drives, CDROMS, etc. Th only exception to this is
the width of the cable: Is it Ultra Wide
? and
the device?
There are two basic standards: electrical and logical. One kernel driver drives the card, which drives the electrics, another driver controls the device using SCSI opcodes.
Note that many, good quality SCSI devices, have an (optional) cheap SCSI adapter card. They might only work in DOS, with the one device, and the DOS driver, try to avoid them.
Different devices from different manufacturers often follow the same standard, for example all tape drivers recognise the standard commands, plus a few of their own. Ususally the standard opcodes are enough to do what you want, with any device.
Unfortuantely CD-Recorders vary by a lot. Each manufacturer has contradicted the spirit of SCSI and produced their own opcodes. One day they will converge, but until then ...
If you know the specific opcodes your device needs (or even
the standard ones!) you can send them via /dev/sga
a
UNIX standard interface to read and write SCSI packets, to and
from devices. i.e. user programs can do this, you don't have to
get your code into the kernel. This allows cdrecord.c
to be compiled and run on HP, on SVR4 (eg solaris), and on Linux.
SCSI cables (a cable is a bus) must be terminated at both ends, and not in the middle. The card is usually one end, though that may vary. External cables should be limited to 2 devices, and actively terminated.
Most SCSI devices (cards) can be loaded as modules, which means you have to carry an extra file, as well as your kernel, but it might allow menu selection for installation. Find the correct driver for your card, as well as the driver for your device.
Get the biggest disk with the smallest seek time (access time), and then get PIO-Mode-4.
There are variations between disk manufacturers, interfaces, and the technology used.
For external drives, check the data speed throughput. For exchangable media, the sustained data rate is the speed of the media. Some are slow.
As well as the bare IDE drive, you may need "drive-rails", or a disk mounting kit, to fit the drive into the bay (£5). You might not need this depending on your case, and how full it is.
There are tiny-Linux installation disks, that let you survive in 10 Mb, but that is the realm of 386/sx printer buffers with NFS disks. You will be installing a fairly full implementation of linux, which eats up big disks quickly.
The Slackware base uses 300MB, a few apps uses up another 300 MB. WEB, FTP, EMAIL and NEWS cache files will fill up the rest. Don't forget space for DOS and swap partitions. See the Planning section, but basically allocate 670 MB partitions.
If you already have an existing (DOS) system, get a second disk for Linux only. Then save up to buy ANOTHER disk!
Whatever you needed, you need that much again! Then you can have two independent systems, ie your existing _old_ system, and your unstable _new_ system. That might seem a bit careless, but your machine may be an office server that simply MUST work.
A spare 350 MB partition is often enough to get a second system up and configured.
You could try those removable IDE drive bays, but you will probably want both the old and new system disks online at the same time. You might need two machines with the bays, and several drives to move around.
Think it out. Similarly with Jazz drives, how do you copy from one to another ?
If you already have the 0.5G DOS disk and now the 3.6G Linux, you can use the Linux disk to hold a copy of the DOS partition whilst you repartition the DOS disk, perhaps creating a 10MB boot partition and 64M swap space (performance gain - heads don't move on OTHER disk).
Linux can feed ext2 disks to NT, WIN95 or windows-for-work-groups, but only over the LAN (samba over TCP/IP). Locally (and remotely) Linux can mount DOS disks, but DOS cannot write ext2 partitions.
Linux can read and write WIN95 "vfat" disks, and can also manage some compressed file-systems, but that may depend on which compression is being used.
There is a DOS utility to mount ext2 partitions, but it's readonly and I haven't tried it. There is a read-only utility and name mangler, which I have tried, but apart from reading occasional archive files, it will drive you crazy (it looks a bit like ftp> only locally). OS/2 can read/write ext2 partitions with long names (I haven't tried it).
EG: ATAPI-EIDE Quad Speed (600 Kps), 200ms access
An EIDE CDROM, uses the same E-IDE interface and cables as EIDE hard disks. That makes it easy to have 3 hard disks and a CDROM, on two cables (and a twin controller board).
There are 8-speed, 12-speed and even 24-speed EIDE CDROMS available. Ask the shop about reliability. It is the drive that runs faster, Linux simply accepts it as "not such a slow" but standard EIDE device. They don't always go that much faster, because it is often the 200 ms access time that matters.
That's a fifth of a second for the drive head to move an average of half the disk, and "land" properly. If your computer has to do twenty reads in different places, the seeking will take longer than the reading.
However, different applications may have the head ready-placed, and simply read the next part of the file. Then it will make a difference. Also a faster spinning disk, means less of a rotation delay on every seek, but more wear and tear, as it stops and starts. It may also mean that the laser is more sensitive to dust and scratches.
The kernel has to have the EIDE driver (not the old IDE driver) built into it, and it has to have the EIDE CDROM code enabled (someone somewhere doesn't want that extra 200 bytes, so Linux allows them to omit it).
If the CDROM is alone on it's own IDE cable, jumper it as the IDE master, otherwise jumper it as the slave. Don't use cable select, because even the manufacturers disagree on what that means.
Different manufacturers produce slightly different drives, but they are all supposed to conform to the ATAPI standard. If your's doesn't, take it back.
Since the CD drives are now ATAPI-EIDE, sound cards have evolved that way as well. They simply provide the EIDE interface that is probably already on your main board, or EIDE+IO controller.
Configure your sound card as the second EIDE channel and still use /dev/hdc - do not use /dev/sbpcd - just because the card happens to come from Creative Labs!
Some sound-cards, with extra controller circuitry for EIDE or CDROMS, have a jumper to disable that circuitry completely, as though it wasn't there. That means that it won't conflict with the main EIDE controllers, if you have them as well.
That jumper may even be a software switch where you
run a DOS program to enable it, then it appears as
normal. In that case, you might have to WARM-BOOT
from DOS (loadlin
), or find a linux enabling
utility.
This is better explained in the linux kernel source docs. but if you don't yet have Linux open-for-reading, it is also in the Raven/SSR01/quoted/. subdirectory.
I got two different ones. A genius NE2000 clone, as used by many Novell clients, and an SMC as used by many UNIX systems. Both are trouble free.
The SVGA card drives the monitor, it sends lots of dot pixels in 256 shades of red/green/blue. Accelerated ones (they all are now) provide intelligent silicon to draw lines instead of the CPU having to do it.
2 MB is essential. It allows a large X11 window, with spare space for fonts or BLIT zones, which makes it possible and makes it faster. Don't pay money for a 1 MB card.
4 MB will allow you to switch virtual desktops, without everything having to redraw, and copy itself in from swap space. If you don't run X11, then 512K will probably be more than enough, but at £90 for a 4MB card, there's little point in refusing.
This is currently unreasonably expensive (£250 -vs- £50) but one day, it will be commonplace ...
If the data is already on the CARD, the accelerated BitBlt commands can move it without so much CPU (bus) involvement. If the data isn't in main memory, it won't get swapped out to disk, and you won't have to wait for it to come back! 2 MB is OK for now, but you read it here first ...
You might have to purchase the RAM chips separately (£30), but if possible, get them on-board (soldered in). Some 64 bit cards may need an initial 4M (+4M blank), to take advantage of 64-bit memory banks.
It's got to be a PCI card (or VLB or on-board) because there are so many pixels in X11, that the ISA bus is too slow for snappiness.
Linux (XFree86) supports many different cards, Cirrus-Logic 5434 is only an example. I'm waiting for a new breed of cards, so I got a CL-5429 VLB. Its fast enough, hi-res, well known, had the spare sockets for the 2nd Mb, it was in the shop, and cheap. It also has on-screen memory streaks.
The chipset is the core of the SVGA card. You want one with the latest technologies for accelerators and RAM-DAC circuitry, but one that is well known enough to be better supported by XFREE drivers. Look in /var/X11R6/lib/doc for information about supported S3 chips. ( see the X11 section for doc xrefs ).
I'm not a shop, so you really need to refer elsewhere, maybe: ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/pc-hardware-faq/video/chipsets
If you are considering a 3-D rendering card, check which are supported by XFree86, and how much so. (eg Matrox Millenium wasn't, then eventually Matrox got their brains out, and provided support for the acceleration functions, and eventually the 3d-acceleration functions). See http://www.bf.rmit.edu.au/~ajv/xf86-matrox.html.
Note that unaccelerated SVGA is still fast, so it may be worth taking a gamble, and buying a card that isn't yet fully supported, hoping that things will get better. Most cards are evolutions of the previous versions, and have compat. modes, and generic modes which do most of what you want (BitBlt).
Conversely, beware of the latest revolutionary model. Hardware manufacturers like to sell something ASAP, then get the revised model out soon after. Years later, you don't want the (rare collectors items) that came of the first production runs, which you neglected to upgrade or relegate.
17" IDEK recommended if cash and portability are not a problem.
A 15" is about £100 more than a 14", but the difference is a lot. If you really can't afford a 15", get a second-hand mono 14" and upgrade it later.
If you can, get the refresh rate of a range of
monitors eg 72 Hz at 1024x768
. This gives an
indication to the top end limits of the monitor. You
will configure the card as close to this limit as it
will go (if you want to).
Faster monitors are better, but you also want one with a sharper picture. This will be more apparent at the higher resolutions. Hopefully, the better tubes are put with the faster circuitry, otherwise you should go to the shop and look.
Computer magazines like to have an annual review of monitors, so look through back-issues, or browse their web sites and find it.
Faded old 14" monitors should be retired from regular use, but can still be usable with X11 desktops, at 640x480, with acceptable flicker.
Don't forget the extension cable! This can limit line quality a bit, (hope it's a good one) but it allows you to place the monitor where you want to.
A modem converts digital bits to audio tones, and back, so that they will go through the phone lines. It also does the DTFM dialing, negociations with the modem at the other end, data checksums, compression and re-transmission. You want one.
A V34 modem runs at 28800 bits per second. More with compression. That means 5 KPS text or 2.7 KPS gzip'd data. Often ftp connections will run at less than that, because of the remote server, and the delays on the gateways between.
V34+ is V34, but stretched a bit further to 33.6k (bits per second, so hope for 3.3 KPS). Most ISP's now have V34+ modems so you really want one, if buying new. The top speeds depend on crystal clear phone lines, but that is common with local POP's. Both modems will negociate the difference.
56k modems (X2) are still a bit contentious. There are 2 different standards: X2 and 56Kflex, from different manufacturers. Wait a while for the technology to settle, then get what your ISP has.
The ISP's modem is directly connected to the digital switch (telephone exchange), whereas your modem signal goes through a digitising sampler. They can transmit at "full" speed, you transmit at V34.
Note: they pay extra for that telecom service, and they have to recover equipment costs, which will be "out of date" in a few years (remember 14k?) so expect to pay more, or watch your favourite provider go broke! Also if everyone else is connecting to the 56k phone numbers, the V34 lines might not be busy!
There are also reports of early models (upgrade the ROM chip), not really giving the full speed, but dropping down to a lower throughput. Obviously this depends on phone line quality; is the wire above ground or below, what does it run past, modem version number (etc). That may mean that 56k is not much better than V34, just costing everyone a bit more. You decide.
ISDN will cost you a lot more, and it varies from country to country. It gives you 6.4 KPS both ways (uncompressed). See elsewhere for details.
If you are wiring a business, you can rent "pipes of any diameter", to match your needs. Skim Issue-5-Planning for ideas.
All modern modems do fax. It's a slightly different data format, and a second set of AT commands. Incoming fax calls give a gentle beep pulse, which data calls are not allowed to do, so the receiving modem can auto-switch to fax mode.
Internal is much neater, but you can't see the lights telling you that something is happening. Also modems can cause a lot of radio interference. External ones have less shielding, but internal ones are never switched off!
External modems are a bit easier to configure, as they use the existing COM2 port on your machine, but they add another mains adapter and two extra trailing wires.
A faulty external modem chipset won't lock your system bus! The internal UART sees to that, but most people want an internal modem card.
Voice modems can act as ansa-phones, and can detect DTFM tones (press 9 to leave a message) so you can build a MENU with the caller using a touch tone phone to select options. This might then be a FAX service to a specific user, and both ends switch to FAX mode.
Voice modems use a really low quality 2-bit digitisation, some use sound card digitisation. Neither will sound like hi-fi.
NOTE: Rockwell voice chips use an undisclosed compression format, so you can play and record sound clips down the phone, but NOT through the sound card or CONVERT them to or from any other format. You will need the software for this to work. I never got voice working (and never leave the machine on when I go out as it is a potential fire risk).
Individual brands may have special bugs, or capabilities, such as CallerId (know the callers phone number before answering - provided your phone company delivers such a service to your line), but they might only work with the MSDOS software. You milage may vary, see mgetty.
US models detects most BT signals sort-of badly and are 2/3 the price. In particular, BUSY (engaged) isn't detected.
BT approved models are no better, but sport that stylish green triangle. If anyone can tell me of a modem that CORRECTLY detects all UK signals, please tell me. Mine has to timeout.
Personally, I distrust RS232 WIRES at high speed. An internal modem doesn't have an RS232 cable, it has a virtual wire, the length of a chip, and is less prone to noise. SLIP and PPP will detect any errors, but why get them at all?
My internal V34 modem (an early version) had unbelievable problems with IRQ's when it was set to anything other than COM3 and IRQ 5 (the default additional COM port). This may have been it's fault, or the fault of the (other) IDE card not getting out of the way. Things got a lot better when I put them both back on their preferred "default" settings.
My external 14.4 K voice modem, works fine, but I'm still trying to get VOICE working. Maybe one day ...
If you ever have a problem connecting to your ISP, they will tell you that it is the settings on the modem. Do not rule out faulty hardware. I have used this internal modem every day for months without changing the setting, but when summer came, the "run silently" AT setting started to work! Before then, the volume would vary with each call (attempt).
The modem configuration section is in Issue-3: Internet-Working. Basically select a unique IRQ, tell Linux about your choice, test it and it should work.