Digi Watchport/T temperature sensor as /dev/ttyU

From: O. Hartmann <ohartman_at_zedat.fu-berlin.de>
Date: Fri, 22 Jul 2016 18:35:56 +0200
For temperature monitoring, we have a bunch of Digi Watchport/T sensors: 

http://ftp1.digi.com/support/documentation/90000406_H.pdf

They work well with CentOS 5/6 systems and there is also a Nagios plugin, written in
Perl, which makes those sensors usable with Nagios/Icinga/Icinga2: 
 
https://exchange.nagios.org/directory/Plugins/System-Metrics/Environmental/check_watchptTemp/details

When attached to FreeBSD 12-CURRENT, the sensor is seen as a generic USB device, for
instance

ugen2.7: <WatchportT Digi International> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps)
pwr=ON (80mA)

I tried to load any available USB serial port/adaptor driver available to make this
sensor attach as a ttyU? as it does in Linux (/dev/ttyUSB), but no luck so far. I'm not
familiar with serial consoles or the derial capabilities of FreeBSD, so i might have
overseen something essential. I'd like to access the sensor to retrieve temperature data,
even if it is in a crude way. Poking around with USB, I found that the sensor device does
release some informations, so hopefully there is a way to make it look like a tty, see my
attempts to get some informations out of the device below.

If someone has some help, hints or advice, I'd appreciate an email (please CC me, I do
not subscribe the QUESTION list).

Thanks in advance,

Oliver


# usbconfig -u 2 -a 7 dump_device_desc
ugen2.7: <WatchportT Digi International> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps)
pwr=ON (80mA)

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0110 
  bDeviceClass = 0x00ff  <Vendor specific>
  bDeviceSubClass = 0x0000 
  bDeviceProtocol = 0x00ff 
  bMaxPacketSize0 = 0x0008 
  idVendor = 0x1608 
  idProduct = 0x0304 
  bcdDevice = 0x0100 
  iManufacturer = 0x0001  <Digi International>
  iProduct = 0x0002  <Watchport/T>
  iSerialNumber = 0x0003  <W82765150-0>
  bNumConfigurations = 0x0001 


# usbconfig -u 2 -a 7 dump_all_config_desc
ugen2.7: <WatchportT Digi International> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps)
pwr=ON (80mA)


 Configuration index 0

    bLength = 0x0009 
    bDescriptorType = 0x0002 
    wTotalLength = 0x0027 
    bNumInterfaces = 0x0001 
    bConfigurationValue = 0x0001 
    iConfiguration = 0x0000  <no string>
    bmAttributes = 0x00a0 
    bMaxPower = 0x0028 

    Interface 0
      bLength = 0x0009 
      bDescriptorType = 0x0004 
      bInterfaceNumber = 0x0000 
      bAlternateSetting = 0x0000 
      bNumEndpoints = 0x0003 
      bInterfaceClass = 0x00ff  <Vendor specific>
      bInterfaceSubClass = 0x0000 
      bInterfaceProtocol = 0x00ff 
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0040 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 1
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0001  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0040 
        bInterval = 0x0000 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 

     Endpoint 2
        bLength = 0x0007 
        bDescriptorType = 0x0005 
        bEndpointAddress = 0x0087  <IN>
        bmAttributes = 0x0003  <INTERRUPT>
        wMaxPacketSize = 0x0008 
        bInterval = 0x0001 
        bRefresh = 0x0000 
        bSynchAddress = 0x0000 


Received on Fri Jul 22 2016 - 14:35:42 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:06 UTC