Public bug reported: DisplayLink uses these udev rules to start the displaylink service when a displaylink device is plugged in:
ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ATTR{idVendor}=="17e9", IMPORT{builtin}="usb_id", ENV{DISPLAYLINK_DEVNAME}="$env{DEVNAME}", ENV{DISPLAYLINK_DEVICE_ID}="$env{ID_BUS}-$env{BUSNUM}-$env{DEVNUM}-$env{ID_SERIAL}", ENV{REMOVE_CMD}="/opt/displaylink/udev.sh $root $env{DISPLAYLINK_DEVICE_ID} $env{DISPLAYLINK_DEVNAME}" ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="17e9", ATTR{bInterfaceClass}=="ff", ATTR{bInterfaceProtocol}=="03", IMPORT{parent}="DISPLAYLINK*", RUN+="/opt/displaylink/udev.sh $root $env{DISPLAYLINK_DEVICE_ID} $env{DISPLAYLINK_DEVNAME}" The important thing to note here is that the first rule is for the device that is the parent of the device triggers the second rule, and the first rule sets ENV{DISPLAYLINK_DEVNAME} and ENV{DISPLAYLINK_DEVICE_ID}, and the second rule attempts to import them with IMPORT{parent} and then use them. This worked fine in 20.04. It does not work in 21.04. When the second rule is triggered, DISPLAYLINK_DEVICE_ID and DISPLAYLINK_DEVNAME are not set. I have confirmed via udevadm monitor that the variables are getting set on the parent. I have confirmed via udevadm info --attribute-walk that the device triggering the second rule is the child of the device triggering the first one. I have tried to import the variables explicitly instead of using a glob pattern and that doesn't work either. When I modify the rule to import DEVNAME, ID_BUS, BUSNUM, DEVNUM, and ID_SERIAL directly, that works. The problem appears to be that these custom properties we are setting in the parent can't be imported in the child. ProblemType: Bug DistroRelease: Ubuntu 21.04 Package: udev 247.3-1ubuntu2 ProcVersionSignature: Ubuntu 5.10.0-14.15-generic 5.10.11 Uname: Linux 5.10.0-14-generic x86_64 NonfreeKernelModules: nvidia_modeset nvidia ApportVersion: 2.20.11-0ubuntu59 Architecture: amd64 CasperMD5CheckResult: unknown CurrentDesktop: ubuntu:GNOME CustomUdevRuleFiles: 60-brother-libsane-type1.rules 99-displaylink.rules~ 70-snap.core.rules 70-snap.snap-store.rules 99-x10.rules 60-brother-brscan4-libsane-type1.rules 50-yubikey.rules 70-snap.canonical-livepatch.rules 70-snap.gnome-system-monitor.rules 70-snap.chromium.rules 99-displaylink.rules Date: Sun Feb 21 19:21:20 2021 InstallationDate: Installed on 2019-01-02 (781 days ago) InstallationMedia: Ubuntu 18.10 "Cosmic Cuttlefish" - Release amd64 (20181017.3) MachineType: Acer Predator G6-710 ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-5.10.0-14-generic root=/dev/mapper/ubuntu--vg-root ro quiet splash vt.handoff=7 SourcePackage: systemd UpgradeStatus: Upgraded to hirsute on 2021-02-21 (0 days ago) dmi.bios.date: 05/18/2016 dmi.bios.release: 5.11 dmi.bios.vendor: American Megatrends Inc. dmi.bios.version: R01-A4 dmi.board.name: Predator G6-710 dmi.board.vendor: Acer dmi.chassis.type: 3 dmi.chassis.vendor: Acer dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvrR01-A4:bd05/18/2016:br5.11:svnAcer:pnPredatorG6-710:pvr:rvnAcer:rnPredatorG6-710:rvr:cvnAcer:ct3:cvr: dmi.product.family: Acer Desktop dmi.product.name: Predator G6-710 dmi.sys.vendor: Acer ** Affects: systemd (Ubuntu) Importance: Undecided Status: New ** Tags: amd64 apport-bug hirsute regression-release third-party-packages -- 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/1916418 Title: Custom properties set with ENV{WHATEVER} in parent no longer imported with IMPORT{parent} in udev rule Status in systemd package in Ubuntu: New Bug description: DisplayLink uses these udev rules to start the displaylink service when a displaylink device is plugged in: ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ATTR{idVendor}=="17e9", IMPORT{builtin}="usb_id", ENV{DISPLAYLINK_DEVNAME}="$env{DEVNAME}", ENV{DISPLAYLINK_DEVICE_ID}="$env{ID_BUS}-$env{BUSNUM}-$env{DEVNUM}-$env{ID_SERIAL}", ENV{REMOVE_CMD}="/opt/displaylink/udev.sh $root $env{DISPLAYLINK_DEVICE_ID} $env{DISPLAYLINK_DEVNAME}" ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="17e9", ATTR{bInterfaceClass}=="ff", ATTR{bInterfaceProtocol}=="03", IMPORT{parent}="DISPLAYLINK*", RUN+="/opt/displaylink/udev.sh $root $env{DISPLAYLINK_DEVICE_ID} $env{DISPLAYLINK_DEVNAME}" The important thing to note here is that the first rule is for the device that is the parent of the device triggers the second rule, and the first rule sets ENV{DISPLAYLINK_DEVNAME} and ENV{DISPLAYLINK_DEVICE_ID}, and the second rule attempts to import them with IMPORT{parent} and then use them. This worked fine in 20.04. It does not work in 21.04. When the second rule is triggered, DISPLAYLINK_DEVICE_ID and DISPLAYLINK_DEVNAME are not set. I have confirmed via udevadm monitor that the variables are getting set on the parent. I have confirmed via udevadm info --attribute-walk that the device triggering the second rule is the child of the device triggering the first one. I have tried to import the variables explicitly instead of using a glob pattern and that doesn't work either. When I modify the rule to import DEVNAME, ID_BUS, BUSNUM, DEVNUM, and ID_SERIAL directly, that works. The problem appears to be that these custom properties we are setting in the parent can't be imported in the child. ProblemType: Bug DistroRelease: Ubuntu 21.04 Package: udev 247.3-1ubuntu2 ProcVersionSignature: Ubuntu 5.10.0-14.15-generic 5.10.11 Uname: Linux 5.10.0-14-generic x86_64 NonfreeKernelModules: nvidia_modeset nvidia ApportVersion: 2.20.11-0ubuntu59 Architecture: amd64 CasperMD5CheckResult: unknown CurrentDesktop: ubuntu:GNOME CustomUdevRuleFiles: 60-brother-libsane-type1.rules 99-displaylink.rules~ 70-snap.core.rules 70-snap.snap-store.rules 99-x10.rules 60-brother-brscan4-libsane-type1.rules 50-yubikey.rules 70-snap.canonical-livepatch.rules 70-snap.gnome-system-monitor.rules 70-snap.chromium.rules 99-displaylink.rules Date: Sun Feb 21 19:21:20 2021 InstallationDate: Installed on 2019-01-02 (781 days ago) InstallationMedia: Ubuntu 18.10 "Cosmic Cuttlefish" - Release amd64 (20181017.3) MachineType: Acer Predator G6-710 ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-5.10.0-14-generic root=/dev/mapper/ubuntu--vg-root ro quiet splash vt.handoff=7 SourcePackage: systemd UpgradeStatus: Upgraded to hirsute on 2021-02-21 (0 days ago) dmi.bios.date: 05/18/2016 dmi.bios.release: 5.11 dmi.bios.vendor: American Megatrends Inc. dmi.bios.version: R01-A4 dmi.board.name: Predator G6-710 dmi.board.vendor: Acer dmi.chassis.type: 3 dmi.chassis.vendor: Acer dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvrR01-A4:bd05/18/2016:br5.11:svnAcer:pnPredatorG6-710:pvr:rvnAcer:rnPredatorG6-710:rvr:cvnAcer:ct3:cvr: dmi.product.family: Acer Desktop dmi.product.name: Predator G6-710 dmi.sys.vendor: Acer To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1916418/+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