On 2013-01-26 16:40, Shane Ambler wrote:
On 27/01/2013 08:15, dweimer wrote:

I would like to lock down the USB serial port adapter used on the UPS to /dev/cuaU0, to make sure the UPS is always monitored and I will get a
clean shutdown in event of a power failure.

I believe that this requires setting a hint line of some sort in the
/boot/loader.conf file, but I am having trouble tracking down what this
should be, or maybe I am on the wrong track.  Here is the current
information from the adpapters, the UPS adapter was connected at boot,
is on /dev/cuaU0, the other one was plugged in after boot, and is on
/dev/cuaU1.

start with man devd.conf

You can add your own devd files in /usr/local/etc/devd/
Something along the lines of -

attach 200 {
device-name "cuaU[0-9]+";
match "vendor" "0x067b";
match "product" "0x2303";
action "sleep 2; cd /dev; ln -s ${device-name} upsmonitor";
};

use usbconfig to get info. I am thinking with the similarity of the two you may need to rely on bus and hubaddr or devaddr to keep each device
identified by usb port location.

OK, so I was looking in the wrong direction, which might explain why my searching wasn't finding anything.

However I might still be out of luck, after doing some checking, and a reboot the only difference I can find is below.

dev.uplcom.0.%location: bus=1 hubaddr=1 port=0 devaddr=2 interface=0
dev.uplcom.1.%location: bus=1 hubaddr=3 port=0 devaddr=3 interface=0

The devices have switch at this point, all info from usbconfig, dmesg, looks identical, these two lines from the sysctl -a | grep "uplcom" output is all that changed, the hubaddr=1 and hubaddr=3 have switched, however the man devd.conf has a variable list, to use, and doesn't seem to have an option to match agains that hubaddr variable.

 Variable      Description
     bus           Device name of parent bus.
cdev Device node path if one is created by the devfs(5) filesys-
                   tem.
     cisproduct    CIS-product.
     cisvendor     CIS-vendor.
     class         Device class.
     device        Device ID.
     devclass      Device Class (USB)
     devsubclass   Device Sub-class (USB)
     device-name   Name of attached/detached device.
     endpoints     Endpoint count (USB)
     function      Card functions.
     interface     Interface ID (USB)
     intclass      Interface Class (USB)
     intprotocol   Interface Protocol  (USB)
     intsubclass   Interface Sub-class (USB)
     manufacturer  Manufacturer ID (pccard).
     mode          Peripheral mode (USB)
     notify        Match the value of the ``notify'' variable.
     parent        Parent device
     port          Hub port number (USB)
     product       Product ID (pccard/USB).
     release       Hardware revision (USB)
     sernum        Serial Number (USB).
     slot          Card slot.
     subvendor     Sub-vendor ID.
     subdevice     Sub-device ID.
     subsystem     Matches a subsystem of a system, see below.
     system        Matches a system type, see below.
     type          Type of notification, see below.
     vendor        Vendor ID.


But the action line above does give me an idea though, I should be able to write a script to run at startup to find the line, and create the link to the device. The only one I care about is the UPS monitor, as the other is only occasionally used, and I can easily check which com port its on before connecting to it.

--
Thanks,
   Dean E. Weimer
   http://www.dweimer.net/
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"

Reply via email to