[Bug 294303] devd(8) overwrites "bus" variable for "nomatch" event
Date: Tue, 07 Apr 2026 14:13:43 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294303
Bug ID: 294303
Summary: devd(8) overwrites "bus" variable for "nomatch" event
Product: Base System
Version: 15.0-RELEASE
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: bin
Assignee: bugs@FreeBSD.org
Reporter: phk@FreeBSD.org
When my Canon Lide printer is attach, no driver matches and devd(8) goes
quantity surveying to find something.
When doing that it sets two different values for "bus":
setting timestamp=1775570495.177197
setting vm_guest=none
setting bus=0
setting hubaddr=1
setting port=2
setting devaddr=2
setting interface=2
setting ugen=ugen0.2
setting vendor=0x04a9
setting product=0x1912
setting devclass=0x00
setting devsubclass=0x00
setting devproto=0x00
setting sernum=4F3AFB
setting release=0x0100
setting mode=host
setting intclass=0xff
setting intsubclass=0xff
setting intprotocol=0xff
setting bus=uhub0
I'm catching that with:
nomatch 1000 {
match "vendor" "0x04a9";
match "product" "0x1912";
match "sernum" "4F3AFB";
action "echo FOO!; chmod 666 /dev/usb/0.$devaddr.0";
};
But have to hard code the USB bus name because "uhub0" is not what I need.
See also: #198015 which seems to be the same problem presumably fixed 10 years
ago?
Feel free to stick this example in the handbook's section 7.7.3.2:
7.7.3.2. Using the Device State Change Daemon (devd(8))
To be written...
--
You are receiving this mail because:
You are the assignee for the bug.