Commit Graph

119 Commits

Author SHA1 Message Date
Adam Goode
ed2fa53c4a rules: Add more firewire properties for sound, to be closer to USB and PCI
USB and PCI soundcards have a nice set of ID_* properties. It would
be handy for firewire soundcards to have the same.

Note that this removes the explicit setting of ID_ID in the firewire
conditional. Because we are now setting ID_SERIAL, ID_ID will come
from later in the file.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-05-03 13:58:03 -04:00
Adam Goode
b743095184 rules: Don't use ALSA card id in ID_ID
The ALSA id sysattr is generated by the sound subsystem and is not
a stable identifier. It is generated though some string manipulation
then made unique if there is a conflict. This means that it is
enumeration-dependent and shouldn't be used for ID_ID.

If ID_ID is supposed to be system-unique, it is not already since
for firewire it is generated from the guid and there are broken
firewire devices that have duplicate guids across devices.

This is tracked for PulseAudio at
https://bugs.freedesktop.org/show_bug.cgi?id=90129.

This is essentially a revert of systemd
ed1b2d9fc7.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-05-03 13:57:26 -04:00
Zbigniew Jędrzejewski-Szmek
37668c896a rules: finish incomplete rename
Fixup for 51c0c2869845a058268d54c3111d55d0dd485704.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-04-12 13:14:46 -04:00
Matthew Garrett
32610f8a5f rules: fix tests for removable state
We only care about whether our direct parent is removable, not whether any
further points up the tree are - the kernel will take care of policy for
those itself. This enables autosuspend on devices where the root hub reports
that its removable state is unknown.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-04-12 13:13:28 -04:00
Anthony G. Basile
c5bf58cafc udev: builtin-keyboard: add support for EVDEV_ABS_*
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.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-04-12 13:09:45 -04:00
Harald Hoyer
288fc0a1fb 50-udev-default.rules: don't run anything but REMOVE_CMD on remove
we don't want to run usb_id and input_id on ACTION=="remove"

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-04-12 11:22:21 -04:00
Mantas Mikulėnas
8f2f61f0a3 rules: storage - support MemoryStick (non-Pro) cards
These are handled by a different driver than MemoryStick Pro.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-04-12 11:21:14 -04:00
Kay Sievers
c0823e9525 rules: storage - whitelist partitioned MS & MMC devices
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.)

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-04-12 11:20:15 -04:00
Tom Gundersen
bf6e9fab7b rules: storage - don't apply rules to remove events
This line was accidentally lost in 52346b5f5424.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-04-12 11:19:21 -04:00
David Herrmann
7457718859 rules: avoid 'device/' accesses
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).

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-04-12 11:18:38 -04:00
David Herrmann
d8e2e4c3a4 rules: fix input-name for keyboard rules
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!

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-04-12 11:18:11 -04:00
Kay Sievers
a45a9a1c32 rules: keyboard - prefix "atkbd" match strings like we prefix the "name" strings
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-03-18 17:06:01 -04:00
Anthony G. Basile
73c6fdf901 rules: remove unsed net rules
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-03-18 17:05:36 -04:00
Kay Sievers
bf856b7c02 rules: keyboard - remove platform from comments + prefix "atkbd" match strings like we prefix the "name" strings
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-03-18 16:21:02 -04:00
David Herrmann
265a49fca9 rules: drop redundant match
The 60-keyboard rules are already guared by KERNEL!="event*" bail-outs,
therefore, KERNELS="input*" is always true. Drop it!

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-03-18 16:05:33 -04:00
David Herrmann
4da04e3dde hwdb: support bluetooth keyboard fixups
Drop the restriction not to match on bluetooth devices. They are supported
just fine!

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-03-18 16:04:31 -04:00
David Herrmann
bd4a68b3fb hwdb: convert to generic input-modalias matches
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.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-03-18 16:03:08 -04:00
Kay Sievers
b45bb6733b rules: merge tty and serial rules file
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-03-18 15:55:48 -04:00
Kay Sievers
51ed849fb0 rules: merge udev-late.rules files
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-03-18 15:44:36 -04:00
Kay Sievers
c1b14d45a9 rules: default - remove legacy agpgart
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-03-18 15:16:06 -04:00
Kay Sievers
586a3da832 rules: move block device rules to its own rules file
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-03-18 15:13:47 -04:00
Kay Sievers
d2313434ac rules: storage - relace blacklist with explicit whitelist
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.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-03-18 15:09:38 -04:00
Martin Pitt
1d1660eb1c rules: simplify mmc RPMB handling
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.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-03-01 13:43:38 -05:00
Martin Pitt
28860e0e7f rules: Fix by-path of mmc RPMB partitions and don't blkid them
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

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-03-01 13:43:00 -05:00
Anthony G. Basile
298f6c8128 src/udev/udev-builtin.c: remove legacy optional keymap
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-02-11 18:40:16 -05:00
Anthony G. Basile
79bf63bcff src/udev/udev-builtin-kmod.c: remove the modprobe alt to kmod code 2015-02-11 18:06:47 -05:00
Anthony G. Basile
691df3c5c3 rule_generator: remove legacy code 2015-02-11 15:44:15 -05:00
Peter Hutterer
b51ba787a3 hwdb: add a touchpad hwdb
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.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-02-08 08:21:43 -05:00
Martin Pitt
681b0e3876 rules: clean up stale CD drive mounts after ejection
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

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2015-02-08 08:18:23 -05:00
Peter Hutterer
fd378a7680 hwdb: add rule and first entry for PS/2 mice
https://bugs.freedesktop.org/show_bug.cgi?id=87037

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-12-29 11:42:46 -05:00
Peter Hutterer
3481b5b976 hwdb: add a new db for the DPI/frequency settings of mice
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/)

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-11-28 08:12:30 -05:00
Anthony G. Basile
77e2c6addb rules/50-firmware.rules: remove firmware rules
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-31 16:45:12 -04:00
Kay Sievers
3b71759460 udev: remove userspace firmware loading support
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-09-13 08:27:22 -04:00
Tom Gundersen
405bccb70b udev: import the full db on MOVE events for devices without dev_t
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-09-10 21:30:25 -04:00
Mantas Mikulėnas
e950313484 rules: net-setup-link - remove stray linebreak
If not backslash-escaped, it splits the rule in two.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-09-10 21:06:17 -04:00
Tom Gundersen
30a0c571a9 rules: net-setup-link - preserve ID_NET_LINK_FILE and ID_NET_NAME after MOVE
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-09-10 21:05:42 -04:00
Anthony G. Basile
602fd80cd6 rules: bring up to date
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-08-05 10:14:50 -04:00
Tom Hirst
b856641839 rules: don't enable usb pm for Avocent devices
The Avocent KVM over IP devices doesn't work correctly with USB power
management enabled.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-07-02 09:42:05 -04:00
Kay Sievers
37f39cae3b rules: add loop-control and btrfs-control to "disk" group
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-06-19 08:01:37 -04:00
Kay Sievers
5e3ab83ab3 udev: assign group "input" to all input devices
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-06-15 08:14:30 -04:00
Kay Sievers
b4df39ea74 udev: stop using "floppy" group
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-06-15 08:13:39 -04:00
Anthony G. Basile
28b8a50320 rules: retain, but do not install 80-net-setup-link.rules
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-03-02 09:42:54 -05:00
Anthony G. Basile
c51c39f7a9 Enable some missed udev rules
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-02-28 17:14:31 -05:00
Lukas Nykryn
53f2bc3b0d udev/rules: setup tty permissions and group for sclp_line, ttysclp and 3270/tty
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-02-28 16:53:26 -05:00
Tom Gundersen
6a1fd0c8a9 udev: net_setup - import ID_NET_DRIVER
This will do until all net properties are imported.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-02-22 15:12:08 -05:00
Jan Engelhardt
547454da02 doc: update punctuation
Resolve spotted issues related to missing or extraneous commas, dashes.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-02-21 10:06:18 -05:00
Jóhann B. Guðmundsson
96d6c22b3b udev: add zram to the list of devices inappropriate for symlinks
udev seems to have a race condition with swapon to see which can open
/dev/zram0 first, causing swapon to fail. Seems to be most noticeable
on arm devices one out of every 7 times or something.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-02-09 08:14:56 -05:00
Anthony G. Basile
248ea81923 rules: bring up to date with upstream.
Note: some of these rules are premature because we have yet
to add udev_builtin_net_link.  These commits were authored by

	Kay Sievers
	David Herrmann
	Tom Gundersen
	Lennart Poettering
	Bastien Nocera

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-01-11 20:46:58 -05:00
Harald Hoyer
d153ba235b 80-net-name-slot.rules: only rename network interfaces on ACTION=="add"
Otherwise systemd-udevd will rename on "change" and "move" events,
resulting in weird renames in combination with biosdevname

systemd-udevd[355]: renamed network interface eth0 to em1
systemd-udevd[355]: renamed network interface eth1 to p3p2
systemd-udevd[357]: renamed network interface eth0 to p3p1
systemd-udevd[429]: renamed network interface p3p2 to ens3f1
systemd-udevd[428]: renamed network interface p3p1 to ens3f0
systemd-udevd[426]: renamed network interface em1 to enp63s0

or

systemd-udevd[356]: renamed network interface eth0 to em1
systemd-udevd[356]: renamed network interface eth0 to p3p1
systemd-udevd[420]: renamed network interface p3p1 to ens3f0
systemd-udevd[418]: renamed network interface em1 to enp63s0
systemd-udevd[421]: renamed network interface eth1 to p3p1
2013-09-10 05:30:35 -04:00
Ian Stakenvicius
e2f82dc60f fix build system error introduced in c8cbcb8899
Signed-off-by: Ian Stakenvicius <axs@gentoo.org>
2013-08-01 16:20:30 -04:00