On 11/26/20 5:43 PM, Hans Petter Selasky wrote:
On 11/26/20 5:05 PM, Thomas Steen Rasmussen wrote:

I see. What does this mean?

Since the same problem is also on different computer, intel instead of AMD.

Same problem also occurred when I replaced one of the webcams with a different model.

It isn't clear to me whether this is a problem/bug in one or more of the webcams or drivers, or in freebsd or somewhere else?

Thank you for your time and patience with this :)

Hi,

The xHCI controller has some logic to reserve bandwidth in bytes per frame (125us for High speed or 1ms for Full speed) for various endpoints. If these numbers are wrong the xHCI controller may think there is no bandwidth and will not activate the endpoint and schedule the transactions.

Maybe my Skylake xHCI doesn't care about these values :-(

Reference:
https://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/extensible-host-controler-interface-usb-xhci.pdf
OK thanks.

I have managed to get a bit futher. I found a third and fourth webcam and plugged them into the NUC. The two new webcams are:

====================
$ sudo usbconfig -d ugen0.5 dump_device_desc
ugen0.5: <HD 720P Webcam HD 720P Webcam> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)

  bLength = 0x0012
  bDescriptorType = 0x0001
  bcdUSB = 0x0200
  bDeviceClass = 0x00ef  <Miscellaneous device>
  bDeviceSubClass = 0x0002
  bDeviceProtocol = 0x0001
  bMaxPacketSize0 = 0x0040
  idVendor = 0x0c45
  idProduct = 0x6341
  bcdDevice = 0x0000
  iManufacturer = 0x0002  <HD 720P Webcam>
  iProduct = 0x0001  <HD 720P Webcam>
  iSerialNumber = 0x0003  <20130901>
  bNumConfigurations = 0x0001

$ sudo usbconfig -d ugen0.6 dump_device_desc
ugen0.6: <vendor 0x046d BRIO 4K Stream Edition> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (224mA)

  bLength = 0x0012
  bDescriptorType = 0x0001
  bcdUSB = 0x0310
  bDeviceClass = 0x00ef  <Miscellaneous device>
  bDeviceSubClass = 0x0002
  bDeviceProtocol = 0x0001
  bMaxPacketSize0 = 0x0009
  idVendor = 0x046d
  idProduct = 0x086b
  bcdDevice = 0x0317
  iManufacturer = 0x0000  <no string>
  iProduct = 0x0002  <BRIO 4K Stream Edition>
  iSerialNumber = 0x0003  <32213179>
  bNumConfigurations = 0x0001
====================

After playing around a bit I've concluded that the problem seems to follow the "HD 720p" I just plugged in, as well as the webcam I have two of, this one:

====================
ugen0.6: <Jieli Technology USB PHY 2.0> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)

  bLength = 0x0012
  bDescriptorType = 0x0001
  bcdUSB = 0x0200
  bDeviceClass = 0x00ef  <Miscellaneous device>
  bDeviceSubClass = 0x0002
  bDeviceProtocol = 0x0001
  bMaxPacketSize0 = 0x0040
  idVendor = 0x1224
  idProduct = 0x2a25
  bcdDevice = 0x0100
  iManufacturer = 0x0001  <Jieli Technology>
  iProduct = 0x0002  <USB PHY 2.0>
  iSerialNumber = 0x0000  <no string>
  bNumConfigurations = 0x0001
====================

Whichever one of the two Jielis and the HD 720p is plugged in first works, the following ones do not. All of this is using the same externally powered USB hub from earlier.

If I instead plug one of the Jielis into the front plug in the NUC and the other one into the USB hub (which is plugged into the back of the NUC), both Jielis work together! Very weird, looks like this in devinfo:

====================
        xhci0
          usbus0
            uhub0
              uhub1
                uaudio1
                  pcm3
              uhub2
                uaudio2
                  pcm4
                uhid0
              uaudio0
                pcm2
====================

The NUC only has the one root XHCI hub so I don't understand why this works when it doesn't on the external hub.

Anyway, since the APU only has the two external USB plugs I've been using, and that is the machine I need this to work on, this doesn't help a lot unfortunately. But it is a data point at least.

/Thomas
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "[email protected]"

Reply via email to