summaryrefslogtreecommitdiff
path: root/rules.d
Commit message (Collapse)AuthorAgeFilesLines
* udev: Fix by-uuid symlink for ubifs volumesTrent Piepho2021-07-201-1/+1
| | | | | | | | | | | | | | | | ubifs volumes have a UUID and the built-in blkid is able to determine it. The disk/by-uuid symlink isn't created because ubifs volumes are not on block devices but on SUBSYSTEM="ubi" devices. See #20071. Allow ubi subsystem devices to be processed by the persistent storage rules too. The kernel device name matching already allows ubi* to pass. The existing rules are sufficient to create the link. The links look like other by-uuid symlinks, for example: /dev/disk/by-uuid/9a136158-585b-4ba4-9b70-cbaf2cf78a1c -> ../../ubi0_1 (cherry picked from commit 21ac7884e9c1684d091d893254bcbe4b83740e9f) (cherry picked from commit 15bd27b06c67e94541e3376d3d482f4f849f5aff)
* Revert "rules: ubi mtd - add link to named partitions"Lennart Poettering2021-07-201-3/+0
| | | | | | | | | | | This reverts commit 7f1e9c806b6915e8020cf3706dc87e1cd37bc2fa, PR #6750 Apparently the rule change never worked, see #20071. Fixes #20071 (cherry picked from commit 4b6bc397b454f79006481c1e8507d85c5bfd2e9a) (cherry picked from commit 7e558b501783757f63b9c93edce43239a5178611)
* rules.d: Properly quote $env{MODALIAS}Roshan Shariff2021-07-201-1/+1
| | | | | | | | | Add quotes around use of $env{MODALIAS} in rules.d/80-drivers.rules. The modalias can contain whitespace, for example when it is dynamically generated using device or vendor IDs. (cherry picked from commit 07c0e5eeaf3183963f4d680555d2289a33735d6e) (cherry picked from commit 1151d6f55dd5cc4925a52e0faeca98963114df9b)
* Add READMEs in all .d directoriesZbigniew Jędrzejewski-Szmek2021-05-152-0/+12
| | | | (cherry picked from commit d83e90c73cf25a839f5e60f355baa0d38364ff41)
* Revert "udev: do not execute hwdb builtin import twice or thrice"Zbigniew Jędrzejewski-Szmek2021-03-122-5/+3
| | | | | | | | | | | | | | | This reverts commit 876c75fe870846b09b54423a6b719d80bc879b27. The patch seems to cause usb devices to get some attributes set from the parent PCI device. 'hwdb' builtin has support for breaking iteration upwards on usb devices. But when '--subsystem=foo' is specified, iteration is continued. I'm sure it *could* be figured out, but it seems hard to get all the combinations correct. So let's revert to functional status quo ante, even if does the lookup more than once unnecessarily. Fixes #18125. (cherry picked from commit 451ba55fecd8b494add2001b3ca3c1915c8fd655)
* udev: add i2c to 60-persistent-input.rules for by-path (#18808)Tom Shield2021-03-121-2/+2
| | | | | | | | Add the i2c subsystem to those that create by-path links. i2c devices may not have IDs so we can't rely on the by-id links but they (or some of them) should at least have a path that we can use. (cherry picked from commit e595edf1a3d7318811325cf97663c4b5a3859c6e)
* no blkid for mmcblk[0-9]boot[0-9]Alan Perry2021-03-121-1/+1
| | | | | | | Don't run blkid on mmcblk[0-9]boot[0-9] devices because they contain bootloaders or boot parameters, and not partitions or file systems. (cherry picked from commit 8db704b28b4fd4d13e376cf3495005010443937e)
* udev: Fix sound.target dependencyTakashi Iwai2020-12-161-1/+1
| | | | | | | | | | | | | | | | | The recent bug report indicated a race at device creation and the sound.target dependencies, and the cause turned out to be the condition of the sound.target trigger. Currently it's set for "card*", but this is actually the parent object; i.e. the sound.target is triggered before the sound devices are created. For assuring the whole sound device creations beforehand, we need to use "controlC*" instead of "card*"; as already described in 78-sound-card.rules, this is guaranteed to be the last device, and can be used as a synchronization point. BugLink: https://bugzilla.suse.com/show_bug.cgi?id=1179363 Signed-off-by: Takashi Iwai <tiwai@suse.de> (cherry picked from commit 5926e592fa5e6290b9f4588939945869adb5c55f)
* license: LGPL-2.1+ -> LGPL-2.1-or-laterYu Watanabe2020-11-092-2/+2
|
* udev: merge rules for bluetooth deviceYu Watanabe2020-09-151-2/+2
|
* udev: re-assign ID_NET_DRIVER=, ID_NET_LINK_FILE=, ID_NET_NAME= properties ↵Yu Watanabe2020-09-151-1/+1
| | | | | | | | | | | on non-'add' uevent Previous commit makes drop ID_NET_DRIVER=, ID_NET_LINK_FILE=, and ID_NET_NAME= properties for network interfaces on 'move' uevent. ID_NET_DRIVER= and ID_NET_LINK_FILE= properties are used by networkctl. ID_NET_NAME= may be used by end-user rules or programs. So, let's re-assign them on 'move' uevent. (Note that strictly speaking, this makes them re-assigned on all but 'remove' uevent.)
* rules: don't install 80-drivers.rules when kmod is disabledAlec Moskvin2020-08-251-1/+4
|
* udev: split attribute assignment for MMC cardsŁukasz Stelmach2020-06-251-2/+3
| | | | | | | | Some cards have names consisting only of whitespace characters which prevents the original rule from matching and assigning ID_SERIAL properly. With the split rules ID_SERIAL and ID_NAME are assigned independently and the symlink is created only if both are available the same way it has worked for partitions.
* rules: remove 61-autosuspend-manual.rulesZbigniew Jędrzejewski-Szmek2020-06-222-20/+0
| | | | | It doesn't hurt, but there's no point in keeping it now. Any changes can be added to 60-autosuspend.hwdb.
* tools: rewrite make-autosuspend-rules.py and add udev rulesZbigniew Jędrzejewski-Szmek2020-06-222-0/+15
| | | | | | | | | | | Concatenating strings is not a very efficient approach. And in this case fully unnecessary. We also need some rules to make use of those hwdb entries. PCI needs to be 8 characters, not 4. And we need to use uppercase hexadecimal for both. With udev rules this made no difference, but hwdb match is case sensitive. Fixes #16119.
* udev: do not execute hwdb builtin import twice or thriceZbigniew Jędrzejewski-Szmek2020-06-182-3/+5
| | | | | | | | | | Running the import more than once shouldn't matter, but it's a bit confusing and causes a slowdown too. This patch reworks the rules to avoid duplicted runs, but tries to keep the same imports. (E.g. import for pci devices without MODALIAS is only done for tty devices.) Note that this is only about hwdb import with argument, which uses MODALIAS as the lookup key. There are other imports done with different lookup keys.
* hwdb: generate a hwdb file instead of rules for autosuspendLennart Poettering2020-06-131-8/+0
|
* udev: rename the persistent link for ATA devicesLidong Zhong2020-05-211-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ATA devices should use the ATA ids like port number and (possibly) master/slave or multiplier id, not the generic SCSI ID. Currently only port number is included in the link. With this patch the link would be able to support more cases, which are a) when the device is behind a port multiplexer b) the distinction between master and slave (distinguished by target id). I tried to verify scenario a) with this patch, but I failed to find a machine with PMP SATA devices attached. But the link below https://github.com/systemd/systemd/issues/3943 could show what's the difference. Here is my test for scenario b) Current version: linux-ql21:~ # ll /sys/class/block/sd[ab] lrwxrwxrwx 1 root root 0 May 8 20:46 /sys/class/block/sda -> ../../devices/pci0000:00/0000:00:01.1/ata4/host3/target3:0:0/3:0:0:0/block/sda lrwxrwxrwx 1 root root 0 May 8 20:46 /sys/class/block/sdb -> ../../devices/pci0000:00/0000:00:01.1/ata4/host3/target3:0:1/3:0:1:0/block/sdb linux-ql21:~ # ll /dev/disk/by-path/pci-0000\:00\:01.1-ata-1 lrwxrwxrwx 1 root root 9 May 8 20:44 /dev/disk/by-path/pci-0000:00:01.1-ata-1 -> ../../sdb linux-ql21:~ # udevadm info /sys/class/block/sda |grep by-path S: disk/by-path/pci-0000:00:01.1-ata-1 E: DEVLINKS=/dev/disk/by-id/ata-VBOX_HARDDISK_VB3649e885-3e0cdd64 /dev/disk/by-id/scsi-0ATA_VBOX_HARDDISK_VB3649e885-3e0cdd64 /dev/disk/by-id/scsi-1ATA_VBOX_HARDDISK_VB3649e885-3e0cdd64 /dev/disk/by-path/pci-0000:00:01.1-ata-1 /dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB3649e885-3e0cdd64 linux-ql21:~ # udevadm info /sys/class/block/sdb |grep by-path S: disk/by-path/pci-0000:00:01.1-ata-1 E: DEVLINKS=/dev/disk/by-id/ata-VBOX_HARDDISK_VBc53b2498-d84ae8de /dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VBc53b2498-d84ae8de /dev/disk/by-id/scsi-1ATA_VBOX_HARDDISK_VBc53b2498-d84ae8de /dev/disk/by-id/scsi-0ATA_VBOX_HARDDISK_VBc53b2498-d84ae8de /dev/disk/by-path/pci-0000:00:01.1-ata-1 After patch applied: linux-ql21:~ # ll /sys/class/block/sd[ab] lrwxrwxrwx 1 root root 0 May 8 21:07 /sys/class/block/sda -> ../../devices/pci0000:00/0000:00:01.1/ata4/host3/target3:0:0/3:0:0:0/block/sda lrwxrwxrwx 1 root root 0 May 8 21:07 /sys/class/block/sdb -> ../../devices/pci0000:00/0000:00:01.1/ata4/host3/target3:0:1/3:0:1:0/block/sdb linux-ql21:~ # ll /dev/disk/by-path/pci-0000\:00\:01.1-ata-* lrwxrwxrwx 1 root root 9 May 8 21:07 /dev/disk/by-path/pci-0000:00:01.1-ata-1.0 -> ../../sda lrwxrwxrwx 1 root root 9 May 8 21:07 /dev/disk/by-path/pci-0000:00:01.1-ata-1.1 -> ../../sdb linux-ql21:~ # udevadm info /sys/class/block/sda |grep by-path S: disk/by-path/pci-0000:00:01.1-ata-1.0 E: DEVLINKS=/dev/disk/by-id/scsi-1ATA_VBOX_HARDDISK_VB3649e885-3e0cdd64 /dev/disk/by-id/scsi-0ATA_VBOX_HARDDISK_VB3649e885-3e0cdd64 /dev/disk/by-id/ata-VBOX_HARDDISK_VB3649e885-3e0cdd64 /dev/disk/by-path/pci-0000:00:01.1-ata-1.0 /dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB3649e885-3e0cdd64 linux-ql21:~ # udevadm info /sys/class/block/sdb |grep by-path S: disk/by-path/pci-0000:00:01.1-ata-1.1 E: DEVLINKS=/dev/disk/by-id/scsi-0ATA_VBOX_HARDDISK_VBc53b2498-d84ae8de /dev/disk/by-id/ata-VBOX_HARDDISK_VBc53b2498-d84ae8de /dev/disk/by-id/scsi-1ATA_VBOX_HARDDISK_VBc53b2498-d84ae8de /dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VBc53b2498-d84ae8de /dev/disk/by-path/pci-0000:00:01.1-ata-1.1 Changelog: v5: add another parameter compat_link in handle_scsi() v4: comment for ID_PATH_ATA_COMPAT get string length with pointer difference (suggested by Franck Bui<fbui@suse.com>) v3: creating compatible link from env variables type change v2: remove udev rules modification for compatible link setup a test scenario of master/slave ATA devices v1: initial patch
* rules: automatically pull in smartcard.target from all CCID devicesLennart Poettering2020-05-211-0/+1
| | | | | | We apparently never matched the USB interface class. Let's fix that. Prompted by: #15676
* rules.d: import the keyboard builtin instead of running itPeter Hutterer2020-03-011-6/+8
| | | | | | | | | | | RUN seems to be used primarily for historical reasons over the more immediate IMPORT command. As a side-effect, RUN also runs *after* all the rules have been processed which is not really what we want here - we expect the device to be updated immediately. Other rules that rely on accurate evdev axes should be able to assume the axes are already present. So let's use IMPORT here. For consistency, the second two rules are split across multiple lines as well.
* udev: don't import parent ID_FS_ data on partitionsThomas Schmitt2020-01-091-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | When probing partitions, we inherit important information from the parent disk device such as ID_MODEL, and usage of such properties is seen to be acceptable and well established. However, we need to exclude filesystem information from the properties that get inherited. Information about the device content should not be passed on in this way. For example, Linux distro install media commonly uses an ISO filesystem plus a partition table. The ISO filesystem is detected on the main disk device, but we should not pass down those details to the partitions, some or all of which may be pointing at storage areas completely distinct from the ISO filesystem. This is particularly problematic when adding new partitions on media set up in this way (since the new partitions are then reported to contain the parent device's ISO filesystem), or when dealing with more unusual hybrid ISO layouts. The inaccuracy of information here inversely affects users of blkid and udev's persistent storage symlinks. Exclude ID_FS_* properties from the inheritance chain to avoid these problems. Fixes: #14408
* udev: mark all ccid/security devices with a special tagLennart Poettering2019-12-091-0/+6
| | | | | | | This adds a udev tag that is supposed to be attached to all devices that might potentially expose a PKCS#11 slot, i.e. CCID smartcards and similar. We can then use the appearance of devices of this type as trigger to rescan PKCS#11 slots.
* Rename udev's rules/ to rules.d/Zbigniew Jędrzejewski-Szmek2019-10-1026-0/+799
This change is only about the source tree. We have tmpfiles.d/, modprobe.d/, sysctl.d/, and sysusers.d/, but for historical reasons, rules/ didn't fit this pattern. We also *install* it as rules.d/. Let's rename to be consistent.