Making an old USB printer support Apple AirPrint using a Raspberry Pi
blog.jgc.org
blog.jgc.org
Here are instructions:
https://www.dropboxforum.com/t5/Dropbox-installs-integration...
https://www.dropboxforum.com/t5/Dropbox-installs-integration...
I sell stuff on Ebay from time to time, and one of my pet peeves is not having labels professionally printed and having to tape them. After researching stuff I decided to skip the Dymo stuff and went with Rollo. The Rollo only prints over USB, so I connected it to the Pi0w. It's so godsend nice, I can just shove it into the closet and print from any computer in the network. There is no software to install, it can print from literally any app.
Wifi QR codes? Print it and stick it on anything. Instructions to use an appliance or recipes? Print it. Freaking love it.
One more thing about the Rollo label printer is that they have some sort of deal with USPS so it's always cheaper to print the label from their "shipping manager" web interface. I haven't even shipped 30 packages from the time I got it two years ago and the printer already made the money I paid for it back.
You still have to install a printer driver on the computer side (I found that a different label printer's driver works better than the one the vendor offers for download; go figure), but after telling MacOS to print to `socket://router`, everything works.
One issue I have found is that when set in greyscale mode, the conversion from color to greyscale doesn't work quite right. While visible in places such as the eBay logo on mailing labels printed from there, even black-and-white text and barcodes get smudged. I know that this is a driver issue, not a printer issue, because when I used CUPS from a Linux box as the print server the greyscale curve (as visible from the CUPS test print page) was different, and both black-and-white and color/greyscale elements were printed much more finely, but haven't figured out the issue yet. Meanwhile I print with the driver set to no greyscale.
Do you have a link for it?
> I found that a different label printer's driver works better than the one the vendor offers for download; go figure
Which one?
<https://www.amazon.com/gp/product/B091FGYTXV/>
I use the MacOS driver for Oaustect OT-425A, but cannot find a download link for it. HPRT's own driver at <http://hprt.com/Downloads.html> works; the Oaustect driver just starts printing a few seconds faster. Also try the driver and instructions at <https://www.youtube.com/watch?v=V-la3VYrJEk>.
The software is janky and their protocol is unidirectional (no way to tell if it printed a given label or ran out of paper, so you have to account for that in your software), but it's very easy to get it to work and when it works it really works. And it's pretty much unbeatable for cost.
If anybody is looking for home inventory software to work with their label printer, please check out this project I’ve been working on https://www.thingybase.com/
There’s documentation for how it works with label printers at https://www.thingybase.com/help/printers. If you try it and it doesn’t work quite right with your label printer open and issue at https://github.com/thingybase/community/issues
If you’re curious all the stuff you can do with a label printer in a home setting, I’ve got a list of projects I’ve done at https://www.thingybase.com/projects
If you're labelling things in medium volume, like items in data centre racks, then changing the paper in the office printer is a hassle, and making sure no-one else prints on your labels by mistake is a hassle, and getting the text to align with the labels can be a hassle too. None of those is impossible, but hand-writing a label will be a lot easier. If you want to have professional-looking printed labels, a label printer is the right tool for the job.
If you're running a higher throughput operation like ebay order fulfilment, printing labels one at a time can simplify your processes - a worker who only has one order and one label can't get things crossed over. At the same time, serious label printers can offer thermal printing (no toner or ink to replace), huge reels of labels, automatic removal of backing material, and so on.
And if you are a nano-volume user like me (I label external HDDS/SSDs mostly), you can do well with a low-tech solution i.e. a fully mechanical label printer [0]. I use it twice a month and for that frequency it's absolutely perfect.
[0] like https://www.amazon.com/DYMO-Organizer-Xpress-Label-12966/dp/...
It cost around €20, three meters of off-brand sticker tape is less than €5, and it takes AA batteries which then last forever.
Very useful to have somewhere in a drawer.
You can get A4 (or US letter I assume) or whatever sheets of labels for a 'regular' printer yes, but that's honestly not as convenient as a roll, especially a continuous roll where it prints to whatever length and then chops off. Especially if your use is occasional, don't want to print a whole sheet at once - and even if you do, I don't know how good the tooling is for laying out an A4 sheet of pre-cut labels with a different address in each one?
I have a Brother QL which others have remarked in this thread as well. It has WiFi and everything, trivial to just create a label from your phone or computer.
Strips are more versatile. E.g. you can label cables with them. And if you want to print more than one line, just print a bunch of strips.
- Is super compact and can be left anywhere
- Connects to home network by WiFi and supports AirPrint etc
- Supports automatic duplex printing
- Has an automatic document feeder that supports automatic duplex scanning
- Has a large touchscreen so I don't have to navigate four levels of menu just to copy something
- Can print from and scan to my Dropbox
- Has never jammed
All for just $160 refurbished.
While I am a big fan of reducing e-waste, if I had an old printer and use it with some frequency, I would seriously consider upgrading, now that I know what I am missing out :)
It's a Samsung C460W, BTW.
The thing is, hp driver support in linux is just the best, hands down.
If you go to the Brother website and view all laser printers, sort by cheapest, select the filter for print/scan/copy. There are two options with different model numbers and a small price difference, one has a basic multi-character LCD display and one has a touchscreen (apparently with a faster processor, since the touchscreen one is rated for a few more pages per minute).
I purchased the LCD display one around 2 years ago, can't remember the model number of that one, and then gave that to someone else and got the HL-L2395DW a few months ago. Both were around $160-170 new. It seems the touchscreen has gone up in price recently to $200; the HL-L2390DW alternative is still $170.
Linux support is pretty good. Both printed out of the box (use ipp / AirPlay when adding to CUPS instead of going through the drivers); for the new one I had to manually install the drivers to get scanning to work. Was pretty easy.
Offhand TN-450 and DR-420 were the generic Brother toner and drum parts that everyone has a generic version of for cheap.
I’ve run cups on a pi zero w for a while and it required the occasional restart, took quite a long time to load a job, and the margins were a nightmare to get right. Some of those issues may have had to do with the specific printer/drivers I use. I’ve since moved on.
Block its phone-home with Little Snitch or LuLu.
It is almost zero configuration. You just configure TCP port and usb device to be used. No drivers, no queues (can run on diskless/readonly machines), no bullsh*t, just printing. You need to configure the printer on the client tho. Basicaly it just takes USB printer and converts it to network printer. You don't need any specialized client software as most platforms can already talk to it, configuration is very similar as adding USB printer to individual workstations, but you specify TCP address rather than USB port.
$ history | curl -d @- https://blog.jgc.org/NEWPOST
is a cheap way to create blog posts that are successful on HN.EDIT: I was wrong about the hiatus; see brarsanmol's comment below.
New printer with AirPrint was way better than this. So while this 'hack' reviving old equipment might be useful for some people, don't expect it to do miracles in every case.
https://taoofmac.com/space/blog/2012/12/16/1730
I stopped using this setup when I upgraded to a new printer, but it works pretty well when you’re willing to have the Pi do the rasterization and actual printing (for which I would recommend a minimum of 1GB of RAM).
* CUPS AirPrint is generic and provides features that might be unsupported by your printer requires extra settings when printing.
* the shared printer wasn’t detected easily by some machines or there was some driver incompatibility.
I hoped CUPS could provide some “bridged” printer so you won’t be required to have hard to find drivers but sadly for non AirPrint this solution was worse at least in my case.
I don’t get the point of this in 2021, unless you have a very insecure router that isn’t updated or supports basic features you can just connect your printer (even my $99 brother laser the HL-2170W over a decade ago had WiFi and CUPS support) via Ethernet and print with it even if your printer doesn’t support it. That’s been the case with my Tomato firmware compatible routers for over a decade, plus there’s an obsession over PiHole despite the charts not working for anyone using HTTPS, which is essentially just using a weak embedded device to reimplement router functions you probably could have configured.
Using everything but the lowest end router you’ll probably have DDWRT (which is offered by default by linksys), Tomato, Merlin (Asus offered default) or OpenWRT (tons of default firmware is based on it) that can do everything and more on your existing hardware like CLI control, CUPS, OpenVPN, DNS, ad blocking (I use a script to update my hosts, I disabled logging since HTTPS masks it), QoS, SAMBA file sharing, signal boosting, and random security features.
I agree a Pi hole would be better suited towards a computer, if I had a server I would use cups on that, but I wouldn’t discourage people from playing with pis unless more reliable enterprise-ie type concepts were a key goal.
I think if you have a Pi the best thing you can use it to prototype if you want dedicated hardware for what the pi is doing, but if you are buying it for the purpose of OP, its not a good use of resources, and anything a Pi can do an old laptop or desktop can do it better and prototype it with no cost and probably better software, but if power usage is an issue dedicated hardware should be considered.
Getting your printer to show on your iOS devices is what I thought this article was about.
(I wasn’t even trying to get AirPrint to work; it just worked out of the box and today’s the first day I ever tried it.)
I had a spare Raspberry Pi lying around, and I have a nearly 20 year old office printer that, while it does support the generic postscript driver and can be used over ethernet, will give me weirdness if I try printing anything without first converting it to PDF. I pretty much only use Pandoc/LaTeX for a majority of my documents since I usually export through pdflatex first, so it took awhile for me to notice, but my wife had issues when she was trying to print out pictures directly and we got weird postscript errors instead. Obviously it's an easy fix, just print to PDF first, but it's also irritating, so I fitted one of my Raspberry Pis with CUPS and it worked great.
Can I share a printer in the network through linux?
I have an old HP laserjet 100 and back in the days the one roller that wears out came with the cartridge (i think it's the drum the pigment sticks to). It only on windows XP or after long fiddeling with linux can make it print (fun fact: the printer basically forgets it's a printer because it has by design no permanent storage for it's firmware. On each computer boot you need the computer to push a blob of firmware in again). So now I have an old laptop booting up linux just to print. An raspi I could print directly to would be perfect!
This page might also be of interest: https://wiki.archlinux.org/title/CUPS/Printer_sharing
Best of luck!
My windows machine can find it, but windows complains that there are no drivers available for it. As the printer is 15+ years old, there are no windows 10 drivers. Is there a way to enable "emulation" of a different printer instead, and let cups somehow translate the commands?
I currently have a network shared folder that is scanned for pdf's, and will print any new file put there. Often means there's an extra step needed to print, but it works.
Apart from some USB port selection issues there has been pretty much no problems running this for over a year
AirPrint does only really work with this script:
I tried doing the same with a brother MFC printer, but I always had issues with the drivers.
Epson are the other one with decent Linux drivers, but yeah most manufacturers are pretty bad.
https://www.dropboxforum.com/t5/Dropbox-installs-integration...
Paraphrasing Microsoft's old motto about Lotus Notes: "It ain't done until your old printer doesn't run."
Ironic that Windows doesn't work well with a printer using a Unix interface?
If it has apps, then it's instead a computer or a stereo system with built-in speakers.
So I find speakers a misleading name for this contraption, unless it has an input of some sort that you can connect what you want to.