On Fri, 15 Jun 2012 18:40:45 +0200, Kevin Oberman <kob6...@gmail.com> wrote:

On Fri, Jun 15, 2012 at 7:53 AM, Ronald Klop
<ronald-freeb...@klop.yi.org> wrote:
On Fri, 15 Jun 2012 15:50:49 +0200, Warren Block <wbl...@wonkity.com> wrote:

On Fri, 15 Jun 2012, Ronald Klop wrote:

On Fri, 15 Jun 2012 08:01:21 +0200, Kevin Oberman <kob6...@gmail.com>
wrote:

On Thu, Jun 14, 2012 at 3:11 AM, Ronald Klop
<ronald-freeb...@klop.yi.org> wrote:

On Thu, 14 Jun 2012 02:41:58 +0200, Kevin Oberman <kob6...@gmail.com>
wrote:

Since updating my systems to 9-Stable, I am not getting my smartcard
reader attached when hot-plugged.

From devd.conf

 attach 50 {
     device-name "ugen[0-9]+";
     match "vendor" "0x0529";
     match "product" "0x0600";
     action "/usr/local/sbin/openct-control attach usb:529/600 usb
/dev/$dev$
};
detach 50 {
     device-name "ugen[0-9]+";
     match "vendor" "0x0529";
     match "product" "0x0600";
     action "/usr/bin/pkill -fx '/usr/local/sbin/ifdhandler -H -p
[a-z0-9]+ $
};
If I manually enter the "action" command, it works fine, but it fails
when I insert the device. It worked fine under version 8. I have
confirmed devd is seeing the device inserted just fine. the action
just does not seem to be carried out.
 Any idea where I should look? I saw a couple of threads on current
from others seeing something similar, but could find no resolution.
I have seen a

 Did you run devd with debug messages on? Options -D and -d are
helpful.
If you do does devd match the right devd.conf sections and start the
action?

 With debug i get:
Processing event '!system=USB subsystem=DEVICE type=ATTACH
ugen=ugen1.3 cdev=ugen1.3 vendor=0x0529 product=0x0600 devclass=0xff
devsubclass=0x00 sernum="" release=0x0100 mode=host port=1
parent=ugen1.2'
[long list of "Testing" entries, none of which 'vendor' matched]
Executing 'logger Unknown USB device: vendor 0x0529 product 0x0600 bus
uhub3'
 So it looks like devd is not matching the vendor. But my devd.conf
file contains that vendor. I don't know exactly why it is not being
tested against. Nothing in the debug output gives me a clue and I
tried grepping for one of the tested vendor IDs in /etc/devd.conf and
/etc/devd/*.conf.  Not found.
 I am at a loss.


http://www.freebsd.org/releases/9.0R/errata.html
See point 3 under Open Issues.


Even with those changes, devd is not triggering on my scanner attach:

        match "subsystem" "DEVICE";
        match "type" "ATTACH";
        match "cdev" "ugen[0-9]+.[0-9]+";
        match "vendor" "0x04b8";
        match "product" "0x010a";
        action "echo HERE! $cdev > /tmp/zoot";

# devd -d -D -f /etc/devd/wb.conf

Processing event '!system=USB subsystem=DEVICE type=ATTACH ugen=ugen0.6
cdev=ugen0.6 vendor=0x04b8 product=0x010a devclass=0xff devsubclass=0xff
sernum="" release=0x0103 mode=host port=4 parent=ugen0.4'
Pushing table
setting system=USB
setting subsystem=DEVICE
setting type=ATTACH
setting ugen=ugen0.6
setting cdev=ugen0.6
setting vendor=0x04b8
setting product=0x010a
setting devclass=0xff
setting devsubclass=0xff
setting sernum=
setting release=0x0103
setting mode=host
setting port=4
setting parent=ugen0.4
Processing notify event
Testing system=USB against ^DEVFS
Testing system=USB against ^DEVFS
Popping table


I tried the same attaching my webcam on pcbsd in vmware.

[root@pcbsd-1684 /etc/devd]# cat /tmp/bla.conf
notify 100 {

 match "subsystem" "DEVICE";
 match "type" "ATTACH";
 match "cdev" "ugen[0-9]+.[0-9]+";
 match "vendor" "0x2232";
 match "product" "0x1008";
 action "echo HERE! $cdev >> /tmp/bla.log";
 };

# devd -d -D -f /tmp/bla.conf
...
Processing event '!system=USB subsystem=DEVICE type=ATTACH ugen=ugen1.2
cdev=ugen1.2 vendor=0x2232 product=0x1008 devclass=0xef devsubclass=0x02
sernum="" release=0x0019 mode=host port=1 parent=ugen1.1'

 Pushing table
setting system=USB
setting subsystem=DEVICE
setting type=ATTACH
setting ugen=ugen1.2
setting cdev=ugen1.2
setting vendor=0x2232
setting product=0x1008
setting devclass=0xef
setting devsubclass=0x02
 setting sernum=
setting release=0x0019
setting mode=host
setting port=1
setting parent=ugen1.1
Processing notify event
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing cdev=ugen1.2 against ^ugen[0-9]+.[0-9]+
 Testing vendor=0x2232 against ^0x2232
Testing product=0x1008 against ^0x1008
Executing 'echo HERE! ugen1.2 >> /tmp/bla.log'
Popping table

[root@pcbsd-1684 /etc/devd]# cat /tmp/bla.log
HERE! ugen1.2

Do you see a significant difference with your setup?

Switched to 'notify' with:
notify 50 {
        match "system" "USB"
        match "subsystem" "DEVICE";
        match "type" "ATTACH";
        match "cdev" "ugen[0-9\.]+";
        match "vendor" "0x0529";
        match "product" "0x0600";
action "/usr/local/sbin/openct-control attach usb:529/600 usb /dev/$devi
ce-name";
};

I still see no attempt to match against vendor 0x0529. Still no go.
(Note that I prefer the [0-9\.] + syntax, but tried yours, as well.)

The real issue is that devd seems to have a long list of vendors that
it matches against, but 0x529 is not in that list, so matching the
device name is not likely an issue.

You miss a ; after "USB" and I don't think $device-name is still used. It is replaced with $cdev and $ugen according to the 9.0 errata.

http://www.freebsd.org/releases/9.0R/errata.html

And it should not be necessary to escape a . within a set of characters in a regular expression. But I don't now the internals of devd and if it really uses regular expressions.

NB: it can help if you post the debug output from devd online somewhere. So people can have a look at the output of devd in stead of guessing from the syntax of the config.

Succes,
Ronald.
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to