Hardware And Software Notes

Currently running debian wheezy on a 8 core x86 processor in a mixed 32/64 bit environment w/ 8 gigs ram (scroll way down).
This is about the 16th set of hardware for this server.

This is my Tenth build of a versatile server on the Linux PowerPC platform. This machine serves multiple mailing lists, multiple web servers, a news server, mail to news gateway, an ftp server, multiple radio routing interfaces, nameserver and more. It has over 600 routes in the routing table and has 7 active interfaces (4 tcp/ip radio interfaces, one ampr tunneling interface, a internet interface (connected to a cisco 678) and an internal network interface (connected to a 100mb switch).

Original Hardware:
Mac 7200 (First Generation PCI PowerMac). Includes built in video (4 megs vram), ethernet, 16 bit sound, scsi, dual 8530 serial ports, keyboard and mouse ports. Processor is an IBM PowerPC 601 at 90 mhz.

I have equipped this with 104 megs ram, 4 gig HD, 8 port Comtrol Rocketport PCI serial board, 1 RealTek (ne2k-pci) 10 mb ethernet card, 1 Tulip (21143) 100 mb ethernet card, a 2 gb SCSI DAT drive, a 12x cdrom and an external Yamaha 4416s CDRW drive. My favorite mouse, an OLD Logitech c7 serial mouse (connected to the Rocketport) rounds out the hardware.

Hardware Update September 2000:
I'm now using a Mac 7500 that I got for a good deal. Ram is currently 96 megs and the rest of the machine configuration is the same as was the 7200. I got the 7500 because it can easily take a newer processor (G3/G4) unlike the 7200. Also, I was hoping that the 7500 would solve the built in ethernet problem (however the 7500 didn't help the ethernet problem).

Hardware Update January 2001:
The 7500 is now running with a XLR8 Carrier Zif and a G3 ZIF at 250 mhz. It's much snappier than the 100 mhz 601. Also upgraded the ram to 192 megs. Still have the 7200, I'm using it as a test box.

Hardware Update August 2001:
This is probably a jinx but it appears the the 2.4.9 kernel I just compiled kills the mace ethernet problem. Really cool IF it's true. I've got the main system back on the 7200 for now so I can play with OSX on the 7500/G3. The 7200 is working pretty good except that I lost my webcam (no video inputs). I just ordered a Philips ToUcam (USB) webcam. It can do 60 frames/sec at 640x480. I am hoping that my usb card that replaces the now unnecessary ethernet card will allow me to do the webcam as well as get more serial ports. Then I can get rid of the multiport card and use a 2940 for better scsi performance.

Hardware Update November 2002:
Currently on a SuperMac S900 (6 slots, came in handy). The 7500 went to work, needed a Mac there... The S900 has 320 megs of ram and a G3 400 upgrade card. I'm using the original iMac USB keyboard and a usb contour Unimouse. The HD is a 9 gig IBM scsi. It's on a separate NCR ultrawide scsi card. The Rocketport is still taking care of serial port needs. Still have the 2 gig DAT drive and the external yamaha 4416s cd burner. The video is a generic Mach64 card which unforch isn't supported in XFree 4.2.0 so I'm using the xpmac driver from 3.3.6. I've got a tulip card for the internal network and a pci-ne2k for the external network. A simple opti usb 1.1 card rounds out the card stock. I JUST got mac-on-linux working on this setup so I can use my MacOS9 in another window. Looks like it's time for a bit more ram... I got a Mac 9500 cheap that I'm using for OSX. MOL boots OSX now too, wheee. This means I may get back down to one machine again....Yeah... The 7200 was put to good use, it's running one of the local ampr-internet gateways with debian 3.0.

Hardware Update November 2004:
Still on the S900. Moved to 30 gig ATA drive with Apple bootable ide controller. Running Debian Sarge and a Ati Orion Mach 128 card which now works with DRI, Wheee... Updated the DSL to 1.5/1.0 MB speed. The built-in Mace ethernet is now working reliably enough for using as the external ethernet interface. Added a generic firewire card and have a external Pioneer 108d DVD burner which works good. Extra external stuff I have working with linux on PPC include a Pontis SP600 MP3 player (works nicely as a generic mass storage device), a Creative Jukebox (USB mp3 player 6g HD), PJB-100 (USB mp3 player 6g HD, like the iPod but it came out a year before iPod existed), Imation RIPGO! mini-cdr (8cm) mp3/wma recorder/player. It did need the following hack appended to /usr/src/linux/drivers/usb/storage/unusual_devs.h
UNUSUAL_DEV( 0x0c07, 0x0001, 0x0000, 0x9999,
recompile usb-storage which you should be using as a module anyway and it works as a CDR drive. You can burn mp3 and wma files to it as well as m3u playlists (with no leading paths). Finally, a Clie Palm device using jpilot. Just got the clie working with PPP to the linux box too. Way cool... Finally, I was able to convert the old linuxppc Q4 CD which boots on old-world Macs to a bootcd that can be used to bring up the system in case of a messup on the HD as well as boot to a ramdisk to enable me to do extensive file system checks. As a side benefit, since I can boot from the CD I don't really need any Apple compatible controllers, ide or scsi, to boot the system. Can just use any PC junk. Looks like this opens up the possibility of using a generic PC ide or scsi raid controller.

Hardware Update December 2005:
Still on the S900 (512 megs ram) but made some changes to increase reliability. First was to put a jumper across the pad marked j38 just above the CPU to disable the onboard cache (many G3 cards have problems with both onboard cache and onboard memory). After that failed to make the system completely stable, I decided to disable the onboard 16 megs of 70 ns memory. This is MUCH more difficult and should only be attempted by someone very used to working with small tools and surface mount chips. What I did was to cut pin 29 (-OE) on each of the 8 TMS418160 2 megabyte ram chips with a VERY small cutter half way down the pin so I could gently lift the part of the pin remaining on the chip up and then soldered all 8 pin 29's together and then to one VCC pin 21. What this does is to put a high signal on all of the -OE (output enable) pins thereby disabling the ram. Worked like a charm. YMMV. Also, updated the drive to 80 gigs IDE. Am using a 1 gen ipod regularly on it now with gtkpod .99.2. Works great! Also, have my full music library on a PJB-100 mp3 player (expanded the driver to 20 gigs) which works great with a kernel patch and a command line utility from the PJB SDK. (Yahoo groups, pjb100-mp3). Got a Fossil palm watch roughly equivalent to the CLIE T-415 that I'm now using with j-pilot in place of the CLIE for better portability.

Hardware Update September 2006:
Switched to a 9600 (512 megs ram). Needed all 6 slots to work and there is a problem with the S900 in kernels later than 2.6.15 dealing with the interrupts (the S900 ties the interrupts of the last 3 slots together with a dec 21052 PCI chip, note this was fixed in 2.6.21 or so with my assistance). I put all of the S900 cards into the 9600. The only problems with the 9600 is that I had to disable the MB cache and there isn't a lot of room for a heatsink on top of the G3 card. I'm going to try a PC AGP card heatsink/fan on it. The MB cache should be disabled as usual when using a G3 update card. The way to do it on the 9600 is to remove a surface mount zero ohm resistor R31. Check this page for instructions.   Local copy here

Hardware Update March 2008:
Got a G4/1ghz sonnet processor card. The G4 cards present many more difficulties in the process of getting them to work properly than did any of the G3 cards I owned.
First, Linux offers no way to enable the L3 cache on the G4 card. It assumes that it's been enabled in open firmware and since L2CR vanished from /proc in 2.6.16.something you can't get at that directly any more either. To overcome this, I added a kernel parameter to set the l3cr on boot. A patch is here. It works on 2.6.20 or so and above. My boot command line now includes this l2cr=0x8000000 l3cr=0x9f020300. Unless you are using this exact card your parameters will probably be different.
Second, I had a devil of a time with stability on the 9600. The onboard L2 has been disabled for a while so that was not the problem. The system would simply freeze for no reason. It also ONLY worked with the onboard mesh scsi or a Adaptec 2940 card. The 66 mhz IDE card I got from OWC caused corrupted data when used with the G4. I tried dropping the base (bus) freq of the G4 card by replacing it's xtal can (50 mhz) with a 42 mhz one but that was no help. As a side note, this often helps with G3 cards on the old-world Macs, dropping the bus speed to 46 mhz or so and pumping up the multiplier can result in a much more stable machine.
Sonnet advised that the G4 cards were much more picky about your PCI cards. Since I have so many PCI cards installed, I want through an exhaustive process of replacing them with other cards to try and find some stability. I never did get the 9600 working properly (except for when it had only a video card and a scsi card in it). Reluctantly I went back the S900 chassis (I was reluctant since the S900 ties all 4 bottom slot IRQS together whereas the 9600 has separate IRQS for all of the slots).
Third, the S900 was picky too! I think I might have just achieved stability in my current setup. The G4 card back up to 48mhz/960mhz (probably would be OK at 50/1000 but I'm not taking any chances). Also, I tried hard to avoid ganged interrupts on the bottom 4 slots. The machine didn't lock up but occasionally it would hang for a while (presumably stuck in some IRQ loop) and then recover. This was with 2 tulip cards, one for internal ethernet and one for external on the same IRQ in the bottom 4 slots.
Fourth, Open Firmware in old world macs doesn't work well with more than one PCI card with firmware on them, ESPECIALLY with the G4 processor card. I couldn't use my Radeon 7000 with the G4 card no matter what I did, it wouldn't initialize.

What I've got running now: PCI cards top to bottom, ATTO scsi express PSC (flashed from apple firmware to ATTO firmware or it wouldn't work), USB2 card, open slot, intel pro100+ ethernet, Rocketport PCI, Rage 128. I'm using the internal MACE ethernet for connection to a DSL modem and the internal 8530 serial port for monitoring the APC UPS with APCUPSD. A Microsoft Natural Keyboard Elite and a Logitech Trackman Wheel to save me from carpal tunnel (works great).

Hardware Update November 2008:
My patch for L3CR made it to the mainline kernel with credit! Wheee, my 3rd kernel contribution!
Still using the S900. Finally figured out that the ganged interrupts in the lower 4 slots are not reliable. They crash the kernel when the interrupts are generated faster than, say a USB 1 card. The only cards I have in the bottom 4 slots now are ones that don't generate interrupts. (the rocketport card is polled, I'm not using interrupts on the Rage 128 card and the other 2 slots are open). This forced me to use a usb2->ethernet dongle to get the second ethernet port without using one of the bad slots. BTW, this seems related to the G4 somehow, the G3 was rock stable with the cards in the lower slot and it doesn't matter how low I drop the base clock speed of the G4 card, stuff that generates lots of interrupts in the lower slots simply crash the machine.
What I've got running now: PCI cards top to bottom, Promise Ultra 100 20268 IDE card) which has no Mac firmware and as such is NOT bootable), USB 2.0 5 port card (with asix 100mb usb 2.0 ethernet dongle amongst the other USB stuff), open slot, open slot, Rocketport PCI, Rage 128. An Adesso natural keyboard and logitech trackman wheel round out the input devices. I boot from a small scsi drive attached to the internal mesh scsi controller switching to root on a 185g ide drive on the PC controller then spin down the unused boot drive with scsi-spin.

00:0b.0 Host bridge: Apple Computer Inc. Bandit PowerPC host bridge (rev 03)
00:0d.0 Mass storage controller: Promise Technology, Inc. PDC20268 (Ultra100 TX2) (rev 02)
00:0e.0 USB Controller: NEC Corporation USB (rev 43)
00:0e.1 USB Controller: NEC Corporation USB (rev 43)
00:0e.2 USB Controller: NEC Corporation USB 2.0 (rev 04)
00:0f.0 PCI bridge: Digital Equipment Corporation DECchip 21052 (rev 01)
00:10.0 Class ff00: Apple Computer Inc. Grand Central I/O (rev 02)
01:02.0 Communication controller: Comtrol Corporation RocketPort 8 port w/external I/F (rev 02)
01:03.0 VGA compatible controller: ATI Technologies Inc Rage 128 RE/SG

16: PMAC-PIC Edge PowerMac Zilog
17: PMAC-PIC Edge PowerMac Zilog
18: PMAC-PIC Edge 53C94
21: PMAC-PIC Edge MACE-txdma
23: PMAC-PIC Level pata_pdc2027x
24: PMAC-PIC Level ohci_hcd:usb1, ohci_hcd:usb2, ehci_hcd:usb3
26: PMAC-PIC Edge MACE-rxdma
27: PMAC-PIC Edge PMac
28: PMAC-PIC Edge PMac Output
29: PMAC-PIC Edge PMac Input
BAD: 0

Hardware Update February 2014:
I am now running on Intel hardware. Specifically an 8 core i7 Ivy Bridge MB. It is running at 4 ghz and has 16 GB of ram. The storage is a 500GB ssd and some raided spinners for bulk storage along with a removable external spinner for a second level of backup. Can never be too safe! The ram is nice since I'm running a bunch of Virtual Machines under debian linux (as usual). Still have the rocketport card as well as a Natural keyboard and Logitech Trackman Wheel.

Qmail, Apache, Innd, AX25 tools and utils, djbdns, fbb, mailman, ezmlm, Mozilla, firefox, thunderbird, netatalk, RealPlayer 10, AbiWord, xmcd, the XOrg X11 server (with working DRI support), XEphem, gaim, XFCE, Azureus, opera, gtkpod, jpilot, grip, xmcd, xcdroast, mplayer, xine, pyTivo, ffmpeg (the G4 helped a LOT with pyTivo and ffmpeg) MOL and a host of others. Java 1.6 from the IBM web site for the P series IBM linux boxes works great on my S900. Current OS is Debian Etch (4.0 ppc) and current kernel version is the version patched for the PJB-100 mp3 player and setting the L3CR. 2.6.x WAS broken on PPC in the AX.25 drivers but I fixed it (and got the fix committed). Gave up on bind (after using it, porting it and fixing it for about 7 years). It's really too buggy. Hopefully djbdns will work out better (so far, very good).

I run under the XFCE 4.3.99 desktop now ( I really wanted the virtual screens and XFCE4 is lightweight enough. This is a change from using the Motif Window Manager (mwm) from OpenMotif.

Historical Machine Notes

Ins and outs of the 7200:
The 7200 in an interesting machine. They can be had pretty cheap on the used market. My pros and cons. Pros: Great Case!  Small, stable, quiet, lots of stuff built in. Cons: Weird PCI bus (perhaps), slow scsi controller (async only), lack of drivers (more about that later). The PPC 601 is only at 90 mhz so it is a little slow but it's a pretty decent chip so it can do the current job.

Getting the Rocketport 8 PCI driver to work was a real trip. It is a necessary component because of the need to handle the radio networks. Fortunately we now have a PowerPC port of the driver thanks to the author Ted Ts'o,  Ichiro Hieda (the first person to get it to work on a PPC), Paul Mackerras (troubleshooting) and a little work by myself testing and narrowing down the problem areas. 

The internal (Mace) ethernet seems unreliable due supposedly to the 10bt interface. Using a AAUI external converter is rumored to fix the problem, we'll see. Update: AAUI converter does NOT fix this problem. Testing shows the Mace is dropping packets (90% failure) on input.

While the intel pro100 works on other PCI PowerMac, it does not on the 7200. It is perhaps a bus mastering problem, THOUGH the adaptec 2940uw (also known as  a powerdomain) works and I do not see how it could if it did not bus master.

Using an ASUS PCI 200 (ncr53c8xx) scsi controller resulted in a 50% speedup for the drives though it can't be used as a boot HD controller. The 2940 was even faster and has been used successfully by others as a boot controller.

I recently installed LinuxPPC 2000 Q4 edition (Halloween) on the 7200 and it even boots with yaboot even though that is not supposed to work on old world macs. Very interesting! Figured this out, it uses miboot! The 7200 is currently running the MN amprnet gateway at Augsburg college, it's running kernel 2.6.14.

Ins and Outs of the 7500:
The 7500 has exactly the same case as the 7200. It is about the same speed (stock 100 mhz compared to 90 mhz of my 7200). There are some major differences though. First, it has a real synchronous SCSI controller (the linux driver name is MESH). This works much better with PPC linux. I can even burn CD's at 4x without any hassles now. With a WD ultra scsi drive I get 3.5 megs/sec on writes and 4 megs/sec on reads with iozone. The tape drive is connected to the external scsi controller (which BTW also has an internal connector). The external controller is the same as the primary controller in the 7200, a NCR 53C94. The reason I connnected the tape drive (as well as the CDRW drive) to the external SCSI bus is because the tape drive was limiting the internal scsi bus to 5 mbits/sec. With the tape drive moved the hard drive now runs at 10 mbits/sec.

Unfortunately, the internal MACE ethernet STILL doesn't work right. I would like to add a nice ATI 3d rage pro agp 2x card to the machine to get accelerated X but can't until I free up a slot by getting the mace to work right. Another option would be to go with the experimental XFree 4.0x Xfree86_FBDev server which has been patched to provide some acceleration with the 7500's control video chip. Unforch, the controlfb video driver has been unwilling to sense the full 4 megs of ram in the 7500. There is a fix for the 2.4.x kernels and though I have other unresolved problems with them, I'm now running 2.4.x full time. My current kernel will run on the S900. It includes support for various amateur radio drivers as well as the Rocketport Serial, Tulip and ne2k-pci ethernet drivers.

Outstanding Issues with the 7500:
MACE is unreliable (maybe fixed now?) and the 53C94 external scsi doesn't support disconnect and hangs on the slightest error. (Really was never fixed).

Interesting things about the 9600:
It's got 6 slots and a second Bandit PCI controller! Otherwise, very similar to a 7500.

Interesting things about the S900: Like a 9600 but with a DEC PCI controller for the lower 3 slots instead of a second bandit, ties the interrupts for the last 4 slots together (boo hiss). Has a second processor slot for a custom 604 (not useful for me). Has less ram slots (8 as opposed to the 12 in the 9600). Had onboard ram AND cache which needed to be disabled to run with G3/G4 cards. It's open firmware is a bit funky, doesn't report that it's actually an apple. Nice small case (compared to the 9600), runs cool. Interestingly, neither the 9600 or the S900 will let me see more than 768 megs of ram in linux though more shows up in Mac OS9.

I'm using the XFS filesystem.


last updated Thu Jan 28, 2016