Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Sep 2017 21:55:05 -0400
From:      Curtis Villamizar <curtis@orleans.occnc.com>
To:        freebsd-multimedia@freebsd.org
Cc:        Curtis Villamizar <curtis@orleans.occnc.com>
Subject:   video using webcamd on Raspberry Pi 3

| raw e-mail | index | archive | help
I'm using two camera with webcamd successfully with a amd64 desktop
running FreeBSD 11.0-STABLE r308356.  The same camera don't work using
FreeBSD 12.0-CURRENT r322787 on a Raspberry Pi 3 (RPi3) which uses the
arm64 architecture.

Both are using the latest libv4l and webcamd from ports.  I'm using
pwcview for testing though I'd eventually like to get the motion port
running.

I compiled webcamd with DEBUG on both.  On the amd64 (which works
fine) I get:

# /usr/local/sbin/webcamd -i 0 -d ugen2.3 -U webcamd -G webcamd -H
Linux video capture interface: v2.00
uvcvideo: Unable to create debugfs directory
USB Video Class driver (1.1.1)
cpia2: V4L-Driver for Vision CPiA2 based cameras v3.0.1
pvrusb2: V4L in-tree version:Hauppauge WinTV-PVR-USB2 MPEG2 Encoder/Tuner
pvrusb2: Debug mask is 31 (0x1f)
USBVision USB Video Device Driver for Linux : 0.9.11
em28xx: Registered (Em28xx v4l2 Extension) extension
em28xx: Registered (Em28xx dvb Extension) extension
Attached to ugen2.3[0]
uvcvideo: Found UVC 1.00 device USB 2.0 Camera (05a3:9310)
Waiting for HAL USB device.
Creating /dev/video0

The difference between that and the RPi3 (arm64) that doesn't work
are:

--- webcamd-amd64-elp.txt       2017-09-29 14:52:37.265268000 -0400
+++ webcamd-rpi3-elp.txt        2017-09-29 14:54:26.374538000 -0400
@@ -1,14 +1,10 @@
-# /usr/local/sbin/webcamd -i 0 -d ugen2.3 -U webcamd -G webcamd -H
+# /usr/local/sbin/webcamd -i 0 -d ugen0.4 -U webcamd -G webcamd
 Linux video capture interface: v2.00
-uvcvideo: Unable to create debugfs directory
 USB Video Class driver (1.1.1)
 cpia2: V4L-Driver for Vision CPiA2 based cameras v3.0.1
 pvrusb2: V4L in-tree version:Hauppauge WinTV-PVR-USB2 MPEG2 Encoder/Tuner
 pvrusb2: Debug mask is 31 (0x1f)
 USBVision USB Video Device Driver for Linux : 0.9.11
-em28xx: Registered (Em28xx v4l2 Extension) extension
-em28xx: Registered (Em28xx dvb Extension) extension
-Attached to ugen2.3[0]
+Attached to ugen0.4[0]
 uvcvideo: Found UVC 1.00 device USB 2.0 Camera (05a3:9310)
-Waiting for HAL USB device.
 Creating /dev/video0

The two lines that jump out as missing are the lines that begin with
"em28xx: Registered".  These are in
work/webcamd-4.8.0.4/media_tree/drivers/media/usb/em28xx/em28xx-video.c
work/webcamd-4.8.0.4/media_tree/drivers/media/usb/em28xx/em28xx-dvb.c
but I don't understand how module_init works.

I've tried to turn on more debugging with webcamd -m options.  Even
turning on all debug didn't seem to work.  I used
webcamd -s | grep debug=0 | sed -e 's,=0.*,=255,' -e 's,        , -m ,'
to tun on all variables with .debug in the name, yet got no additional
output other than from uaudio0 (the microphone on the camera).

Does anyone have any insights into this?

Curtis



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?>