I did a quick test (with CUPS 1.5.4): I made /usr/lib/cups/backend/myusb to simulate such device discovery information: ----------------------------------------------------------------------------- #! /bin/bash # Output "device discovery" information on stdout: if test "$#" = "0" then echo 'direct usb "HP LaserJet 9999" "HP LaserJet 9999 needs HPLIP installed to work on USB"' fi exit 0 ----------------------------------------------------------------------------- Accordingly I get ----------------------------------------------------------------------------- # lpinfo -l -v | grep -2 9999 Device: uri = usb class = direct info = HP LaserJet 9999 needs HPLIP installed to work on USB make-and-model = HP LaserJet 9999 device-id = location = ----------------------------------------------------------------------------- Now it depends on what "not break existing printer setup tools" should mean. The above device discovery information is valid according to "man 7 backend" and therefore it cannot break existing printer setup tools that work in compliance with CUPS. But lpadmin fails (I use CUPS 1.5.4): ----------------------------------------------------------------------------- # lpadmin -p testy -v usb -E lpadmin: Bad device-uri "usb". # echo $? 1 ----------------------------------------------------------------------------- I think it is perfectly right that lpadmin and all printer setup tools that work in compliance with CUPS fail to set up a print queue because such a print queue cannot work and accordingly the user should get a failure error message when he did not notice the "HP LaserJet 9999 needs HPLIP installed to work on USB" information or when a printer setup tool does not show the backend's device-info output. Currently the YaST2 printer setup tool does intentionally not show device discovery information when no device-uri but only the scheme was ouptut by a backend (i.e. only "usb" instead of "usb:/..."). I described the reason in this comment in the YaST2 printer setup tool sources: ----------------------------------------------------------------------------- // do a special filtering for those connections which are supposed to work // i.e. where the uri seems to be a complete DeviceURI e.g. "socket://192.168.1.2:9100" // and not just an URI scheme like a plain "socket". ----------------------------------------------------------------------------- The root cause is that lpadmin fails (at least up to CUPS 1.5.4) when only the scheme but no real device-uri is provided: ----------------------------------------------------------------------------- # lpinfo -v | grep -v : network smb network http network ipp network ipps network lpd direct usb direct pipe direct hal network https network beh network socket direct hp direct hpfax # for s in $( lpinfo -v | grep -v : | cut -d ' ' -f2 ) ; \ do lpadmin -p testy -v $s -E ; echo $? ; done lpadmin: Bad device-uri "smb". 1 lpadmin: Bad device-uri "http". 1 lpadmin: Bad device-uri "ipp". 1 lpadmin: Bad device-uri "ipps". 1 lpadmin: Bad device-uri "lpd". 1 lpadmin: Bad device-uri "usb". 1 lpadmin: Bad device-uri "hal". 1 lpadmin: Bad device-uri "pipe". 1 lpadmin: Bad device-uri "https". 1 lpadmin: Bad device-uri "beh". 1 lpadmin: Bad device-uri "socket". 1 lpadmin: Bad device-uri "hp". 1 lpadmin: Bad device-uri "hpfax". 1 ----------------------------------------------------------------------------- I do not want to show useless device discovery information in the YaST2 printer setup tool when queue setup cannot work with it. I will re-think about it when special device discovery information like 'direct usb "HP LaserJet 9999" "HP LaserJet 9999 needs HPLIP installed to work on USB"' will be shown that is useful regardless that queue setup cannot work with it. It would be perfect if a printer setup tool could distinguish such meaningful special device discovery information like 'direct usb "HP LaserJet 9999" "HP LaserJet 9999 needs HPLIP installed to work on USB"' from arbitrary generic useless fallback device discovery information as I currently get at least up to CUPS 1.5.4: ----------------------------------------------------------------------------- # lpinfo -v | grep -v : network smb network http network ipp network ipps network lpd direct usb direct pipe direct hal network https network beh network socket direct hp direct hpfax ----------------------------------------------------------------------------- What could be used to distinguish meaningful device discovery information from useless fallback device discovery information is whether or not "device-make-and-model" and "device-info" are non-empty strings (cf. "man 7 backend").