I'm trying to add a printer on a yocto build with cups and the command line. this is the command I'm entering:
sudo lpadmin -p Deskjet_3050A -E -v usb://HP/Deskjet%203050A%20J611%20series?serial=CN15J4C3NF05PJ&interface=1 -m hp-deskjet_3050a_j611_series.ppd
The response I get is:
[1] 566
-sh: -m: command not found
The printer is actually added to the system. but when I try to do a print:
sudo lp -d Deskjet_3050A text.txt
The response is:
request id is Deskjet_3050A-6 (1 file(s))
Which I think means that the print request is send to the printer. The printing does not happen though. I think it has something to do with the ppd-file not being added. Why is -m command not found, the ppd file shows up in the list when I do lpinfo -m
Or is there something missing in the yocto build (cups is added)
Any help is very much appreciated, been losing way to much time on this
Escaping the special & character as meuh suggested in the comment fixed the 'command not found' issue. After this the printer is still not working though.
I was able to make the printing work when accessing the printer as a network printer (driverless)
First I needed to add some extra cups related recipes to the yocto build
In layer.conf I also need to add the cups-filters recipe:
# Printing
CORE_IMAGE_EXTRA_INSTALL += "cups cups-doc cups-filters"
CORE_IMAGE_EXTRA_INSTALL += "hplip"
When I use this build, the driverless command became available. when I enter 'driverless' as a command i get an ipp uri:
driverless
ipp://SomePrintert%203050A%20J611%20series%20%5B12984C%5D._ipp._tcp.local/
Using the 'lpstat -e' command I got the printer name of the printer that is listening on the network. I think you can use other printer name as well though.
The command to configure the network printer now is:
sudo lpadmin -p {printerName} -E -v {ipp uri} -m everywhere
The printing is now working over the network.
I did not get an usb printer to work yet