summaryrefslogtreecommitdiff
path: root/rules
AgeCommit message (Collapse)Author
2015-04-11udev: builtin-keyboard: add support for EVDEV_ABS_*Peter Hutterer
Parse properties in the form EVDEV_ABS_00="<min>:<max>:<res>:<fuzz>:<flat>" and apply them to the kernel device. Future processes that open that device will see the updated EV_ABS range. This is particularly useful for touchpads that don't provide a resolution in the kernel driver but can be fixed up through hwdb entries (e.g. bcm5974). All values in the property are optional, e.g. a string of "::45" is valid to set the resolution to 45. The order intentionally orders resolution before fuzz and flat despite it being the last element in the absinfo struct. The use-case for setting fuzz/flat is almost non-existent, resolution is probably the most common case we'll need. To avoid multiple hwdb invocations for the same device, replace the hwdb "keyboard:" prefix with "evdev:" and drop the separate 60-keyboard.rules file. The new 60-evdev.rules is called for all event nodes anyway, we don't need a separate rules file and second callout to the hwdb builtin.
2015-03-2750-udev-default.rules: don't run anything but REMOVE_CMD on removeHarald Hoyer
we don't want to run usb_id and input_id on ACTION=="remove"
2015-03-24rules: storage - support MemoryStick (non-Pro) cardsMantas Mikulėnas
These are handled by a different driver than MemoryStick Pro.
2015-03-24rules: storage - whitelist partitioned MS & MMC devicesKay Sievers
On Mon, Mar 23, 2015 at 8:55 AM, Mantas Mikulėnas <grawity@gmail.com> wrote: > On Tue, Mar 17, 2015 at 11:50 PM, Kay Sievers <kay@vrfy.org> wrote: >> On Tue, Mar 17, 2015 at 5:00 PM, Mantas Mikulėnas <grawity@gmail.com> >> wrote: >> > Accidentally dropped in 1aff20687f4868575. >> > --- >> > rules/60-persistent-storage.rules | 2 +- >> > 1 file changed, 1 insertion(+), 1 deletion(-) >> >> > +KERNEL!="loop*|mmcblk[0-9]*|mspblk[0-9]*|nvme*|sd*|sr*|vd*", >> > GOTO="persistent_storage_end" >> >> We can't do that, we need to ignore the mmc*rpmb devices: >> >> http://cgit.freedesktop.org/systemd/systemd/commit/?id=b87b01cf83947f467f3c46d9831cd67955fc46b9 >> >> Maybe "mmcblk*[0-9]" will work? > > Yeah, that would probably work (the names are like mmcblk0p1 etc.)
2015-03-24rules: storage - don't apply rules to remove eventsTom Gundersen
This line was accidentally lost in 52346b5f5424.
2015-03-20rules: avoid 'device/' accessesDavid Herrmann
We should never access parents, as the sysfs hierarchy is in no way stable. Use KERNELS== etc. to match on a parent, then access it via $attr{} (which accesses the matching device, not the current device).
2015-03-20rules: fix input-name for keyboard rulesDavid Herrmann
We match on the evdev node, but only the parent has a "name" attribute. Use $attr{device/name} to access it. This is borked since 2013, I wonder how that ever worked? Maybe this will suddenly fix all the DMI-based key detections. Thanks to Peter Hutterer for catching this!
2015-03-16rules: keyboard - prefix "atkbd" match strings like we prefix the "name" stringsKay Sievers
2015-03-16rules: keyboard - only search the "input" subsystem for the modaliasKay Sievers
2015-03-16Revert "hwdb: merge atkbd into platform matches"David Herrmann
This reverts commit ba76ee29bc02879fb42c048132af8889b00220d5. As it turns out, we need to match on driver=atkbd to not load the fixups on any plugged USB devices. That is, whenever you use "name:<name>:dmi:<dmi>" style matches, you better provide a name or you're screwing things up.
2015-03-16rules: keyboard - remove "platform" from commentsKay Sievers
2015-03-16hwdb: merge atkbd into platform matchesDavid Herrmann
Currently, we always run hwdb 'keyboard:name:$attr{name}:$attr{[dmi/id]modalias}' as last step to match keyboards. Therefore, if nothing else matched so far, we still try the device-name+dmi combination. However, we have a special atkbd rule which is only run for atkbd as: hwdb 'keyboard:$attr{[dmi/id]modalias}' This is redundant, as we already pass the same information to hwdb in the last fallback step. This patch converts the hwdb "keyboard:dmi:*" matches to "keyboard:name:*:dmi:*" matches and drops the redundant rule.
2015-03-16rules: drop redundant matchDavid Herrmann
The 60-keyboard rules are already guared by KERNEL!="event*" bail-outs, therefore, KERNELS="input*" is always true. Drop it!
2015-03-16hwdb: support bluetooth keyboard fixupsDavid Herrmann
Drop the restriction not to match on bluetooth devices. They are supported just fine!
2015-03-16hwdb: convert to generic input-modalias matchesDavid Herrmann
There is no reason to match on usb-modaliases, if we can use the input-modalias to achieve the same. This commit changes the keyboard-lookups to not be restricted to USB, but pass all modaliases to the hwdb. Furthermore, we convert all usb:* matches to input:* matches, thus getting rid of any ambiguity if multiple usb devices are chained (or a bluetooth device / etc. is on top). Note that legacy keyboard:usb:* matches are still supported, but deprecated. If possible, please use keyboard:input:* matches instead. This is a required step to make other input devices work with 60-keyboard.hwdb. Other bus-types are often chained on usb and we want to avoid any ambiguity here if we incorrectly match on a USB hub.
2015-03-12rules: merge tty and serial rules fileKay Sievers
2015-03-12rules: merge udev-late.rules filesKay Sievers
2015-03-12rules: default - remove legacy agpgartKay Sievers
2015-03-12rules: systemd - remove legacy "ram" from block device blacklistKay Sievers
2015-03-12rules: move block device rules to its own rules fileKay Sievers
2015-03-12rules: storage - relace blacklist with explicit whitelistKay Sievers
Newly added kernel drivers repeatedly pass our blacklist and cause trouble for the devices, because they do not expect to be examined by udev's default rules which include blkid. This turns the blacklist into a whitelist. Device type which need support for additional symlinks need to be added to the whitelist now. Note, that the by-id, by-path symlinks are only intended for hotpluggable devices. There is no reason for exotic, or for statically configured devices to provide them.
2015-02-13rules: simplify mmc RPMB handlingMartin Pitt
We don't actually want a by-path/ symlink for MMC RPMB devices, so just add them to the blacklist. This will prevent creating wrong by-path links and blkid'ing those.
2015-02-13rules: Fix by-path of mmc RPMB partitions and don't blkid themMartin Pitt
Linux 3.10+ exposes RPMB (Replay Protected Memory Block) partitions of MMC devices [1] ; trying to read them with blkid or other unspecific means will cause kernel buffer I/O errors and timeouts. So don't run blkid on these. Also ensure that /dev/disk/by-path creates proper symlinks and exposes the -rpmb partition separately, instead of letting the "normal" partition symlink point to the rpbm device (this is a race condition). [1] http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=090d25fe224c0 https://launchpad.net/bugs/1333140
2015-01-29hwdb: add a touchpad hwdbPeter Hutterer
Currently used to tag devices in the new Lenovo *50 series and the X1 Carbon 3rd. These laptops re-introduced the physical trackpoint buttons that were missing from the *40 series but those buttons are now wired up to the touchpad. The touchpad now sends BTN_0, BTN_1 and BTN_2 for the trackpoint. The same button codes were used in older touchpads that had dedicated scroll up/down buttons. Input drivers need to work around this and thus know what they're dealing with. For the previous gen we introduced INPUT_PROP_TOPBUTTONPAD in the kernel, but the resulting mess showed that these per-device quirks should really live in userspace. The list currently includes the X1 Carbon 3rd PNPID, others will be added as get to know which PNPID they have.
2015-01-28rules: clean up stale CD drive mounts after ejectionMartin Pitt
Ejecting a CD with the hardware drive button only causes a change uevent, but the device node stays around (just without a medium). Pick up these uevents and mark the device as SYSTEMD_READY=0 on ejection, so that systemd stops the device unit and consequently all mount units on it. On media insertion, mark the device as SYSTEMD_READY=1 again. https://bugs.freedesktop.org/show_bug.cgi?id=72206 https://bugzilla.opensuse.org/show_bug.cgi?id=909418 https://bugs.archlinux.org/task/42071 https://bugs.launchpad.net/bugs/1168742
2015-01-15udev: merge evdev_id into input_idDavid Herrmann
There is no reason to keep both separated. We want to avoid API specific tools and instead keep generic terms like 'input'.
2015-01-11udev: Add builtin/rule to export evdev information as udev propertiesCarlos Garnacho
This rule is only run on tablet/touchscreen devices, and extracts their size in millimeters, as it can be found out through their struct input_absinfo. The first usecase is exporting device size from tablets/touchscreens. This may be useful to separate policy and application at the time of mapping these devices to the available outputs in windowing environments that don't offer that information as readily (eg. Wayland). This way the compositor can stay deterministic, and the mix-and-match heuristics are performed outside. Conceivably, size/resolution information can be changed through EVIOCSABS anywhere else, but we're only interested in values prior to any calibration, this rule is thus only run on "add", and no tracking of changes is performed. This should only remain a problem if calibration were automatically applied by an earlier udev rule (read: don't). v2: Folded rationale into commit log, made a builtin, set properties on device nodes themselves v3: Use inline function instead of macro for mm. size calculation, use DECIMAL_STR_MAX, other code style issues v4: Made rule more selective v5: Minor style issues, renamed to a more generic builtin, refined rule further.
2014-12-24hwdb: add rule and first entry for PS/2 micePeter Hutterer
https://bugs.freedesktop.org/show_bug.cgi?id=87037
2014-11-27hwdb: add a new db for the DPI/frequency settings of micePeter Hutterer
Pointer acceleration for relative input devices (mice, trackballs, etc.) applies to the deltas of the device. Alas, those deltas have no physical reference point - a delta of 10 may be caused by a large movement of a low-dpi mouse or by a minute movement of a high-dpi mouse. Which makes pointer acceleration a bit useless and high-dpi devices essentially unusable. In an ideal world, we could read the DPI from the device directly and work with that. In the world we actually live in, we need to compile this list manually. This patch introduces the database, with the usual match formats and a single property to be set on a device: MOUSE_DPI That is either a single value for most mice, or a list of values for mice that can change resolution at runtime. The exact format is detailed in the hwdb file. Note that we're explicitly overshooting the requirements we have for libinput atm. Frequency could be detected in software and we don't actually use the list of multiple resolutions (because we can't detect when they change anyway). However, we might as well collect those values from the get-go, adding/modifying what will eventually amount to hundreds of entries is a bit cumbersome. Note: we rely on the input_id builtin to tag us as mouse first, ordering of the rules is important. (David: fixed up typos and moved hwdb file into ./hwdb/)
2014-11-21units: make sure rfkill service is bount to the actual hardwareLennart Poettering
2014-10-07/proc/sys prefixes are not necessary for sysctl anymoreZbigniew Jędrzejewski-Szmek
2014-09-09udev: import the full db on MOVE events for devices without dev_tTom Gundersen
2014-09-08rules: net-setup-link - remove stray linebreakMantas Mikulėnas
If not backslash-escaped, it splits the rule in two.
2014-09-08rules: net-setup-link - preserve ID_NET_LINK_FILE and ID_NET_NAME after MOVETom Gundersen
2014-09-01rules: remove firmware loading rulesZbigniew Jędrzejewski-Szmek
blueness> poettering, was there a reason for not removing 50-firmware.rules when you nuked userland firmware loading? Followup for v216-119-gbe2ea723b1.
2014-07-31rules: allow systemd to manage loop device partitionsKevin Wells
SYSTEMD_READY is currently set to 0 for all loop devices (loop[0-9]*) that do not have a backing_file. Partitioned loop devices (ex. loop0p1), however, are matched by this rule and excluded by systemd even though they are active devices. This change adds an additional check to the rule, ensuring that only top level loop devices (loop[0-9]+$) are excluded from systemd.
2014-07-15rules: consistently use "?*" instead of "*?"Kay Sievers
2014-06-27rules: don't enable usb pm for Avocent devicesTom Hirst
The Avocent KVM over IP devices doesn't work correctly with USB power management enabled.
2014-06-18rules: add loop-control and btrfs-control to "disk" groupKay Sievers
2014-06-12udev: assign group "input" to all input devicesKay Sievers
2014-06-11udev: stop using "floppy" groupKay Sievers
2014-05-26udev: keyboard - also hook into "change" eventsKay Sievers
Re-apply the keymaps when "udevadm trigger" is called. Hooking into "add" only would just remove all keymap content from the udev database instead of applying the new config.
2014-03-24rules: update qemu hid rulesGerd Hoffmann
Update comment to be a bit more specific. Change match to blacklist the serial number of the broken devices instead of whitelisting the serial number of the fixed devices. This allows to do something useful with the serial number in the future.
2014-03-13getty: Start getty on 3270 terminals available on Linux on System zHendrik Brueckner
Add the first 3270 terminal device that is associated with the Linux preferred console to the list of virtualization consoles. This is required to automatically start a getty if the conmode=3270 kernel parameter is specified for Linux on z/VM instances. Note that a queued upstream patch also enable the 3270 terminal device if it is associated with the Linux preferred console. How To successfully start agetty on a 3270 terminal, a change in the agetty parameter order is required. Previously, agetty would started like this: /sbin/agetty --keep-baud 3270/tty1 115200,38400,9600 TERM The agetty program interprets the "3270/tty1" as baud rate and fails to start with the "bad speed: 3270/tty1" error message. Fixing this in agetty is more complex rather than reordering the command line parameters like this: /sbin/agetty --keep-baud 115200,38400,9600 3270/tty1 TERM According to agetty sources and "agetty --help", agetty accepts the "tty", "baudrate tty", and "tty baudrate" specifications. P.S. The "tty: Set correct tty name in 'active' sysfs attribute" introduces a change to display the terminal device which is associated with the Linux preferred console. This change helps to let systemd handle this particular case only. Without the changes of this commit, no additional 3270 terminal device can be managed by systemd. https://git.kernel.org/cgit/linux/kernel/git/gregkh/tty.git/commit/?id=723abd87f6e536f1353c8f64f621520bc29523a3
2014-03-11gpt-auto-generator: rename root device node symlink to /dev/gpt-auto-rootLennart Poettering
Before it was placed in /dev/disk/by-id, which makes it a bit too much API. However, it's mostly an implementation detail for now, hence move it out of the stable block device dir.
2014-03-10rules: mark loop device as SYSTEMD_READY=0 if no file is attachedPeter Rajnoha
Check existence of loop/backing_file in sysfs and mark loop devices with SYSTEMD_READY if missing. Such loop files is uninitialized and it's not ready for use yet (there's no file attached).
2014-03-07udev: automatically create a symlink /dev/disk/by-id/gpt-auto-root if ↵Lennart Poettering
there's a suitable root partition
2014-02-27udev/rules: setup tty permissions and group for sclp_line, ttysclp and 3270/ttyLukas Nykryn
2014-02-21udev: net_setup - import ID_NET_DRIVERTom Gundersen
This will do until all net properties are imported.
2014-02-17doc: update punctuationJan Engelhardt
Resolve spotted issues related to missing or extraneous commas, dashes.