From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kay Sievers Date: Fri, 16 Mar 2007 15:39:15 +0000 Subject: Re: udev or kernel broken with rsdl 0.30 patch Message-Id: <1174059555.21549.90.camel@lov.localdomain> List-Id: References: <20070315104654.19025CA4097@mx1.ciphirelabs.net> In-Reply-To: <20070315104654.19025CA4097@mx1.ciphirelabs.net> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable To: linux-hotplug@vger.kernel.org On Fri, 2007-03-16 at 16:20 +0100, Andreas Jellinghaus wrote: > Am Freitag, 16. M=C3=A4rz 2007 15:59 schrieb Kay Sievers: > > Hmm, if it's a timing issue we should be able to fix it with > > WAIT_FOR_SYSFS. What does: > > udevtest /devices/pci0000:00/0000:00:1d.2/usb4/4-1/4-1.3/4-1.3:1.0 >=20 > udevtest /devices/pci0000\:00/0000\:00\:1d.1/usb2/2-1/2-1.5/2-1.5\:1.0=20 > main: looking at=20 > device '/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1.5/2-1.5:1.0' from=20 > subsystem 'usb' > wait_for_sysfs:=20 > file '/sys/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1.5/2-1.5:1.0/bInte= rfaceProtocol'=20 > appeared after 0 loops > main: run: '/lib/udev/openct_usb' > main: run: 'socket:/org/freedesktop/hal/udev_event' > main: run: 'socket:/org/kernel/udev/monitor' >=20 > looks ok to me. >=20 > > for the interface (the one with the ":") say to WAIT_FOR_SYSFS? It finds > > the attributes, and says it would run your program? >=20 > yes, udevtest is always fine. >=20 > > It does not work on device plug-in, does it work if you write "add" to > > the "uevent"-file of the device in sysfs? >=20 > that works as well. >=20 > > Does adding PROGRAM=3D"/bin/sleep 1" make a difference? >=20 > that solved the problem. Weird, WAIT_FOR_SYSFS should have catched that, but maybe the file is there, and you just can't open it that time, because the device refuses the access. > small delay, but now the > plugin works all the time. will add that to openct. > (or rather remove the "sleep 1" I already have in my > script to "wait" for the device file and add the sleep 1 as > udev rule instead). >=20 > btw: if this get fixed so the "sleep 1" becomes obsolete one day - is the= re=20 > some rule etc. to wait for the /proc/bus/usb or /dev/bus/usb devices, so I > won't need an arbitrary sleep for that either? If we get a device node at the real usb-device in /sys/devices, the interface-event is guaranteed to come after the device-event, and the device-file for the usb-device will always be created before udev calls any RUN program. Udev should be able to IMPORT{parent}=3D"DEVNAME" to the interface event, os that the device file name is available at the interface events too. For /proc there will be no fix ever I guess, we can't use it on modern desktops anyway, because is doesn't support ACL's which is the default way to grant access to devices to untrusted users. Kay ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=3Djoin.php&p=3Dsourceforge&CID=DEVD= EV _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net Linux-hotplug-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel