[Bug 1916418] Re: Custom properties set with ENV{WHATEVER} in parent no longer imported with IMPORT{parent} in udev rule
Brian Murray
1916418 at bugs.launchpad.net
Fri Apr 2 16:39:28 UTC 2021
** Changed in: systemd (Ubuntu)
Milestone: None => hirsute-updates
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, 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
Status in systemd source package in Focal:
Invalid
Status in systemd source package in Groovy:
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
More information about the foundations-bugs
mailing list