Using HP Printer Driver on ReadyNAS from MacOS X: part 2/3
Part two of my saga of trying to get my HP DeskJet 940C to print nicely from MacOS X despite it being attached to my ReadyNAS. Bonjour Browser, we can see that the Airport Express is advertising:
- _pdl-datastream._tcp., a “Printer PDL Data Stream”, and
- _riousbprint._tcp., a “Remote I/O USB Printer”
So, not IPP at all.
What we need to do, then, is get the ReadyNAS to advertise itself as a remotely controllable USB device, instead of (as well as?) an IPP printer. But do we need _pdl-datastream, or _riousbprint, or both?
Specifically, this is how it appears over Bonjour from the AirportExpress:
_pdl-datastream._tcp. 192.168.0.6:9100 txtvers=1 qtotal=1 note=Living Room product=(HEWLETT-PACKARD DESKJET 940C) pdl=application/vnd.hp-PCL priority=5 usb_MFG=HEWLETT-PACKARD usb_MDL=DESKJET 940C usb_C ty=HEWLETT_PACKARD DESKJET 940C _riousbprint._tcp. 192.168.0.6:10000 txtvers=1 qtotal=1 note=Living Room product=(HEWLETT-PACKARD DESKJET 940C) rp=HEWLETT-PACKARD DESKJET 940C HU1B96N1ZZBH pdl=application/MLC,application/PCL,application/PML priority=1 usb_MFG=HE
Well, looking at a Wireshark dump of the transaction, we’re talking to port 10000: the remote USB service. Unsurprising, really. To be honest it’s more surprising that the Airport Express provides the other service (which makes it look like an HP JetDirect to PCs, I suppose).
So, we “just” need a package we can install on the ReadyNAS using apt, which exposes the USB device using this protocol. Sadly I can’t find such a Linux project, and nor can I find documentation on the protocol so I can’t have a go at writing one myself. Which is probably a good thing, as I have more important things I should be doing!
Summary: it’s not impossible after all, somebody just needs to write some software!
