I'm running a headless FreeBSD 11 box at home. Now, I'd like to use the server as a music player as well. As the interface worked without a problem on all other OS's I tried it (including Linux), I thought about giving it a shot on FreeBSD as well. Unfortunately this did not work out as expected. I followed https://www.freebsd.org/doc/handbook/sound-setup.html to the letter but the device is not recognized properly.
I'm using a generic kernel:
	
	
	
		
	
	
	
		
	
	
	
		
As you can see, the device is not attached:
	
	
	
		
Searching this forum lead me to statements that similar devices appear to work but no instructions on how it was done, leading me to assume the instructions from The Handbook should suffice.
Does anyone have experience with and/or thoughts to share on how to debug/rectify this? Or is this a lost cause for now requiring special driver support? I'm stumped by the system's refusal to add the device in the first place.
I'm looking forward to any pointers. Thanks!
Oh, and just in case a developer sees this and would like to help, here's the output of
	
	
	
		
				
			I'm using a generic kernel:
		Code:
	
	❯ uname -a
FreeBSD vandusen.home.lan 11.0-RELEASE-p9 FreeBSD 11.0-RELEASE-p9 #0: Tue Apr 11 08:48:40 UTC 2017
root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64 dmesg yields minimal information:
		Code:
	
	[3438] usb_alloc_device: set address 3 failed (USB_ERR_TIMEOUT, ignored)
[3439] ugen1.3: <PreSonus Audio> at usbus1 /var/log/messages has some more information:
		Code:
	
	Jun 23 16:12:40 vandusen kernel: [3439] ugen1.3: <PreSonus Audio> at usbus1
Jun 23 16:12:40 vandusen root: Unknown USB device: vendor 0x194f product 0x0301 bus uhub1
Jun 23 16:12:40 vandusen last message repeated 2 timesAs you can see, the device is not attached:
		Code:
	
	❯ pciconf -lv
hostb0@pci0:0:0:0:      class=0x060000 card=0x00000000 chip=0x01508086 rev=0x09 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller'
    class      = bridge
    subclass   = HOST-PCI
pcib1@pci0:0:1:0:       class=0x060400 card=0x330b103c chip=0x01518086 rev=0x09 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = 'Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port'
    class      = bridge
    subclass   = PCI-PCI
pcib2@pci0:0:6:0:       class=0x060400 card=0x330b103c chip=0x015d8086 rev=0x09 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = 'Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port'
    class      = bridge
    subclass   = PCI-PCI
ehci0@pci0:0:26:0:      class=0x0c0320 card=0x330d103c chip=0x1c2d8086 rev=0x05 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '6 Series/C200 Series Chipset Family USB Enhanced Host Controller'
    class      = serial bus
    subclass   = USB
pcib3@pci0:0:28:0:      class=0x060400 card=0x330d103c chip=0x1c108086 rev=0xb5 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '6 Series/C200 Series Chipset Family PCI Express Root Port 1'
    class      = bridge
    subclass   = PCI-PCI
pcib4@pci0:0:28:4:      class=0x060400 card=0x330d103c chip=0x1c188086 rev=0xb5 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '6 Series/C200 Series Chipset Family PCI Express Root Port 5'
    class      = bridge
    subclass   = PCI-PCI
pcib5@pci0:0:28:6:      class=0x060400 card=0x330d103c chip=0x1c1c8086 rev=0xb5 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '6 Series/C200 Series Chipset Family PCI Express Root Port 7'
    class      = bridge
    subclass   = PCI-PCI
pcib6@pci0:0:28:7:      class=0x060400 card=0x330d103c chip=0x1c1e8086 rev=0xb5 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '6 Series/C200 Series Chipset Family PCI Express Root Port 8'
    class      = bridge
    subclass   = PCI-PCI
ehci1@pci0:0:29:0:      class=0x0c0320 card=0x330d103c chip=0x1c268086 rev=0x05 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '6 Series/C200 Series Chipset Family USB Enhanced Host Controller'
    class      = serial bus
    subclass   = USB
pcib7@pci0:0:30:0:      class=0x060401 card=0x330d103c chip=0x244e8086 rev=0xa5 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '82801 PCI Bridge'
    class      = bridge
    subclass   = PCI-PCI
isab0@pci0:0:31:0:      class=0x060100 card=0x00000000 chip=0x1c548086 rev=0x05 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'C204 Chipset Family LPC Controller'
    class      = bridge
    subclass   = PCI-ISA
atapci0@pci0:0:31:2:    class=0x01018f card=0x330d103c chip=0x1c008086 rev=0x05 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '6 Series/C200 Series Chipset Family Desktop SATA Controller (IDE mode, ports 0-3)'
    class      = mass storage
    subclass   = ATA
atapci1@pci0:0:31:5:    class=0x010185 card=0x330d103c chip=0x1c088086 rev=0x05 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '6 Series/C200 Series Chipset Family Desktop SATA Controller (IDE mode, ports 4-5)'
    class      = mass storage
    subclass   = ATA
bge0@pci0:3:0:0:        class=0x020000 card=0x2133103c chip=0x165f14e4 rev=0x00 hdr=0x00
    vendor     = 'Broadcom Limited'
    device     = 'NetXtreme BCM5720 Gigabit Ethernet PCIe'
    class      = network
    subclass   = ethernet
bge1@pci0:3:0:1:        class=0x020000 card=0x2133103c chip=0x165f14e4 rev=0x00 hdr=0x00
    vendor     = 'Broadcom Limited'
    device     = 'NetXtreme BCM5720 Gigabit Ethernet PCIe'
    class      = network
    subclass   = ethernet
xhci0@pci0:4:0:0:       class=0x0c0330 card=0x1996103c chip=0x00141912 rev=0x03 hdr=0x00
    vendor     = 'Renesas Technology Corp.'
    device     = 'uPD720201 USB 3.0 Host Controller'
    class      = serial bus
    subclass   = USB
none0@pci0:1:0:0:       class=0x088000 card=0x3381103c chip=0x3306103c rev=0x05 hdr=0x00
    vendor     = 'Hewlett-Packard Company'
    device     = 'Integrated Lights-Out Standard Slave Instrumentation & System Support'
    class      = base peripheral
vgapci0@pci0:1:0:1:     class=0x030000 card=0x3381103c chip=0x0533102b rev=0x00 hdr=0x00
    vendor     = 'Matrox Electronics Systems Ltd.'
    device     = 'MGA G200EH'
    class      = display
    subclass   = VGA
none1@pci0:1:0:2:       class=0x088000 card=0x3381103c chip=0x3307103c rev=0x05 hdr=0x00
    vendor     = 'Hewlett-Packard Company'
    device     = 'Integrated Lights-Out Standard Management Processor Support and Messaging'
    class      = base peripheral
uhci0@pci0:1:0:4:       class=0x0c0300 card=0x3381103c chip=0x3300103c rev=0x02 hdr=0x00
    vendor     = 'Hewlett-Packard Company'
    device     = 'Integrated Lights-Out Standard Virtual USB Controller'
    class      = serial bus
    subclass   = USBSearching this forum lead me to statements that similar devices appear to work but no instructions on how it was done, leading me to assume the instructions from The Handbook should suffice.
Does anyone have experience with and/or thoughts to share on how to debug/rectify this? Or is this a lost cause for now requiring special driver support? I'm stumped by the system's refusal to add the device in the first place.
 /dev/ugen1.3 does exist but apparently FreeBSD doesn't have an idea what to do with it.I'm looking forward to any pointers. Thanks!
Oh, and just in case a developer sees this and would like to help, here's the output of
 usbconfig -d 1.3 dump_all_config_desc
		Code:
	
	ugen1.3: <AudioBox USB PreSonus Audio> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (500mA)
 Configuration index 0
    bLength = 0x0009
    bDescriptorType = 0x0002
    wTotalLength = 0x0108
    bNumInterfaces = 0x0005
    bConfigurationValue = 0x0001
    iConfiguration = 0x0000  <no string>
    bmAttributes = 0x0080
    bMaxPower = 0x00fa
    Interface 0
      bLength = 0x0009
      bDescriptorType = 0x0004
      bInterfaceNumber = 0x0000
      bAlternateSetting = 0x0000
      bNumEndpoints = 0x0000
      bInterfaceClass = 0x00ff  <Vendor specific>
      bInterfaceSubClass = 0x0000
      bInterfaceProtocol = 0x0000
      iInterface = 0x0000  <no string>
    Interface 1
      bLength = 0x0009
      bDescriptorType = 0x0004
      bInterfaceNumber = 0x0001
      bAlternateSetting = 0x0000
      bNumEndpoints = 0x0000
      bInterfaceClass = 0x0001  <Audio device>
      bInterfaceSubClass = 0x0001
      bInterfaceProtocol = 0x0000
      iInterface = 0x0000  <no string>
      Additional Descriptor
      bLength = 0x0b
      bDescriptorType = 0x24
      bDescriptorSubType = 0x01
       RAW dump:
       0x00 | 0x0b, 0x24, 0x01, 0x00, 0x01, 0x35, 0x00, 0x03,
       0x08 | 0x02, 0x03, 0x04
      Additional Descriptor
      bLength = 0x0c
      bDescriptorType = 0x24
      bDescriptorSubType = 0x02
       RAW dump:
       0x00 | 0x0c, 0x24, 0x02, 0x09, 0x01, 0x06, 0x01, 0x02,
       0x08 | 0x03, 0x00, 0x00, 0x00
      Additional Descriptor
      bLength = 0x09
      bDescriptorType = 0x24
      bDescriptorSubType = 0x03
       RAW dump:
       0x00 | 0x09, 0x24, 0x03, 0x0c, 0x01, 0x01, 0x00, 0x09,
       0x08 | 0x00
      Additional Descriptor
      bLength = 0x0c
      bDescriptorType = 0x24
      bDescriptorSubType = 0x02
       RAW dump:
       0x00 | 0x0c, 0x24, 0x02, 0x05, 0x01, 0x01, 0x00, 0x02,
       0x08 | 0x03, 0x00, 0x00, 0x00
      Additional Descriptor
      bLength = 0x09
      bDescriptorType = 0x24
      bDescriptorSubType = 0x03
       RAW dump:
       0x00 | 0x09, 0x24, 0x03, 0x08, 0x01, 0x03, 0x00, 0x05,
       0x08 | 0x00
    Interface 2
      bLength = 0x0009
      bDescriptorType = 0x0004
      bInterfaceNumber = 0x0002
      bAlternateSetting = 0x0000
      bNumEndpoints = 0x0000
      bInterfaceClass = 0x0001  <Audio device>
      bInterfaceSubClass = 0x0002
      bInterfaceProtocol = 0x0000
      iInterface = 0x0000  <no string>
    Interface 2 Alt 1
      bLength = 0x0009
      bDescriptorType = 0x0004
      bInterfaceNumber = 0x0002
      bAlternateSetting = 0x0001
      bNumEndpoints = 0x0001
      bInterfaceClass = 0x0001  <Audio device>
      bInterfaceSubClass = 0x0002
      bInterfaceProtocol = 0x0000
      iInterface = 0x0000  <no string>
      Additional Descriptor
      bLength = 0x07
      bDescriptorType = 0x24
      bDescriptorSubType = 0x01
       RAW dump:
       0x00 | 0x07, 0x24, 0x01, 0x05, 0x01, 0x01, 0x00
      Additional Descriptor
      bLength = 0x0e
      bDescriptorType = 0x24
      bDescriptorSubType = 0x02
       RAW dump:
       0x00 | 0x0e, 0x24, 0x02, 0x01, 0x02, 0x03, 0x18, 0x02,
       0x08 | 0x44, 0xac, 0x00, 0x80, 0xbb, 0x00
     Endpoint 0
        bLength = 0x0009
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0001  <OUT>
        bmAttributes = 0x0009  <ADAPT-ISOCHRONOUS>
        wMaxPacketSize = 0x0126
        bInterval = 0x0001
        bRefresh = 0x0000
        bSynchAddress = 0x0000
      Additional Descriptor
      bLength = 0x07
      bDescriptorType = 0x25
      bDescriptorSubType = 0x01
       RAW dump:
       0x00 | 0x07, 0x25, 0x01, 0x01, 0x00, 0x00, 0x00
    Interface 3
      bLength = 0x0009
      bDescriptorType = 0x0004
      bInterfaceNumber = 0x0003
      bAlternateSetting = 0x0000
      bNumEndpoints = 0x0000
      bInterfaceClass = 0x0001  <Audio device>
      bInterfaceSubClass = 0x0002
      bInterfaceProtocol = 0x0000
      iInterface = 0x0000  <no string>
    Interface 3 Alt 1
      bLength = 0x0009
      bDescriptorType = 0x0004
      bInterfaceNumber = 0x0003
      bAlternateSetting = 0x0001
      bNumEndpoints = 0x0001
      bInterfaceClass = 0x0001  <Audio device>
      bInterfaceSubClass = 0x0002
      bInterfaceProtocol = 0x0000
      iInterface = 0x0000  <no string>
      Additional Descriptor
      bLength = 0x07
      bDescriptorType = 0x24
      bDescriptorSubType = 0x01
       RAW dump:
       0x00 | 0x07, 0x24, 0x01, 0x0c, 0x01, 0x01, 0x00
      Additional Descriptor
      bLength = 0x0e
      bDescriptorType = 0x24
      bDescriptorSubType = 0x02
       RAW dump:
       0x00 | 0x0e, 0x24, 0x02, 0x01, 0x02, 0x03, 0x18, 0x02,
       0x08 | 0x44, 0xac, 0x00, 0x80, 0xbb, 0x00
     Endpoint 0
        bLength = 0x0009
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0082  <IN>
        bmAttributes = 0x000d  <SYNC-ISOCHRONOUS>
        wMaxPacketSize = 0x0126
        bInterval = 0x0001
        bRefresh = 0x0000
        bSynchAddress = 0x0000
      Additional Descriptor
      bLength = 0x07
      bDescriptorType = 0x25
      bDescriptorSubType = 0x01
       RAW dump:
       0x00 | 0x07, 0x25, 0x01, 0x01, 0x00, 0x00, 0x00
    Interface 4
      bLength = 0x0009
      bDescriptorType = 0x0004
      bInterfaceNumber = 0x0004
      bAlternateSetting = 0x0000
      bNumEndpoints = 0x0002
      bInterfaceClass = 0x0001  <Audio device>
      bInterfaceSubClass = 0x0003
      bInterfaceProtocol = 0x0000
      iInterface = 0x0000  <no string>
      Additional Descriptor
      bLength = 0x07
      bDescriptorType = 0x24
      bDescriptorSubType = 0x01
       RAW dump:
       0x00 | 0x07, 0x24, 0x01, 0x00, 0x01, 0x41, 0x00
      Additional Descriptor
      bLength = 0x06
      bDescriptorType = 0x24
      bDescriptorSubType = 0x02
       RAW dump:
       0x00 | 0x06, 0x24, 0x02, 0x01, 0x01, 0x00
      Additional Descriptor
      bLength = 0x06
      bDescriptorType = 0x24
      bDescriptorSubType = 0x02
       RAW dump:
       0x00 | 0x06, 0x24, 0x02, 0x02, 0x02, 0x00
      Additional Descriptor
      bLength = 0x09
      bDescriptorType = 0x24
      bDescriptorSubType = 0x03
       RAW dump:
       0x00 | 0x09, 0x24, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01,
       0x08 | 0x00
      Additional Descriptor
      bLength = 0x09
      bDescriptorType = 0x24
      bDescriptorSubType = 0x03
       RAW dump:
       0x00 | 0x09, 0x24, 0x03, 0x02, 0x04, 0x01, 0x01, 0x01,
       0x08 | 0x00
     Endpoint 0
        bLength = 0x0009
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0003  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0010
        bInterval = 0x0000
        bRefresh = 0x0000
        bSynchAddress = 0x0000
      Additional Descriptor
      bLength = 0x05
      bDescriptorType = 0x25
      bDescriptorSubType = 0x01
       RAW dump:
       0x00 | 0x05, 0x25, 0x01, 0x01, 0x01
     Endpoint 1
        bLength = 0x0009
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0084  <IN>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0010
        bInterval = 0x0000
        bRefresh = 0x0000
        bSynchAddress = 0x0000
      Additional Descriptor
      bLength = 0x05
      bDescriptorType = 0x25
      bDescriptorSubType = 0x01
       RAW dump:
       0x00 | 0x05, 0x25, 0x01, 0x01, 0x03