From mboxrd@z Thu Jan 1 00:00:00 1970 From: Simon Huggins Date: Fri, 16 Jun 2006 08:50:53 +0000 Subject: Re: udev doesn't know about devices further up the tree. Message-Id: <20060616085053.GA22630@paranoidfreak.co.uk> MIME-Version: 1 Content-Type: multipart/mixed; boundary="===============0037845414==" List-Id: References: <20060616080501.GG26715@paranoidfreak.co.uk> In-Reply-To: <20060616080501.GG26715@paranoidfreak.co.uk> To: linux-hotplug@vger.kernel.org --===============0037845414== Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="PNTmBPCT7hxwcZjr" Content-Disposition: inline --PNTmBPCT7hxwcZjr Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Jun 16, 2006 at 10:35:33AM +0200, Kay Sievers wrote: > On Fri, 2006-06-16 at 09:05 +0100, Simon Huggins wrote: > > I wrote my first udev rule the other day. > > It reads: > > KERNEL=3D=3D"sd*", PROGRAM=3D"/home/huggie/bin/camera %k", SYMLINK+=3D"= %c" > > where bin/camera does: > > DEV=3D$1 > > DISK=3D`echo $DEV|sed -e 's/.*\(sd.\).*/\1/;'` > > udevinfo -a -p /block/$DISK/$DEV|grep manuf|grep PENTAX >/dev/null 2>&1= && \ > > echo camera && exit 0 > > i.e. basically if the usb device (or any device because I'm not that > > fussy) above the block device is made by PENTAX then echo camera > > otherwise I just echo $DEV back again. > > But it strikes me as a bug that I have to spawn out of udevd to run > > udevinfo in order to just name the device based on what it is. > > Why aren't SYSFS attributes from higher up the device path available > > somehow when writing rules? > Adding a single SYSFS attribute: > SYSFS{vendor}=3D=3D"PENTAX" > or > SYSFS{manufacturer}=3D=3D"PENTAX" > should do it and will try to find the value on all devices up the chain, > but you can't mix SYSFS, BUS or ID values from different devices. Hmm, ok it's working now. I must have fucked up the rule somehow originally sorry for wasting your time. Can I suggest that the part in http://www.reactivated.net/writing_udev_rules.html which says: This is to demonstrate that you generally can not mix-and-match attributes from different sections of the udevinfo output - your rule will not work.=20 be reworded or removed then. I'm not quite sure what it should say - I just failed and then read more of the docs and came across this and thought that what I was trying was never going to work. I now have: KERNEL=3D=3D"sd*", SUBSYSTEM=3D=3D"block", SYSFS{manufacturer}=3D=3D"PENTAX= ", SYMLINK+=3D"camera" which appears to work fine yet the block and the PENTAX are indeed in different sections of the udevinfo output. --=20 ,--huggie-at-earth-dot-li--------stuff-thing-stuff----------DF5CE2B4--. _| "Don't worry, understanding of the topic being discussed has been |_ | optional for a long time on debian-devel@." -- Md | `- http://www.earth.li/~huggie/ - http://www.blackcatnetworks.co.uk/ -' --PNTmBPCT7hxwcZjr Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) iD8DBQFEknDtMQdl+99c4rQRAgDIAKCARgpX/IIhB3LNVf2jKTSgPeTn6QCdHdpy atOUigmlzJcPv9jaSeXom3A= =f2B7 -----END PGP SIGNATURE----- --PNTmBPCT7hxwcZjr-- --===============0037845414== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --===============0037845414== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ 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 --===============0037845414==--