* hotplug and test and set
@ 2005-01-01 23:03 Rainer Dorsch
2005-01-02 0:06 ` Kay Sievers
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: Rainer Dorsch @ 2005-01-01 23:03 UTC (permalink / raw)
To: linux-hotplug
Hello,
I have an Epox DG02A usb dongle for bluetooth.
$ ls usbview
[...]
Bus 003 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle
I added a script to start pand into my /etc/hotplug.d/usb directory on my
Debian system.
rd@topsi:~$ cat /etc/hotplug.d/usb/epox-bluetooth.hotplug
#!/bin/sh
pidfile=/var/run/pand.pid
lockfile=/var/lock/pand.lock
DAEMON=/usr/bin/pand
case `echo $PRODUCT|cut -d / -f 1-2` in
# a12/1/525 and a12/1/828 have been seen for the Epox BT DB02A
a12/1) break ;;
*) exit ;;
esac
case $TYPE in
224/1/1) break ;;
*) exit ;;
esac
case $ACTION in
add)
# poor man's locking
if [ ! -e $lockfile ]; then
touch $lockfile
echo entered locked area >> /tmp/epox.log
hcitool scan >> /tmp/epox.log
sleep 1
start-stop-daemon --start --exec $DAEMON -- --nodetach --role
PANU --search --encrypt --pidfile $pidfile
fi
;;
remove)
start-stop-daemon --stop --exec $DAEMON --pidfile $pidfile
rm $lockfile
ifdown bnep0
;;
esac
rd@topsi:~$
My problem is that this script is called four times when the dongle is plugged
in. I order to avoid to call pand four times, I added a poor test and set to
the script to add a lock when a pand is running. Does anybody know, what I
could do to get a better locking behaviour, e.g. an atomic test and set?
Many thanks,
Rainer
--
Rainer Dorsch
Alzentalstr. 28
D-71083 Herrenberg
07032-919495
Icq: 32550367
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: hotplug and test and set
2005-01-01 23:03 hotplug and test and set Rainer Dorsch
@ 2005-01-02 0:06 ` Kay Sievers
2005-01-02 1:27 ` Marco d'Itri
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Kay Sievers @ 2005-01-02 0:06 UTC (permalink / raw)
To: linux-hotplug
On Sun, 2005-01-02 at 00:03 +0100, Rainer Dorsch wrote:
> I added a script to start pand into my /etc/hotplug.d/usb directory on my
> Debian system.
...
> My problem is that this script is called four times when the dongle is plugged
> in.
What is in the DEVPATH variable of all four events? I expect you can
sort out the right one.
Kay
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: hotplug and test and set
2005-01-01 23:03 hotplug and test and set Rainer Dorsch
2005-01-02 0:06 ` Kay Sievers
@ 2005-01-02 1:27 ` Marco d'Itri
2005-01-02 13:30 ` Rainer Dorsch
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Marco d'Itri @ 2005-01-02 1:27 UTC (permalink / raw)
To: linux-hotplug
On Jan 02, Rainer Dorsch <rdorsch@web.de> wrote:
> My problem is that this script is called four times when the dongle is plugged
> in. I order to avoid to call pand four times, I added a poor test and set to
> the script to add a lock when a pand is running. Does anybody know, what I
> could do to get a better locking behaviour, e.g. an atomic test and set?
From http://linux-hotplug.sourceforge.net/?selected=usb:
There are two kinds of usb hotplug event: device, and interface. Kernel
2.6 added device events, as well as reporting the complete set of
interface events. You can tell which kind of event by the environment
variables: device events don't include PRODUCT, or any of the other
parameters here except DEVPATH and ACTION.
So:
# ignore device events
[ "$PRODUCT" ] || exit 0
--
ciao,
Marco
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: hotplug and test and set
2005-01-01 23:03 hotplug and test and set Rainer Dorsch
2005-01-02 0:06 ` Kay Sievers
2005-01-02 1:27 ` Marco d'Itri
@ 2005-01-02 13:30 ` Rainer Dorsch
2005-01-02 15:23 ` Kay Sievers
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Rainer Dorsch @ 2005-01-02 13:30 UTC (permalink / raw)
To: linux-hotplug
Am Sonntag, 2. Januar 2005 02:27 schrieb Marco d'Itri:
> On Jan 02, Rainer Dorsch <rdorsch@web.de> wrote:
> > My problem is that this script is called four times when the dongle is
> > plugged in. I order to avoid to call pand four times, I added a poor test
> > and set to the script to add a lock when a pand is running. Does anybody
> > know, what I could do to get a better locking behaviour, e.g. an atomic
> > test and set?
> >
> >From http://linux-hotplug.sourceforge.net/?selected=usb:
>
> There are two kinds of usb hotplug event: device, and interface. Kernel
> 2.6 added device events, as well as reporting the complete set of
> interface events. You can tell which kind of event by the environment
> variables: device events don't include PRODUCT, or any of the other
> parameters here except DEVPATH and ACTION.
>
> So:
>
> # ignore device events
> [ "$PRODUCT" ] || exit 0
Many thanks for the quick reply.
I added
(date
echo $DEVPATH
echo $PRODUCT
echo $TYPE
echo $ACTION) >> /tmp/epox.log
into the script.
The result is
Sun Jan 2 14:06:32 CET 2005
/devices/pci0000:00/0000:00:07.2/usb1/1-2
add
Sun Jan 2 14:06:32 CET 2005
/devices/pci0000:00/0000:00:07.2/usb1/1-2/1-2:1.0
a12/1/525
224/1/1
add
entered locked area
Sun Jan 2 14:06:32 CET 2005
/devices/pci0000:00/0000:00:07.2/usb1/1-2/1-2:1.1
a12/1/525
224/1/1
add
Sun Jan 2 14:06:32 CET 2005
/devices/pci0000:00/0000:00:07.2/usb1/1-2/1-2:1.2
a12/1/525
224/1/1
add
That means that I should scan for a DEVPATH variable ending with 1.0 (?)
Many thanks,
Rainer
--
Rainer Dorsch
Alzentalstr. 28
D-71083 Herrenberg
07032-919495
Icq: 32550367
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: hotplug and test and set
2005-01-01 23:03 hotplug and test and set Rainer Dorsch
` (2 preceding siblings ...)
2005-01-02 13:30 ` Rainer Dorsch
@ 2005-01-02 15:23 ` Kay Sievers
2005-01-02 17:07 ` Rainer Dorsch
2005-01-02 18:15 ` Kay Sievers
5 siblings, 0 replies; 7+ messages in thread
From: Kay Sievers @ 2005-01-02 15:23 UTC (permalink / raw)
To: linux-hotplug
On Sun, 2005-01-02 at 14:30 +0100, Rainer Dorsch wrote:
> Am Sonntag, 2. Januar 2005 02:27 schrieb Marco d'Itri:
> > On Jan 02, Rainer Dorsch <rdorsch@web.de> wrote:
> > > My problem is that this script is called four times when the dongle is
> > > plugged in. I order to avoid to call pand four times, I added a poor test
> > > and set to the script to add a lock when a pand is running. Does anybody
> > > know, what I could do to get a better locking behaviour, e.g. an atomic
> > > test and set?
> > >
> > >From http://linux-hotplug.sourceforge.net/?selected=usb:
> >
> > There are two kinds of usb hotplug event: device, and interface. Kernel
> > 2.6 added device events, as well as reporting the complete set of
> > interface events. You can tell which kind of event by the environment
> > variables: device events don't include PRODUCT, or any of the other
> > parameters here except DEVPATH and ACTION.
> >
> > So:
> >
> > # ignore device events
> > [ "$PRODUCT" ] || exit 0
>
> Many thanks for the quick reply.
> /devices/pci0000:00/0000:00:07.2/usb1/1-2
> /devices/pci0000:00/0000:00:07.2/usb1/1-2/1-2:1.0
> a12/1/525
> /devices/pci0000:00/0000:00:07.2/usb1/1-2/1-2:1.1
> a12/1/525
> /devices/pci0000:00/0000:00:07.2/usb1/1-2/1-2:1.2
> a12/1/525
You get one device event and three interface events for this USB device.
> That means that I should scan for a DEVPATH variable ending with 1.0 (?)
You may just just match the event for the device. Just add the exit
statement Marco suggested and negate it to skip interface events
instead.
Kay
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: hotplug and test and set
2005-01-01 23:03 hotplug and test and set Rainer Dorsch
` (3 preceding siblings ...)
2005-01-02 15:23 ` Kay Sievers
@ 2005-01-02 17:07 ` Rainer Dorsch
2005-01-02 18:15 ` Kay Sievers
5 siblings, 0 replies; 7+ messages in thread
From: Rainer Dorsch @ 2005-01-02 17:07 UTC (permalink / raw)
To: linux-hotplug
Am Sonntag, 2. Januar 2005 16:23 schrieb Kay Sievers:
> On Sun, 2005-01-02 at 14:30 +0100, Rainer Dorsch wrote:
> > Am Sonntag, 2. Januar 2005 02:27 schrieb Marco d'Itri:
> > > On Jan 02, Rainer Dorsch <rdorsch@web.de> wrote:
> > > > My problem is that this script is called four times when the dongle
> > > > is plugged in. I order to avoid to call pand four times, I added a
> > > > poor test and set to the script to add a lock when a pand is running.
> > > > Does anybody know, what I could do to get a better locking behaviour,
> > > > e.g. an atomic test and set?
> > > >
> > > >From http://linux-hotplug.sourceforge.net/?selected=usb:
> > >
> > > There are two kinds of usb hotplug event: device, and interface. Kernel
> > > 2.6 added device events, as well as reporting the complete set of
> > > interface events. You can tell which kind of event by the environment
> > > variables: device events don't include PRODUCT, or any of the other
> > > parameters here except DEVPATH and ACTION.
> > >
> > > So:
> > >
> > > # ignore device events
> > > [ "$PRODUCT" ] || exit 0
> >
> > Many thanks for the quick reply.
> >
> > /devices/pci0000:00/0000:00:07.2/usb1/1-2
> > /devices/pci0000:00/0000:00:07.2/usb1/1-2/1-2:1.0
> > a12/1/525
> > /devices/pci0000:00/0000:00:07.2/usb1/1-2/1-2:1.1
> > a12/1/525
> > /devices/pci0000:00/0000:00:07.2/usb1/1-2/1-2:1.2
> > a12/1/525
>
> You get one device event and three interface events for this USB device.
>
> > That means that I should scan for a DEVPATH variable ending with 1.0 (?)
>
> You may just just match the event for the device. Just add the exit
> statement Marco suggested and negate it to skip interface events
> instead.
>
Hmm... $PRODUCT and $TYPE are empty for the interface. Wouldn't that mean that
I try to start pand for every usb device?
Thanks,
Rainer
--
Rainer Dorsch
Alzentalstr. 28
D-71083 Herrenberg
07032-919495
Icq: 32550367
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: hotplug and test and set
2005-01-01 23:03 hotplug and test and set Rainer Dorsch
` (4 preceding siblings ...)
2005-01-02 17:07 ` Rainer Dorsch
@ 2005-01-02 18:15 ` Kay Sievers
5 siblings, 0 replies; 7+ messages in thread
From: Kay Sievers @ 2005-01-02 18:15 UTC (permalink / raw)
To: linux-hotplug
On Sun, 2005-01-02 at 18:07 +0100, Rainer Dorsch wrote:
> Am Sonntag, 2. Januar 2005 16:23 schrieb Kay Sievers:
> > On Sun, 2005-01-02 at 14:30 +0100, Rainer Dorsch wrote:
> > > Am Sonntag, 2. Januar 2005 02:27 schrieb Marco d'Itri:
> > > > On Jan 02, Rainer Dorsch <rdorsch@web.de> wrote:
> > > > > My problem is that this script is called four times when the dongle
> > > > > is plugged in. I order to avoid to call pand four times, I added a
> > > > > poor test and set to the script to add a lock when a pand is running.
> > > > > Does anybody know, what I could do to get a better locking behaviour,
> > > > > e.g. an atomic test and set?
> > > > >
> > > > >From http://linux-hotplug.sourceforge.net/?selected=usb:
> > > >
> > > > There are two kinds of usb hotplug event: device, and interface. Kernel
> > > > 2.6 added device events, as well as reporting the complete set of
> > > > interface events. You can tell which kind of event by the environment
> > > > variables: device events don't include PRODUCT, or any of the other
> > > > parameters here except DEVPATH and ACTION.
> > > >
> > > > So:
> > > >
> > > > # ignore device events
> > > > [ "$PRODUCT" ] || exit 0
> > >
> > > Many thanks for the quick reply.
> > >
> > > /devices/pci0000:00/0000:00:07.2/usb1/1-2
> > > /devices/pci0000:00/0000:00:07.2/usb1/1-2/1-2:1.0
> > > a12/1/525
> > > /devices/pci0000:00/0000:00:07.2/usb1/1-2/1-2:1.1
> > > a12/1/525
> > > /devices/pci0000:00/0000:00:07.2/usb1/1-2/1-2:1.2
> > > a12/1/525
> >
> > You get one device event and three interface events for this USB device.
> >
> > > That means that I should scan for a DEVPATH variable ending with 1.0 (?)
> >
> > You may just just match the event for the device. Just add the exit
> > statement Marco suggested and negate it to skip interface events
> > instead.
> >
>
> Hmm... $PRODUCT and $TYPE are empty for the interface. Wouldn't that mean that
> I try to start pand for every usb device?
You are right, sorry. I thought you were using the usermap and not the
multiplexer infrastructure.
Kay
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
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
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2005-01-02 18:15 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-01-01 23:03 hotplug and test and set Rainer Dorsch
2005-01-02 0:06 ` Kay Sievers
2005-01-02 1:27 ` Marco d'Itri
2005-01-02 13:30 ` Rainer Dorsch
2005-01-02 15:23 ` Kay Sievers
2005-01-02 17:07 ` Rainer Dorsch
2005-01-02 18:15 ` Kay Sievers
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).