Date: Sun, 27 Jan 2013 10:14:57 -0600 From: dweimer <dweimer@dweimer.net> To: Warren Block <wblock@wonkity.com> Cc: FreeBSD Questions <freebsd-questions@freebsd.org>, Shane Ambler <FreeBSD@shaneware.biz> Subject: Re: Locking USB Serial Device to Specific Com port Message-ID: <92bd9c547b6d1b36daa9da4030ad2172@dweimer.net> In-Reply-To: <alpine.BSF.2.00.1301270825480.6993@wonkity.com> References: <762f51b7c30dd5c920788336b3eb4fa5@dweimer.net> <51045B48.40202@ShaneWare.Biz> <0fd00d9caad3787f4cd0e443e5931340@dweimer.net> <alpine.BSF.2.00.1301270825480.6993@wonkity.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2013-01-27 09:29, Warren Block wrote: > On Sun, 27 Jan 2013, dweimer wrote: > >> 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 > > usbconfig may be able to get the device serial number, although they > may not be unique. Jamming useful scripts inside an action can be > complicated. It may be easier to just trigger an external script. That's just it, can't get usbconfig to give me anything different between the two, they don't appear to have a serial number set on them. # usbconfig -d ugen0.2 dump_device_desc ugen0.2: <USB-Serial Controller Prolific Technology Inc.> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0110 bDeviceClass = 0x0000 bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0040 idVendor = 0x067b idProduct = 0x2303 bcdDevice = 0x0300 iManufacturer = 0x0001 <Prolific Technology Inc.> iProduct = 0x0002 <USB-Serial Controller> iSerialNumber = 0x0000 <no string> bNumConfigurations = 0x0001 # usbconfig -d ugen0.3 dump_device_desc ugen0.3: <USB-Serial Controller Prolific Technology Inc.> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0110 bDeviceClass = 0x0000 bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0040 idVendor = 0x067b idProduct = 0x2303 bcdDevice = 0x0300 iManufacturer = 0x0001 <Prolific Technology Inc.> iProduct = 0x0002 <USB-Serial Controller> iSerialNumber = 0x0000 <no string> bNumConfigurations = 0x0001 -- Thanks, Dean E. Weimer http://www.dweimer.net/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?92bd9c547b6d1b36daa9da4030ad2172>