I find the problem. hal provide udi of the device in environment variable UDI when scripts in /etc/hal/device.d are called. I use this script instead of the symlink to pmount-hal :
#!/bin/sh
case "$1" in
add)
/usr/bin/pmount-hal $UDI
;;
remove)
;;
*)
echo "wrong command : $1"
;;
esac
and all work fine :)
thanks for help.

