If more than one printer of a given model is discovery by CUPS, control-center chooses to display only *one* of them. As described in the upstream bug, you don't have to buy a matching pair of printers to test this. You can do it with a simple shell script like this in /usr/lib/cups/backends: #!/bin/sh cat <<EOF socket socket://127.0.0.1:9100 "foo1" "bar1" "MDL:HP LaserJet M5035 MFP" "left" socket socket://127.0.0.2:9100 "foo2" "bar2" "MDL:HP LaserJet M5035 MFP" "right" EOF
The code in pp-new-printer-dialog.c appears to be almost completely uncommented but it looks like the problem might actually be with the GroupPhysicalDevices method in system-config-printer. The two devices of the same type are grouped together in the response: array [ string "http" string "https" string "ipps" string "smb" ] array [ string "socket://127.0.0.1" string "socket://127.0.0.2" ] And this appears to make the dialog ignore all but the first.
"socket" is not a valid device class (first field). I think you want 'network' there?
Doh! That makes it work much better — thanks! Now I have the opposite problem. If I add one of these "discovered" printers, and then go to add another, the original one that I already added is still there. The control-center code was trying to filter those out, wasn't it?
(In reply to David Woodhouse from comment #3) > Now I have the opposite problem. If I add one of these "discovered" > printers, and then go to add another, the original one that I already added > is still there. The control-center code was trying to filter those out, > wasn't it? Hi David, control-center doesn't try to filter already added printers out. It keeps them there because user might want to have the same printer with different settings. Marek
Makes sense; thanks for the update. I have all this working fairly nicely now. Apart from the PIN-based secure printing, which works kind of sporadically. qv.