Hey all,
I recently picked up a HP Envy 7640 for my soho. I can configure it from my graphical workstation okay in the usual way: fire up a browser and navigate to localhost:631 and work through the Add Printer dialog.
The working configuration looks like so:
$ lpoptions -d hp_envy_7640 | xargs -n1
copies=1
device-uri=ipp://printer:631
finishings=3
job-cancel-after=10800
job-hold-until=no-hold
job-priority=50
job-sheets=none,none
marker-change-time=1571608266
marker-colors=#00FFFF#FF00FF#FFFF00,#000000
marker-high-levels=100,100
marker-levels=-1,-1
marker-low-levels=1,1
marker-names=tri-color\ ink,black\ ink
marker-types=ink-cartridge,ink-cartridge
number-up=1
printer-commands=AutoConfigure,Clean,PrintSelfTestPage
printer-info=HP Envy 7640
printer-is-accepting-jobs=true
printer-is-shared=false
printer-is-temporary=false
printer-location=Right behind you
printer-make-and-model=HP Envy 7640 Series hpijs, 3.19.8
printer-state=3
printer-state-change-time=1571608266
printer-state-reasons=wifi-not-configured-report,media-empty-report
printer-type=10522652
printer-uri-supported=ipp://localhost/printers/hp_envy_7640
However, I have a headless box which I would also like to be able to print from. It is being a bit difficult.
First, I tried following instructions to run lpadmin like so:
lpadmin -p hp_envy_7640 -E -v ipp://printer:631 -m "drv:///hp/hpijs.drv/hp-envy_7640_series-hpijs.ppd"
(I have /etc/hosts and dnsmasq configured to find the printer by name.)
After I set up the printer with that lpadmin command, then set it to be the default printer with `lpoptions -d hp_envy_7640`, a test print job goes into the queue but never actually prints.
I also tried manually copying settings from /etc/cups/printer.conf on the working machine to the headless box, and restarted cupsd. I checked with lpoptions and as far as could tell, the configuration was identical on both machines after I manually edited the printer.conf. This did not solve the problem.
Now I wondered if it might be possible to serve the cups page from the headless machine over the network, and use a browser on the graphical workstation to do the config. So, I tried changing Listen setting in /etc/cups/cupsd.conf to *:631 and opened port 631 in iptables to the LAN.
When navigating to
http://headless:631 this just gives errors like "forbidden" and "bad gateway" (or something like that -- I'm not at home at the second to copy-paste the exact error).
I tried tcpdumping traffic to and from the printer on each box. As expected, the working machine generated a lot of noise when successfully running a print job. The headless box printed out a few lines like so and then nothing:
09:15:48.129808 IP 192.168.0.1.36624 > printer.acausal.realm.snmp: GetRequest(29) 43.10.2.1.4.1.1
09:15:48.226355 IP printer.acausal.realm.snmp > 192.168.0.1.36624: GetResponse(30)
43.10.2.1.4.1.1=10
09:15:52.968448 ARP, Request who-has printer.acausal.realm tell 192.168.0.1, length 28
09:15:52.968606 ARP, Reply printer.acausal.realm is-at 98:e7:f4:aa:5f:c9 (oui Unknown), length 46
Does anyone have enough experience with network printers or cups to give me ideas on what else to try? Is it really impossible to access the cups configuration page over the network? Anything I might have overlooked when running lpadmin/lpoptions?
~ Tim