Category Archives: Hardware

FreeBSD Print Server

I scored a Lexmark Optra E312L laser printer off Freecycle yesterday.  For those who haven’t done the research, laser printers are THE WAY to go vs inkjets, maybe unless you print color.  Toner is multiple times cheaper and more convenient than ink cartridges plus it doesn’t dry up, and the printers themselves are built to last.

Okay, so now that I have a printer worthy of ownership, I want to share it with my house network so that I can print from any of the four computers here.  That means I want to add “print server” to the lengthy list of jobs my trusty FreeBSD box already handles.

Using lpd

There’s a few options when choosing a print spooler (the software that accepts, queues and dispatches jobs): you could use CUPS from Linux land, or LPRng or PDQ, but I went with the most basic of basic spoolers “lpd” because it comes prepackaged with FreeBSD.  So I started out by following the steps here, to add the Optra E312L as my sole line printer named “lp”:

http://www.wonkity.com/~wblock/docs/html/lpdprinting.html

Following these steps up to the “Adding A Printer” section got me printing ASCII without issue.  But when trying to use Postscript things fell apart, because the Optra E312L doesn’t understand PostScript – only PCL6 or newer.  Okay, so the solution to this is to get a “print driver” that can convert PostScript to PCL.  Solution: ghostscript.

cd /usr/ports/print/ghostscript8-nox11
make install clean

I disabled any X11 and CUPS features, enabled fontconfig and Freetype Bridge (no idea what that does but I do have FreeType already), left all the drivers enabled (compilation fails if you uncheck one of these but I don’t know which one it was) and let it go.  Once the job is complete, the “Adding A Filter” section of that tutorial is usable.  Great, now I have a PostScript-capable laser printer!

Printing from Clients

OSX threw a couple things at me that I was finally able to get around.  lpd opens up port 515 on the server – make sure to firewall this off from the Internet!  Open System Preferences, then Printing, click the plus sign to add a printer.  Click the IP tab.

  • Protocol is LPD
  • Address is 192.168.1.1
  • Queue Name is “lp” (without quotes)
  • Name is whatever you want – I picked “Lexmark Optra E312L”
  • Location is whatever as well – I picked “Server Closet”
  • Type is “Generic PostScript Printer”

Finally, lpd checks /etc/hosts.lpd for a list of who is allowed to print.  Ensure that your static IPs are loaded into /etc/hosts with names, then add the hostnames to hosts.lpd.  Send a test print from the Mac and pray for the best.

I have not tried to set up the printer from my Windows PC yet.

PowerMac G4 Recording Studio

Introduction

My wife is an amazing piano player, and for the past several years she’s enjoyed playing from books or by ear on our Yamaha YDP-223 digital piano.  Back when she was in high school, she owned a Yamaha Clavinova CVP-98, which she used to record a number of original songs.  For as long as we’ve been together she hasn’t had much of an opportunity to record herself or share her playing with others online: a major problem was that we just didn’t have the equipment around to hook up to a keyboard or sequence anything, and the one time she tried using a cell phone to record herself the quality was awful (though the playing was great).

After listening to a number of her recordings salvaged by MIDI Carver, I hit upon the idea of building a surprise recording studio for her as a Christmas gift so she could produce and share some new music.  Originally I had intended to use my Mac Mini but she pointed out that it would be much more reasonable to use some less powerful machine and keep my existing computer for myself : )  Like most of my projects it took much longer than expected and in fact is still not 100 percent complete, but it’s just awaiting a couple of parts and is ready for use if I want to drag out a monitor.

Big thanks to the residents of the G-List group at Low End Mac, who patiently answered all my numerous Mac-impaired questions.

Hardware

This is an Apple PowerMac G4 “Digital Audio” computer.  I snagged it for free off Freecycle some time last year, and promptly set it in the garage and forgot about it.  This particular machine was already equipped with 640MB of RAM, a 40GB hard drive, and dual 533ghz G4 processors.  I ended up replacing the CD-RW drive with a DVD-RAM and adding a second 40GB drive to it.

This machine is from mid-2001 and is definitely showing its age.  However by using some older software and carefully trimming unused features from the OS, it serves its single purpose without any problems.

I have connected the YDP-223 to the Mac through an M-Audio MidiSport Uno USB<->MIDI interface.  This cable is great and can both send and receive to/from the keyboard without issue, so it can be used for recording or playback.  Speaker output from the Mac is also routed through the keyboard using a 1/8″ stereo to 2×1/4″ mono cable, so no extra speakers were needed.

I did attempt to add a Soundblaster Live! card to the machine but without any success.  There are no first-party OS X drivers, and those provided by the kX project either didn’t work or didn’t recognize the card.  Unfortunately, there is no on-board Line In jack on the machine, so I will need to find some external hardware solution later if I want to sample back from the YDP or record my violin, microphone input, guitar etc.

Software

Getting the software working was a major pain.  I originally intended to use OS X 10.3 “Panther” and installed that, thinking it would be the best fit for this combination of CPU speed and RAM.  However I discovered that most audio interfaces, including the kX drivers and the iMic, rely on Core Audio.  This wasn’t introduced until 10.4 “Tiger”.  Additionally I couldn’t use the DVD-RAM under 10.3 – a deal-breaker for sure.

Next I attempted to roll back as far as Mac OS 9.2, but discovered that the MIDI interface I was using was not supported on OS 9 any more (although the package says it is), and the first-party Sound Blaster drivers didn’t work for me either.  Fortunately I was able to take the opportunity to update the firmware on the machine to 4.2.8, which I couldn’t do under OS X.

Finally I gave in and, fearing the worst as far as performance was concerned, I installed 10.4 “Tiger”.  Many system updates later, I still couldn’t get the kX drivers to work, but at least I had a solid system.  In fact it seems my fears were unfounded: Tiger appears to be just as quick as Panther if not more so.  I also get the benefit of more recent hardware and software support.  I did disable Spotlight Indexing and the Dashboard, hoping to cut down on some CPU activity / RAM usage.

The available music software on the machine is either GarageBand 3 (from iLife ’06) or Logic Express 7.2.  Both programs run great, GarageBand can handle up to 8+ tracks without an issue.  I haven’t put Logic through its paces yet.  Checking the Activity Monitor shows that both apps really take advantage of both CPUs in the machine, which is excellent.

To-Do (Shopping) List

There are still some outstanding issues here.  This project is not really complete until I have added these items:

  • Small USB hub – the machine only has 2 USB ports.  Keyboard, mouse, and MIDI interface makes three plugs.
  • Original Mac AirPort card – these go by on eBay for $15-20 now.  I would like to get one so the Mac can join our network, post to the NAS shared folder, upload music to the Internet, etc.
  • External line-in box – for recording the keyboard and external instruments.  The Griffin iMic 2 seems like it would do the job nicely, and for just $25.
  • Small (15″ or so) LCD panel – obviously the machine isn’t much use without a display.  A small panel would be both functional and unobtrusive.  It would also be handy for displaying downloaded sheet music.
  • More RAM – is always be a nice addition : )  2×512 low-density PC133 would max out the machine.  This is a low-priority update.

Super Video Modding the Atari 130XE

The Atari 8-bit computer line had some notorious issues with video output. Colors are muddy and dull thanks to poor design on the video circuit. Some years ago I took my 130xe and applied the Super Video mod to try to improve the clarity and color depth. At the same time I built an S-Video interface cable to take full advantage of the machine’s output.

Detailed instructions for the mod are here: http://www.oldcomputers.it/parts/atari/130xe/docs/sv130-1.html

This was a great mod, the parts are cheap and working on the 1980s board was nice. I didn’t even own my solder station at the time and did all the work with a blunt Radio Shack iron, but it still all worked out just fine.