Public bug reported:

The packages system-config-printer-udev and ippusbxd are installed,
having the following UDEV rule files:

/lib/udev/rules.d/70-printers.rules

----------
# Low-level USB device add trigger
ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", 
ENV{ID_USB_INTERFACES}=="*:0701??:*", TAG+="udev-configure-printer", 
TAG+="systemd", PROGRAM="/bin/systemd-escape 
--template=udev-configure-printer@.service %p", ENV{SYSTEMD_WANTS}+="%c"
# Low-level USB device remove trigger
ACTION=="remove", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", 
ENV{ID_USB_INTERFACES}=="*:0701*:*", RUN+="udev-configure-printer remove %p"
----------

/lib/udev/rules.d/55-ippusbxd.rules

----------
# ippusbxd udev rules file

ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device" 
ENV{ID_USB_INTERFACES}=="*:070104:*", OWNER="root", GROUP="lp", MODE="0664", 
PROGRAM="/bin/systemd-escape --template=ippusbxd@.service 
$env{BUSNUM}:$env{DEVNUM}", ENV{SYSTEMD_WANTS}+="%c"
----------

If I turn on an appropriate printer (USB, supporting IPP-over-USB, here
the HP DeskJet 2540) I get in the output of "udevadm monitor
--environment"

----------
UDEV  [17527.514150] add      /devices/pci0000:00/0000:00:14.0/usb2/2-2 (usb)
ACTION=add
BUSNUM=002
DEVNAME=/dev/bus/usb/002/033
DEVNUM=033
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb2/2-2
DEVTYPE=usb_device
DRIVER=usb
ID_BUS=usb
ID_MODEL=Deskjet_2540_series
ID_MODEL_ENC=Deskjet\x202540\x20series
ID_MODEL_ID=c211
ID_REVISION=0100
ID_SERIAL=HP_Deskjet_2540_series_BR54BFB02C05XK
ID_SERIAL_SHORT=BR54BFB02C05XK
ID_USB_INTERFACES=:ffcc00:070104:070102:ff0401:
ID_VENDOR=HP
ID_VENDOR_ENC=HP
ID_VENDOR_FROM_DATABASE=Hewlett-Packard
ID_VENDOR_ID=03f0
MAJOR=189
MINOR=160
PRODUCT=3f0/c211/100
SEQNUM=9891
SUBSYSTEM=usb
SYSTEMD_WANTS=ippusbxd@002:033.service 
udev-configure-printer@-devices-pci0000:00-0000:00:14.0-usb2-2\x2d2.service 
printer.target
TAGS=:udev-configure-printer:systemd:
TYPE=0/0/0
USEC_INITIALIZED=17527513940

UDEV  [17527.517724] add      /devices/pci0000:00/0000:00:14.0/usb2/2-2/2-2:1.0 
(usb)
.MM_USBIFNUM=00
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb2/2-2/2-2:1.0
DEVTYPE=usb_interface
ID_VENDOR_FROM_DATABASE=Hewlett-Packard
INTERFACE=255/204/0
MODALIAS=usb:v03F0pC211d0100dc00dsc00dp00icFFiscCCip00in00
PRODUCT=3f0/c211/100
SEQNUM=9892
SUBSYSTEM=usb
TYPE=0/0/0
USEC_INITIALIZED=17527517478

UDEV  [17527.522565] add      /devices/pci0000:00/0000:00:14.0/usb2/2-2/2-2:1.2 
(usb)
.MM_USBIFNUM=02
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb2/2-2/2-2:1.2
DEVTYPE=usb_interface
ID_VENDOR_FROM_DATABASE=Hewlett-Packard
INTERFACE=255/4/1
MODALIAS=usb:v03F0pC211d0100dc00dsc00dp00icFFisc04ip01in02
PRODUCT=3f0/c211/100
SEQNUM=9895
SUBSYSTEM=usb
TYPE=0/0/0
USEC_INITIALIZED=17527522332

UDEV  [17527.523761] add      /devices/pci0000:00/0000:00:14.0/usb2/2-2/2-2:1.1 
(usb)
.MM_USBIFNUM=01
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb2/2-2/2-2:1.1
DEVTYPE=usb_interface
DRIVER=usblp
ID_VENDOR_FROM_DATABASE=Hewlett-Packard
INTERFACE=7/1/2
MODALIAS=usb:v03F0pC211d0100dc00dsc00dp00ic07isc01ip02in01
PRODUCT=3f0/c211/100
SEQNUM=9893
SUBSYSTEM=usb
TYPE=0/0/0
USEC_INITIALIZED=17527523500

UDEV  [17527.527275] add      
/devices/pci0000:00/0000:00:14.0/usb2/2-2/2-2:1.1/usbmisc/lp1 (usbmisc)
.MM_USBIFNUM=01
ACTION=add
DEVNAME=/dev/usb/lp1
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb2/2-2/2-2:1.1/usbmisc/lp1
MAJOR=180
MINOR=1
SEQNUM=9894
SUBSYSTEM=usbmisc
USEC_INITIALIZED=17527527175
----------

Here one can see that the UDEV rules files are correct, leading to the
correct systemd services being requested

SYSTEMD_WANTS=ippusbxd@002:033.service udev-configure-printer@-devices-
pci0000:00-0000:00:14.0-usb2-2\x2d2.service printer.target

but neither the service ippusbxd@002:033.service nor the service udev-
configure-printer@-devices-pci0000:00-0000:00:14.0-usb2-2\x2d2.service
get started (note that I have put the .service file for ippusbxd in
place by "sudo cp /usr/share/doc/ippusbxd/examples/ippusbxd@.service
/lib/systemd/system/").

I can start each of these services manually though:

sudo systemctl start 'udev-configure-printer@-devices-
pci0000:00-0000:00:14.0-usb2-2\x2d2.service'

sudo systemctl start ippusbxd@002:033.service

In each case ippusbxd gets started for this printer and a print queue
auto-created.

What I expect is that the services get automatically started (and that
worked in 17.04) so that after plugging in an USB printer I can
immediately print as the print queue gets created automatically.

The "udev-configure-printer..." service works for all USB printers, not
only IPP-over-USB (it automatically recognizes the printer typ and does
an appropriate setup).

This is a regression as we had always automatic setup of USB printers.

** Affects: systemd (Ubuntu)
     Importance: Critical
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1721839

Title:
  Services asked for by UDEV do not get triggered

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1721839/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to