summaryrefslogtreecommitdiff
path: root/rules
AgeCommit message (Collapse)Author
2011-04-04Avoid spinning up CD on pressing eject buttonMartin Pitt
When the CD tray door is locked and the hardware eject button is pressed, newer kernels (2.6.38+) will send out a change event with a DISK_EJECT_REQUEST==1 property. Do not run cdrom_id and blkid in this case, as the media state and contents does not change, and this only needlessly spins up the drive again right before ejection.
2011-03-30Run ata_id on non-removable USB devicesDavid Zeuthen
If a USB device is marked as removable, it is often a SATA/PATA disk in an enclosure (note that flash card readers and usb storage sticks are always marked as removable). In this case, try running ata_id (which sends ATA commands wrapped in SCSI ATA PASS THROUGH commands) to get information about the disk. If this fails, just fall back to running usb_id since it could be the device isn't an ATA device at all or the device doesn't have a SAT layer. This extra information is nice to have as it indicates if it is suitable to send e.g. SMART commands to the disk, whether the disk supports power management and so on. Additionally, the VPD and serial number returned by ata_id is usually more accurate as it stems from the disk itself instead of the enclosure. Note that udisks has been doing this for a while KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="usb", ENV{DEVTYPE}=="disk", IMPORT{program}="udisks-probe-ata-smart $tempnode" so this change shouldn't be too disruptive (udisks-probe-ata-smart also sends ATA commands via the ATA PASS THROUGH command). Signed-off-by: David Zeuthen <davidz@redhat.com>
2011-03-23rules: run ata_id only on SPC-3 or later optical drivesKay Sievers
2011-02-1560-persistent-input.rules: Do not create duplicate linksMartin Pitt
Commit 5e9eb156c added new symlinks for multi-interface USB input devices. However, we do not actually need the one for interface number "00", as we already have the symlink without the interface number.
2011-02-1560-persistent-input.rules: Support multiple interfacesMartin Pitt
Create /dev/input/by-id symlinks containing the USB interface number so that each interface in a multi-interface USB input device gets its own symlink. Thanks to a7x <ubuntu-a7x@scientician.org>! https://launchpad.net/bugs/626449
2011-01-25extras: add rules for qemu guestsGerd Hoffmann
These patches enable usb autosuspend for the qemu emulated HID devices. This reduces the cpu load for idle guests with a hid device attached because the linux kernel will suspend the usb bus then and qemu can stop running a 1000 Hz to emulate the (active) UHCI controller. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2010-12-10udevd: always create /dev/{char,block}/$major:$minorKay Sievers
2010-11-30rules: revert bsg use until the event ordering problem is sorted outKay Sievers
The bsg devices node are created after the LUN, so we fail in the hotplug case, but succeed at coldplug, and create inconsistent data that way. The bsg device event order will need to be sorted out, by changing the kernel.
2010-11-24rules: drop OSS audio ruleKay Sievers
2010-11-24rules: 78-sound-card - remove specific hardware matches, they do not belong hereKay Sievers
2010-11-04Use ata_id, not scsi_id, on ATAPI devicesDavid Zeuthen
The major benefit here, is that we get the ATAPI device serial number. With SCSI ID we didn't get this since it's not part of the SCSI INQUIRY command. Specifically this means that we get symlinks to empty optical drives, e.g. /dev/disk/by-id/ata-VBOX_CD-ROM_VB2-01700376 which we didn't get earlier. So this is a major win. Also make ata_id work on CD-ROM devices when using /dev/bsg nodes so this works on both the scsi_device as well as the block device. We do this, basically, by issuing the ATA IDENTIFY PACKET DEVICE command instead of the ATA IDENTIFY command. We also use 16-byte pass-through ATA passthrough instead of 12-byte passthrough to avoid clashing with the MMC BLANK command. This means that we get this output # udevadm info -q all -p /sys/devices/pci0000:00/0000:00:01.1/host3/target3:0:0/3:0:0:0 P: /devices/pci0000:00/0000:00:01.1/host3/target3:0:0/3:0:0:0 E: UDEV_LOG=3 E: DEVPATH=/devices/pci0000:00/0000:00:01.1/host3/target3:0:0/3:0:0:0 E: DEVTYPE=scsi_device E: DRIVER=sr E: MODALIAS=scsi:t-0x05 E: SUBSYSTEM=scsi E: ID_ATA=1 E: ID_TYPE=cd E: ID_BUS=ata E: ID_MODEL=VBOX_CD-ROM E: ID_MODEL_ENC=VBOX\x20CD-ROM\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x 20\x20\x20\x20\x20\x20\x20 E: ID_REVISION=1.0 E: ID_SERIAL=VBOX_CD-ROM_VB2-01700376 E: ID_SERIAL_SHORT=VB2-01700376 instead of just # udevadm info -q all -p /sys/devices/pci0000:00/0000:00:01.1/host3/target3:0:0/3:0:0:0 P: /devices/pci0000:00/0000:00:01.1/host3/target3:0:0/3:0:0:0 E: UDEV_LOG=3 E: DEVPATH=/devices/pci0000:00/0000:00:01.1/host3/target3:0:0/3:0:0:0 E: DEVTYPE=scsi_device E: DRIVER=sr E: MODALIAS=scsi:t-0x05 E: SUBSYSTEM=scsi E: ID_SCSI=1 E: ID_VENDOR=VBOX E: ID_VENDOR_ENC=VBOX\x20\x20\x20\x20 E: ID_MODEL=CD-ROM E: ID_MODEL_ENC=CD-ROM\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20 E: ID_REVISION=1.0 E: ID_TYPE=cd Signed-off-by: David Zeuthen <davidz@redhat.com>
2010-10-30Run scsi_id and ata_id on the scsi_device objectDavid Zeuthen
In a multi-initiator setup, the HBA may very well export a SCSI device for a device that another initiator has already logged into. But since another initiator has already logged in, the kernel will not create a block device. Note that this is also the case for some RAID HBAs - for example, the LSI 1068 series cards will export a SCSI device for a disk that is in use by the HBAs RAID engine (no block device will be created here). Running scsi_id and ata_id on the actual SCSI device means that we can inquire the capabilities of the device. For example, we can check whether ID_ATA_FEATURE_SET_SMART and ID_ATA_FEATURE_SET_SMART_ENABLED is set and, if so, periodically poll the SMART status of the disk. Even when other initiators has claimed the disk and if the disk is in use by the RAID engine of the HBA. Note that we run scsi_id and ata_id on /dev/bsg/* nodes - this is safe to do because the scsi core guarantees that the bsg device has been created before the actual add uevent for the scsi_device is emitted. Since the block device is a direct child of the scsi_device we can avoid running scsi_id and ata_id again by simply importing the resulting ID_* properties from the parent. Signed-off-by: David Zeuthen <davidz@redhat.com>
2010-09-21fix various syntax errors in rulesMartin Pitt
2010-07-12rules: remove firewire rules for deprecated driversKay Sievers
2010-07-12rules: add more FireWire IDs: Point Grey IIDC; AV/C + vendor uniqueStefan Richter
1. IIDC cameras from Point Grey use the vendor OUI as Specifier_ID instead of the 1394 TA's OUI but are otherwise fully compliant to the IIDC spec. Their device files should be accessible like those of any other IIDC cameras. 2. Originally, the Software_Version of devices that implement FCP (IEC 61883-1 Function Control Protocol) was meant to be a bitmap of all command sets that an FCP capable unit supports. Bitmap flags are defined for AV/C, CAL, EHS, HAVi, and vendor unique command sets. Software_Version was revised to be a simple identifier instead, and devices that support several command sets were meant to instantiate one unit directory for each command set. Still, some devices with the flags for AV/C and vendor unique command sets combined were released (but apparently no devices with any other flag combinations). These rare but existing AV/C + vendor unique devices need to be accessible just like plain AV/C devices. Side notes: - Many AV/C devices make use of the Vendor Dependent AV/C command, but this is unrelated to vendor unique FCP command sets. - Here are all standardized FireWire protocol identifiers that I know of, listed as Specifier_ID:Software_Version | specifier | protocol. 0x00005e:0x000001 | IANA | IPv4 over 1394 (RFC 2734) 0x00005e:0x000002 | IANA | IPv6 over 1394 (RFC 3146) 0x00609e:0x010483 | INCITS | SBP-2 (or SCSI command sets over SBP-3) 0x00609e:0x0105bb | INCITS | AV/C over SBP-3 0x00a02d:0x010001 | 1394 TA | AV/C (over FCP) 0x00a02d:0x010002 | 1394 TA | CAL 0x00a02d:0x010004 | 1394 TA | EHS 0x00a02d:0x010008 | 1394 TA | HAVi 0x00a02d:0x014000 | 1394 TA | Vendor Unique 0x00a02d:0x014001 | 1394 TA | Vendor Unique and AV/C (over FCP) 0x00a02d:0x000100 | 1394 TA | IIDC 1.04 0x00a02d:0x000101 | 1394 TA | IIDC 1.20 0x00a02d:0x000102 | 1394 TA | IIDC 1.30 0x00a02d:0x0A6BE2 | 1394 TA | DPP 1.0 0x00a02d:0x4B661F | 1394 TA | IICP 1.0 For now we are only interested in udev rules for AV/C and IIDC. Reported-by: Damien Douxchamps <ddsf@douxchamps.net> (Point Grey IIDC ID) Reported-by: Clemens Ladisch <clemens@ladisch.de> (AV/C + vendor unique ID) Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2010-07-0860-persistent-storage-tape.rules: make own by-path symlink for nst tapesHarald Hoyer
2010-07-0760-persistent-storage-tape: s/path_id.sh/path_id/Harald Hoyer
2010-07-07rules: tape - remove WAIT_FOR instruction and don't export BSG_DEVKay Sievers
2010-06-29Add virtio-blk by-id rules based on 'serial' attributeRyan Harper
Using virtio-blk serial attributes add rules to extract drive serial numbers and generate by-id links for the block device and partitions. With these rules added, we now see the following symlinks in disk/by-id % ls -al /dev/disk/by-id | grep vdb lrwxrwxrwx. 1 root root 9 Jun 1 22:09 virtio-QM00001 -> ../../vda lrwxrwxrwx. 1 root root 10 Jun 1 22:09 virtio-QM00001-part1 -> ../../vda1 Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
2010-06-21delete last distro specific rulesKay Sievers
2010-06-17Fix usb printer rule for multiple USB interfacesMartin Pitt
Commit f61e72d89 failed to match for the case where an USB printer has multiple interfaces, such as ID_USB_INTERFACES=:ffffff:070102: Thanks to Pablo Mazzini for spotting this!
2010-05-30rules: add misc/30-kernel-compat.rulesKay Sievers
2010-05-30rules: SUSE - move last distro rule to packageKay Sievers
2010-05-30rules: rename packages -> archKay Sievers
2010-05-28rules: delete pilot rules and remove redhat directoryKay Sievers
2010-05-27rules: add -v to modprobe calls to be able see what will be loadedKay Sievers
2010-05-2740-redhat.rules: removed fileHarald Hoyer
2010-05-25rules: mount fuse control filesystemKay Sievers
2010-05-25rules: optical drives - use ID_CDROM_MEDIA_TRACK_COUNT_DATAKay Sievers
We should not access non-data optical media, ans skip things like blkid. It will cause errors for some drives. https://bugzilla.kernel.org/show_bug.cgi?id=15757
2010-05-20create static nodes provided by kernel modules to allow module autoloadingKay Sievers
2010-05-14rules: SUSE - delete device-mapper rulesKay Sievers
2010-05-03rules: Gentoo - remove old devfs compat rulesMatthias Schwarzott
2010-04-13rules: call modprobe on all events but "remove"Kay Sievers
2010-04-12replace "add|change" with "!remove"Kay Sievers
2010-04-12rules: we do not have static devices which are renamedKay Sievers
2010-04-12rules: delete outdated packagees rulesKay Sievers
2010-03-22rules: virtio - fix is to check if the 'name' attribute is presentAmit Shah
Fix provided by Harald Hoyer. Signed-off-by: Amit Shah <amit.shah@redhat.com>
2010-03-16rules: input - create by-path/ links for pci devicesMarco d'Itri
2010-03-04Fix virtio-ports rule to use $attr instead of $ATTRAmit Shah
Newer udev versions don't understand $ATTR. Signed-off-by: Amit Shah <amit.shah@redhat.com> Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
2010-01-21rules: Add symlink rule for virtio portsAmit Shah
virtio ports spawned by the virtio_console.c driver can have 'names' assigned to them by hosts. The ports are distinguishable using these names. Make a rule to create a symlink to the chardev associated for a port with a name. The symlink created is: /dev/virtio-ports/org.libvirt.console0 -> /dev/vport0p0 if the first port for the first device was given a name of 'org.libvirt.console0'. Signed-off-by: Amit Shah <amit.shah@redhat.com>
2010-01-21rulews: suse - add do-not-load-KMS-modules rulesEgbert Eich
2009-12-15rules: add "block" match to floppy ruleKay Sievers
2009-12-15floppy: fix rule to create additional floppy device nodesKay Sievers
2009-12-04Export ID_WWN_VENDOR_EXTENSION and ID_WWN_WITH_EXTENSIONDavid Zeuthen
Some SCSI devices use the same WWN and have a WWN extension that we need to take into account when creating the /dev/disk/by-id/wwn symlinks. Thus, introduce ID_WWN_WITH_EXTENSION. This property will contain either the WWN (if no extension is present) or the WWN with the vendor extension appended. Example: # /lib/udev/ata_id/ata_id --export /dev/sda |grep WWN ID_WWN=0x5001517387d61905 ID_WWN_WITH_EXTENSION=0x5001517387d61905 # /lib/udev/scsi_id --whitelisted --export -d /dev/sdb |grep WWN ID_WWN=0x600508b400105df7 ID_WWN_VENDOR_EXTENSION=0x0000e00000d80000 ID_WWN_WITH_EXTENSION=0x600508b400105df70000e00000d80000 # /lib/udev/scsi_id --whitelisted --export -d /dev/sdc |grep WWN ID_WWN=0x600508b400105df7 ID_WWN_VENDOR_EXTENSION=0x0000e00000db0000 ID_WWN_WITH_EXTENSION=0x600508b400105df70000e00000db0000 Signed-off-by: David Zeuthen <davidz@redhat.com>
2009-11-30input: Deprecate ENV{ID_CLASS}Martin Pitt
The ID_CLASS property on input devices has been replaced by the more accurate set of flags ID_INPUT_{KEYBOARD,KEYS,MOUSE,TOUCHPAD,TABLET,JOYSTICK}. Rewrite 60-persistent-input.rules to use the new properties now and not export ID_CLASS any more, since it is not used by anything else any more. Add note about migration to NEWS, in case this is being used in custom rules.
2009-11-30extras: Add input_idMartin Pitt
input_id probes input/event devices for their class (keyboard, keys, mouse, touchpad, tablet, joystick). This is based on the corresponding hal code in hald/linux/device.c, input_test_{abs,rel,...}. This should provide enough functionality to get hal-less X.org working (which in particular needs to know exactly which devices are touchpads). Replace the brittle hacks in 60-persistent-input.rules with checking for the new ID_INPUT_* flags. This keeps the old ID_CLASS properties for now (but they are to be removed later on). Note: The current code has several hacks still, which are to be replaced with proper libudev calls later on.
2009-11-25Also create /dev/disk/by-id/wwn-0x..-part%n symlinks for partitionsDavid Zeuthen
# ls -l /dev/disk/by-id/wwn-0x500 wwn-0x500000e01b83f360 wwn-0x50014ee25578924f-part1 wwn-0x500000e01b83f440 wwn-0x50014ee25578924f-part2 wwn-0x500000e01b83f520 wwn-0x50014ee2aabdc41b wwn-0x500000e01b843d90 wwn-0x50014ee2aabdc41b-part1 wwn-0x5000c50016359fd1 wwn-0x50014ee2aabdc41b-part2 wwn-0x50014ee0016eb4f5 wwn-0x5001517958cabd77 wwn-0x50014ee0016eb572 wwn-0x5001517958cabd77-part1 wwn-0x50014ee055d524e2 wwn-0x5001517958cabd77-part2 wwn-0x50014ee055d524e2-part1 wwn-0x5001517958d6a74e wwn-0x50014ee055d524e2-part2 wwn-0x5001517958d6a74e-part1 wwn-0x50014ee1003d9c50 wwn-0x5001517958d6a74e-part2 wwn-0x50014ee1003d9c50-part1 wwn-0x50024e9200c0c693 wwn-0x50014ee1003d9c50-part2 wwn-0x50024e9200c0c694 wwn-0x50014ee1aac30d4e wwn-0x50024e9200c0c6ae wwn-0x50014ee1aac30d4e-part1 wwn-0x50024e9200c0c6af wwn-0x50014ee1aac30d4e-part2 wwn-0x50024e9200c0c6b0 wwn-0x50014ee25578924f wwn-0x50024e9200c0c6b1 Signed-off-by: David Zeuthen <davidz@redhat.com>
2009-11-25Create /dev/disk/by-id/wwn-0x... symlinksDavid Zeuthen
Now that both ata_id and scsi_id exports the World Wide Name in the ID_WWN property, use this to create persistent symlinks. Example /dev/disk/by-id/wwn-0x500000e01b83f360 -> ../../sdn /dev/disk/by-id/wwn-0x500000e01b83f440 -> ../../sdm Signed-off-by: David Zeuthen <davidz@redhat.com>
2009-11-19rules: remove support for IDE (hd*) devicesKay Sievers
The kernel IDE drivers get deprecated now: http://article.gmane.org/gmane.linux.ide/43151 Almost everybody has switched over to libata devices long ago. Recent services do not work with the now deprecated IDE drivers at all and require libata drivers and SCSI infrastructure. Systems who care about the old stuff need to add the rules to the compat rules.
2009-11-12rules: set mode of floppy device nodes to 0660Kay Sievers