From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Date: Tue, 26 Jan 2010 06:07:48 +0000 Subject: Re: Monitoring attributes of the device Message-Id: <20100125220748.6aea2621@nehalam> List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-hotplug@vger.kernel.org On Fri, 22 Jan 2010 09:30:18 +0530 Shashank KotaSathish wrote: > Modifying kernel. Hmmm An intriguing idea. Perhaps some other time. For the current requirement I believe netlink will do. Thanks for the clarification. I should have understood the same when udevadm monitor --kernel did not give any output when I unplugged the network cable. > > Regards, > Shashank K S > -----Original Message----- > From: Greg KH [mailto:greg@kroah.com] > Sent: Thursday, January 21, 2010 11:57 AM > To: Shashank KotaSathish > Cc: linux-hotplug@vger.kernel.org > Subject: Re: Monitoring attributes of the device > > On Thu, Jan 21, 2010 at 10:57:26AM +0530, Shashank KotaSathish wrote: > > Hi, > > > > I wanted to know is it possible to write a rule for the udev which will run a program when the attribute of the device changes. For example if the ethernet plug is removed, the attribute "carriers" of net class will change from 1 to 0. To track this change i wrote the following rule in the /etc/udev/rules.d/70-persistent-net.rules file > > > > SUBSYSTEM="net", DRIVERS="?*", ATTR{carrier}="0", ATTR{address}="00:0c:29:27:a2:95", ATTR{dev_id}="0x0", ATTR{type}="1", KERNEL="eth*", RUN+="/bin/up.sh" > > > > up.sh will echo some thing in to the text file in my home directory. > > But the up.sh is not getting executed. Thanks in advance. > > No sysfs event is getting emitted by the kernel when this attribute > changes. You need to modify the kernel to create such an event, and > then your script can run. > > Or you can just use ethtool and detect the carrier change that way, like > the rest of the world does :) Or monitor with netlink like proper tools do (see ip monitor, netlink, netplugd, quagga, ...) --