Now in Bionic the only systemd problem known to me is the
quoting/unquoting turnaround problem mentioned here.

In system-config-printer this problem got worked around upstream by
calling the systemd service with the simpler bus and device IDs and not
with the device path. This works reliably in Bionic and probably also in
Artful.

Another, more severe severe systemd problem in Artful was that systemd
did not unregister (at least some) USB devices when they got unplugged.
This problem went away in Bionic.

So in Bionic I do not have any problems with USB printer auto-setup any
more.

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

Title:
  [REGRESSION] Services asked for by UDEV do not get triggered

Status in systemd:
  New
Status in Release Notes for Ubuntu:
  Fix Released
Status in systemd package in Ubuntu:
  Confirmed

Bug description:
  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.

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

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to