chiark / gitweb /
9 years agoudev-acl: add /dev/sgX nodes for CD-ROM
Andrey Borzenkov [Sun, 6 Mar 2011 09:01:22 +0000 (12:01 +0300)]
udev-acl: add /dev/sgX nodes for CD-ROM

Current wine is using /dev/sgX to access CD-ROM devices. Since
distributions switched to using ACL instead of group membership
to control device access, wine is not able to access them.

Add ACL to device nodes that already get GROUP="cdrom".


Signed-off-by: Andrey Borzenkov <>
9 years agolibudev: bump minor version
Kay Sievers [Sat, 5 Mar 2011 05:27:31 +0000 (06:27 +0100)]
libudev: bump minor version

9 years agolibudev: resolve ifindex in udev_device_new_from_id_filename()
Kay Sievers [Sat, 5 Mar 2011 05:26:39 +0000 (06:26 +0100)]
libudev: resolve ifindex in udev_device_new_from_id_filename()

9 years agolibudev: udev_device_get_sysattr_list_entry() update
Kay Sievers [Fri, 4 Mar 2011 22:00:52 +0000 (23:00 +0100)]
libudev: udev_device_get_sysattr_list_entry() update

9 years agotest-libudev: add short options
Kay Sievers [Fri, 4 Mar 2011 21:56:54 +0000 (22:56 +0100)]
test-libudev: add short options

9 years agolibudev: use sysfs attr ilist interface for attribute walk
Thomas Egerer [Fri, 4 Mar 2011 16:06:43 +0000 (17:06 +0100)]
libudev: use sysfs attr ilist interface for attribute walk

Signed-off-by: Thomas Egerer <>
9 years agolibudev: allow to get list of all available sysfs attrs for a device
Thomas Egerer [Fri, 4 Mar 2011 16:06:41 +0000 (17:06 +0100)]
libudev: allow to get list of all available sysfs attrs for a device

Signed-off-by: Thomas Egerer <>
9 years agoRemap Acer WMI touchpad toggle key to F21 used by X
Lee, Chun-Yi [Tue, 1 Mar 2011 11:16:45 +0000 (19:16 +0800)]
Remap Acer WMI touchpad toggle key to F21 used by X

Currently, Acer WMI driver generates KEY_F22 but this
will soon change to KEY_TOUCHPAD_TOOGLE.

X has defined F21 for the purpose of touchpad toggle and other
udev keymaps align with this meaning.  Patch aligns Acer WMI
hotkey drivers with F21.

Tested on Acer TravelMate 8572 notebook using acer-wmi driver.

Cc: Carlos Corbacho <>
Cc: Matthew Garrett <>
Cc: Dmitry Torokhov <>
Cc: Corentin Chary <>
Signed-off-by: Lee, Chun-Yi <>
Signed-off-by: Martin Pitt <>
9 years agocdrom_id: cd_media_toc() extend toc size to 65536
Harald Hoyer [Thu, 24 Feb 2011 15:57:05 +0000 (16:57 +0100)]
cdrom_id: cd_media_toc() extend toc size to 65536

Seems like an iDRAC reports a lot of toc entries.

"For cd_media_toc() will have to be modified to handle larger
tables right now it has an "unsigned char toc[2048]" but the toc
can be up to 65536 bytes long . I got a TOC length of 4610 bytes,
causing cd_media_toc() to fail."

Signed-off-by: Martin Pitt <>
9 years agokeymap: Fix Acer Aspire 5920G media key
Martin Pitt [Sun, 20 Feb 2011 16:58:55 +0000 (17:58 +0100)]
keymap: Fix Acer Aspire 5920G media key

From downstream bug: "In Windows this button launch Acer Arcade or Acer Arcade
Deluxe application - it's media center like XBMC."

9 years agoupdate some comments
Kay Sievers [Tue, 15 Feb 2011 21:27:33 +0000 (22:27 +0100)]
update some comments

9 years agoudevadm: enumerate - update prev pointer properly
Kei Tokunaga [Tue, 15 Feb 2011 09:59:24 +0000 (18:59 +0900)]
udevadm: enumerate - update prev pointer properly

When I tried to boot a system with 256 disks x 4 paths with
device-mapper, udevadm trigger (--type=devices) that was called
from start_udev ended up dumping a core due to a segmentation

In udev_enumerate_get_list_entry(), if it finds the devices that
should be delayed, it calls syspath_add().  If realloc() in
syspath_add() allocates the required memory at a different memory
address, referring prev->len afterward causes the segmentation

Signed-off-by: Kei Tokunaga <>
9 years agov4l_id: Drop videodev.h check again
Martin Pitt [Tue, 15 Feb 2011 16:33:05 +0000 (17:33 +0100)]
v4l_id: Drop videodev.h check again

It only uses v4l2 now.

9 years agov4l_id: remove left-over variable
Kay Sievers [Tue, 15 Feb 2011 16:27:29 +0000 (17:27 +0100)]
v4l_id: remove left-over variable

9 years agov4l_id: kill the v4l1 ioctl
Kay Sievers [Tue, 15 Feb 2011 16:24:32 +0000 (17:24 +0100)]
v4l_id: kill the v4l1 ioctl

Recent kernels do not have v4l1 anymore.

9 years agoMerge branch 'master' of git+ssh://
Kay Sievers [Tue, 15 Feb 2011 16:24:12 +0000 (17:24 +0100)]
Merge branch 'master' of git+ssh:///linux/hotplug/udev

9 years agoDo not build extras with --disable-extras
Martin Pitt [Tue, 15 Feb 2011 15:37:26 +0000 (16:37 +0100)]
Do not build extras with --disable-extras

9 years agoFix building with --disable-extras
Martin Pitt [Tue, 15 Feb 2011 15:31:49 +0000 (16:31 +0100)]
Fix building with --disable-extras

We always need to define automake conditionals, otherwise configure fails with

9 years ago60-persistent-input.rules: Do not create duplicate links
Martin Pitt [Tue, 15 Feb 2011 14:39:42 +0000 (15:39 +0100)]
60-persistent-input.rules: Do not create duplicate links

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.

9 years agoOnly build v4l_id if V4L1 header file is available
Martin Pitt [Tue, 15 Feb 2011 13:20:21 +0000 (14:20 +0100)]
Only build v4l_id if V4L1 header file is available

9 years ago60-persistent-input.rules: Support multiple interfaces
Martin Pitt [Tue, 15 Feb 2011 12:06:18 +0000 (13:06 +0100)]
60-persistent-input.rules: Support multiple interfaces

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 <>!

9 years agoversion bump
Kay Sievers [Thu, 10 Feb 2011 08:23:45 +0000 (09:23 +0100)]
version bump

9 years agorelease 166
Kay Sievers [Thu, 10 Feb 2011 08:07:06 +0000 (09:07 +0100)]
release 166

9 years agokeymap: Remove wlan from Dell
Matthew Garrett [Wed, 9 Feb 2011 21:32:43 +0000 (16:32 -0500)]
keymap: Remove wlan from Dell

The Dell rfkill key is handled by hardware and the dell-laptop driver catches
the i8042 event in order to update the rfkill state. Sending wlan to userspace
will just result in userspace trying to revert the change the hardware has
just made.

Signed-off-by: Matthew Garrett <>
Signed-off-by: Martin Pitt <>
9 years agoupdate gitignore
Kay Sievers [Wed, 9 Feb 2011 11:55:14 +0000 (12:55 +0100)]
update gitignore

9 years agoata_id: do not print empty serial numbers to avoid unwanted trailing '_'
Kay Sievers [Wed, 9 Feb 2011 11:49:19 +0000 (12:49 +0100)]
ata_id: do not print empty serial numbers to avoid unwanted trailing '_'

9 years agokeymap: Add Acer Aspire 8930
Jürgen Kaiser [Wed, 9 Feb 2011 16:10:32 +0000 (17:10 +0100)]
keymap: Add Acer Aspire 8930

Signed-off-by: Martin Pitt <>
9 years agoextras: qemu - fix typo
Kay Sievers [Tue, 25 Jan 2011 20:46:12 +0000 (21:46 +0100)]
extras: qemu - fix typo

9 years agomake: fix qemu rules file name
Kay Sievers [Tue, 25 Jan 2011 15:12:44 +0000 (16:12 +0100)]
make: fix qemu rules file name

9 years agoextras: add rules for qemu guests
Gerd Hoffmann [Tue, 25 Jan 2011 14:51:07 +0000 (15:51 +0100)]
extras: add rules for qemu guests

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 <>
9 years agokeymap: Explain how to end the program
Martin Pitt [Sun, 16 Jan 2011 20:12:32 +0000 (21:12 +0100)]
keymap: Explain how to end the program

Pressing Escape will only actually work if keymap is currently examining the
primary keyboard. For other devices the user needs to press Control-C instead.

9 years agokeymap: More robust state machine
Martin Pitt [Sun, 16 Jan 2011 20:10:03 +0000 (21:10 +0100)]
keymap: More robust state machine

Some drivers, like thinkpad_acpi, do not send a scan code at all (for known
keys), and some send the key code first, then the scan code. Implement a better
state machine which acceps them in any order and wait until a SYN event. If the
driver does not send SYN events, keymap will also handle this and print out
that fact.

Thanks to Seth Forshee for pointing out how this really works!

9 years agokeymap: Move reading of event in separate function
Martin Pitt [Sun, 16 Jan 2011 18:25:04 +0000 (19:25 +0100)]
keymap: Move reading of event in separate function

9 years agokeymap: Add Lenovo ThinkPad X201 tablet
Martin Pitt [Thu, 13 Jan 2011 16:10:27 +0000 (10:10 -0600)]
keymap: Add Lenovo ThinkPad X201 tablet

9 years agokeymap: Update README.keymap.txt
Martin Pitt [Fri, 7 Jan 2011 11:12:57 +0000 (12:12 +0100)]
keymap: Update README.keymap.txt

Drop orig-map.txt requirement, we don't really use it in practice. Also ask for
sending stuff to the mailing list instead of Launchpad.

9 years agokeymap: Add Acer TravelMate C310
Martin Pitt [Fri, 7 Jan 2011 11:09:45 +0000 (12:09 +0100)]
keymap: Add Acer TravelMate C310

Thanks to Dieter Herrmann for the report!

9 years agoman: fix typo
Kay Sievers [Tue, 4 Jan 2011 17:32:07 +0000 (18:32 +0100)]
man: fix typo

Found by: Minh Ha-Duong.

9 years agoRemap Eee PC touchpad toggle key to F21 used by X
Chris Bagwell [Sat, 1 Jan 2011 21:44:38 +0000 (15:44 -0600)]
Remap Eee PC touchpad toggle key to F21 used by X

Currently, Eee PC have a hotkey that generates KEY_F13 but this
will soon change to KEY_TOUCHPAD_TOOGLE.  Both cases do not
work well with X.

X has defined F21 for the purpose of touchpad toggle and other
udev keymaps align with this meaning.  Patch aligns Eee PC
hotkey drivers with F21.

Tested on Eee PC 1005PE using both eeepc-wmi and eeepc-laptop driver
(with acpi_osi="!Windows 2009").

Signed-off-by: Chris Bagwell <>
Signed-off-by: Martin Pitt <>
9 years agoman: generate html pages for
Kay Sievers [Sun, 26 Dec 2010 15:01:13 +0000 (16:01 +0100)]
man: generate html pages for

9 years agoversion bump
Kay Sievers [Thu, 16 Dec 2010 12:37:45 +0000 (13:37 +0100)]
version bump

9 years agorelease 165
Kay Sievers [Thu, 16 Dec 2010 12:17:02 +0000 (13:17 +0100)]
release 165

9 years agoupdate NEWS
Kay Sievers [Thu, 16 Dec 2010 09:12:22 +0000 (10:12 +0100)]
update NEWS

9 years agogudev: Add Device.get_usec_since_initialized
David Zeuthen [Wed, 15 Dec 2010 15:46:34 +0000 (10:46 -0500)]
gudev: Add Device.get_usec_since_initialized

Signed-off-by: David Zeuthen <>
9 years agogudev: bump minor version
Kay Sievers [Wed, 15 Dec 2010 08:06:05 +0000 (09:06 +0100)]
gudev: bump minor version

9 years agolibudev: record and export "age" of device record
Kay Sievers [Wed, 15 Dec 2010 07:57:46 +0000 (08:57 +0100)]
libudev: record and export "age" of device record

9 years agolibudev: fix renamed device nodes detection logic
Kay Sievers [Tue, 14 Dec 2010 20:26:12 +0000 (21:26 +0100)]
libudev: fix renamed device nodes detection logic

9 years agoAdd g_udev_device_get_is_initialized() method
David Zeuthen [Tue, 14 Dec 2010 17:50:04 +0000 (12:50 -0500)]
Add g_udev_device_get_is_initialized() method

Also nuke the "Index of deprecated symbols" since we have no
deprecated symbols just yet.

Signed-off-by: David Zeuthen <>
9 years agoAdd GUdevEnumerator type and Device.get_tags() method
David Zeuthen [Tue, 14 Dec 2010 17:37:40 +0000 (12:37 -0500)]
Add GUdevEnumerator type and Device.get_tags() method

Also add JS example to check the added API works.

Signed-off-by: David Zeuthen <>
9 years agolibudev: enumerate - allow to filter-out not-already-initialized devices
Kay Sievers [Tue, 14 Dec 2010 13:18:32 +0000 (14:18 +0100)]
libudev: enumerate - allow to filter-out not-already-initialized devices

9 years agocheck ifindex > 0 instead of subsystem == "net"
Kay Sievers [Tue, 14 Dec 2010 10:27:02 +0000 (11:27 +0100)]
check ifindex > 0 instead of subsystem == "net"

9 years agoudevd: write full database file for (unsupported) renamed device nodes
Kay Sievers [Tue, 14 Dec 2010 01:30:36 +0000 (02:30 +0100)]
udevd: write full database file for (unsupported) renamed device nodes

9 years agoudevd: switch to common id_filename functions
Kay Sievers [Sun, 12 Dec 2010 19:07:15 +0000 (20:07 +0100)]
udevd: switch to common id_filename functions

9 years agoudevd: simplify udev database and fix DEVNAME handling
Kay Sievers [Sat, 11 Dec 2010 13:00:46 +0000 (14:00 +0100)]
udevd: simplify udev database and fix DEVNAME handling

9 years agoudevd: always create /dev/{char,block}/$major:$minor
Kay Sievers [Fri, 10 Dec 2010 12:27:03 +0000 (13:27 +0100)]
udevd: always create /dev/{char,block}/$major:$minor

9 years agoudevd: use dev_t or netif ifindex as database key
Kay Sievers [Fri, 10 Dec 2010 00:13:35 +0000 (01:13 +0100)]
udevd: use dev_t or netif ifindex as database key

We need to preserve the database of network interfaces while we
rename them. Use the kernel's numbers wherever possible, instead
of the device names.

Fix wrong database filenames which contain a '/', translated
from '!' in the kernel name.

Fix segfault for kobject pathes where the subsystem can not be
determined from sysfs.

9 years agoudevadm: info - honor --export, --export-prefix=
Kay Sievers [Thu, 9 Dec 2010 21:45:13 +0000 (22:45 +0100)]
udevadm: info - honor --export, --export-prefix=

9 years agoudevadm: info - honor --export and --export-prefix for property query
Kay Sievers [Thu, 9 Dec 2010 20:10:30 +0000 (21:10 +0100)]
udevadm: info - honor --export and --export-prefix for property query

The output will always be quoted:
  $ udevadm info --export --export-prefix=MY_ --query=property --name=sda

9 years agolibudev: do not overwrite path with readlink() call
Kay Sievers [Thu, 9 Dec 2010 20:08:19 +0000 (21:08 +0100)]
libudev: do not overwrite path with readlink() call

9 years agokeymap: Fix struck Touchpad key on Dell Precision M series
Martin Pitt [Wed, 8 Dec 2010 17:41:42 +0000 (18:41 +0100)]
keymap: Fix struck Touchpad key on Dell Precision M series

9 years agokeymap: Fix struck Touchpad key on Dell Latitude E series
Martin Pitt [Wed, 8 Dec 2010 15:21:02 +0000 (16:21 +0100)]
keymap: Fix struck Touchpad key on Dell Latitude E series

9 years agorules: revert bsg use until the event ordering problem is sorted out
Kay Sievers [Tue, 30 Nov 2010 10:48:08 +0000 (11:48 +0100)]
rules: revert bsg use until the event ordering problem is sorted out

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

9 years agorules: drop alsa jack-plug input devices
Kay Sievers [Mon, 29 Nov 2010 11:01:58 +0000 (12:01 +0100)]
rules: drop alsa jack-plug input devices

9 years agoAdd ACLs for FFADO supported sound cards
David Henningsson [Fri, 26 Nov 2010 14:31:42 +0000 (15:31 +0100)]
Add ACLs for FFADO supported sound cards

Signed-off-by: Martin Pitt <>
9 years agokeymap: Add release quirks for two Zepto Znote models and AMILO Xi 2428
Andy Whitcroft [Fri, 26 Nov 2010 13:08:28 +0000 (14:08 +0100)]
keymap: Add release quirks for two Zepto Znote models and AMILO Xi 2428

Signed-off-by: Martin Pitt <>
9 years agorules: drop OSS audio rule
Kay Sievers [Wed, 24 Nov 2010 11:05:21 +0000 (12:05 +0100)]
rules: drop OSS audio rule

9 years agorules: 78-sound-card - remove specific hardware matches, they do not belong here
Kay Sievers [Wed, 24 Nov 2010 11:00:31 +0000 (12:00 +0100)]
rules: 78-sound-card - remove specific hardware matches, they do not belong here

9 years agoudevd: create static nodes before /dev/null is needed
Michal Soltys [Mon, 22 Nov 2010 12:55:20 +0000 (13:55 +0100)]
udevd: create static nodes before /dev/null is needed

9 years agoAdd ACL for media player USB devices
Martin Pitt [Mon, 22 Nov 2010 09:49:12 +0000 (10:49 +0100)]
Add ACL for media player USB devices

Originally we added an ACL for some particular mobile phone product IDs to
enable users to run e. g. the Android SDK as non-root. This was removed in
232f180 as we don't want to maintain product/vendor ID lists in udev.

However, we already know from media-player-info that devices like this are
media players. There is little reason to deny user access to those, so add back
a generic rule which adds an ACL to media player raw USB devices.

9 years ago70-acl.rules: add ACLs for ID_PDA devices
Harald Hoyer [Fri, 12 Nov 2010 14:44:34 +0000 (15:44 +0100)]
70-acl.rules: add ACLs for ID_PDA devices

9 years agoudev-rules.c: change import property buffer to 16384 bytes
Harald Hoyer [Fri, 12 Nov 2010 13:39:14 +0000 (14:39 +0100)]
udev-rules.c: change import property buffer to 16384 bytes

import_program_into_properties() should have the same line length as

see also

9 years agoman: udev - workaraound -> workaround
Jakub Wilk [Wed, 10 Nov 2010 00:29:50 +0000 (01:29 +0100)]
man: udev - workaraound -> workaround

9 years agoextras/keymap: Make touchpad buttons consistent
Bastien Nocera [Thu, 4 Nov 2010 23:58:56 +0000 (23:58 +0000)]
extras/keymap: Make touchpad buttons consistent

We'll need to standardise on the Touchpad related keys in udev, kernel, and I selected F21 for XF86TouchpadToggle, F22 for XF86TouchpadOn and F23
for XF86TouchpadOff.


Signed-off-by: Martin Pitt <>
9 years agokeymap: Add force release for HP touchpad off
Bastien Nocera [Mon, 1 Nov 2010 16:29:09 +0000 (16:29 +0000)]
keymap: Add force release for HP touchpad off

Force the touchpad off/on keys getting released, as they usually
only send a "repeat".

Signed-off-by: Martin Pitt <>
9 years agoUse ata_id, not scsi_id, on ATAPI devices
David Zeuthen [Thu, 4 Nov 2010 12:55:58 +0000 (08:55 -0400)]
Use ata_id, not scsi_id, on ATAPI devices

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.


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: DEVPATH=/devices/pci0000:00/0000:00:01.1/host3/target3:0:0/3:0:0:0
 E: DEVTYPE=scsi_device
 E: MODALIAS=scsi:t-0x05
 E: ID_ATA=1
 E: ID_TYPE=cd
 E: ID_BUS=ata
 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_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: DEVPATH=/devices/pci0000:00/0000:00:01.1/host3/target3:0:0/3:0:0:0
 E: DEVTYPE=scsi_device
 E: MODALIAS=scsi:t-0x05
 E: ID_VENDOR_ENC=VBOX\x20\x20\x20\x20
 E: ID_MODEL_ENC=CD-ROM\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20
 E: ID_TYPE=cd

Signed-off-by: David Zeuthen <>
9 years agoRun scsi_id and ata_id on the scsi_device object
David Zeuthen [Sat, 30 Oct 2010 16:30:19 +0000 (12:30 -0400)]
Run scsi_id and ata_id on the scsi_device object

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
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 <>
9 years agoata_id: Support SG_IO version 4 interface
David Zeuthen [Sat, 30 Oct 2010 15:44:06 +0000 (11:44 -0400)]
ata_id: Support SG_IO version 4 interface

This makes it possible to use /dev/bsg/* nodes for ata_id:

 # /lib/udev/ata_id --export /dev/bsg/0\:0\:0\:0

This means that our cd-rom detection as per commit;a=commit;h=160b069c25690bfb0c785994c7c3710289179107

needs to be reworked since we can't just use the CDROM_GET_CAPABILITY
ioctl on a /dev/bsg node (which is a character device). We do this by
just sending the SCSI INQUIRY command and checking the type (CD-ROM's
are all type 0x05 and disks are type 0x00) before we issue the ATA
IDENTIFY command through the SCSI command ATA PASS_THROUGH (12).

 (Yes, it's a bit perverse how we have to tunnel our ATA commands
 through a SCSI command  but that's how Linux currently work.)

We still support for SG_IO version 3 (we fail back if version 4 fails
with EINVAL) because testing reveals that some drivers (such as
mpt2sas) still only support version 3 on the block nodes.

Signed-off-by: David Zeuthen <>
9 years agocdrom_id: Fix media state for unreadable DVDs
Jan Drzewiecki [Tue, 26 Oct 2010 16:10:57 +0000 (12:10 -0400)]
cdrom_id: Fix media state for unreadable DVDs

If the disc is unreadable and reading of the first 32 blocks fails set the
cd_media status to 0 (not present). This will prevent udev from executing blkid
next that tries to determine fs on the disc and which in this case may seem to
hang forever locking the drive.

Signed-off-by: Martin Pitt <>
9 years agokeymap: Add some more Sony Vaio VGN-* models
Martin Pitt [Tue, 26 Oct 2010 02:11:37 +0000 (22:11 -0400)]
keymap: Add some more Sony Vaio VGN-* models

9 years agokeymap: Add Sony Vaio VGN71
Martin Pitt [Tue, 26 Oct 2010 02:01:03 +0000 (22:01 -0400)]
keymap: Add Sony Vaio VGN71

9 years agoversion bump
Kay Sievers [Sat, 23 Oct 2010 13:35:35 +0000 (15:35 +0200)]
version bump

9 years agorelease 164
Kay Sievers [Sat, 23 Oct 2010 13:13:57 +0000 (15:13 +0200)]
release 164

9 years agolibudev: return kernel provided devnode when asked before we handled any rules
Kay Sievers [Fri, 22 Oct 2010 11:50:55 +0000 (13:50 +0200)]
libudev: return kernel provided devnode when asked before we handled any rules

9 years agokeymap: Add Toshiba Satellite U500
Martin Pitt [Fri, 22 Oct 2010 10:52:45 +0000 (12:52 +0200)]
keymap: Add Toshiba Satellite U500

9 years agoreturn proper error code in rename_netif()
Kay Sievers [Mon, 18 Oct 2010 10:50:20 +0000 (12:50 +0200)]
return proper error code in rename_netif()

<Md>  kay: can you look at rename_netif()? it returns -errno in a place,
      but I think that it may by changed by err() (at least)
<kay> Md: yeah, that doesn't look correct

9 years agokeymap: Apply force-release rules to all Samsung models.
Martin Pitt [Wed, 13 Oct 2010 16:08:41 +0000 (18:08 +0200)]
keymap: Apply force-release rules to all Samsung models.

The force-release list for Samsung is already an ultralong monster, and
reportedly still incomplete (see
Give up and instead apply the force-release quirk to all Samsung models. The
worst that can happen is that autorepeat behaves a bit weird, but that's much
better than a complete freeze after each keypress.

9 years agoudevd: do not wrongly delay events for devices with swapped names
Kay Sievers [Wed, 13 Oct 2010 11:03:27 +0000 (13:03 +0200)]
udevd: do not wrongly delay events for devices with swapped names

Renaming network devices might delay events for the other device, which has
the same devpath in the meantime as the original event. Causing a delay until
the timout of the event is reached.

Look at the ifindex/devnum of the devices to check if they are really
the same devices.

9 years agoversion bump
Kay Sievers [Thu, 7 Oct 2010 13:34:20 +0000 (15:34 +0200)]
version bump

9 years agoInstall in prefix / instead of prefix /usr
David Zeuthen [Mon, 11 Oct 2010 16:01:04 +0000 (12:01 -0400)]
Install in prefix / instead of prefix /usr

This is to match where is installed and it works because
all dependent libraries are already installed in / instead of /usr on
most distros:

 $ ldd /usr/lib64/ =>  (0x00007fff44dff000) => /lib64/ (0x0000003bf2600000) => /lib64/ (0x0000003fb5200000) => /lib64/ (0x0000003fb4e00000) => /lib64/ (0x0000003d5b000000) => /lib64/ (0x0000003d5b800000) => /lib64/ (0x0000003fb4a00000) => /lib64/ (0x0000003d5ac00000)
         /lib64/ (0x0000003d5a800000)

With this change it is possible to write libgudev applications that
can be installed in /bin or /sbin and can run without /usr being
mounted. This is needed for e.g. udisks, NetworkManager and other
subsystem-specific daemons.

Signed-off-by: David Zeuthen <>
9 years agocdrom_id: request the drive profile features with a dynamic length
Harald Hoyer [Thu, 7 Oct 2010 15:02:21 +0000 (17:02 +0200)]
cdrom_id: request the drive profile features with a dynamic length

Some drives don't like huge feature buffers, so we query twice. First
run for the current profile and to get the length.
Second time we query the whole profile feature set.

9 years agorelease 163
Kay Sievers [Thu, 7 Oct 2010 13:07:48 +0000 (15:07 +0200)]
release 163

9 years agoudevd: add sd-daemon.c
Kay Sievers [Thu, 7 Oct 2010 12:59:11 +0000 (14:59 +0200)]
udevd: add sd-daemon.c

9 years agosystemd: sort before
Kay Sievers [Thu, 7 Oct 2010 08:49:13 +0000 (10:49 +0200)]
systemd: sort before

9 years agocdrom_id: Don't read beyond "last track" in TOC
Martin Pitt [Tue, 5 Oct 2010 15:56:19 +0000 (17:56 +0200)]
cdrom_id: Don't read beyond "last track" in TOC

Read the first and last track from the TOC header, and do not go beyond that
stated number of tracks when reading the TOC. Otherwise we interpret random
data which leads to bogus tracks. (Reported on an IronKey, which reported 1
data track, and 4 audio tracks which weren't actually present.)

9 years agocdrom_id: Fall back to CDROM_DRIVE_STATUS if all MMC commands fail
Martin Pitt [Tue, 5 Oct 2010 12:59:51 +0000 (14:59 +0200)]
cdrom_id: Fall back to CDROM_DRIVE_STATUS if all MMC commands fail

Reportedly, some "when I'm grown up I want to be a CD drive" fake USB CD sticks
like the IronKey neither support the SCSI "GET CONFIGURATION" nor the older
(pre-MMC2) "READ DISC INFORMATION" command. In that case, check if
cd_media_compat() detected that there is a disc present, and assume that we
have a CD-ROM medium.

9 years agoRevert "cdrom_id: Try reading the medium if all MMC commands fail"
Martin Pitt [Tue, 5 Oct 2010 12:57:04 +0000 (14:57 +0200)]
Revert "cdrom_id: Try reading the medium if all MMC commands fail"

Turns out we can do this much simpler by assuming that cd_media_compat() works,
which seems to be the case for the IronKey.

This reverts commit ea88774a922c734afd751a59d8102bfa4806a1a6.

9 years agocdrom_id: Try reading the medium if all MMC commands fail
Martin Pitt [Tue, 5 Oct 2010 12:34:55 +0000 (14:34 +0200)]
cdrom_id: Try reading the medium if all MMC commands fail

Reportedly, some "when I'm grown up I want to be a CD drive" fake USB CD sticks
like the IronKey neither support the SCSI "GET CONFIGURATION" nor the older
(pre-MMC2) "READ DISC INFORMATION" command. In that case, check if we can read
data from the drive, and assume that we have a CD-ROM medium if it succeeds.

9 years agosystemd: hook into instead of
Kay Sievers [Tue, 28 Sep 2010 22:48:35 +0000 (00:48 +0200)]
systemd: hook into instead of

9 years agokeymap: Add alternate MSI vendor name
Lee, Chun-Yi [Sat, 25 Sep 2010 08:50:27 +0000 (16:50 +0800)]
keymap: Add alternate MSI vendor name

Add new vendor name "Micro-Star International" in 95-keymap.rules.

Signed-off-by: Martin Pitt <>
9 years agoAdd automatic rules syntax check
Martin Pitt [Tue, 21 Sep 2010 10:45:52 +0000 (12:45 +0200)]
Add automatic rules syntax check

Add test/, a script for checking the syntax of all udev
rules files passed as command line arguments.

Add a wrapper test/ which calls on all udev
rules that we ship, but does nothing if Python is not available. Integrate this
into make check/distcheck.

9 years agofix various syntax errors in rules
Martin Pitt [Tue, 21 Sep 2010 10:14:50 +0000 (12:14 +0200)]
fix various syntax errors in rules