My source says this originated somewhere on Farcebook, but I have no idea where:
If you try following the advice at the Gentoo Wiki, you would install HPLIP and use its hp-setup utility to add the printer to your system. That way, however, lies madness…and printer communication errors. I think this was the previous source of errors when I was using a JetDirect 175x between the computer and printer, but it’s not behaving any better with a direct USB connection.
Here’s what I ended up doing to get my printer working:
- emerge -C hplip && emerge foomatic-db-engine && /etc/init.d/cupsd restart
- Make sure USB printing support (CONFIG_USB_PRINTER) is enabled in the kernel…note that genkernel builds a kernel without it!
- Generate a PPD:
foomatic-ppdfile -p `foomatic-searchprinter "HP LaserJet 1320"` >lj1320.ppd
- Go into the CUPS web interface and add the printer. It should show up as a USB device. When the option comes up to provide CUPS a PPD file, take it and use the file generated in the previous step.
- Once set up, double-check the printer default options to make sure the right paper size is selected. (I think this method defaults to letter, but HPLIP used A4 as the default. Either way, make sure it’s correct for what you’re using.)
Figuring all that out was three hours I won’t get back due to either buggy software (it wasn’t this tricky to get running on Kubuntu) or inadequate documentation. At least now it’s written down to save others the aggravation.
For a while, I was running Ubuntu Server instead of Gentoo on my home file server because I had some trouble figuring out how to get Greyhole running on it.
(Background: Greyhole is a redundant-storage subsystem that sits on top of Samba. Basically, it allows you to combine multiple disks (not necessarily all the same size) into one pool of storage space. If you have files you really don’t want to lose (like your wedding photos…but you should have backups!), you can tell it to maintain copies of those files on more than one drive…think of it as selective redundancy. It’s been compared to the Drive Extender feature that used to be in Windows Home Server, but I don’t think Drive Extender provided redundant storage.)
Anyway, a desire to get my home server running Gentoo again prodded another attempt at getting Greyhole working on it. A couple of weeks or so ago, I figured it out…but it was a manual process, and since it requires a loadable module to be built within the Samba source tree, it wasn’t going to be easily maintainable.
The solution to this? Write an ebuild. The peculiarities of getting Greyhole up and running made this a bit more tricky than usual, but I’ve done it:
This is part of my Portage overlay, which has a bunch of other ebuilds I’ve found useful over the years. Installing Greyhole on Gentoo is now as simple as this:
- add http://salfter.github.com/layman.xml to your overlays in /etc/layman/layman.cfg
- layman -S && layman -a salfter to pull in the overlay
- emerge greyhole to install
- configure & enjoy!
One caveat: the Greyhole ebuild will currently only with with Samba 3.x. The build process for Samba 4.x is a little bit different, and since I don’t have a Gentoo box running Samba 4 (it’s keyworded ~arch at this time), I don’t have a way to verify that it’ll work. There are three FIXMEs that would need to be replaced to use Greyhole with Samba 4.x.)
Surely a sign of TEOTWAWKI:
Screencapped, in case it goes down the memory hole:
(Yes, the likely explanation is that he pulled a stock photo from somewhere, but you’d think he, of all people, would’ve spent a few minutes extra to find a stock photo with a Windows desktop. Hell, he could’ve called someone in Microsoft’s PR department to either find an image or have one made on short order.)
It’s not the first time that happened…submitted a couple of drivers for a video-capture card we built at my previous job back around ’05 or ’06.
I submitted this a few months ago for my Raspberry Pi beer-fridge controller. I picked the parts and put it together without checking to see first if the necessary driver support was already in place…derp! Fortunately, it’s relatively easy to correct such deficiencies when you have source-code access to the whole system.