Date: Thu, 26 Nov 2020 15:13:49 +0100 From: Thomas Steen Rasmussen <thomas@gibfest.dk> To: Hans Petter Selasky <hps@selasky.org> Cc: usb@freebsd.org Subject: Re: webcamd, usb and two webcams - only one works Message-ID: <cdadc525-e4f9-6cde-26f3-15d7594bd5ee@gibfest.dk> In-Reply-To: <f49afce8-e055-d432-b374-4af10bf7d70e@selasky.org> References: <c11c1a2f-306f-3cd9-825f-4c39fd250d50@gibfest.dk> <9a382539-c90d-91b9-bfac-f36c0f19d3f7@selasky.org> <723be24d-b2fe-85df-4961-5483004050e8@gibfest.dk> <f49afce8-e055-d432-b374-4af10bf7d70e@selasky.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?cdadc525-e4f9-6cde-26f3-15d7594bd5ee>