Well after a long break, it's back to trying to figure out this udev
business. Using Phil's suggestions I verified that I was indeed running
version 56 of udev. After downloading and building (and installing)
version 57 on the target, I'm still having nothing but problems trying
to get udev to report anything during runtime when inserting usb sticks.
The only time I can actually SEE that scripts get run is during the
creation of initial device nodes during bootup. Also, it seems that the
rpm information doesnt' get updated when doing a native make/install of
udev (as I really wouldn't expect it to), so when running 'rpm -qf
/sbin/udevd' I still get udev-0.056-3.0.1.0600975.
But when I do a direct version poll of udev, I get the expected version
of 57.
r...@dm355evm:~# udev -V
057
Digging further I tried to make use of udevtest but either things aren't
working right, or I'm not using the utility properly. The following is
the command line I used to run udevtest and a snip of the rules file
/etc/udev/rules.d/50-udev.rules with a few different RUN scenarios.
------
r...@dm355evm:~# udevtest /sys/block/sda/
block
udevtest.c: looking at device '/block/sda/' from subsystem 'block'
udevtest.c: opened class_dev->name='sda'
udev_rules.c: no rule found, use kernel name 'sda'
udev_add.c: creating device node '/dev/sda', major = '8', minor = '0',
mode = '0660', uid = '0', gid = '0'
-------
******** snip of 50-udev.rules *******
#sd devices...namely usb thumb drives
KERNEL=="sd[a-z]1", RUN+="/bin/echo stick > /tmp/test.txt"
KERNEL=="sda", RUN+="/bin/echo blah"
KERNEL=="sda", RUN+="/bin/echo blah > /tmp/test.txt"
*********
I've gone through the kernel configuration and verified still that
CONFIG_HOTPLUG=y.
Sorry if this post was a bit erratic, I'm trying to give as much
information as possible because frankly I'm getting a bit frustrated at
this point.
BJ
Phil Quiney wrote:
Hi,
For udev (& anything else on the NFS root filesystem), you can use rpm to tell
you the package version.
It is a 2 step process, first find a binary or other file you want to find the
version of. Then query the rpm database to find which package it belongs to.
So for your example of udevd the process is
[email protected]:~# which udevd
/sbin/udevd
[email protected]:~# rpm -qf /sbin/udevd # You can alternatively use rpm -qf
`!!` if you like shortcuts
udev-0.056-3.0.1.0600975
..and as Geoff said, it is version 056.
Additionally, once you know the package name, you can get information about the
package (rpm -qi udev), list all files in the package (rpm -ql udev) and verify
the package integrity (rpm -V udev).
The above works on any RPM based linux distribution and can be a useful way of
finding your way around.
Regards
Phil Q
Phil Quiney, Senior Software Engineer
Trinity Convergence
Cambridge Business Park
Cowley Road
Cambridge CB4 0WZ, UK
T: +44(0)1223-435536
F: +44(0)1223-435560
www.trinityconvergence.com
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of bj
Sent: 29 September 2008 22:59
To: Amey, Geoff
Cc: [email protected]
Subject: Re: How to know if a udev rule be executed?
I'm trying to figure out exactly which version of udev I have with my
montavista distro. I try to run 'udevd --version' / 'udev --version'
but they just return me to the command prompt with no info at all. I made sure
to check that udev was indeed running with 'ps aux | grep udev' and it's
certainly there.
r...@dm355evm:~# udev --version
r...@dm355evm:~# udevd --version
r...@dm355evm:~# ps aux | grep udev
root 822 0.0 0.4 1416 388 ? S<s 00:00 0:00 udevd
root 1085 3.0 0.5 1572 456 ? S+ 00:02 0:00 grep udev
How did you figure out your version, and then also how did you update it after
realizing that your version wasn't up to snuff? The goal I'm trying to reach
here is to create a udev rule to mount usb flash drives upon insertion. I saw
the previous chatter about this topic and people claim that this issue has been
gone over and solved but I'm still having problems with it so please don't
direct me to 'just search the list'.
Thanks for any tips.
BJ
Amey, Geoff wrote:
Try looking into udevtest, I don't remember the exact sytax, but it
applies all of your udev rules to a particular /sys/ entry and prints
the result to the console.
Another thing to be aware of with udev is the version. The one that
came on my DM355 board was version 056, which doesn't support the RUN
keyword. I had to upgrade to 057 to use the RUN keyword. (udev is
currently somewhere around version 120). After downloading and cross
compiling 057 (udev, udevd, udevinfo, udevtest, etc...) I was able to
get my RUN rules to work.
Hope this helps
- Geoff
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On
Behalf Of John Wu
Sent: Tuesday, June 03, 2008 12:16 AM
To: [email protected]
Subject: How to know if a udev rule be executed?
I write a custom udev rule to auto mount the SD card, but it do not
mount the card when I plug in. I want to know if the rule be executed?
My rule content is:
RUN+="mount /dev/mmcblk0p1 /mnt"
I write a simplest rule with no condition the rule is named
/etc/udev/rules.d/60-local.rules
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source