Visit Jeremy's Blog.
Go Back > Forums > Linux Forums > Linux - Desktop
User Name
Linux - Desktop This forum is for the discussion of all Linux Software used in a desktop context.


  Search this Thread
Old 03-09-2010, 01:32 PM   #1
LQ Newbie
Registered: Jul 2009
Location: Arizona
Distribution: Redhat Fedora
Posts: 20

Rep: Reputation: 1
halevt does not pass mount-point to my script during OnInit

I am running halevt to support removable media for a custom system. I have an OnInit rule as follows: (OnInit means the device was already inserted before halevt was started)

<halevtevice match="&MOUNTABLE; &amp; (!hal.volume.is_disc | hal.volume.is_disc=false)">
<halevt:OnInit exec='halevt-mount -u $hal.udi - m 002 ; usr/sbin/myProgram Add_Init USB "$hal.udi$ "$hal.volume.mount_point$'/>

myProgram is called but the $hal.volume.mount_point$ is null. When I check in /media the device is mounted there. So why was I passed null for the mount point, is there some kind of race condition.

I have a similar rule for the case where a device is inserted after halevt is already started, and it works fine. That rule is for the case where a device gets a mount point, but in the case where halevt is started after a device is inserted, even that rule is not called.
Any ideas?
Old 03-10-2010, 09:57 AM   #2
Registered: Jul 2005
Location: France
Distribution: Arch Linux
Posts: 540

Rep: Reputation: Disabled
Try to separate the two actions, because I think halevt will be called another times when the device gets mounted :
<halevt:Device match="&MOUNTABLE; &amp; hal.volume.is_disc=false">
   <halevt:OnInit exec='halevt-mount -u $hal.udi$ - m 002'/>

<halevt:Device match="hal.block.device &amp; hal.block.is_volume = true &amp; hal.volume.mount_point">
   <halevt:Property name="hal.volume.is_mounted">
      <halevt:Action value="true" exec='usr/sbin/myProgram Add_Init USB "$hal.udi$ "$hal.volume.mount_point$'/>
You will have to adapt the second match conditions to execute myProgram only when it is required. The example above will run it each times any block device volume is mounted.
Also I don't know if you call your program with "usr/sbin" or "/usr/sbin";
and are you sure of the double quotes in :

myProgram Add_Init USB "$hal.udi$ "$hal.volume.mount_point$

I just realized you missed a $ in your exec line and the ; doesn't seem correct too :
<halevt:OnInit exec='halevt-mount -u $hal.udi - m 002 ; ...
instead of
<halevt:OnInit exec='halevt-mount -u $hal.udi$ - m 002 &amp;&amp; ...

Maybe it is enough to make your command to work.

Last edited by berbae; 03-10-2010 at 10:23 AM.


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
halevt cannot mount because of permissions senseproof Linux - Software 5 11-20-2010 12:06 PM
halevt run as init script doesn't mount for users nemesis9 Linux - Desktop 1 11-05-2009 08:38 AM
puppy+grub saves ram installed mount point as HD install mount point agualust Linux - Newbie 0 04-10-2009 12:23 PM
shell script - monitor mount point noir911 Programming 1 03-20-2008 07:44 PM > Forums > Linux Forums > Linux - Desktop

All times are GMT -5. The time now is 07:39 PM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration