Bug#759277: gummiboot: function pointer typedefs using KnR-style(?) parameter declarations

2015-05-12 Thread Kay Sievers
On Tue, May 12, 2015 at 2:01 PM, Julian Andres Klode j...@debian.org wrote:
 Control: forwarded -1 k...@vrfy.org

 (Adding Kay Sievers  Harald Hoyer from upstream)

 On Mon, Aug 25, 2014 at 09:10:48PM +0200, Michael Tautschnig wrote:
 Package: gummiboot
 Version: 45-2
 Usertags: goto-cc
 Severity: wishlist
 Tags: upstream

 While trying to build gummiboot using our research compiler infrastructure 
 the
 build stumbled upon the following declaration in src/efi/console.c (from 
 line 29
 onwards):

 typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)(
 struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This;
 BOOLEAN ExtendedVerification;
 );

 While even gcc -Wall -pedantic will emit warnings, clang entirely rejects 
 this.
 To address this, the semicolons after the function parameters should be 
 replaced
 by commas, and the last one should be omitted, like this:

 typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)(
 struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
 BOOLEAN ExtendedVerification
 );

 The same problem appears multiple times in that file.

 I'm not sure about the rationale for the chosen syntax and surely this is an
 upstream problem, but I couldn't figure out what their bugtracker was.

 I'm not sure either, I added the upstream authors to the list
 of recipients.

Just a bug. Surprised that gcc even accepts that. Send a patch if you
like it in the gummiboot repo, I'll fix the version in the systemd
repo.

Thanks,
Kay


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#758050: [systemd-devel] Bug#758050: udev: ID_VENDOR_FROM_DATABASE, ID_MODEL_FROM_DATABASE for unrecognised USB device are taken from USB hub

2014-08-26 Thread Kay Sievers
On Thu, Aug 14, 2014 at 9:01 PM, Kay Sievers k...@vrfy.org wrote:
 On Thu, Aug 14, 2014 at 3:07 PM, Simon McVittie
 simon.mcvit...@collabora.co.uk wrote:
 I recently opened this Debian bug, for which I attach a
 patch that seems to work. Bug report quoted in full below.

 I would appreciate udev maintainers' opinions on whether this is
 likely to break non-USB devices, or whether there is a better way
 to do it.

 Maybe replace streq(dsubsys, usb) with a specific match on  devtype
 == usb_device (sysfs hierarchy is usb_interface - usb_device) and if
 we hit that, we make sure we stop looking at any of the parents?

Pushed a fix, similar to your patch, with the above explicit check for
usb_device.

Thanks,
Kay


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#758050: [systemd-devel] Bug#758050: udev: ID_VENDOR_FROM_DATABASE, ID_MODEL_FROM_DATABASE for unrecognised USB device are taken from USB hub

2014-08-14 Thread Kay Sievers
On Thu, Aug 14, 2014 at 3:07 PM, Simon McVittie
simon.mcvit...@collabora.co.uk wrote:
 I recently opened this Debian bug, for which I attach a
 patch that seems to work. Bug report quoted in full below.

 I would appreciate udev maintainers' opinions on whether this is
 likely to break non-USB devices, or whether there is a better way
 to do it.

Maybe replace streq(dsubsys, usb) with a specific match on  devtype
== usb_device (sysfs hierarchy is usb_interface - usb_device) and if
we hit that, we make sure we stop looking at any of the parents?

Thanks,
Kay


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#754411: udev: loop mounts fail after 204-14 update

2014-07-11 Thread Kay Sievers
On Fri, Jul 11, 2014 at 1:35 PM, Michael Biebl bi...@debian.org wrote:
 Am 11.07.2014 05:01, schrieb Kay Sievers:
 The logic in util-linux, libmount, losetup, ... tries to access
 /dev/loop-control which will block and trigger a kernel-side module
 auto-load.

 All that is needed is that tmpfiles have created the dead device
 node to access from userspace, and the major/minor of that node will
 resolve to the kernel module providing the requested device.

 This seems to be setup correctly afaics:

 # modinfo loop
 filename:   /lib/modules/3.14-1-amd64/kernel/drivers/block/loop.ko
 alias:  devname:loop-control
 alias:  char-major-10-237
 alias:  block-major-7-*
 license:GPL
 depends:
 intree: Y
 vermagic:   3.14-1-amd64 SMP mod_unload modversions
 parm:   max_loop:Maximum number of loop devices (int)
 parm:   max_part:Maximum number of partitions per loop device (int)

 # ls -la /dev/loop*
 crw--- 1 root root 10, 237 Jul 11 06:02 /dev/loop-control


 Yet, mount still fails
 # mount -oloop /tmp/ISO/boot.iso /mnt/loop/
 mount: Could not find any loop device. Maybe this kernel does not know
about the loop device? (If so, recompile or `modprobe loop'.)

 Is our mount version too old or should it work irregardless of the mount
 version?

 # mount --version
 mount from util-linux 2.20.1 (with libblkid and selinux support)

# lsmod | grep loop
# mount -o loop nothing /mnt
mount: nothing: failed to setup loop device: No such file or directory
# lsmod | grep loop
loop   28197  0

# mount --version
mount from util-linux 2.25-rc2 (libmount 2.25.0: selinux, assert, debug)


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#754411: udev: loop mounts fail after 204-14 update

2014-07-10 Thread Kay Sievers
On Thu, Jul 10, 2014 at 10:55 PM, Michael Biebl bi...@debian.org wrote:
 Am 10.07.2014 22:02, schrieb Peter Poeschl:
 Package: udev
 Version: 204-14
 Severity: important

 Dear Maintainer,

* What led up to the situation?
 udev upgrade from 204-8 to 204-14 removed the file /etc/udev/links.conf.

* What exactly did you do (or not do) that was effective (or
  ineffective)?
 Try to loop-mount a file via an existing /etc/fstab entry

* What was the outcome of this action?
 mount failed with
mount: Could not find any loop device. Maybe this kernel does not know
   about the loop device? (If so, recompile or `modprobe loop'.)

* What outcome did you expect instead?
 mount succeeds


 Workaround:
1) running
  # modprobe loop
   temporarily solves the problem.

2) # echo 'loop'  /etc/modules-load.d/loop.conf
   persistently solves the problem, but I don't know if this is the proper
   solution.


 Kay, is the loop modules supposed to be auto-loaded these days or does
 it require and explicit modprobe?

The logic in util-linux, libmount, losetup, ... tries to access
/dev/loop-control which will block and trigger a kernel-side module
auto-load.

All that is needed is that tmpfiles have created the dead device
node to access from userspace, and the major/minor of that node will
resolve to the kernel module providing the requested device.

Kay


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#745280: [gummiboot] Re: Bug#745280: fails to cope properly with an existing boot loader

2014-04-25 Thread Kay Sievers
On Fri, Apr 25, 2014 at 3:51 PM, Julian Andres Klode j...@debian.org wrote:
 I received the following bug report in Debian about
 gummiboot.

 On Sun, Apr 20, 2014 at 10:04:23AM +0200, Philipp Kern wrote:
 Package: gummiboot
 Version: 44-1
 Severity: important

 gummiboot fails to install if there is a preexisting EFI boot loader in
 the fallback location (e.g. after a successful installation of Windows):

 pkern@simplex ~ % sudo gummiboot install --path=/boot/efi
 Created /boot/efi/EFI/gummiboot.
 Copied /usr/lib/gummiboot/gummibootx64.efi to 
 /boot/efi/EFI/gummiboot/gummibootx64.efi.
 Failed to rename /boot/efi/EFI/Boot/BOOTX64.EFI~ to 
 /boot/efi/EFI/Boot/BOOTX64.EFI: File exists

 As we can see here, it tries to do an atomic replace of the boot loader,
 but this fails because /boot/efi (we need to use /boot/efi in Debian instead
 of /boot, because our kernel images are installed in /boot) is FAT32 and
 that does not seem to allow replacements.

It works just fine here on a FAT partition. I have no idea why it
would go wrong.

# blkid /dev/sda1
/dev/sda1: LABEL=EFI UUID=9B5C-C8BD TYPE=vfat PARTLABEL=ESP
PARTUUID=06a08fe0-82e8-4171-b00e-5afc13668ab4

# strace -e rename gummiboot install --path=/boot
rename(/boot/EFI/gummiboot/gummibootx64.efi~,
/boot/EFI/gummiboot/gummibootx64.efi) = 0
Copied /usr/lib/gummiboot/gummibootx64.efi to
/boot/EFI/gummiboot/gummibootx64.efi.
rename(/boot/EFI/Boot/BOOTX64.EFI~, /boot/EFI/Boot/BOOTX64.EFI) = 0
Copied /usr/lib/gummiboot/gummibootx64.efi to /boot/EFI/Boot/BOOTX64.EFI.
Created EFI boot entry Linux Boot Manager.

Kay


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#745280: [gummiboot] Re: Bug#745280: fails to cope properly with an existing boot loader

2014-04-25 Thread Kay Sievers
On Fri, Apr 25, 2014 at 7:10 PM, Julian Andres Klode j...@debian.org wrote:
 On Fri, Apr 25, 2014 at 06:43:07PM +0200, Kay Sievers wrote:
 On Fri, Apr 25, 2014 at 3:51 PM, Julian Andres Klode j...@debian.org wrote:
  I received the following bug report in Debian about
  gummiboot.
 
  On Sun, Apr 20, 2014 at 10:04:23AM +0200, Philipp Kern wrote:
  Package: gummiboot
  Version: 44-1
  Severity: important
 
  gummiboot fails to install if there is a preexisting EFI boot loader in
  the fallback location (e.g. after a successful installation of Windows):
 
  pkern@simplex ~ % sudo gummiboot install --path=/boot/efi
  Created /boot/efi/EFI/gummiboot.
  Copied /usr/lib/gummiboot/gummibootx64.efi to 
  /boot/efi/EFI/gummiboot/gummibootx64.efi.
  Failed to rename /boot/efi/EFI/Boot/BOOTX64.EFI~ to 
  /boot/efi/EFI/Boot/BOOTX64.EFI: File exists
 
  As we can see here, it tries to do an atomic replace of the boot loader,
  but this fails because /boot/efi (we need to use /boot/efi in Debian 
  instead
  of /boot, because our kernel images are installed in /boot) is FAT32 and
  that does not seem to allow replacements.

 It works just fine here on a FAT partition. I have no idea why it
 would go wrong.

 It seems to be a matter of lower vs. uppercase, for example:

 $ ls -l EFI/Boot/
 -rwxr-xr-x 1 root root 78107 Apr 11 00:25 bootx64.efi
 # mv y EFI/Boot/BOOTX64.efi
 mv: cannot move 'y' to 'EFI/Boot/BOOTX64.efi': File exists

 But:
 # mv y EFI/Boot/bootx64.efi

 works as intended. Strace shows the difference:

 rename(y, EFI/Boot/BOOTX64.efi) = -1 EEXIST (File exists)
 rename(y, EFI/Boot/bootx64.efi) = 0

 It does work in some cases though. I'm not entirely sure what is
 broken here.

 The file system is mounted in utf8 which produces the warning
 [2.998918] FAT-fs (sdb1): utf8 is not a recommended IO charset for FAT 
 filesystems, filesystem will be case sensitive!
 which probably causes this. I'm not sure why it is mounted with
 utf-8, though.

I have it mounted without any specific options:
  
http://cgit.freedesktop.org/systemd/systemd/tree/src/efi-boot-generator/efi-boot-generator.c#n108

which results in:
  
rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro


Kay


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#745280: [gummiboot] Re: Bug#745280: fails to cope properly with an existing boot loader

2014-04-25 Thread Kay Sievers
On Fri, Apr 25, 2014 at 8:25 PM, Julian Andres Klode j...@debian.org wrote:

 The Debian kernels are configured
 CONFIG_FAT_DEFAULT_IOCHARSET=utf8
 which causes iocharset=utf8 to be the default here, rather than 
 iocharset=ascii. I can now
 either work around that in the gummiboot package by one of

 (1) unlink() and then rename()
 (2) do a stupid glob() [Bb][Oo][Tt][Xx]64.[Ee][Ff][Ii] (and the same for the 
 rest of the path)

 I don't think you'd like either of those upstream, so you might want to change
 the generator to pass iocharset=ascii. We do not (apart from me) use that
 generator, though, so it won't help Debian -- we generate a fstab entry during
 system installation instead.

Are we sure that this is the expected kernel behaviour? Seems pretty
odd to be caused by the charset option:

With ascii all is fine:
# mount /dev/sda1 /boot -o iocharset=ascii
# touch /boot/EFI/A
# rm /boot/EFI/a
rm: remove regular empty file ‘/boot/EFI/a’? y

With UTF8 it breaks:
# mount /dev/sda1 /boot -o iocharset=utf8
# touch /boot/EFI/A
# rm /boot/EFI/a
rm: cannot remove ‘/boot/EFI/a’: No such file or directory

And it gets even more weird here:

All is fine:
[root@lon /]# touch /boot/EFI/a
[root@lon /]# touch /boot/EFI/A

This fails:
[root@lon /]# touch /boot/EFI/A
[root@lon /]# touch /boot/EFI/a
touch: cannot touch ‘/boot/EFI/a’: File exists


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#732157: [systemd-devel] Fwd: [Pkg-systemd-maintainers] Bug#732157: Want SIGSTOP-style daemon/service readiness notification

2013-12-14 Thread Kay Sievers
On Sat, Dec 14, 2013 at 11:19 PM, Shawn Landden sh...@churchofgit.com wrote:

 It would be nice if systemd could implement the service supervisor
 side of the service readiness protocol that upstart calls expect
 stop:

 The service doesn't fork, and when considers itself ready it raises
 SIGSTOP.  The supervisor can observe this via the usual mechanisms,
 being the service's parent, and when it occurs it sends the service
 CONT and starts whatever was waiting for readiness.

 The sd_notify(3) protocol is just about tolerable, and it is good that
 it's documented, but it is quite unattractive for a daemon author:
 Either they have to add a build- and runtime- dependency on a
 systemd-specific library, or they have to reimplement a fairly tedious
 piece of socket code.

 For a daemon author, raise(SIGSTOP) is lovely and simple.

 I guess this would be a new Type (but I'm still halfway through the
 docs so no expert).

No, it's not lovely, it's a very cheap and very bad hack. These
signals are for admins and not for system management tools; just the
same way ptrace is the very wrong tool to track startup behavior of
services.

It is just so wrong to things like that, and systemd should not do that.

Kay


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#725714: udev firmware loading does not work in the Debian installer

2013-12-12 Thread Kay Sievers
On Fri, Dec 13, 2013 at 12:12 AM, Andreas Cadhalpun
andreas.cadhal...@googlemail.com wrote:
 On 12.12.2013 23:19, Kay Sievers wrote:
 On Thu, Dec 12, 2013 at 10:58 PM, Michael Biebl em...@michaelbiebl.de
 wrote:
 This was removed upstream [1] and is highly unlikely to be added back.
 Especially considering that the user space firmware loader is scheduled
 to be removed sooner rather then later.

 This most likely means d-i needs to be updated to use some kind of
 different mechanism to detect missing firmware.

 Kay, what is the recommended approach nowadays to detect such missing
 firmware?

 There is no replacement for that. Userspace is no longer in the loop
 any more regarding firmware loading, it's all the kernel's job only.
 Hence, there will be no facility in udev for handling firmware, or
 getting notified about that.
 According to Ben Hutchings the kernel still thinks udev is responsible for
 handling missing firmware.

Recent udev does not even have the code to handle firmware enabled.
It's gone since a while already.

 The only possible solution would be to add explicit messages to the
 kernel drivers in case a firmware is really *missing* and the device
 does not just probe for stuff until it finds something.

 There are quite a lot devices which just look for *updates* and do not
 need anything to function.
 In this case the WLAN devices really need the firmware to work, but since
 the firmware is non-free, it is not included in the Debian installer.

Which is not a technical problem, udev can or should try to solve.

 Such an explicit message would probably use printk_emit() and pass
 structured data with the filename and the ides from the kernel to
 userspace, and on systemd systems the journal would pick up the
 MESSAGE_ID and do something with it, or provide the data to other
 consumers.

 The better approach would have been to write a replacement *before* dropping
 the udev missing-firmware handling.

There have been many technical reasons to let the kernel do the job,
and that is how it works today, and it works well and reliably.

 The Debian installer needs a way to load the firmware during installation,
 otherwise the netinst.iso is pretty useless for WLAN devices with non-free
 firmware.
 Since a majority of the WLAN devices need non-free firmware, just dropping
 this functionality without replacement is a serious regression.

It is not, only if firmware is not installed, which seem to be a
Debian-only problem but not a general one. Hence Debian needs to
adopt/patch the software to do what it needs, and should not ask
upstream to work around issues which seem to be a Debian-only problem.

The in-kernel firmware loader solved years old serious problems, and
it was worth to do it, and there is no reason to put back that fragile
hack, just to solve a non-technical problem.

 Therefore I ask you to re-enable it until a replacement is written.

Udev will never load firmware again, the entire idea to use the driver
core to create fake devices in userspace and let the kernel wait to
them to be handled, was wrong at so many aspects, it will not come
back from upstream udev.

Kay


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#725714: udev firmware loading does not work in the Debian installer

2013-12-12 Thread Kay Sievers
On Fri, Dec 13, 2013 at 12:26 AM, Michael Biebl em...@michaelbiebl.de wrote:
 Am 13.12.2013 00:12, schrieb Andreas Cadhalpun:
 The Debian installer needs a way to load the firmware during
 installation, otherwise the netinst.iso is pretty useless for WLAN
 devices with non-free firmware.
 Since a majority of the WLAN devices need non-free firmware, just
 dropping this functionality without replacement is a serious regression.
 Therefore I ask you to re-enable it until a replacement is written.

 Could something like isenkram [1] be integrated into d-i and install
 necessary (firmware) packages based on the modalias information?

 Especially [2] looks like it could be a replacement.
 That said, isenkram-autoinstall-firmware doesn't seem to use the
 modalias info and instead greps through the modinfo output which looks
 like a rather hackish approach on a cursory glance.

 Kay, what's you opinion on something like this?

It could work. The device modaliases of the running machine can
produce the list of modules that will be loaded on a machine. The
modules themselves carry the file names of the firmware files in the
module's metadata.

Kay


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#725714: udev firmware loading does not work in the Debian installer

2013-12-12 Thread Kay Sievers
On Fri, Dec 13, 2013 at 12:34 AM, Michael Biebl em...@michaelbiebl.de wrote:
 Am 13.12.2013 00:26, schrieb Michael Biebl:
 Am 13.12.2013 00:12, schrieb Andreas Cadhalpun:
 The Debian installer needs a way to load the firmware during
 installation, otherwise the netinst.iso is pretty useless for WLAN
 devices with non-free firmware.
 Since a majority of the WLAN devices need non-free firmware, just
 dropping this functionality without replacement is a serious regression.
 Therefore I ask you to re-enable it until a replacement is written.

 Could something like isenkram [1] be integrated into d-i and install
 necessary (firmware) packages based on the modalias information?

 Especially [2] looks like it could be a replacement.
 That said, isenkram-autoinstall-firmware doesn't seem to use the
 modalias info and instead greps through the modinfo output which looks
 like a rather hackish approach on a cursory glance.

 According to codesearch.d.n, hw-detect is the only tool using
 /run/udev/firmware-missing. I'm inclined to re-assign this bug to
 hw-detect and let the hw-detect maintainers decided how to handle this.
 If something like the isenkram approach would be suitable for them

PackageKit used it too.

General note: the entire idea of blindly recording firmware requests
is flawed. It makes not much sense to make assumptions about drivers
and that the files they ask for are *missing*, they are not in many
cases.

Many drivers just request things to check for updates which in many
cases never exist. Or they request multiple files in a row, to fall
back to older versions they find.

The only sensible way to produce information about *missing* firmware
would be to add explicit messages to the kernel when things are really
*missing*. Blindly tracing firmware requests and guessing around never
really made sense.

Also: That all this is gone now is a side-effect of moving firmware
loading into the kernel where it belongs. There is nothing userspace
can do about, the information is just no longer available to
userspace.

Kay


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#725714: udev firmware loading does not work in the Debian installer

2013-12-12 Thread Kay Sievers
On Fri, Dec 13, 2013 at 12:42 AM, Michael Biebl em...@michaelbiebl.de wrote:
 Am 13.12.2013 00:34, schrieb Michael Biebl:

 See also
 http://lists.freedesktop.org/archives/systemd-devel/2013-November/014771.html

 But that thread just echoes what Kay already said, that user-space
 firmware loading is deprecated and on it's way out.

Right, it's gone, and upstream does not support it any more because it
is technically the wrong solution and in-kernel loading the only
supported option.

It can all pretty trivially be made to run in userspsce like it did
(unreliably in some cases) in the past, but the kernel and udev will
need to be patched to do that.

Kay


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#725714: udev firmware loading does not work in the Debian installer

2013-12-12 Thread Kay Sievers
On Fri, Dec 13, 2013 at 4:29 AM, Ben Hutchings b...@decadent.org.uk wrote:
 On Fri, 2013-12-13 at 00:28 +0100, Kay Sievers wrote:
 [...]
  Such an explicit message would probably use printk_emit() and pass
  structured data with the filename and the ides from the kernel to
  userspace, and on systemd systems the journal would pick up the
  MESSAGE_ID and do something with it, or provide the data to other
  consumers.

  The better approach would have been to write a replacement *before* 
  dropping
  the udev missing-firmware handling.

 There have been many technical reasons to let the kernel do the job,
 and that is how it works today, and it works well and reliably.
 [...]

 For the record, 3.12 still has:

 config FW_LOADER_USER_HELPER
 bool Fallback user-helper invocation for firmware loading
 depends on FW_LOADER
 default y

 But at this point I suppose there is no point leaving it enabled.

Yeah, not sure, if it could be removed.
Fedora has that option disabled since a while.

Kay


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#591290: Buffer I/O error on device sr0, logical block 0

2010-08-09 Thread Kay Sievers
On Mon, Aug 9, 2010 at 08:02, Stanislav Maslovski
stanislav.maslov...@gmail.com wrote:
 On Tue, Aug 03, 2010 at 08:20:03AM +0200, Kay Sievers wrote:

 Thanks for your input. I did what you suggested; the log from runnig
 'udevadm test /class/block/sr0' is attached to this e-mail. I see lots
 of the same errors in dmesg when I run this test (see below). I can do
 further tests if you tell me which calls I should run manually.

It's a Debian bug. With upstream udev rules from 'make install', blkid
runs only for data disks.

Kay



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#591290: Buffer I/O error on device sr0, logical block 0

2010-08-03 Thread Kay Sievers
 When booting with an audio CD in the drive, at the stage of udev
 populating /dev/ I see these errors on the screen and also in the
 dmesg output:
 .
 [   11.216120] sr 3:0:0:0: [sr0] Result: hostbyte=DID_OK
 driverbyte=DRIVER_SENSE
 [   11.216127] sr 3:0:0:0: [sr0] Sense Key : Illegal Request [current]
 [   11.216135] sr 3:0:0:0: [sr0] Add. Sense: Illegal mode for this track
 [   11.216144] sr 3:0:0:0: [sr0] CDB: Read(10): 28 00 00 00 00 00 00
 00 02 00

Maybe a not fixed udisks, called from udev rules:
  
http://cgit.freedesktop.org/udisks/commit/?id=c2464f7bf215cd17962e917b974c573378d4e58b

Udev should not cause this anymore.

Doing
  udevadm test /class/block/sr0
should show what's actually called, and repeating the listed calls
manually, should show in the log what's causing the messages.

Kay



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#583283: udev - Weird behaviour with device names including a slash

2010-05-27 Thread Kay Sievers
Yeah, devtmpfs misses the magic '!' - '/' support. I'll go and fix this.

If you don't want to change the device name, you can fill-in the name
in the miscdevice structure, like:
  static struct miscdevice tun_miscdev = {
.minor = TUN_MINOR,
.name = tun,
.nodename = net/tun,
.fops = tun_fops,
  };

Kay



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#583283: udev - Weird behaviour with device names including a slash

2010-05-27 Thread Kay Sievers
I take that back, tested it, devtmpfs works fine with the '!' magic.
The driver core translates the stuff already.

Looks like a different issue then. If you kill udevd, unload the
module, delete the possible remaining node, then load the module
again, what has devtmpfs created?



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#550152: udev - Remove symlinks

2010-04-19 Thread Kay Sievers
On Sun, Apr 18, 2010 at 23:08, Marco d'Itri m...@linux.it wrote:
 On Apr 18, Mario 'BitKoenig' Holbe mario.ho...@tu-ilmenau.de wrote:
  KERNEL==audio,                NAME=%k0,             SYMLINK+=%k
 Nowadays this is considered bad, accordingly to the upstream maintainer
 you should not change the kernel name of a device.

 $ grep -rl 'NAME=[^=]' /etc/udev/rules.d /lib/udev/rules.d
 /etc/udev/rules.d/70-persistent-net.rules

NAME for network devices is fine. They also rename the kernel device.

 /etc/udev/rules.d/00-local.rules

If this specifies a name different than the kernel device name, it is
something that should be fixed.

 /lib/udev/rules.d/75-persistent-net-generator.rules

NAME for network devices is fine, as mentioned.

 /lib/udev/rules.d/55-dm.rules

Device-mapper is work-in-progress, and probably just uses NAME=
which is ok. (should still not be done that way, but it does not
matter here).

 /lib/udev/rules.d/50-udev-default.rules

It's probably just for support of older kernels, or for deprecated
subsystems drivers like ieee1394, which need to be replaced by
firewire. There should be no rule that specifies a name that is
different from the kernel device name.

 Apart from my own rules this seems to be quite a common behaviour.

Swapping plain kernel-defined names with symlinks is not supported. It
may work, but the behavior is undefined. Recent kernels provide *all*
device node names, and with devtmpfs they also manage their creation
and deletion. On recent systems, udev is only expected to manage
additional symlinks and the permissions of the kernel-created device
node.

 Well, I think moving device nodes forth and back in the /dev tree is
 quite common behavior

Upstream udev does not really support this. Kernel device names are
defined (and optionally created and deleted) by the kernel these days.

Thanks,
Kay



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#550152: udev - Remove symlinks

2010-04-19 Thread Kay Sievers
On Mon, Apr 19, 2010 at 11:46, Marco d'Itri m...@linux.it wrote:
 On Apr 19, Kay Sievers kay.siev...@vrfy.org wrote:

  /lib/udev/rules.d/55-dm.rules
 Device-mapper is work-in-progress, and probably just uses NAME=
 which is ok.
 There is this rule, which is what the original poster was complaining
 about:

 ENV{DM_NAME}==?*, NAME=mapper/$env{DM_NAME}, SYMLINK+=$kernel

This is not supported and must be fixed. Udev does not support
swapping primary device names around, and devtmpfs will always create
the device node with the kernel name anyway.

If this is the intended behavior, the dm driver in the kernel needs to
provide this name (the kernel would need to properly be able to handle
block device renames though, which it can't. So is it not expected to
be the case anytime soon).

Kay



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#550152: udev - Remove symlinks

2010-04-19 Thread Kay Sievers
On Mon, Apr 19, 2010 at 12:13, Bastian Blank wa...@debian.org wrote:
 On Mon, Apr 19, 2010 at 11:56:37AM +0200, Kay Sievers wrote:
 This is not supported and must be fixed. Udev does not support
 swapping primary device names around, and devtmpfs will always create
 the device node with the kernel name anyway.

 The documentation does not stat this constraint.

It's a recent change in behavior. Please add this, if you think it
should be mentioned.

 And udev is not devtmpfs.

I guess, I know a bit about both. :)

And devtmpfs, which is mandatory by most major distros now, changed a
bit of udev's logic. Udev is still expected to work without devtmpfs,
but devtmpfs still defines the supported udev features, and some
future version of udev may even require devtmpfs.

Kay



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#550152: udev - Remove symlinks

2010-04-19 Thread Kay Sievers
On Mon, Apr 19, 2010 at 13:28, Mario 'BitKoenig' Holbe
mario.ho...@tu-ilmenau.de wrote:
 On Mon, Apr 19, 2010 at 11:39:28AM +0200, Kay Sievers wrote:
 On Sun, Apr 18, 2010 at 23:08, Marco d'Itri m...@linux.it wrote:
  On Apr 18, Mario 'BitKoenig' Holbe mario.ho...@tu-ilmenau.de wrote:
   KERNEL==audio,                NAME=%k0,             SYMLINK+=%k
  /etc/udev/rules.d/00-local.rules

 If this specifies a name different than the kernel device name, it is
 something that should be fixed.

 These are my own local rules and yes, these rules specify lots of
 rename-rules like the one above.

 Call it obsessive (well, this is what I'm calling it sometimes :)) or
 whatever you like. I personally don't like the kernel's style to threat
 0-devices naming different than subsequent ones and prefer the other way
 around. I was free to do this all the time from the beginning of ages
 (i.e. static, fs-based /dev) up to udev 141. I always did this at my own
 risk and it was never a problem. I don't want to push my opinion about
 this to others, and I'm sure there are others with exactly the opposite
 opinion. I'd just like to be free again :)

Yeah, I'll check the current behavior, and if this is easy to fix.
It's weird to delete a link we just created in the same moment
ourselves. :)

But it might still cause problems now or in the future to replace the
defined kernel name with a symlink with the same name. Multiple
devices can claim the same name and the actual link that is created
get managed by a priority value. When a device goes away, the link
with the next highest priority is re-created. This all will fail in
interesting ways if links and node names are mixed. So the supported
solution is not to touch the kernel names and let udev manage only
symlinks to the standard kernel-provided name.

 I don't know what you exactly consider different... just a few
 examples for you to explain which of those you consider good and which
 bad:

 SUBSYSTEM==bsg,                               NAME=bsg/%k
 SUBSYSTEMS==usb, KERNEL==hiddev[0-9]*,      NAME=usb/%k
 SUBSYSTEM==usb, ENV{DEVTYPE}==usb_device,   
 NAME=bus/usb/$env{BUSNUM}/$env{DEVNUM}
 KERNEL==capi,                 NAME=capi20,
 KERNEL==capi[0-9]*,           NAME=capi/%n
 KERNEL==card[0-9]*,           NAME=dri/%k
 KERNEL==hw_random,            NAME=hwrng
 KERNEL==cdemu[0-9]*,          NAME=cdemu/%n
 KERNEL==pktcdvd[0-9]*,        NAME=pktcdvd/%n
 KERNEL==cpu[0-9]*,            NAME=cpu/%n/cpuid

They are all gone from the upstream rules, and provided by the kernel
itself. And are only needed for older kernels. There is a
compat.rules file in the udev tree which has collected all these
rules, in case old kernels should run with a new udev:
  
http://git.kernel.org/?p=linux/hotplug/udev.git;a=blob;f=rules/gentoo/30-kernel-compat.rules;hb=HEAD


  Apart from my own rules this seems to be quite a common behaviour.
 Swapping plain kernel-defined names with symlinks is not supported. It
 may work, but the behavior is undefined.

 Well, this is basically the reason why in my own local rules I generally
 provide symlinks from the kernel-defined names to the ones I prefer
 (which triggers the bug we were talking about here :)).

  Well, I think moving device nodes forth and back in the /dev tree is
  quite common behavior
 Upstream udev does not really support this. Kernel device names are
 defined (and optionally created and deleted) by the kernel these days.

 All right, devfs-style so to say.

It is a real devfs. With devtmpfs the model for udev has changed a
bit. We passed control over the device nodes, and the names to the
kernel, and udev it is expected to manage only permissions and
additional symlinks now.

Kay



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#550152: udev - Remove symlinks

2010-04-19 Thread Kay Sievers
Udev should no longer delete the link it has created:
  
http://git.kernel.org/?p=linux/hotplug/udev.git;a=commitdiff;h=6252f9e732c827defdac38e2eccab0657492d9c9

Still, replacing the default kernel-named nodes with links with the
same name can result in unexpected behavior and is not supported. It
does not matter if devtmpfs is used or not, today the kernel defines
the device nodes names, and udev manages only additional symlinks and
the node's permissions.



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#574270: Functionality overlap between udev's modem-modeswitch and usb-modeswitch about 19d2:2000

2010-03-18 Thread Kay Sievers
On Thu, Mar 18, 2010 at 17:48, Didier 'OdyX' Raboud did...@raboud.com wrote:
 Hi udev upstreams !

 (please keep me and the Debian bug CC'ed).

 I am the Debian maintainer for usb-modeswitch and I got a user reporting that
 his 3G dongle was not switched anymore [0]. After some investigation, I
 strongly suspect that udev's modem-modeswitch and usb-modeswitch have a
 conflicting functionality overlap.

 From /lib/udev/rules.d/61-mobile-action.rules :

 # modem-modeswitch does not work with these devices, the fake CD-ROM needs to
 be ejected

 # ZTE MF6xx
 ACTION==add, ENV{ID_CDROM}==1, ENV{ID_VENDOR_ID}==19d2,
 ENV{ID_MODEL_ID}==2000, RUN+=/usr/bin/eject %k

 From /lib/udev/rules.d/40-usb_modeswitch.rules :

 # ZTE devices
 ATTRS{idVendor}==19d2, ATTRS{idProduct}==2000, RUN+=usb_modeswitch
 '%b/%k'

 It seems (to me) that those lines should be removed from udev (as 
 usb-modeswitch
 provides a generic switching facility for more than just 19d2:2000.

 What is your opinion thereabout ?

If Dan has no objections, we are ready to delete modem-modeswitch from
the udev tree.

Kay



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#561279: udev: Crash location and first-level cause

2009-12-25 Thread Kay Sievers
 srv:~# udevadm info
 custom logging function 0x160e010 registered
 selinux=0
 calling: info
 Segmentation fault

This was likely caused by using a va_list twice. This is expected to fix it:
  
http://git.kernel.org/?p=linux/hotplug/udev.git;a=commitdiff;h=d5a01cb8b31bd0791d1617c56d4c669a02018bd7

Thanks,
Kay




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#525537: udev: gpio-keys input driver should have class kbd

2009-04-27 Thread Kay Sievers
On Sun, Apr 26, 2009 at 21:54, Marco d'Itri m...@linux.it wrote:
 Is this reasonable?

 With udev 0.140 (or rather: sometime after 0.125) we've lost the
 persistent device symlink /dev/input/by-path/platform-gpio-keys-event-
 due to the following change in 60-persistent-input.rules which no longer
 allows an empty ID_CLASS:

 It seems to me that the simplest solution is to let udev define a class
 for gpio-keys (kbd seems most logical), for example with the following
 change in 60-persistent-input.rules:

 -DRIVERS==atkbd,                      ENV{ID_CLASS}=kbd
 +DRIVERS==atkbd|gpio-keys,            ENV{ID_CLASS}=kbd

I guess, this is any key on a system board, and is not like the usual,
pretty well defined kbd.

For path links of platform devices, we should just create a:
  /dev/input/by-path/platform-gpio-keys-event
link, which should be fine as long as there is only a single interface
per platform device. USB devices should also be fine in having this
link, because they include the interface number in the path name.

I've committed a change along with some other pending changes to the
git repository.

Thanks,
Kay
--
To unsubscribe from this list: send the line unsubscribe linux-hotplug in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#501503: udev: Griffin Powermate USB knob doesn't get /dev/input/by-id|path links

2009-04-26 Thread Kay Sievers
On Mon, Apr 27, 2009 at 00:31, Phil Endecott
phil_cmcsb_endec...@chezphil.org wrote:
 So protocol==0 is not specific to this unusual device; even a keyboard or
 mouse will have 0 for its non-boot interfaces.  So the current logic will
 only create /dev/by-id|path nodes for boot interfaces.  Is that intentional?

These links got added to distinguish multiple keyboards on
mainframe-like servers, that's why the rules have been so strict so
far, and cover only real input devices. :)

We see several mouse-like devices, which are not covered by that, and
we might need to find a scheme to include them in the link creation.
We need to be careful here though, because there are tons of HID
devices with 00 which have nothing to do with input devices in the
usual sense. I have a thermometer which is exactly like that. :)

What kind of kernel devices does this device create, I mean, if you
run udevadm monitor --kernel and plug it in, what does it say? Care
to show the entire sequence? Is it inputX only for the input
devices, or do you get also a mouseX device?

Also, care to add the full section of lsusb -v for this device?

Thanks,
Kay



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#501503: udev: Griffin Powermate USB knob doesn't get /dev/input/by-id|path links

2009-04-26 Thread Kay Sievers
On Mon, Apr 27, 2009 at 01:47, Phil Endecott
phil_cmcsb_endec...@chezphil.org wrote:
 Kay Sievers wrote:
 These links got added to distinguish multiple keyboards on
 mainframe-like servers, that's why the rules have been so strict so
 far, and cover only real input devices. :)

 Hmm, OK; so how am I supposed to identify things that may be connected to
 different sockets and enumerated in different orders each time I use them?

Oh, it's just where it comes from, because you asked if it was intentional.

 We see several mouse-like devices, which are not covered by that, and
 we might need to find a scheme to include them in the link creation.
 We need to be careful here though, because there are tons of HID
 devices with 00 which have nothing to do with input devices in the
 usual sense. I have a thermometer which is exactly like that. :)

 Right.  I have a Wi-Spy which I think is a HID device.  Does it do any harm
 to add links for things like that?

In this case the input layer should not pick these up, so we would not
create a link here, as we hook into input events here. It's just that
we should be careful not to add stuff here which we don't really know
where it belongs, It's hard to change these links later, when people
already use them.

 What kind of kernel devices does this device create, I mean, if you
 run udevadm monitor --kernel and plug it in, what does it say?
 UEVENT[1240788686.325203] add      /class/input/input15/event12 (input)

 Care to show the entire sequence?

 Not sure what you mean.

The above sequence of events you posted.

 Is it inputX only for the input devices, or do you get also a mouseX
 device?

 I get only an eventX device:

Ok, so we don't get any other specific class device from the input layer.

 Also, care to add the full section of lsusb -v for this device?

 Bus 001 Device 009: ID 077d:0410 Griffin Technology PowerMate

The device also does not tell us anything interesting.

Does the input subsystem tell us anything specific we might want to
use to classify the device? What does:
  grep . /sys/class/input/inputX/capabilities/*
print? Replace the X with the actual number, which changes with every reconnect.

Thanks,
Kay



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#501503: udev: Griffin Powermate USB knob doesn't get /dev/input/by-id|path links

2009-04-26 Thread Kay Sievers
On Mon, Apr 27, 2009 at 02:36, Kay Sievers kay.siev...@vrfy.org wrote:
 Bus 001 Device 009: ID 077d:0410 Griffin Technology PowerMate

 The device also does not tell us anything interesting.

 Does the input subsystem tell us anything specific we might want to
 use to classify the device? What does:
  grep . /sys/class/input/inputX/capabilities/*
 print? Replace the X with the actual number, which changes with every 
 reconnect.

In the meantime, I've added change to append the usb interface number
to the event device, if we don't find a common class. This should be
unique, and not clash with other interfaces of the same device.

It adds the input device of my webcam snow, which should behave in the
same way as your device regarding the not catched input class:
  /dev/input/
  |-- by-id
  |   |-- usb-046d_09a4_C4B15020-event-if00 - ../event13
  |   |-- usb-Chicony_Electronics_Co.__Ltd._4807-event-if00 - ../event12
  |   |-- usb-Logitech_USB-PS_2_Optical_Mouse-event-mouse - ../event14
  ...

It's here:
  
http://git.kernel.org/?p=linux/hotplug/udev.git;a=commitdiff;h=4d3657816a9652cc57b7a23c2adc858d83851f02

Thanks,
Kay



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#515598: persistent disk symlinks changed - to _, nothing in changelog

2009-03-29 Thread Kay Sievers
On Tue, 2009-03-03 at 17:57 +0100, Michael Prokop wrote:
 * martin f krafft madd...@debian.org [20090303 16:01]:
  also sprach Marco d'Itri m...@linux.it [2009.02.16.1622 +0100]:
udev used to create links like
   I remember seeing another bug about this (which should be open), but I
   am not inclined to add compatibility symlinks unless there is a lot of
   pressure.
 
  Is this upstream who took the liberty to just change *persistent*
  symlinks, did they not foresee the consequences of their actions, or
  is this a packaging thing?
 
 AFAICS this is due to a change in upstream's
 udev_util_replace_chars() of udev/lib/libudev-util.c, used via
 scsi_id() in udev/extras/scsi_id/scsi_id.c.

ata-* links should be created by values from ata_id not scsi_id.

Please check with:
  udevadm test /block/sda
or
  udevtest /block/sda
where the difference is coming from.

Kay




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#501503: udev: Griffin Powermate USB knob doesn't get /dev/input/by-id|path links

2009-03-18 Thread Kay Sievers
On Wed, Mar 18, 2009 at 10:48, Marco d'Itri m...@linux.it wrote:
 From: Phil Endecott spam_from_debian_bug...@chezphil.org

 I have a Griffin Powermate, which is a USB knob that can be used as
 e.g. a volume control, for scrolling through video/audio, etc.  No
 /dev/input/by-* links are created for it.  This is because
 persistent-input.rules only sets ENV{ID_CLASS} for keyboards and mice
 when it recognises them from their ATTRS{bInterfaceProtocol}.  This
 device has ATTRS{bInterfaceProtocol}==0.  I have added this, to give
 it class misc; I'm not sure if there is an official USB-spec-defined
 meaning for protocol==0 that I should be using:

 SUBSYSTEMS==usb, \
        ATTRS{bInterfaceClass}==03, ATTRS{bInterfaceProtocol}==00, \
                                        ENV{ID_CLASS}=misc
 I now get the desired symlinks:

 /dev/input/by-id/usb-Griffin_Technology,_Inc._Griffin_PowerMate-event-misc
 /dev/input/by-path/pci-:00:10.2-usb-0:1:1.0-event-misc

It's undefined if bInterfaceProtocol is 0.

What is the subclass value of the device? Like lsusb -v prints for a mouse:
  bNumEndpoints   1
  bInterfaceClass 3 Human Interface Device
  bInterfaceSubClass  1 Boot Interface Subclass
  bInterfaceProtocol  2 Mouse

Thanks,
Kay
--
To unsubscribe from this list: send the line unsubscribe linux-hotplug in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#459788: libvolume-id-dev: Missing definition of ${exec_prefix} in generated pkgconfig data

2008-01-09 Thread Kay Sievers
On Tue, 2008-01-08 at 18:17 +, Neil Williams wrote:
 When cross building packages depending on libvolume-id, pkgconfig fails
 to parse the pc file generated by udev because the exec_prefix value is
 not defined:
 
 $ pkg-config /usr/arm-linux-gnu/lib/pkgconfig/libvolume_id.pc --libs
 libvolume_id
 Variable 'exec_prefix' not defined in
 '/usr/arm-linux-gnu/lib/pkgconfig/libvolume_id.pc'

 The pc file is missing the first two lines:
 prefix=
 exec_prefix=
 
 The values for the missing variables are not particularly important, but
 pkg-config does require that the variables are specified so that it can
 work out how to calculate dependencies during the cross build. Short
 circuiting this step by hardcoding the value for libdir as /usr/lib
 prevents pkg-config from converting libdir to be /usr/arm-linux-gnu/lib
 etc. when cross compiling.
 
 The attached patch adds dummy values to the pc file which allow
 pkg-config to operate correctly:

Applied.

Thanks,
Kay




-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#422049: udev: udevinfo manual page does not document short options

2007-05-03 Thread Kay Sievers
It's consistent in all udev programs. Only long-options are supported
today. The short options are for convenience, or for compatibility to
old releases only.

Thanks,
Kay

 Package: udev
 Version: 0.105-4
 Severity: minor
 File: /usr/bin/udevinfo
 
 udevinfo accepts some short options that are not documented in the
 manual page or in udevinfo --help. It would be nice if they were
 documented in both places.




-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#415744: udev: [PATCH] fix libvolume_id.pc libdir

2007-03-25 Thread Kay Sievers
On Wed, 2007-03-21 at 18:43 +0200, Guillem Jover wrote:
 The current .pc file has a wrong libdir (/lib), it should be /usr/lib
 as there is where the .so file is located. This makes pkg-config to
 not trim the -L argument which is problematic at least on sbox.

What do you mean? The .so file is in /lib(64), not in /usr, it's usually
needed for bootup, so it can never be in /usr.

Thanks,
Kay



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#411967: udev: Name conflicts in z20_persistent.rules

2007-03-21 Thread Kay Sievers
On Sat, 2007-03-03 at 17:59 +0100, Kay Sievers wrote:
  The problem lies within /dev/disk/by-id.  Even though the card reader
  has four slots, it only has one serial number, so only one link is
  created in /dev/disk/by-id.  It's called
  usb-Generic_STORAGE_DEVICE_05170 and it points to one of
  /dev/sd[abcd], not always the same one.  I suppose there's a race
  condition somewhere.
 
  The card reader is a Kingston FCR-HS215/1, if that matters.
  Vendor/device ids: 11b0:6108.
 
 Yes, that's a known issue. So far, we've seen that only for very cheap
 devices, not something with a brand name on it. Usually, the different
 ports on a card reader have different names:
   /dev/disk/
   |-- by-id
   |   |-- usb-_CF_TS-RD13_2511 - ../../sdb
   |   |-- usb-_MS_TS-RD13_2511 - ../../sdd
   |   |-- usb-_SD_TS-RD13_2511 - ../../sdc
   |   `-- usb-_XD_TS-RD13_2511 - ../../sde
   ...
   |-- by-path
   |   |-- pci-:00:1d.7-usb-0:3:1.0-scsi-0:0:0:0 - ../../sdb
   |   |-- pci-:00:1d.7-usb-0:3:1.0-scsi-0:0:0:1 - ../../sdc
   |   |-- pci-:00:1d.7-usb-0:3:1.0-scsi-0:0:0:2 - ../../sdd
   |   |-- pci-:00:1d.7-usb-0:3:1.0-scsi-0:0:0:3 - ../../sde
   ...
 
 Hmm, we could add the SCSI-LUN number, like we do in path_id.

Ok, I talked with Hannes, and we decided to change usb_id to append
-$target:$lun to the id of usb-mass storage devices. It looks like
this now:
  /dev/disk/by-id/
  |-- usb-Generic_STORAGE_DEVICE_02773-0:0 - ../../sdb
  |-- usb-Generic_STORAGE_DEVICE_02773-0:1 - ../../sdc
  |-- usb-Generic_STORAGE_DEVICE_02773-0:2 - ../../sdd
  `-- usb-Generic_STORAGE_DEVICE_02773-0:3 - ../../sde

It will be part of udev 107. Hope will work as expected.

Thanks,
Kay



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#411967: udev: Name conflicts in z20_persistent.rules

2007-03-03 Thread Kay Sievers
 The problem lies within /dev/disk/by-id.  Even though the card reader
 has four slots, it only has one serial number, so only one link is
 created in /dev/disk/by-id.  It's called
 usb-Generic_STORAGE_DEVICE_05170 and it points to one of
 /dev/sd[abcd], not always the same one.  I suppose there's a race
 condition somewhere.

 The card reader is a Kingston FCR-HS215/1, if that matters.
 Vendor/device ids: 11b0:6108.

Yes, that's a known issue. So far, we've seen that only for very cheap
devices, not something with a brand name on it. Usually, the different
ports on a card reader have different names:
  /dev/disk/
  |-- by-id
  |   |-- usb-_CF_TS-RD13_2511 - ../../sdb
  |   |-- usb-_MS_TS-RD13_2511 - ../../sdd
  |   |-- usb-_SD_TS-RD13_2511 - ../../sdc
  |   `-- usb-_XD_TS-RD13_2511 - ../../sde
  ...
  |-- by-path
  |   |-- pci-:00:1d.7-usb-0:3:1.0-scsi-0:0:0:0 - ../../sdb
  |   |-- pci-:00:1d.7-usb-0:3:1.0-scsi-0:0:0:1 - ../../sdc
  |   |-- pci-:00:1d.7-usb-0:3:1.0-scsi-0:0:0:2 - ../../sdd
  |   |-- pci-:00:1d.7-usb-0:3:1.0-scsi-0:0:0:3 - ../../sde
  ...

Hmm, we could add the SCSI-LUN number, like we do in path_id.

Hannes, any idea what's the best fix for it?

Thanks,
Kay



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#409385: udev: not unique path_id for multiple-LUNs iSCSI targets

2007-02-05 Thread Kay Sievers
 I was willing to use /dev/disk/by-path/ devices with an iSCSI setup when
 I figured out not all devices were available by path. I discovered that
 it was because my iSCSI target provided several LUNs, which are not
 reflected by path_id.
 
 The attached patch solves the problem by appending the LUN to the path.

 - d=ip-${iscsi_address}:${iscsi_port}-iscsi-${iscsi_tgtname}
 + iscsi_lun=${DEV##*:}
 + 
 d=ip-${iscsi_address}:${iscsi_port}-iscsi-${iscsi_tgtname}:${iscsi_lun}

We already have a fix in the SLES release with -lun- as the separator.
I'll commit this for the next udev version.

Thanks,
Kay



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#401826: [PATCH] Fix inotify syscalls on M32R

2006-12-06 Thread Kay Sievers
Applied to the upstream udev tree.

Thanks,
Kay

On Wed, 2006-12-06 at 16:17 +0900, Kazuhiro Inaoka wrote:
 Please apply a patch to fix inotify syscalls on M32R.
 --- udev-0.103/udev_sysdeps.h.org 2006-12-06 05:29:31.503967152 +
 +++ udev-0.103/udev_sysdeps.h 2006-12-06 05:30:02.502139848 +
 @@ -64,6 +64,10 @@
  # define __NR_inotify_init   290
  # define __NR_inotify_add_watch  291
  # define __NR_inotify_rm_watch   292
 +#elif defined (__m32r__)
 +# define __NR_inotify_init   290
 +# define __NR_inotify_add_watch  291
 +# define __NR_inotify_rm_watch   292
  #elif defined (__hppa__)
  # define __NR_inotify_init  269
  # define __NR_inotify_add_watch 270



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#398962: [2.6.18] Platform devices incorrectly provide $MODALIAS?

2006-11-28 Thread Kay Sievers
On Tue, 2006-11-28 at 08:12 +0100, Bastian Blank wrote:
 On Mon, Nov 27, 2006 at 03:45:36PM +0100, Kay Sievers wrote:
 For now you can just
  blacklist all platform events like Marco already suggested.
 
 Nope. modprobe don't have the knowledge that this is an alias.

Exactly, that's the root of the problem. But it isn't what Marco put in
the Debian package, and I was referring to.

Kay



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#398962: [2.6.18] Platform devices incorrectly provide $MODALIAS?

2006-11-27 Thread Kay Sievers

On 11/25/06, Frans Pop [EMAIL PROTECTED] wrote:

In Debian we are currently seeing some problems with drivers that are
repeatedly loaded unsuccessfully:
kernel: Intel ISA PCIC probe: not found.
FATAL: Error inserting i82365: no such device
kernel: Intel ISA PCIC probe: not found.
[...]

According to Marco d'Itri this could be because platform devices in
recent kernels provide $MODALIAS while they should not. So udev will
always try loading again the driver after it has been loaded.

He has suggested working around this by excluding loading drivers for
platform devices in udev. However, Sven Luther noted that e.g. the
Pegasos marvell gigabit ethernet port is a platform device for which the
driver should be loaded.

Can anyone shed some light on this and suggest a solution?


The only sane solution is to fix the kernel platform-subsystem to use
aliases instead of direct module names. In the bug you mentioned, the
platform device requests its _own_ module, the one which has just
created the device again. This misuse of modalias causes a
modprobe-loop when the init of the module fails.
The author of that code seems ignorant to the issues he creates by
doing that, but we hope to get that fixed. For now you can just
blacklist all platform events like Marco already suggested.

Kay


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#398651: /dev/dvb nodes no longer created after udev upgrade

2006-11-18 Thread Kay Sievers
On Thu, 2006-11-16 at 12:33 +0100, Torsten Crass wrote:
  It's probably you, since DVB devices work fine for me and apparently
  everybody else.
 
 perhaps you and everybody else is accessing DVB devices via loadable 
 modules, while I'm using a rather monolithic kernel with the drivers 
 compiled in?
 
  Are you sure that the driver has been loaded? 
 
 According to the dmesg output I submitted together with the bug report, 
 both cards get reckognized and initialized properly (it seems to me).
 
  Are the devices created if
  you run udevtrigger? 
 
 Nope.

Please compare the relevant sysfs-trees (/sys/class/dvb/*) of the
working kernel with the non-working one. Do you see the same list of
devices there?



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#389250: udev: does not always rename wireless interface

2006-10-30 Thread Kay Sievers
On Sun, 2006-10-29 at 23:28 +0100, Brice Goglin wrote:
 reassign 389250 linux-2.6
 thanks

 Kay Sievers wrote:
  On Sun, 2006-10-29 at 00:10 +0200, Brice Goglin wrote:

  Kay Sievers wrote:
  
  This is just for testing, if that works, we may need to fix the
  kernel to create the bus-device driver link at the proper time
  to be catched by DRIVERS==.

  Just wondering whether there is anything new about this bug report.
  Marco said it could be ipw2200 having the race between driver setup and
  populating the MAC address file in sysfs as some drivers do. Kay talks
  about fixing the kernel. Should I talk to the ipw2200 maintainer? Or is
  this a known problem that netdev people are dealing with for all drivers?
  
 
  It likely affects all devices, not only netdev's or certain drivers.
  This should fix it:

  http://www.kernel.org/git/?p=linux/kernel/git/gregkh/patches.git;a=blob;hb=HEAD;f=driver/driver-link-sysfs-timing.patch

 
 Yes, 2.6.19-rc3 with this patch seems to work very well, thanks a lot.
 Is this patch supposed to go into 2.6.19?
 
 I am reassigning this bug to linux-2.6. I guess it could be tagged
 fixed-upstream too.

2.6.20, I expect. It should be in -mm at the moment, automatically
pulled-in from Greg's tree.




-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#389250: udev: does not always rename wireless interface

2006-10-29 Thread Kay Sievers
On Sun, 2006-10-29 at 00:10 +0200, Brice Goglin wrote:
 Kay Sievers wrote:
  This is just for testing, if that works, we may need to fix the
  kernel to create the bus-device driver link at the proper time
  to be catched by DRIVERS==.
 
 Just wondering whether there is anything new about this bug report.
 Marco said it could be ipw2200 having the race between driver setup and
 populating the MAC address file in sysfs as some drivers do. Kay talks
 about fixing the kernel. Should I talk to the ipw2200 maintainer? Or is
 this a known problem that netdev people are dealing with for all drivers?

It likely affects all devices, not only netdev's or certain drivers.
This should fix it:
  
http://www.kernel.org/git/?p=linux/kernel/git/gregkh/patches.git;a=blob;hb=HEAD;f=driver/driver-link-sysfs-timing.patch

Kay



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#392580: udev: (Some) Epson SCSI scanners not recognized as scanners

2006-10-12 Thread Kay Sievers
On Thu, 2006-10-12 at 13:26 +0200, Jö Fahlke wrote: 
 Package: udev
 Version: 0.100-2
 Severity: normal
 Tags: patch
 
 My Epson scanner is not assigned to group scanner when I switch it
 on and scan the SCSI bus.  This is because it identifies itself as
 type 3 (processor) and vendor EPSON, but permissions.rules matches
 for vender Epson.
 
 This patch solve the problem for me:
 ==
 --- /etc/udev/permissions.rules   2006/09/21 18:37:41 1.6
 +++ /etc/udev/permissions.rules   2006/10/12 10:49:09
 @@ -25,6 +25,7 @@
  SUBSYSTEMS==scsi, ATTRS{type}==1,
 GROUP=tape
  SUBSYSTEMS==scsi, ATTRS{type}==3, ATTRS{vendor}==HP,   GROUP=scanner
  SUBSYSTEMS==scsi, ATTRS{type}==3, ATTRS{vendor}==Epson,
 GROUP=scanner
 +SUBSYSTEMS==scsi, ATTRS{type}==3, ATTRS{vendor}==EPSON,
 GROUP=scanner
  SUBSYSTEMS==scsi, ATTRS{type}==5,
 GROUP=cdrom
  SUBSYSTEMS==scsi, ATTRS{type}==6,
 GROUP=scanner
  
 ==
 
 Note that some way to match values in a case insensitive manner would
 probably allow a more general fix which avoids similiar problems with
 other vendors.

fnmatch() which has a FNM_CASEFOLD option. We could use this but I don't
know a nice way to specify it in the rule key. For now you could just do
ugly things like:
  ATTRS{vendor}==E[Pp][Ss][Oo][Nn]

Kay




Bug#389892: writing_udev_rules: just unplug the card reader and insert new cards and replug

2006-09-28 Thread Kay Sievers
On Thu, 2006-09-28 at 16:40 +0800, Dan Jacobson wrote:
 X-debbugs-cc: [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED]
 Package: udev
 Version: 0.100-1
 Severity: normal
 File: /usr/share/doc/udev/writing_udev_rules/index.html
 
 Regarding
 
  USB Card Reader
 
  These devices typically do not inform the host computer upon
  media change. So, if you plug in the device with no media, and
  then insert a card, the computer does not realise, and you do not
  have your mountable sdb1 partition node for the media.
 
  One possible solution is to take advantage of the all_partitions
  option, which will create 16 partition nodes for every block
  device that the rule matches:
 
BUS==usb, SYSFS{product}==USB 2.0 CompactFlash Reader,
SYMLINK+=cfrdr%n, OPTIONS+=all_partitions
 
  You will now have nodes named: cfrdr, cfrdr1, cfrdr2, cfrdr3,
  ..., cfrdr15.
 
 
 I would say 1 times less complicated would be to tell the user to
 forget trying to understand all this, and
 
 1. umount(8) cards already mounted on the reader, if any.
 2. Unplug the reader from the USB socket.
 3. Insert any additional cards into the reader.
 4. Plug the reader back into the USB socket.
 5. mount(8) your cards again.
 
 That's all.
 
 Sorry, but that's the view from us less sophisticated users.

Ick, no, just use a reasonable setup, where HAL will poll the device for
you and this is no issue at all. Nobody should write udev rules for
things like this these days.

 ===
 
 (By the way, one even wonders if BUS above should be SUBSYSTEMS.

Both work the same way. Yes, the document should be updated to use the
new key names.

 and one also wants to match all card readers, no matter the brand.

No recent system should need any of these udev rules to make
card-readers work. Udev rules or disconnect/reconnect advices are the
totally wrong solution for this problem.

 Also say what one has to do after one writes a rule. restart udevd?
 reboot? for it to take effect.

Nothing is needed. Udevd will notice any rules change by watching the
directory with inotify.

 But never mind. It is 1 times easier to forget trying to
 understand all this.)

As said, everybody can try to fiddle around with stuff like this if he's
interested in seeing how that works, we all do this sometimes. But
nothing of this should be needed today to get things working, if you
don't cripple your system or work in a very special environment and you
are expected to have that kind of special knowledge anyway.

Kay



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#389250: udev: does not always rename wireless interface

2006-09-27 Thread Kay Sievers
On Wed, 2006-09-27 at 12:45 +0200, Marco d'Itri wrote:
 On Sep 27, Brice Goglin [EMAIL PROTECTED] wrote:
 
   # PCI device 0x8086:0x4220 (ipw2200)
   SUBSYSTEM==net, DRIVERS==?*, ATTRS{address}==00:12:f0:12:05:03, 
   NAME=wifi
   
   Try replacing DRIVERS== with PHYSEDVDRIVER== and let me know.
  It works!
  
  I don't see any documentation about PHYSEDVDRIVER anywhere. Am I
  supposed to keep using it?

It must be ENV{PHYSDEVDRIVER}==, it is just a kernel supplied
environment variable.

 Or was this only for debugging purpose?

This is just for testing, if that works, we may need to fix the
kernel to create the bus-device driver link at the proper time
to be catched by DRIVERS==.

 It is deprecated and usually should not be used, probably DRIVER can
 be fixed to work as expected.

Yes, all kernel PHYSDEV* event variables are deprecated and will be
removed from the kernel in 2 years.

Thanks,
Kay




-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#366853: vol_id returns incorrect information for my randomly-encrypted swap device

2006-08-18 Thread Kay Sievers
On Thu, 2006-08-17 at 22:46 -0700, Andrew Pimlott wrote:
 I suspect I have a similar problem to the reporter of this bug.  I have
 a swap partition that is set up as an encrypted dm device with a random
 key, using the cryptsetup package.  cryptsetup now has a test that calls
 vol_id, which thinks that my partition is vfat:
 
 % sudo /lib/udev/vol_id /dev/hda2
 ID_FS_USAGE=filesystem
 ID_FS_TYPE=vfat
 ID_FS_VERSION=FAT32
 ID_FS_UUID=
 ID_FS_LABEL=
 ID_FS_LABEL_SAFE=
 
 % sudo mount -t vfat /dev/hda2 /mnt/tmp
 mount: /dev/hda2: can't read superblock
 
 Inspecting this partition, I see clearly MSDOS5.0, presumably the
 long-preserved remnants of a vfat filesystem.  However, since the kernel
 refuses to mount the partition as vfat, it seems that vol_id could apply
 a stricter check.
 
 I realize that vol_id can never be perfect, since the device metadata
 may be consistent with multiple formats.  And I agree that device
 initialization tools (like mkswap) should zero out part of the device.
 But it would still help to make vol_id more exact, because this issue
 evidently bites users in practice.  Perhaps there could be flags for
 quick-and-dirty check versus more complete check.

It's almost impossible to make libvolume_id stricter, in most cases,
even the kernel mounts a mkswap formatted (and obviously corrupt) fat
volume just fine and allows writing to it. It's mkswap which is horribly
broken here and needs to be fixed. You can just use dd and clean the
volume before reformatting it.

I talked to the former maintainer of mkswap long ago and he said it's a
'feature' of mkswap not to overwrite anything not needed for the swap
signature - so far, he seem not to have the slightest clue what all this
is about.
The maintainer has changed in the meantime, which is great, so we may
have a chance to fix that now, but I didn't try to talk to him.

Kay



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#366853: vol_id returns incorrect information for my randomly-encrypted swap device

2006-08-18 Thread Kay Sievers
On Fri, 2006-08-18 at 08:59 -0700, Andrew Pimlott wrote:
 On Fri, Aug 18, 2006 at 02:13:53PM +0200, Kay Sievers wrote:
  It's almost impossible to make libvolume_id stricter, in most cases,
  even the kernel mounts a mkswap formatted (and obviously corrupt) fat
  volume just fine and allows writing to it.
 
 Ok, thanks for the explanation.
 
  It's mkswap which is horribly broken here and needs to be fixed.
 
 Hopefully the bug I filed with util-linux will produce some change.

That would be nice. In case you need to argue, the mkfs.ext* tools and
mkfs.reisferfs tools invalidate the start and the end (md raid) of the
volume too, to overwrite old signatures after having the same problems.

  You can just use dd and clean the volume before reformatting it.
 
 Right--I've done that to the partition, and now I have no problem.

Yeah, but it's bad, that we need to do this after that issue is known
for more than a year now.

Thanks,
Kay



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#383200: udev: typo in man page, 'Asign' should be 'Assign'

2006-08-15 Thread Kay Sievers
On Tue, 2006-08-15 at 10:08 -0500, Matt Zagrabelny wrote:
 Package: udev
 Version: 0.093-1
 Severity: minor
 
 
 typo in /usr/share/man/man7/udev.7.gz
 
 'Asign' should be 'Assign'

Fixed.

Thanks,
Kay



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#383051: /lib/udev/vol_id translates volume id to uppercase for FAT partition.

2006-08-14 Thread Kay Sievers
On Mon, 2006-08-14 at 19:43 +0100, Tim Phipps wrote:
 Package: udev
 Version: 0.093-1
 Severity: normal
 
 Feel free to change this to minor or wishlist. I'd like vol_id to not
 change the case of FAT partitions labels. I don't believe this will affect
 many people since FAT partitions are usually created with upper case labels
 anyway. It was quite hard to get a lower case one in there in the first
 place so only lunatics like me will notice any change.

Huh, what do you mean? Libvolume_id does not translate anything. What
piece of software is showing a label with lowercase chars?

Anyway, care to add the output of:
  /lib/udev/vol_id /dev/sdd1
and:
  strace -t -s1 /lib/udev/vol_id /dev/sdd1

so we can take a look at the label stored on your disk.

Thanks,
Kay



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#378839: [Pkg-bluetooth-maintainers] Bug#378839: bluez-pcmcia-support: udev support broken

2006-07-25 Thread Kay Sievers
On Tue, 2006-07-25 at 12:52 +0200, Felix Homann wrote:
 On Tuesday 25 July 2006 11:12, Filippo Giunchedi wrote:
  what about the change from DEVPATH to PHYSDEVPATH Felix proposed in
  bluetooth.sh?
 
 Hi again,
 
 MANFID=`cat /sys/$PHYSDEVPATH/manf_id`,`cat /sys/$PHYSDEVPATH/card_id`
 
 and
 
 MANFID=`cat /sys/$DEVPATH/device/manf_id`,`cat /sys/$DEVPATH/device/card_id`
 
 seem to be equivalent in this setting. I don't know if either one is prefered 
 or deprecated, but I would now prefer the latter since it's simpler:
 
 $DEVPATH - /class/tty/ttyS2
 $PHYSDEVPATH -  /devices/pci:00/:00:1e.0/:06:01.0/0.0

PHYSDEVPATH and the 'device' link are both deprecated and will go away
some day in the future, you better pass the values you want to use in
your script down from udev with $sysfs{}. That is not dependent on a
specific order of devices in sysfs.

Kay



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#378839: [Pkg-bluetooth-maintainers] Bug#378839: bluez-pcmcia-support: udev support broken

2006-07-25 Thread Kay Sievers
On Tue, 2006-07-25 at 15:43 +0200, Felix Homann wrote:
 On Tuesday 25 July 2006 13:18, Kay Sievers wrote:
  PHYSDEVPATH and the 'device' link are both deprecated and will go away
  some day in the future, you better pass the values you want to use in
  your script down from udev with $sysfs{}. That is not dependent on a
  specific order of devices in sysfs.

 I've attached working (for me) rules+bluetooth.sh.  $sysfs{manf_id} and 
 $sysfs{card_id} are passed to bluetooth.sh.

Looks fine, and should not break, if something in sysfs changes, which
is nice.

Btw, you should be able to just do RUN+=bluetooth.sh, as udev will
look in /lib/udev/ if it does not start with a '/'.

Thanks,
Kay



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#378839: bluez-pcmcia-support: udev support broken

2006-07-21 Thread Kay Sievers
On Wed, Jul 19, 2006 at 12:16:54PM +0200, Marco d'Itri wrote:
 Is this correct?
 
 - Forwarded message from [EMAIL PROTECTED] -
 
 From: [EMAIL PROTECTED]
 To: Debian Bug Tracking System [EMAIL PROTECTED]
 Subject: bluez-pcmcia-support: udev support broken
 
 Package: bluez-pcmcia-support
 Version: 3.1-2
 Severity: grave
 Justification: renders package unusable
 
 
 The udev rules supplied by the package don't work. At least on my
 system tested with a SPHINX and a Sitecom card.
 
 The solution is to replace ENV{BUS} by ENV{PHYSDEVBUS} in
 bluez-pcmcia-support.udev and to correspondingly change $DEVPATH to
 $PHYSDEVPATH in bluetooth.sh, i. e. revert to the solution I sent in
 #351106.

ENV{BUS} never existed, so it can't work. The PHYDEV* values are
deprecated and and should better not be used. They will not go away
soon, but if that can be solved without them, it would be nice.
PHYSDEVBUS is just the subsystem of the parent device, which can
probably be matched with BUS==pcmcia.

Kay


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#376589: udev: z25_persistent-net.rules is no longer generated

2006-07-05 Thread Kay Sievers
On Wed, 2006-07-05 at 14:51 +0200, Andreas Beckmann wrote:
 I switched testing to another machine that can be rebooted more easily.
 It has only one (onboard) network interface:
 # PCI device 10ec:8139 (8139too)
 
 Kay Sievers wrote:
 ...
  Care to provide:
udevinfo -a -p /class/net/eth0
 
  That should print all the DRIVER= values, just to check if that is
  correct.
 
   looking at device '/class/net/eth0':

   looking at device '/devices/pci:00/:00:0a.0':
 ID==:00:0a.0
 BUS==pci
 DRIVER==8139too

   looking at device '/devices/pci:00':
 ID==pci:00
 BUS==
 DRIVER==

That looks fine.

 Marco d'Itri wrote:
  On Jul 04, Andreas Beckmann [EMAIL PROTECTED] wrote:
 
  # ignore interfaces without a driver link
  DRIVER!=?*, GOTO=persistent_net_generator_end
  So try replacing this rule with:
 
  PHYSDEVDRIVER!=?*, GOTO=persistent_net_generator_end
 
  and check if it works better.
 
 There is no difference between DRIVER!=?* and PHYSDEVDRIVER!=?* - no
 z25_persistent-net.rules created during boot.

PHYSDEVDRIVER is an environment variable set by the kernel and needs to
be in an ENV{} key to match the value.

Kay



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#376589: udev: z25_persistent-net.rules is no longer generated

2006-07-04 Thread Kay Sievers
On Tue, 2006-07-04 at 19:35 +0200, Marco d'Itri wrote:
 On Jul 04, Andreas Beckmann [EMAIL PROTECTED] wrote:
 
  # ignore interfaces without a driver link
  DRIVER!=?*, GOTO=persistent_net_generator_end
  
  If I comment out this line, z25_persistent-net.rules is generated on
  boot (if it was missing), so the test seems to be too limiting.
 Too bad, because it's needed.
 
   Unless you can point me to an actual bug, then the explanation of
   this behaviour is that your network card(s) do not support generation of
   persistent rules, older versions of udev lacked some checks which were
   added later.
  
  Are the following network cards too old?
  # PCI device 14e4:4401 (b44) (onboard)
  # PCI device 10ec:8139 (8139too) (PCI card)
 No, and unless you added the drivers name in the comment you reported
 it means that the driver symlinks exist because the script has found them.
 Kay, do you have any idea about why DRIVER!=?* is not working as
 expected?

The device itself does not have a DRIVER value set. We need to select a
parent device with BUS to match against DRIVER, but unfortunately there
are pci devices in the higher chain which don't have a driver value, so
  BUS==?*, DRIVER!=?*
will not work. I see currently no easy solution other than using
PHYSDEVDRIVER, until we know how to solve that.

  I attach a copy of /sys/class/net/eth* as described in #368845.
  Kernel 2.6.16-2-k7 (2.6.16-15), there are no 'driver' symlinks.
 They are in the device/ directory.

Care to provide:
  udevinfo -a -p /class/net/eth0

That should print all the DRIVER= values, just to check if that is
correct.

Thanks,
Kay



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#366853: udev: vol_id returns incorrect information for my root device

2006-05-11 Thread Kay Sievers
 I've found that the problem appears to be related to vol_id failing to
 find proper information for my root device, /dev/sda1.  I've run the
 commands 'e2label', '/lib/udev/vol_id', 'mount' and 'fdisk' with the
 following results:

Never use any of the all broken mkfs* tools without writing zeros to the
start and the end of the partition before applying a different format.
Overwrite at least 64kb. (Sane formatting applications like everything that
is libparted based don't need this.)

Kay


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#351606: [EMAIL PROTECTED]: Re: Bug#351606: multipath mis-detects SATA raid1 by default]

2006-02-09 Thread Kay Sievers
On Thu, Feb 09, 2006 at 08:25:14PM +0100, Bastian Blank wrote:
 Hi folks
 
 I got the following bugreport against multipath-tools, which by default
 uses scsi_id to detect multiple paths.
 
 scsi_id on SATA devices (via libata) returns a string like:
 | 0ATA_ST3160827AS_Linux_ATA-SCSI_simulator

Add this:
  $ cat /etc/scsi_id.config
  vendor=ATA,options=-p 0x80

Kay


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#350613: [EMAIL PROTECTED]: Bug#350613: Minor typo in manpage]

2006-02-03 Thread Kay Sievers
On Mon, Jan 30, 2006 at 10:51:10PM +0100, Marco d'Itri wrote:
 small typo in the manpage:
GOTO   Jumps to the next LABEL with a matching gname
 should read
GOTO   Jumps to the next LABEL with a matching name

Fixed.

Thanks,
Kay


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#350235: [EMAIL PROTECTED]: Re: Re: Bug#350235: ide pcmcia problem]

2006-02-03 Thread Kay Sievers
On Fri, Feb 03, 2006 at 12:32:40PM +0100, Marc Haber wrote:
 On Wed, Feb 01, 2006 at 10:52:25AM +0100, Marco d'Itri wrote:
  On Feb 01, Marc Haber [EMAIL PROTECTED] wrote:
   On Wed, Feb 01, 2006 at 03:08:42AM +0100, Kay Sievers wrote:
What does udevtest print on your box?
   With or without the block/removable rule in place? With or without the
   CF card inserted?
  With the rule and the card.
 
 $ sudo udevtest /block/hde
 Password:
 main: looking at device '/block/hde' from subsystem 'block'
 run_program: '/sbin/cdrom_id --export /dev/.tmp-33-0'
 run_program: '/sbin/cdrom_id' returned with status 3
 udev_rules_get_name: no node name set, will use kernel name 'hde'
 create_node: creating device node '/dev/hde', major = '33', minor = '0', mode 
 = '0660', uid = '0', gid = '25'
 main: run: 'socket:/org/kernel/udev/monitor'
 main: run: '/etc/init.d/hdparm hotplug'
 main: run: 'udev_run_hotplugd block'
 main: run: 'udev_run_devd block'
 
 Sorry for taking so much time.

Oh, you need to make sure, that cdrom_id and nothing else runs on _any_
removable ide drive, just like the persistent disk rules are skipped.

Every open() of a removable ide device will cause a revalidation of the
partition table, which caues the events to loop.

Kay


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#350490: udev 0.083-1 do not mount my usb drives (disk, mobile). With 0.082 it works. I downgrade it to work again

2006-01-31 Thread Kay Sievers
On Wed, Feb 01, 2006 at 12:00:26AM +0100, Sjoerd Simons wrote:
 On Tue, Jan 31, 2006 at 10:54:08PM +0100, Marco d'Itri wrote:
  On Jan 30, Michael Ott [EMAIL PROTECTED] wrote:
  
   I believe that dbus or fam will mount my disk. But my mobile memory will
   mount with udev 0.082 and not with 0.083. I remember that it works
   yesterday and after update it did not work. 
  I see that #350762 has been opened too against HAL, but I still do not
  know what's wrong. Sjoerd, do you have any ideas about this? Kay?
  
  The relevant rules are:
  
  ENV{SEQNUM}==[0-9]*, ENV{UDEVD_EVENT}==1, 
  RUN+=/usr/lib/hal/hal.hotplug
  
  BUS=scsi,KERNEL=sd[a-z]*, 
  PROGRAM=/etc/udev/scripts/device-removable.sh %k 'usb ieee1394', 
  RESULT=1, MODE=0640, GROUP=hal
  
  BUS=usb, KERNEL=ub[a-z]*, MODE=0640, GROUP=hal
 
 As you guessed correctly in an earlier mail. Not adding $SUBSYSTEM as $1 to
 programs anymore breaks the hal hotplug helper. 
 
 The hal currently in experimental has udev passing events over a socket 
 instead
 of using the helper, so it works fine. Didn't upload it to unstable directly 
 because it had the first version of my priv. patch applied to it.
 
 Luckily the priv. sep. patch seems to work fine. So i'm planning to upload 
 hal 
 0.5.6 with the current priv. sep. patch and some other patches from HAL CVS 
 to 
 unstable which should fix this issue :)

Oh, yeah, sorry forgot the old hal helper cause we don't use it anymore for a
long time. Adding $env{SUBSYSTEM} to the rule should fix it. The current HAL 
will
install its own rule in the udev directory by default.

Kay


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#350235: [EMAIL PROTECTED]: Re: Re: Bug#350235: ide pcmcia problem]

2006-01-31 Thread Kay Sievers
 From: Marc Haber [EMAIL PROTECTED]
 To: Marco d'Itri [EMAIL PROTECTED], [EMAIL PROTECTED]
 Cc: Marc Haber [EMAIL PROTECTED]
 Subject: Re: Re: Bug#350235: ide pcmcia problem
 
 found 350235 0.84-1
 thanks
 
 On Sat, Jan 28, 2006 at 01:51:39PM +0100, Marco d'Itri wrote:
  Indeed... But maybe the recent changes in sysfs processing in udev broke
  the rule. First, try removing the symlink to persistent.rules to verify
  that it actually is what is exposing the bug, then after you succesfully
  loaded the driver check with something like:
  
  udevinfo -a -p /block/hde/hde1
  
  why it's not working.
 
 I have seen the same issues on my notebook, with udev 0.84-1.
 
  A workaround may be to add again this rule:
  
  BUS==ide, SYSFS{../removable}==1, DRIVER!=ide-cdrom, 
  GOTO=no_volume_id
 
 I needed that addition to make the PCMCIA CF card work.

Hmm, I found a CF card and the rule works fine for me:

  match_key: key DRIVER value='ide-cdrom'
  match_key: match DRIVER 'ide-cdrom' - 'ide-disk'
  match_key: DRIVER is true (non-matching value)
  match_key: key BUS value='ide'
  match_key: match BUS 'ide' - 'ide'
  match_key: BUS is true (matching value)
  match_rule: check 1 SYSFS keys
  sysfs_attr_get_value: open 
'/devices/pci:00/:00:1e.0/:04:00.0/0.0/ide0/0.0'/'removable'
  sysfs_attr_get_value: new uncached attribute 
'/sys/devices/pci:00/:00:1e.0/:04:00.0/0.0/ide0/0.0/removable'
  sysfs_attr_get_value: add to cache 
'/sys/devices/pci:00/:00:1e.0/:04:00.0/0.0/ide0/0.0/removable'
  sysfs_attr_get_value: attribute 
'/sys/devices/pci:00/:00:1e.0/:04:00.0/0.0/ide0/0.0/removable' does 
not exist
  sysfs_attr_get_value: open '/block/hda'/'removable'
  sysfs_attr_get_value: new uncached attribute '/sys/block/hda/removable'
  sysfs_attr_get_value: add to cache '/sys/block/hda/removable'
  sysfs_attr_get_value: cache '/sys/block/hda/removable' with value '1'
  match_rule: removed 0 trailing whitespace chars from '1'
  match_key: key SYSFS value='1'
  match_key: match SYSFS '1' - '1'
  match_key: SYSFS is true (matching value)
  match_rule: all 1 SYSFS keys matched
  udev_rules_get_name: moving forward to label 'persistent_end'


What does udevtest print on your box?

This is for the CF card:
  pim:/home/kay/work/src/udev # ./udevtest /block/hda
  main: looking at device '/block/hda' from subsystem 'block'
  udev_rules_get_name: no node name set, will use kernel name 'hda'
  create_node: creating device node '/dev/hda', major = '3', minor = '0', mode 
= '0640', uid = '0', gid = '6'
  main: run: '/lib/udev/idedma.sh /dev/hda'
  main: run: 'socket:/org/freedesktop/hal/udev_event'
  main: run: 'socket:/org/kernel/udev/monitor'

This is for a real disk:
  pim:/home/kay/work/src/udev # ./udevtest /block/sda
  main: looking at device '/block/sda' from subsystem 'block'
  run_program: '/sbin/usb_id -x'
  run_program: '/sbin/usb_id' returned with status 1
  run_program: '/sbin/scsi_id -g -x -s /block/sda -d /dev/.tmp-8-0'
  run_program: '/sbin/scsi_id' (stdout) 'ID_VENDOR=ATA'
  run_program: '/sbin/scsi_id' (stdout) 'ID_MODEL=HTS726060M9AT00'
  run_program: '/sbin/scsi_id' (stdout) 'ID_REVISION=MH4O'
  run_program: '/sbin/scsi_id' (stdout) 
'ID_SERIAL=SATA_HTS726060M9AT00_MRH453M4HWHG7B'
  run_program: '/sbin/scsi_id' (stdout) 'ID_TYPE=disk'
  run_program: '/sbin/scsi_id' (stdout) 'ID_BUS=scsi'
  run_program: '/sbin/scsi_id' returned with status 0
  udev_rules_get_name: add symlink 
'disk/by-id/scsi-SATA_HTS726060M9AT00_MRH453M4HWHG7B'
  run_program: '/sbin/path_id /block/sda'
  run_program: '/sbin/path_id' (stdout) 'ID_PATH=pci-:00:1f.2-scsi-0:0:0:0'
  run_program: '/sbin/path_id' returned with status 0
  udev_rules_get_name: add symlink 'disk/by-path/pci-:00:1f.2-scsi-0:0:0:0'
  run_program: '/sbin/vol_id --export /dev/.tmp-8-0'
  run_program: '/sbin/vol_id' returned with status 4
  run_program: '/sbin/edd_id --export /dev/.tmp-8-0'
  run_program: '/sbin/edd_id' (stdout) 'ID_EDD=int13_dev80'
  run_program: '/sbin/edd_id' returned with status 0
  udev_rules_get_name: add symlink 'disk/by-id/edd-int13_dev80'
  udev_rules_get_name: no node name set, will use kernel name 'sda'
  create_node: creating device node '/dev/sda', major = '8', minor = '0', mode 
= '0640', uid = '0', gid = '6'
  create_node: creating symlink 
'/dev/disk/by-id/scsi-SATA_HTS726060M9AT00_MRH453M4HWHG7B' to '../../sda'
  create_node: creating symlink 
'/dev/disk/by-path/pci-:00:1f.2-scsi-0:0:0:0' to '../../sda'
  create_node: creating symlink '/dev/disk/by-id/edd-int13_dev80' to '../../sda'
  main: run: 'socket:/org/freedesktop/hal/udev_event'
  main: run: 'socket:/org/kernel/udev/monitor'


Kay


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#350235: pcmciautils ?

2006-01-29 Thread Kay Sievers
On Sun, Jan 29, 2006 at 12:07:50PM +0100, Marco d'Itri wrote:
 On Jan 29, di dit [EMAIL PROTECTED] wrote:
 
 I can see why the rule does not work, at the removable==1 level we have
 BUS==block instead of the expected BUS==ide, and DRIVER is only
 available at the upper level.
 Kay?

Correct, that broke with the stricter logic to select the parent device in
the recent udev. I'll go fix udev also to look at SYSFS at the device we
received the event for and not only at the device selected by BUS. Then it
should work again.

In the case you compile udev yourself, can you check, if adding this to
udev_rules.c fixes this?  I'm on the road at the moment and don't have an
IDE device, but the same logic works when testing with scsi.

value = 
sysfs_attr_get_value(udev-dev_parent-devpath, key_name);
if (value == NULL)
+   value = 
sysfs_attr_get_value(udev-dev-devpath, key_name);
+   if (value == NULL)
goto try_parent;
strlcpy(val, value, sizeof(val));

Thanks,
Kay


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#350235: pcmciautils ?

2006-01-29 Thread Kay Sievers
On Sun, Jan 29, 2006 at 12:07:50PM +0100, Marco d'Itri wrote:
 On Jan 29, di dit [EMAIL PROTECTED] wrote:
 
 I can see why the rule does not work, at the removable==1 level we have
 BUS==block instead of the expected BUS==ide, and DRIVER is only
 available at the upper level.
 Kay?
 
 BUS==ide, SYSFS{removable}==1, DRIVER!=ide-cdrom, GOTO=no_volume_id
 
 
 Maybe a rule like this one would work, but is it correct? (And how are
 people going to figure this?)
 
 BUS==ide, SYSFS{block/removable}==1, DRIVER!=ide-cdrom, 
 GOTO=no_volume_id

Sure, it is correct, but we should better not introduce dependencies on
the weird symlinks that crosslink class devices and devices, they
will probably go away when we change /sys/devices to a sane layout and
the block device will just become a real child of the device.

Changing udev to look with SYSFS{} at the device we got the event for,
should work just fine.

Thanks,
Kay


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#348866: udev: 0.081-1 doesn't boot on 2.6.15 kernel

2006-01-19 Thread Kay Sievers
On Thu, Jan 19, 2006 at 03:24:05PM +0100, Marco d'Itri wrote:
 The boot procedure stop after some times at parport without creating devices 
 (eg ttyS0 and others).
 The udev 0.080-1 had same behaviour. Previous versions to 0.080 where 
 working. On the console I see:
 
 udevd [811]: udev_done seq 771, pid [892] exit with 1, 178 seconds old
 
 The above line is repeated from seq 771 to 780. Also, an error like
 
 udevd [811]: get_msg_from_envbuf: DEVPATH missing, ignore message

Hmm, this should be almost impossible to have the kernel send an event
without DEVPATH. No idea what's going on here. Are we sure that nothing
uses udevsend or any other tool that talks to the udev daemon?

Does blacklisting or temporarily renaming  the modules parport_pc and
parport and lp make the box booting?

Kay


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#348221: udev: create /dev/em8300* nodes

2006-01-17 Thread Kay Sievers
On Tue, Jan 17, 2006 at 09:42:57PM +0100, Marco d'Itri wrote:
 On Jan 17, Kay Sievers [EMAIL PROTECTED] wrote:
 
  That driver seem to bypass the kernel driver core. If that's  the case
  the driver needs to be fixed as udevd depends on proper MAJOR/MINOR export
  in the environment now, which happens automatically if the class
  interface is used correctly.

 Even if it worked with 079?

Yes, udev 080 depends on proper driver core integration. With the
removal of libsysfs, we have been able to optimize udev's operation
not to need to open any sysfs file for a simple event, which is
much more efficient.

Thanks,
Kay


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#348221: udev: create /dev/em8300* nodes

2006-01-17 Thread Kay Sievers
On Tue, Jan 17, 2006 at 09:50:21PM +0100, Kay Sievers wrote:
 On Tue, Jan 17, 2006 at 09:42:57PM +0100, Marco d'Itri wrote:
  On Jan 17, Kay Sievers [EMAIL PROTECTED] wrote:
  
   That driver seem to bypass the kernel driver core. If that's  the case
   the driver needs to be fixed as udevd depends on proper MAJOR/MINOR export
   in the environment now, which happens automatically if the class
   interface is used correctly.
 
  Even if it worked with 079?
 
 Yes, udev 080 depends on proper driver core integration. With the
 removal of libsysfs, we have been able to optimize udev's operation
 not to need to open any sysfs file for a simple event, which is
 much more efficient.

I see this in the driver in file em8300_sysfs.c:

  static CLASS_DEVICE_ATTR(dev, S_IRUGO, show_devnum, NULL);

  static struct class_device_attribute *em8300_attrs[] = {
class_device_attr_version,
class_device_attr_dev,
NULL
  };

This needs to be fixed to use the:
  dev_t devt; /* dev_t, creates the sysfs dev */

in the struct class_device instead. Then udev will create the node
again.

Kay


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#346543: [EMAIL PROTECTED]: Bug#346543: udev netlink problems with kernel 2.6.15 on alpha]

2006-01-09 Thread Kay Sievers
On Sun, Jan 08, 2006 at 07:21:35PM +0100, Marco d'Itri wrote:
 Any comments?

 Subject: Bug#346543: udev netlink problems with kernel 2.6.15 on alpha
 To: [EMAIL PROTECTED]
 From: Uwe Schindler [EMAIL PROTECTED]
 
 I installed linux-image-2.6.15-1 (2.6.15-2) from Norbert on my alpha 
 machine. After rebooting I got some strange effects:
 
 udevd[pid]: error receiving netlink events: no buffer space 
 available

 I think you should open a bug report directly at udev and tell them 
 to set the receive buffer size directly in the udev code so that it 
 does not depend on /proc/variables set before. It could also be an 
 error in the kernel, but on Norberts machine it works. I do not know...

udevd sets the buffer size to 16Mb since some time, without fiddling
around with the global sysctrls:
  http://kernel.org/git/?p=linux/hotplug/udev.git;a=blob;hb=HEAD;f=udevd.c#l781

If that's not working, it's probably a kernel bug on your architecture.
Works fine for me, here is a big buffer filled up with a stopped udevd:
  $ cat /proc/net/netlink
  sk   Eth PidGroups   Rmem Wmem Dump Locks
  dfd86000 0   0   00 2
  f7779800 0   3259   0011 00 2
  dfe3f200 9   0   00 2
  dfc27200 10  0   00 2
  f1885200 15  6396    2789309  0 2
  dffbce00 15  0   00 2
  dfe3fe00 16  0   00 2

Kay


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#346543: [EMAIL PROTECTED]: Bug#346543: udev netlink problems with kernel 2.6.15 on alpha]

2006-01-09 Thread Kay Sievers
On Mon, Jan 09, 2006 at 09:02:22AM +0100, Uwe Schindler wrote:
 At 02:00 09.01.2006, Kay Sievers wrote:
 On Sun, Jan 08, 2006 at 07:21:35PM +0100, Marco d'Itri wrote:
  Any comments?
 
  Subject: Bug#346543: udev netlink problems with kernel 2.6.15 on alpha
  To: [EMAIL PROTECTED]
  From: Uwe Schindler [EMAIL PROTECTED]
 
  I installed linux-image-2.6.15-1 (2.6.15-2) from Norbert on my alpha
  machine. After rebooting I got some strange effects:
 
  udevd[pid]: error receiving netlink events: no buffer space
  available
 
  I think you should open a bug report directly at udev and tell them
  to set the receive buffer size directly in the udev code so that it
  does not depend on /proc/variables set before. It could also be an
  error in the kernel, but on Norberts machine it works. I do not know...
 
 udevd sets the buffer size to 16Mb since some time, without fiddling
 around with the global sysctrls:
 
 http://kernel.org/git/?p=linux/hotplug/udev.git;a=blob;hb=HEAD;f=udevd.c#l781
 
 If that's not working, it's probably a kernel bug on your architecture.
 Works fine for me, here is a big buffer filled up with a stopped udevd:
   $ cat /proc/net/netlink
   sk   Eth PidGroups   Rmem Wmem Dump Locks
   dfd86000 0   0   00 2
   f7779800 0   3259   0011 00 2
   dfe3f200 9   0   00 2
   dfc27200 10  0   00 2
   f1885200 15  6396    2789309  0 2
   dffbce00 15  0   00 2
   dfe3fe00 16  0   00 2
 
 Hm interesting. In your code I see, that you only set the actual 
 buffer size (not the maximum):
 setsockopt(uevent_netlink_sock, SOL_SOCKET, SO_RCVBUFFORCE, 
 buffersize, sizeof(buffersize));  /* == 16*1024*1024 */

No, it's ...FORCE!

 I had the same problem. When leaving out in my udev-fix script the 
 setting of that MAX value BEFORE the actual value via /proc it does 
 not work. I could check both values (MAX and CURRENT) before setting 
 them on boot time with a cat command to printout in the script as 
 soon as I reboot.
 
 As I know from the maximum file descriptors thing that userspace 
 programs can only set the current value, not the maximum value for 
 the whole system. On Linux this maximum value can only be set by 
 /proc and in Solaris in the kernel configuration file.
 
 Could it be that on alpha the maximum value is too small initially?

No, idea, but as it obviously works on the common architectures, you
need to track that on the failing box, I don't have such a system to
try.

Good luck,
Kay


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#328960: /sbin/udevsend: main: environment buffer too small, probably not called by the kernel

2005-09-26 Thread Kay Sievers
On Sat, Sep 24, 2005 at 01:29:34AM +0200, Marco d'Itri wrote:
 On Sep 18, Kay Sievers [EMAIL PROTECTED] wrote:
 
  The kernel event buffer is smaller than the udevsend buffer. I expect
  udevsend is not called from the kernel. What's in /proc/sys/kernel/hotplug?
  Or maybe some symlink does still exist in the hotplug.d/ dir to call
  udevsend? Or something like this...
 
 Actually udevsend *was* not called by the kernel, but by the hal
 post-installation script... Is this really bad?

This cannot work cause the system shell environment is much too big.
Invoke it with env -i.

Kay


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#317333: The case of udev and the missing /dev/input/mice

2005-09-21 Thread Kay Sievers
On Wed, Sep 21, 2005 at 03:38:06AM +0100, Scott James Remnant wrote:
 Background: in the upcoming Ubuntu 5.10 we've been having some problems
 with /dev/input/mice not being created on startup despite the mousedev
 module being hard-loaded early in the boot sequence.
 (http://bugzilla.ubuntu.com/show_bug.cgi?id=12915 for those interested).
 
 Debian has had similar problems too (http://bugs.debian.org/317333) and
 found that starting udevd earlier manually seemed to fix it.

Yes, that's a good way to fix it.

 After much debugging, I've finally figured out what's going on ... it's
 a bit of a story, but here goes...

Great, we finally have an idea why this happens. Thanks for finding that
out.

 On receiving the netlink event for the printer port, udevd disables
 receipt of any sequence numbered events from udevsend (ie. those that
 will almost certainly be duplicated over the netlink socket).
 Unfortunately this means all the udevsend events we're about to receive
 from the processes that backed off a second or so while fighting over
 who got to start udevd[1].
 
 These udevsend processes deliver their events to udevd, which cheerfully
 ignores them because it thinks it's going to get another copy over the
 netlink socket any second now.  Unfortunately the netlink event has
 already been and gone, and we just ignored an event we weren't supposed
 to.
 
 
 The two problems as I see them are:
 
 1) The fact that receiving a netlink event disables sequence numbered
udevsend events, when there's already code to deal with de-duping
events anyway.  Is there actually any need for this additional check,
can't we just queue both events and have them ignored by
msg_queue_insert() ?
 
 2) That this ignoring of events is done at receipt, rather than in queue
order.  This means that the later parport_pc netlink event is able
to disable queueing of udevsend events with a lower sequence number.
 
 I can envisage that #1 is necessary in case the time between receiving
 the udevsend and netlink event is so long that we've already processed
 and removed one of the events by the time the second is queued.

Yes, that was the reason for ignoring the incoming messages.

 In which case the problem becomes fixing #2, however unless the kernel
 promises strict ordering of events over the netlink socket (which I
 doubt, otherwise it wouldn't need sequence numbers)

Netlink events are always in the right order. The SEQNUM is only needed
for the forked events.

 we can't assume
 that we've received all of the pre-netlink events we are going to.

Right, as /proc/sys/kernel/hotplug events are forked processes, you will
never know when and in which order they will arrive.

 I suspect the right solution is actually to implement history of what
 events we've already processed, and de-dupe them that way; rather than
 ignoring messages on receipt.

We could just accept all events with a lower sequence number as the first
netlink event's one, that may fix it.

The right solution is to start udevd as one of the first things
after taking over control from the kernel. This way you will only catch
the events for the last non driver core subsystem, the input layer.

At the time the input layer is fixed, the need for udevsend will
completely go away and /proc/sys/kernel/hotplug should be disabled
when taking over control from the kernel - it is only needed in
initramfs.
After input is fixed, the whole event reordering and timeout handling
will be removed from udevd and we need to start udevd manually anyway.

Kay


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#317333: [EMAIL PROTECTED]: Bug#317333: acknowledged by developer (Bug#317333: fixed in udev 0.063-1)]

2005-08-25 Thread Kay Sievers
On Thu, Aug 25, 2005 at 07:47:56PM +0200, Marco d'Itri wrote:
 An interesting comment.

 Subject: Bug#317333: acknowledged by developer (Bug#317333: fixed in udev 
 0.063-1)
 From: Mourad De Clerck [EMAIL PROTECTED]
 To: Marco d'Itri [EMAIL PROTECTED]
 Cc: [EMAIL PROTECTED]

 On Thu, 2005-08-25 at 16:49 +0200, Marco d'Itri wrote:
  On Aug 14, Mourad De Clerck [EMAIL PROTECTED] wrote:
  
   Unfortunately, using linux-image-2.6.12-1-k7 2.6.12-2 and udev 0.066-1 I
   can still reproduce this bug. After boot certain devices don't show up,
  One of the udev maintainers suggested to try adding mousedev to
  /etc/modules.
  
 
 Actually, they are on to something because I had just found out
 something significant.
 
 I had 2 things in my /etc/modules:
 
 mousedev
 ide-cd
 
 The reason why I added mousedev is that (quite) a while back it wouldn't
 get automatically loaded. ide-cd was a debian default if I am not
 mistaken.
 
 I commented both out, and on reboot /dev/input/mice was there!

Strange, the event seems to get lost. If you restore the
failing setup and add a sleep 1 before udevstart, does it work then?

 Just to make sure there were no other devices missing, I started
 udevstart again and compared the before and afters:
 
 --- dev_before_udevstart.txt2005-08-25 16:20:35.0 +0200
 +++ dev_after_udevstart.txt 2005-08-25 16:20:54.0 +0200
 @@ -1,2 +1,5 @@
  /dev/
 +/dev/dvd1
 +/dev/cdrw1
 +/dev/cdrom1
  /dev/vcsa1
 
 Now this is weird (and new) - there's no clear reason why extra
 (unecessary) dev nodes are made afterwards, and why he didn't make them
 in the first place (on boot). The nodes point to the same thing:
 
 lrwxrwxrwx  1 root root 3 Aug 25 16:19 /dev/dvd - hdc
 lrwxrwxrwx  1 root root 3 Aug 25 16:20 /dev/dvd1 - hdc
 
 (similarly for cdrw/cdrw1, and cdrom/cdrom1 - there's no dvd0)
 
 I guess it's because I commented out ide-cd too ...?
 
 It's still very weird that modules listed in /etc/modules have this
 effect on udev. In the end the same modules are loaded, just at
 different times (and maybe twice?).

No, this is ok. %e is used, i think. That %e is not very smart and just
increases the number if the udevdb is not cleared before the run of
udevstart.

Kay


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#298192: udev: segfault with new rule on startup

2005-03-07 Thread Kay Sievers
On Tue, 2005-03-08 at 00:03 +0100, Marco d'Itri wrote:
 This rule causes udevstart 054 to segfault:
 
 BUS=pci, SUBSYSTEM=net, DRIVER=ipw2100, NAME=wlan
 
 - Forwarded message from Thomas Breitner [EMAIL PROTECTED] -
 
 Subject: Bug#298192: udev: segfault with new rule on startup
 Reply-To: [EMAIL PROTECTED], [EMAIL PROTECTED]
 From: Thomas Breitner [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 
 Thanks, here it is:
 
 mala:~/sourcen/udev-0.054# /etc/init.d/udev restart
 Recreating device nodes.../etc/init.d/udev: line 216: 10361 Segmentation 
 fault  udevstart
 mala:~/sourcen/udev-0.054# gdb /sbin/udevstart
 GNU gdb 6.3-debian

 Program received signal SIGSEGV, Segmentation fault.
 strcmp_pattern (p=0x805cc60 ipw2100, s=0x1c4 Address 0x1c4 out of bounds) 
 at namedev.c:50
 50  if (s[0] == '\0') {
 (gdb) where
 #0  strcmp_pattern (p=0x805cc60 ipw2100, s=0x1c4 Address 0x1c4 out of 
 bounds) at namedev.c:50

Yeah, that's a bad bug in the rule matching. The sysfs_device is NULL,
and we try to find the name here. I will fix it.

But I don't know why the sysfs_device is NULL in this case, I can't
reproduce it with the same hardware. Thomas, it would be nice if you can
send the output of:
  udevinfo -a -p /sys/class/net/ethN

Thanks,
Kay



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#297481: hotplug: Fails to load firmware for ipw2200 after upgrade

2005-03-01 Thread Kay Sievers
On Tue, 2005-03-01 at 21:26 +0100, Marco d'Itri wrote:
reassign 297481 kernel-image-2.6.8-i386
thanks

On Mar 01, Kay Sievers [EMAIL PROTECTED] wrote:

 This kernel will not work correctly with managed events. It has holes in
 the sequence numbers. You need at least 2.6.10 if I remember correctly.
This sucks, because the next Debian release will ship 2.6.8 as the
default 2.6 kernel. Do you know what needs to be backported to fix this?

It's all in lib/kobject_uevent.c and should be trivial. It was changed
to increment the seqnum counter only if the kset wants to emit the
event.

What else does this break?

I should be safe, I think.

Kay


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#294123: udev: Bad parsing of regular expressions in *.rules

2005-02-14 Thread Kay Sievers
On Mon, 2005-02-14 at 09:30 -0800, Greg KH wrote:
On Sun, Feb 13, 2005 at 04:14:41AM +0100, Kay Sievers wrote:
 On Tue, 2005-02-08 at 21:53 -0800, Greg KH wrote:
 On Wed, Feb 09, 2005 at 03:24:31AM +0100, Kay Sievers wrote:
  Can't you match against some interface attributes in sysfs, which are
  telling you which one is the first interface of this device?
  
  You may compare: 
udevinfo -a -p /class/tty/ttyUSB0
udevinfo -a -p /class/tty/ttyUSB1
  
  if you find a difference between both interfaces to match against, that
  is not dependent on the kernel device name.
 
 This is a real tough one to try to match on, as these both point to the
 same exact physical device.  Same USB interface even.  It's a pain,
 stupid palm devices...
 
 Ahh, I see. So we may follow the link to the physical device and look
 for the name of the _first_ serial interface of this device? Would this
 solve the problem?

Heh, not quite, as you usually want the _second_ serial interface to
sync off of, the first one is not useful at all (well, some tools use
it, but 99% of the users never will care about it.)

And then there's the fun problem of some Sony devices creating two
serial devices where the second one is just a fake one, and you
really need to connect to the first.

Bah, sometimes I really hate Palm...

Yeah, I can imagine that. But would it be possible to get the right one
with the information available in sysfs? Someone could write a small
script which matches the vendor and return a symlink for the _right_
interface. Would that work?

Btw: The Bad parsing ... wasn't a udev issue. It's solved.

Thanks,
Kay


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#294123: udev: Bad parsing of regular expressions in *.rules

2005-02-13 Thread Kay Sievers
On Tue, 2005-02-08 at 21:53 -0800, Greg KH wrote:
On Wed, Feb 09, 2005 at 03:24:31AM +0100, Kay Sievers wrote:
 Can't you match against some interface attributes in sysfs, which are
 telling you which one is the first interface of this device?
 
 You may compare: 
   udevinfo -a -p /class/tty/ttyUSB0
   udevinfo -a -p /class/tty/ttyUSB1
 
 if you find a difference between both interfaces to match against, that
 is not dependent on the kernel device name.

This is a real tough one to try to match on, as these both point to the
same exact physical device.  Same USB interface even.  It's a pain,
stupid palm devices...

Ahh, I see. So we may follow the link to the physical device and look
for the name of the _first_ serial interface of this device? Would this
solve the problem?

Kay


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#271997: hal 0.4.5 It's going to go 100% failure in 72 hours. released

2005-01-16 Thread Kay Sievers
On Sun, 2005-01-16 at 18:08 +0100, Sjoerd Simons wrote:
 On Wed, Jan 12, 2005 at 05:33:39PM -0500, David Zeuthen wrote:
  
  Hey,
  
  Another week, another HAL release :-). Download from
  
   http://freedesktop.org/~david/dist/hal-0.4.5.tar.gz
  
  Changes from 0.4.4:
  
   - Fix bug with vfat label reading (Kay Sievers, Fredrik Nilsson, Joeny)
 
 This seems to have fixed some filesystems and broken others. I got the
 following from a debian user:
 
   I just upgraded hal (from 0.4.4-1) and noticed, that it doesn't detect
   the volume label of my usb external drive correctly anymore. I found
   this bug, and this change seems to be the cause...
 
   Both mlabel and udev_volume_id show the correct label (ICYBOX), but
   hal uses AD, which is pretty useless...

What does:
  hald --verbos=yes --daemon=no

print?

Thanks,
Kay



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#271997: hal 0.4.5 It's going to go 100% failure in 72 hours. released

2005-01-16 Thread Kay Sievers
On Sun, 2005-01-16 at 18:36 +0100, David Eriksson wrote:
 On Sun, 2005-01-16 at 18:17 +0100, Kay Sievers wrote:
  On Sun, 2005-01-16 at 18:08 +0100, Sjoerd Simons wrote:
   
 Both mlabel and udev_volume_id show the correct label (ICYBOX), but
 hal uses AD, which is pretty useless...
  
  What does:
hald --verbos=yes --daemon=no
  
  print?
 
 I get about the same error, my mount point gets called Ap:
 
   http://www.2good.nu/blandat/hald-mountpoint.log

There was only a one-line change in the FAT16 label reading code, but I
can't see how this is wrong.

What does:
  dd if=/dev/sda1 bs=512 count=32 skip=32256 | hexdump -C

print for this volume? It will print the complete raw data of the root
directory entries.

And did you try to read the volume name on Windows?

Thanks,
Kay



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]