On 11/26/20 2:49 PM, Hans Petter Selasky wrote:
On 11/26/20 2:34 PM, Thomas Steen Rasmussen wrote:

On 11/26/20 1:18 PM, Hans Petter Selasky wrote:

Hi Thomas,

Try setting the resolution or framerate down, because high resolution webcams need a lot of USB bandwidth!


Hi,

Hi :)


Try "vga" instead of "xga".


I tried vga but it did not make a difference, it still says 640*480 and only one camera works.

I removed the external USB hub (which is externally powered) from the picture and plugged both cameras directly into the APU for now, to eliminate some potential sources of issues. The issue still remains.

Using usbdump I was able to see the USB back-and-forth when taking a snapshot with pwcview with the working camera. About maybe 100 lines or so, no errors.

Then I tried the other camera where pwcview never returns, and it looks similar at first but then gets stuck in a loop of:

=============================================
14:05:25.408143 usbus0.3 SUBM-ISOC-EP=00000084,SPD=HIGH,NFR=128,SLEN=0,IVAL=0 14:05:25.654017 usbus0.3 DONE-ISOC-EP=00000084,SPD=HIGH,NFR=0,SLEN=0,IVAL=0,ERR=TIMEOUT 14:05:25.654030 usbus0.3 DONE-ISOC-EP=00000084,SPD=HIGH,NFR=0,SLEN=0,IVAL=0,ERR=TIMEOUT 14:05:25.654220 usbus0.3 SUBM-ISOC-EP=00000084,SPD=HIGH,NFR=128,SLEN=0,IVAL=0 14:05:25.900003 usbus0.3 DONE-ISOC-EP=00000084,SPD=HIGH,NFR=0,SLEN=0,IVAL=0,ERR=TIMEOUT 14:05:25.900012 usbus0.3 DONE-ISOC-EP=00000084,SPD=HIGH,NFR=0,SLEN=0,IVAL=0,ERR=TIMEOUT 14:05:25.900141 usbus0.3 SUBM-ISOC-EP=00000084,SPD=HIGH,NFR=128,SLEN=0,IVAL=0 14:05:26.146015 usbus0.3 DONE-ISOC-EP=00000084,SPD=HIGH,NFR=0,SLEN=0,IVAL=0,ERR=TIMEOUT 14:05:26.146035 usbus0.3 DONE-ISOC-EP=00000084,SPD=HIGH,NFR=0,SLEN=0,IVAL=0,ERR=TIMEOUT 14:05:26.146244 usbus0.3 SUBM-ISOC-EP=00000084,SPD=HIGH,NFR=128,SLEN=0,IVAL=0 14:05:26.392001 usbus0.3 DONE-ISOC-EP=00000084,SPD=HIGH,NFR=0,SLEN=0,IVAL=0,ERR=TIMEOUT 14:05:26.392017 usbus0.3 DONE-ISOC-EP=00000084,SPD=HIGH,NFR=0,SLEN=0,IVAL=0,ERR=TIMEOUT 14:05:26.392229 usbus0.3 SUBM-ISOC-EP=00000084,SPD=HIGH,NFR=128,SLEN=0,IVAL=0 ^C14:05:26.637926 usbus0.3 DONE-ISOC-EP=00000084,SPD=HIGH,NFR=0,SLEN=0,IVAL=0,ERR=TIMEOUT 14:05:26.637939 usbus0.3 DONE-ISOC-EP=00000084,SPD=HIGH,NFR=0,SLEN=0,IVAL=0,ERR=TIMEOUT 14:05:26.638104 usbus0.3 SUBM-ISOC-EP=00000084,SPD=HIGH,NFR=128,SLEN=0,IVAL=0 14:05:26.883934 usbus0.3 DONE-ISOC-EP=00000084,SPD=HIGH,NFR=0,SLEN=0,IVAL=0,ERR=TIMEOUT 14:05:26.883959 usbus0.3 DONE-ISOC-EP=00000084,SPD=HIGH,NFR=0,SLEN=0,IVAL=0,ERR=TIMEOUT 14:05:26.884114 usbus0.3 SUBM-ISOC-EP=00000084,SPD=HIGH,NFR=128,SLEN=0,IVAL=0 14:05:27.129974 usbus0.3 DONE-ISOC-EP=00000084,SPD=HIGH,NFR=0,SLEN=0,IVAL=0,ERR=TIMEOUT 14:05:27.129984 usbus0.3 DONE-ISOC-EP=00000084,SPD=HIGH,NFR=0,SLEN=0,IVAL=0,ERR=TIMEOUT 14:05:27.130124 usbus0.3 SUBM-ISOC-EP=00000084,SPD=HIGH,NFR=128,SLEN=0,IVAL=0 14:05:27.375997 usbus0.3 DONE-ISOC-EP=00000084,SPD=HIGH,NFR=0,SLEN=0,IVAL=0,ERR=TIMEOUT 14:05:27.376006 usbus0.3 DONE-ISOC-EP=00000084,SPD=HIGH,NFR=0,SLEN=0,IVAL=0,ERR=TIMEOUT 14:05:27.376182 usbus0.3 SUBM-ISOC-EP=00000084,SPD=HIGH,NFR=128,SLEN=0,IVAL=0 14:05:27.621937 usbus0.3 DONE-ISOC-EP=00000084,SPD=HIGH,NFR=0,SLEN=0,IVAL=0,ERR=TIMEOUT 14:05:27.621950 usbus0.3 DONE-ISOC-EP=00000084,SPD=HIGH,NFR=0,SLEN=0,IVAL=0,ERR=TIMEOUT 14:05:27.622184 usbus0.3 SUBM-ISOC-EP=00000084,SPD=HIGH,NFR=128,SLEN=0,IVAL=0

210 packets captured
210 packets received by filter
0 packets dropped by kernel
$
=============================================

Note that usbdump is completely quiet when I don't run pwcview on either camera. If the problem was that the first webcam sends too much data for the second webcam to work, wouldn't usbdump show that? This makes me think the problem is elsewhere!



You could try to run webcamd in the foreground. It is also possible to enable debugging when you build webcamd from ports. Also, usbdump, can dump the traffic of these devices so that you see exactly what is going on.

This is devinfo output with the two webcams plugged directly into the USB plugs on the APU3:

        xhci0
          usbus0
            uhub1
              uaudio0
                pcm0
              uaudio1
                pcm1

Where "uhub1" is uhub1: <0x1022 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0



Can you show what usbconfig tell about these two devices when they are connected?

I sent the output of dump_all_desc for one of them in the initial email. I can send both or other output if needed?

This is the brief output for both:

===========================================
$ sudo usbconfig -d ugen0.3 dump_device_desc
ugen0.3: <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

$ sudo usbconfig -d ugen0.2 dump_device_desc
ugen0.2: <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

$
===========================================

Are you running -stable ?


Yes, FreeBSD 12.2-STABLE r367109 GENERIC amd64.

/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