Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Jan 2017 10:14:32 -0500
From:      Mike Tancsa <mike@sentex.net>
To:        freebsd-usb@freebsd.org
Subject:   USB device not working on FreeBSD
Message-ID:  <b44ed306-057f-8d28-d01d-bed59b986b3a@sentex.net>

next in thread | raw e-mail | index | archive | help
I am trying to get a new model of UPS to work with FreeBSD using apcupsd
from the ports. The issues seems to be on the actual USB interface as
usbconfig fails to get all its info.  The same UPS works fine on linux
with apcupsd.

Perhaps some sort of USB quirk needs to be added ? Any ideas on how to
get things working ? It fails on RELENG8, RELENG_10, and RELENG_11 in
the same way.  usbconfig dump_device_desc fails as its not able to get
all the info.





ugen0.4: <American Power Conversion Back-UPS NS 650M1 FW929.a5 .D USB
FWa5> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (2mA)

  bLength = 0x0012
  bDescriptorType = 0x0001
  bcdUSB = 0x0200
  bDeviceClass = 0x0000  <Probed by interface class>
  bDeviceSubClass = 0x0000
  bDeviceProtocol = 0x0000
  bMaxPacketSize0 = 0x0040
  idVendor = 0x051d
  idProduct = 0x0002
  bcdDevice = 0x0090
  iManufacturer = 0x0001  <retrieving string failed>
  iProduct = 0x0002  <retrieving string failed>
  iSerialNumber = 0x0003  <retrieving string failed>
  bNumConfigurations = 0x0001

ugen0.4: <American Power Conversion Back-UPS NS 650M1 FW929.a5 .D USB
FWa5> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (2mA)


 Configuration index 0

    bLength = 0x0009
    bDescriptorType = 0x0002
    wTotalLength = 0x0022
    bNumInterfaces = 0x0001
    bConfigurationValue = 0x0001
    iConfiguration = 0x0000  <no string>
    bmAttributes = 0x00e0
    bMaxPower = 0x0001

    Interface 0
      bLength = 0x0009
      bDescriptorType = 0x0004
      bInterfaceNumber = 0x0000
      bAlternateSetting = 0x0000
      bNumEndpoints = 0x0001
      bInterfaceClass = 0x0003  <HID device>
      bInterfaceSubClass = 0x0000
      bInterfaceProtocol = 0x0000
      iInterface = 0x0000  <no string>

      Additional Descriptor

      bLength = 0x09
      bDescriptorType = 0x21
      bDescriptorSubType = 0x00
       RAW dump:
       0x00 | 0x09, 0x21, 0x00, 0x01, 0x21, 0x01, 0x22, 0x19,
       0x08 | 0x04

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

vs Linux

Bus 001 Device 005: ID 051d:0002 American Power Conversion
Uninterruptible Power Supply
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x051d American Power Conversion
  idProduct          0x0002 Uninterruptible Power Supply
  bcdDevice            0.90
  iManufacturer           1 American Power Conversion
  iProduct                2 Back-UPS NS 650M1 FW:929.a5 .D USB F
  iSerial                 3 4B1630P12329
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           34
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                2mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.00
          bCountryCode           33 US
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength    1049
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval             100
Device Status:     0x0001
  Self Powered
# apcaccess
APC      : 001,037,0922
DATE     : 2017-01-24 09:29:10 -0500
HOSTNAME : loadb06
VERSION  : 3.14.12 (29 March 2014) debian
UPSNAME  : loadb06
CABLE    : USB Cable
DRIVER   : USB UPS Driver
UPSMODE  : Stand Alone
STARTTIME: 2017-01-24 09:25:13 -0500
MODEL    : Back-UPS NS 650M1
STATUS   : ONLINE
LINEV    : 118.0 Volts
LOADPCT  : 0.0 Percent
BCHARGE  : 96.0 Percent
TIMELEFT : 429.9 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME  : 0 Seconds
SENSE    : Medium
LOTRANS  : 92.0 Volts
HITRANS  : 139.0 Volts
ALARMDEL : 30 Seconds
BATTV    : 13.5 Volts
LASTXFER : Low line voltage
NUMXFERS : 1
XONBATT  : 2017-01-24 09:27:37 -0500
TONBATT  : 0 Seconds
CUMONBATT: 33 Seconds
XOFFBATT : 2017-01-24 09:28:10 -0500
SELFTEST : OK
STATFLAG : 0x05000008
SERIALNO : 4B1630P12329
BATTDATE : 2016-07-27
NOMINV   : 120 Volts
NOMBATTV : 12.0 Volts
NOMPOWER : 360 Watts
FIRMWARE : 929.a5 .D USB FW:a5
END APC  : 2017-01-24 09:29:44 -0500




-- 
-------------------
Mike Tancsa, tel +1 519 651 3400
Sentex Communications, mike@sentex.net
Providing Internet services since 1994 www.sentex.net
Cambridge, Ontario Canada   http://www.tancsa.com/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b44ed306-057f-8d28-d01d-bed59b986b3a>