During the last couple of days I've spent some time to finish my webcam
daemon. My webcam daemon is basically an application which consists of
userspace Video4Linux USB webcam drivers and some uLinux glue code which links
with libc, pthreads and libusb. The webcamd talks to /dev/video_daemonX which
is provided by the video4bsd kernel module. There is full support for
mmap/read/write/open/close. poll is not supported.
Basic operation and idea:
/dev/video_daemonX is the interface for the webcamd. /dev/videoX is the
interface for the V4L application. The video4bsd transports all data between
these two devices. In the case the V4L application is using mmap, no data is
copied due to shared kernel memory buffer!
Licensing issues:
Effectivly the webcamd userland program becomes GPL'ed due to the V4L USB
drivers which are GPL licensed. Some files inside the webcamd remains BSD
licensed which allows for building similar BSD licensed daemons.
The rest of the code is BSD licensed.
Source code:
1) FreeBSD 8-stable
2) Apply the patch below and re-install libusb in /usr/src/lib/libusb:
http://p4web.freebsd.org/chv.cgi?CH=172876
http://perforce.freebsd.org/chv.cgi?CH=172876
3) Compile ulinux (webcamd + libv4l + pwcview) and video4bsd (must be checked
out in the same folder due to dependencies)
svn --username anonsvn --password anonsvn \
checkout svn://svn.turbocat.net/i4b/trunk/usbcam/video4bsd
make all install
kldload video4bsd
svn --username anonsvn --password anonsvn \
checkout svn://svn.turbocat.net/i4b/trunk/usbcam/ulinux
make fetch
make patch
make all
make install
# this will attach to the first detected webcam:
./webcamd
# this will try to attach to the given USB unit, interface and V4B unit.
./webcamd -d ugen4.1 -i 0 -v 0
# this will display webcam contents from /dev/video0 by default.
./pwcview/pwcview
Feedback and bug reports are welcome.
Yes, I am working on getting this into ports!
Known issues:
1) If you detach the USB webcam you need to manually restart the webcamd.
--HPS
Support: I will be available at #bsdusb on efnet during the day.
_______________________________________________
freebsd...@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-curre...@freebsd.org"
Seems to work for just a second or two (I see my ugly mug on-screen),
and then this:
# ./pwcview/pwcview
Webcam set to: 320x240 (sif) at 5 fps
libv4lconvert: Error decompressing JPEG: fill_nbits error: need 8 more bits
libv4l2: error converting / decoding frame data: v4l-convert: error
parsing JPEG header: Not a JPG file ?
>From another xterm:
# ./webcamd -d ugen6.2 -v 0 -i 0
KrefGet: 0x800c90304 = 1
KrefGet: 0x800c90304 = 2
KrefGet: 0x800c9083c = 1
KrefGet: 0x800c9092c = 1
Added device 0x800ca4d08
KrefGet: 0x800ca4d0c = 1
KrefGet: 0x800ca4d0c = 2
size = 622592
alloc_nr = 0
KrefPut: 0x800ca4d0c = 2
>From dmesg:
ugen6.2: <vendor 0x17ef> at usbus6
Hi,
Maybe this is related to a bug in the recent JPEG library. Try googling.
You can also try another mode:
webcamd -s vga
Or other commands. See webcamd -h .
--HPS
s/webcamd/pwcview/
> On Sunday 10 January 2010 20:31:37 Hans Petter Selasky wrote:
> >
> > Hi,
> >
> > Maybe this is related to a bug in the recent JPEG library. Try googling.
> >
> > You can also try another mode:
> >
> > webcamd -s vga
> >
> > Or other commands. See webcamd -h .
>
> s/webcamd/pwcview/
>
> --HPS
> _______________________________________________
> freebsd-m...@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-multimedia
> To unsubscribe, send any mail to "
> freebsd-multime...@freebsd.org"
>
Hi,
I was trying this driver with:
my webcam:
ugen7.2: <Lenovo EasyCamera vendor 0x046d> at usbus7, cfg=0 md=HOST spd=HIGH
(480Mbps) pwr=ON
my system:
FreeBSD starkiller 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #0: Tue Jan 5
21:11:58 UTC 2010
ro...@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC
amd64
When turn on the webcam:
Jan 10 16:13:25 starkiller root: Unknown USB device: vendor 0x046d product
0x09b6 bus uhub7
Jan 10 16:13:25 starkiller kernel: ugen7.2: <vendor 0x046d> at usbus7
when execute ./webcamd -d ugen7.2 -i 0 -v 0
Jan 10 16:13:29 starkiller root: Unknown USB device: vendor 0x046d product
0x09b6 bus uhub7
Issues:
To access /dev/video0 with a no-root user in operator group, I changed
permisions: chmod 0660 /dev/video0 manually
I can access using pwcview but I cant access from cheese, Do I something to
get this?
Thanks for this software, good work!!!
--
Diego Ochoa - darkbalder
Luis Pasteur 2-30 y Copernico
Telf: +593 7 4082144
Porta: 090085391
Cuenca - Ecuador
Spook can use the V4L 1.x mmap() interface. I tried it with a one of
Luigi's ported drivers; it was not always stable, but it was able to
stream. It may be a good 'soak test' for the drivers.
As far as I know, the V4L2 API isn't in a BSD compatible form yet. This
seems to be needed to be able to deal with capture devices which can
read compressed frames from the device directly.
cheers,
Bruce
On 10.01.2010 21:37 Hans Petter Selasky wrote:
> # this will display webcam contents from /dev/video0 by default.
> ./pwcview/pwcview
> Feedback and bug reports are welcome.
As you know I get a black window when I test my webcam under skype.
Here is skype output after pressing "Test" button:
$ skype
Starting the process...
Skype Xv: Xv ports available: 32
Skype XShm: XShm support enabled
Skype Xv: Using Xv port 304
$ xvinfo
X-Video Extension version 2.2
screen #0
Adaptor #0: "NV17 Video Texture"
number of ports: 32
port base: 304
operations supported: PutImage
supported visuals:
depth 24, visualID 0x21
depth 24, visualID 0x24
depth 24, visualID 0x25
depth 24, visualID 0x26
depth 24, visualID 0x27
depth 24, visualID 0x28
depth 24, visualID 0x29
depth 24, visualID 0x2a
depth 24, visualID 0x2b
depth 24, visualID 0x2c
depth 24, visualID 0x2d
depth 24, visualID 0x2e
depth 24, visualID 0x2f
depth 24, visualID 0x30
depth 24, visualID 0x31
depth 24, visualID 0x32
depth 24, visualID 0x33
depth 24, visualID 0x34
depth 24, visualID 0x35
depth 24, visualID 0x36
depth 24, visualID 0x37
depth 24, visualID 0x38
depth 24, visualID 0x39
depth 24, visualID 0x3a
depth 24, visualID 0x3b
depth 24, visualID 0x3c
depth 24, visualID 0x3d
depth 24, visualID 0x3e
depth 24, visualID 0x22
depth 24, visualID 0x3f
depth 24, visualID 0x40
depth 24, visualID 0x41
depth 24, visualID 0x42
depth 24, visualID 0x43
depth 24, visualID 0x44
depth 24, visualID 0x45
depth 24, visualID 0x46
depth 24, visualID 0x47
depth 24, visualID 0x48
depth 24, visualID 0x49
depth 24, visualID 0x4a
depth 24, visualID 0x4b
depth 24, visualID 0x4c
depth 24, visualID 0x4d
depth 24, visualID 0x4e
depth 24, visualID 0x4f
depth 24, visualID 0x50
depth 24, visualID 0x51
depth 24, visualID 0x52
depth 24, visualID 0x53
depth 24, visualID 0x54
depth 24, visualID 0x55
depth 24, visualID 0x56
depth 24, visualID 0x57
depth 24, visualID 0x58
depth 24, visualID 0x59
number of attributes: 7
"XV_SET_DEFAULTS" (range 0 to 0)
client settable attribute
"XV_ITURBT_709" (range 0 to 1)
client settable attribute
client gettable attribute (current value is 0)
"XV_SYNC_TO_VBLANK" (range 0 to 1)
client settable attribute
client gettable attribute (current value is 1)
"XV_BRIGHTNESS" (range -1000 to 1000)
client settable attribute
client gettable attribute (current value is 0)
"XV_CONTRAST" (range -1000 to 1000)
client settable attribute
client gettable attribute (current value is 0)
"XV_SATURATION" (range -1000 to 1000)
client settable attribute
client gettable attribute (current value is 0)
"XV_HUE" (range -1000 to 1000)
client settable attribute
client gettable attribute (current value is 0)
maximum XvImage size: 2046 x 2046
Number of image formats: 4
id: 0x32595559 (YUY2)
guid: 59555932-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
id: 0x32315659 (YV12)
guid: 59563132-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
id: 0x59565955 (UYVY)
guid: 55595659-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
id: 0x30323449 (I420)
guid: 49343230-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
--
Best regards,
Alexander
Hi again,
The JPEG library fix is here:
http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/137265
Try to "svn up" and build fresh sources. I've found and fixed some bugs.
--HPS
Hi, good work, thanks.
works fine for me (sudo ./pwcview/pwcview)
[tiger@notebook]~%uname -a
FreeBSD notebook.minsk.domain 9.0-CURRENT FreeBSD 9.0-CURRENT #5
r201770M: Fri Jan 8 17:32:31 EET 2010 ro...@notebook.minsk.domain:/
usr/obj/usr/src/sys/tiger-asus-a6m i386
from /var/log/messages:
notebook root: Unknown USB device: vendor 0x174f product 0xa311 bus
uhub1
[tiger@notebook]~%sudo usbconfig list
ugen0.1: <OHCI root HUB nVidia> at usbus0, cfg=0 md=HOST spd=FULL
(12Mbps) pwr=ON
ugen1.1: <EHCI root HUB nVidia> at usbus1, cfg=0 md=HOST spd=HIGH
(480Mbps) pwr=ON
ugen0.2: <USB Multimedia Keyboard LITEON Technology> at usbus0, cfg=0
md=HOST spd=LOW (1.5Mbps) pwr=ON
ugen1.2: <USB2.0 Syntek> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps)
pwr=ON <-- webcam
ugen0.3: <USB Optical Mouse A4Tech> at usbus0, cfg=0 md=HOST spd=LOW
(1.5Mbps) pwr=ON
> Yes, I am working on getting this into ports!
good news, thanks again
>
> Known issues:
>
> 1) If you detach the USB webcam you need to manually restart the webcamd.
yep, after usbconfig power_off and power_on webcamd coredumped
>
> --HPS
>
--
wbr, tiger
FreeBSD meribel.restart.bel 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #0
r201748M: Thu Jan 7 16:23:56 CET 2010
ro...@meribel.restart.bel:/usr/obj/usr/src/sys/MERIBEL i386
[root@meribel ~]# usbconfig
ugen0.1: <UHCI root HUB Intel> at usbus0, cfg=0 md=HOST spd=FULL
(12Mbps) pwr=ON
ugen1.1: <UHCI root HUB Intel> at usbus1, cfg=0 md=HOST spd=FULL
(12Mbps) pwr=ON
ugen2.1: <UHCI root HUB Intel> at usbus2, cfg=0 md=HOST spd=FULL
(12Mbps) pwr=ON
ugen3.1: <EHCI root HUB Intel> at usbus3, cfg=0 md=HOST spd=HIGH
(480Mbps) pwr=ON
ugen3.2: <USB Webcam QCM> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
ugen0.2: <product 0x1133 vendor 0x04d9> at usbus0, cfg=0 md=HOST spd=LOW
(1.5Mbps) pwr=ON
ugen1.2: <product 0x6216 vendor 0x18e8> at usbus1, cfg=0 md=HOST
spd=FULL (12Mbps) pwr=ON
ugen3.3: <USB2.0-CRW Generic> at usbus3, cfg=0 md=HOST spd=HIGH
(480Mbps) pwr=ON
[root@meribel ~]# /home/meribel/webcam/ulinux/webcamd -d ugen3.2 -i 0 -v 0
KrefGet: 0x34028404 = 1
KrefGet: 0x34028404 = 2
KrefGet: 0x3402860c = 1
KrefGet: 0x340286c8 = 1
Added device 0x33f18b04
KrefGet: 0x33f18b08 = 1
KrefGet: 0x33f18b08 = 2
[root@meribel ~]# chmod 666 /dev/video* /dev/usb/*
[hlh@meribel ~]$ pwcview
Webcam set to: 320x240 (sif) at 5 fps
Give me a green window for some time and then this picture:
http://verbier.restart.be/xfer/Screenshot-pwcview.png
which stay still.
I can't kill pwcview window.
Thank you for your work!
Henri
Yes, if you kldload snd_uaudio.
--HPS
Thanks you for efforts!
I've tested it with
ugen4.2: <USB 2.0 Camera Vimicro Corp> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
on 9-CURRENT
pwcview works fine:
$ ./pwcview/pwcview
Webcam set to: 320x240 (sif) at 5 fps
skype detects video device, but shows only black window instead of picture.
build webcamd.c with debug shows:
$ ./webcamd
Probing for 0.0.0
KrefGet: 0x483e2304 = 1
KrefGet: 0x483e2304 = 2
KrefGet: 0x483e2554 = 1
KrefGet: 0x483e2610 = 1
Added device 0x48318b04
KrefGet: 0x48318b08 = 1
Received command 1 0x00000000
KrefGet: 0x48318b08 = 2
Status = 0
Received command 5 0x40047601
Status = -22
Received command 5 0x403c7601
Status = 0
Received command 5 0x400e7606
Status = 0
Received command 5 0x800e7607
Status = -22
Received command 5 0x800e7607
Status = 0
Received command 5 0x40207609
Status = 0
Received command 5 0x8020760a
Status = 0
... and then in loop:
Status = -22
Received command 3 0x00025800
Status = -22
Received command 3 0x00025800
Status = -22
Received command 3 0x00025800
Status = -22
Received command 3 0x00025800
Status = -22
Received command 3 0x00025800
...
Side question, is it possible to use audio microphone of USB camera ?
Hi,
Basic operation and idea:
Licensing issues:
Source code:
1) FreeBSD 8-stable
http://p4web.freebsd.org/chv.cgi?CH=172876
http://perforce.freebsd.org/chv.cgi?CH=172876
Yes, I am working on getting this into ports!
Known issues:
1) If you detach the USB webcam you need to manually restart the webcamd.
--HPS
Support: I will be available at #bsdusb on efnet during the day.
_______________________________________________
freebsd...@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-curre...@freebsd.org"
--
Vladimir B. Grebenschikov
vo...@fbsd.ru
Tested and working fine so far (I've only checked the bundled
pwcview application) with the builtin webcam of an Acer Aspire
One 531:
ugen4.2: <WebCam SuYin> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
> Feedback and bug reports are welcome.
Thank you!
Cheers,
-sascha
I try on the same config an external webcam (Logitech QuickCam Messenger)
[root@meribel ulinux]# usbconfig
ugen0.1: <UHCI root HUB Intel> at usbus0, cfg=0 md=HOST spd=FULL
(12Mbps) pwr=ON
ugen1.1: <UHCI root HUB Intel> at usbus1, cfg=0 md=HOST spd=FULL
(12Mbps) pwr=ON
ugen2.1: <UHCI root HUB Intel> at usbus2, cfg=0 md=HOST spd=FULL
(12Mbps) pwr=ON
ugen3.1: <EHCI root HUB Intel> at usbus3, cfg=0 md=HOST spd=HIGH
(480Mbps) pwr=ON
ugen3.2: <USB Webcam QCM> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
ugen0.2: <product 0x1133 vendor 0x04d9> at usbus0, cfg=0 md=HOST spd=LOW
(1.5Mbps) pwr=ON
ugen1.2: <product 0x6216 vendor 0x18e8> at usbus1, cfg=0 md=HOST
spd=FULL (12Mbps) pwr=ON
ugen3.3: <USB2.0-CRW Generic> at usbus3, cfg=0 md=HOST spd=HIGH
(480Mbps) pwr=ON
ugen0.3: <Camera vendor 0x046d> at usbus0, cfg=0 md=HOST spd=FULL
(12Mbps) pwr=ON
[root@meribel ulinux]# ./webcamd -d ugen0.3 -i 0 -v 0
KrefGet: 0x34028904 = 1
Added device 0x33fdf304
KrefGet: 0x33fdf308 = 1
KrefGet: 0x33fdf308 = 2
KrefPut: 0x33fdf308 = 2
And pwcview work perfectly :-)
Henri
> Yes, I am working on getting this into ports!
>
> Known issues:
>
> 1) If you detach the USB webcam you need to manually restart the
> webcamd.
>
> --HPS
>
> Support: I will be available at #bsdusb on efnet during the day.
> _______________________________________________
> freebsd...@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to
> "freebsd-curre...@freebsd.org"
I works for me on 8-stable, although I get flickering on the lower
third of the pwcview screen. I am using a logitech quickcam pro 9000.
Output from webcamd:
KrefGet: 0x800c95c04 = 1
KrefGet: 0x800c95c04 = 2
KrefGet: 0x800c960bc = 1
KrefGet: 0x800c961ac = 1
Added device 0x800ce2d08
KrefGet: 0x800ce2d0c = 1
KrefGet: 0x800ce2d0c = 2
KrefPut: 0x800ce2d0c = 2
Output from pwcview:
libv4lconvert: Error decompressing JPEG: unknown huffman code: 0000ffec
libv4lconvert: Error decompressing JPEG: fill_nbits error: need 1 more
bits libv4lconvert: Error decompressing JPEG: unknown huffman code:
0000fffd libv4lconvert: Error decompressing JPEG: unknown huffman code:
0000fffd libv4lconvert: Error decompressing JPEG: unknown huffman code:
0000fffd libv4lconvert: Error decompressing JPEG: fill_nbits error:
need 1 more bits libv4lconvert: Error decompressing JPEG: fill_nbits
error: need 1 more bits libv4lconvert: Error decompressing JPEG:
unknown huffman code: 0000ffd9 libv4lconvert: Error decompressing JPEG:
unknown huffman code: 0000ffd9 libv4lconvert: Error decompressing JPEG:
unknown huffman code: 0000ffd9 libv4lconvert: Error decompressing JPEG:
fill_nbits error: need 5 more bits libv4lconvert: Error decompressing
JPEG: fill_nbits error: need 1 more bits libv4lconvert: Error
decompressing JPEG: fill_nbits error: need 5 more bits libv4lconvert:
Error decompressing JPEG: fill_nbits error: need 4 more bits
libv4lconvert: Error decompressing JPEG: fill_nbits error: need 3 more
bits libv4lconvert: Error decompressing JPEG: unknown huffman code:
0000ffff libv4lconvert: Error decompressing JPEG: unknown huffman code:
0000ffff libv4lconvert: Error decompressing JPEG: unknown huffman code:
0000ffff
Great job!
--
Martin Kristensen
>Feedback and bug reports are welcome.
Hi Hans,
Thanks for your help in getting the needed files from svn etc.
video4bsd.ko builds on loads perfectly fine, however usbcam/ulinux fails
upon the "make all" with the following errors:
cc -O2 -pipe -I/var/tmp/ulinux/libv4l/linux/drivers/media/video/gspca
-I/var/tmp/ulinux/libv4l/linux/include -I/var/tmp/ulinux/libv4l/linux
-I/var/tmp/ulinux -I/var/tmp/ulinux/dummy -DCONFIG_VIDEO_V4L1_COMPAT
-DHAVE_WEBCAMD -include webcamd_global.h -O2 -Wall -fvisibility=hidden
-std=gnu99 -fstack-protector -c
/var/tmp/ulinux/libv4l/linux/drivers/media/video/gspca/gspca.c
/var/tmp/ulinux/libv4l/linux/drivers/media/video/gspca/gspca.c:54:1: warning:
"DRIVER_VERSION_NUMBER" redefined
In file included from ./webcamd_global.h:93,
from <command-line>:0:
/var/tmp/ulinux/libv4l/linux/drivers/media/video/uvc/uvcvideo.h:144:1: warning:
this is the location of the previous definition
/var/tmp/ulinux/libv4l/linux/drivers/media/video/gspca/gspca.c: In function
'create_urbs':
/var/tmp/ulinux/libv4l/linux/drivers/media/video/gspca/gspca.c:560: warning:
passing argument 4 of 'usb_buffer_alloc' from incompatible pointer type
/var/tmp/ulinux/libv4l/linux/drivers/media/video/gspca/gspca.c: In function
'vidioc_querycap':
/var/tmp/ulinux/libv4l/linux/drivers/media/video/gspca/gspca.c:1135: warning:
pointer targets in passing argument 1 of 'strncpy' differ in signedness
/var/tmp/ulinux/libv4l/linux/drivers/media/video/gspca/gspca.c:1138: warning:
pointer targets in passing argument 1 of 'strncpy' differ in signedness
/var/tmp/ulinux/libv4l/linux/drivers/media/video/gspca/gspca.c:1143: warning:
pointer targets in passing argument 1 of 'snprintf' differ in signedness
/var/tmp/ulinux/libv4l/linux/drivers/media/video/gspca/gspca.c:1145: warning:
pointer targets in passing argument 2 of 'usb_make_path' differ in signedness
/var/tmp/ulinux/libv4l/linux/drivers/media/video/gspca/gspca.c: In function
'vidioc_g_audio':
/var/tmp/ulinux/libv4l/linux/drivers/media/video/gspca/gspca.c:1270: warning:
pointer targets in passing argument 1 of 'strcpy' differ in signedness
/var/tmp/ulinux/libv4l/linux/drivers/media/video/gspca/gspca.c: In function
'vidioc_enumaudio':
/var/tmp/ulinux/libv4l/linux/drivers/media/video/gspca/gspca.c:1280: warning:
pointer targets in passing argument 1 of 'strcpy' differ in signedness
/var/tmp/ulinux/libv4l/linux/drivers/media/video/gspca/gspca.c: In function
'vidioc_enum_input':
/var/tmp/ulinux/libv4l/linux/drivers/media/video/gspca/gspca.c:1306: warning:
pointer targets in passing argument 1 of 'strncpy' differ in signedness
/var/tmp/ulinux/libv4l/linux/drivers/media/video/gspca/gspca.c: In function
'gspca_dev_probe':
/var/tmp/ulinux/libv4l/linux/drivers/media/video/gspca/gspca.c:2084: error:
'struct usb_device' has no member named 'config'
*** Error code 1
Stop in /var/tmp/ulinux.
*** Error code 1
Stop in /var/tmp/ulinux.
Using: FreeBSD 9.0-CURRENT #0 r202270: Thu Jan 14 11:20:04 WST 2010
-Alex
IMPORTANT: This email remains the property of the Australian Defence Organisation and is subject to the jurisdiction of section 70 of the CRIMES ACT 1914. If you have received this email in error, you are requested to contact the sender and delete the email.
Hi,
I think Andrew made a fixed port which you can test. The V4L sources has
changed since the last couple of days. The build error you are seeing has been
fixed in the latest SVN version of my code.
--HPS
>I think Andrew made a fixed port which you can test.
Can you please point me in the direction to this ?
-Alex
IMPORTANT: This email remains the property of the Australian Defence Organisation and is subject to the jurisdiction of section 70 of the CRIMES ACT 1914. If you have received this email in error, you are requested to contact the sender and delete the email.
_______________________________________________
I'l update the tarball tomorrow and send it out.
Andrew
>On Thu, Jan 14, 2010 at 04:48:31PM +0800, Wilkinson, Alex wrote:
>>
>> 0n Thu, Jan 14, 2010 at 09:24:47AM +0100, Hans Petter Selasky wrote:
>>
>> >I think Andrew made a fixed port which you can test.
>>
>> Can you please point me in the direction to this ?
>
>I'l update the tarball tomorrow and send it out.
Got these errors:
[FreeBSD 9.0-CURRENT #0 r202270: Thu Jan 14 11:20:04 WST 2010]
===> Building for webcamd-0.1.0
Warning: Object directory not changed from original /usr/ports/multimedia/webcamd/work/webcamd-0.1.0
cc -O2 -pipe -I/usr/ports/multimedia/webcamd/work/webcamd-0.1.0/v4l-dvb/linux/drivers/media/video/gspca -I/usr/ports/multimedia/webcamd/work/webcamd-0.1.0/v4l-dvb/linux/include -I/usr/ports/multimedia/webcamd/work/webcamd-0.1.0/v4l-dvb/linux -I/usr/ports/multimedia/webcamd/work/webcamd-0.1.0 -I/usr/ports/multimedia/webcamd/work/webcamd-0.1.0/dummy -DCONFIG_VIDEO_V4L1_COMPAT -DHAVE_WEBCAMD -include webcamd_global.h -O2 -Wall -Wno-pointer-sign -fvisibility=hidden -std=gnu99 -fstack-protector -c webcamd.c
webcamd.c:37:23: error: video4bsd.h: No such file or directory
webcamd.c:55: error: 'V4B_ALLOC_UNIT_MAX' undeclared here (not in a function)
webcamd.c: In function 'main':
webcamd.c:126: error: storage size of 'cmd' isn't known
webcamd.c:176: error: 'V4B_DEVICES_MAX' undeclared (first use in this function)
webcamd.c:176: error: (Each undeclared identifier is reported only once
webcamd.c:176: error: for each function it appears in.)
webcamd.c:206: error: 'V4B_IOCTL_GET_COMMAND' undeclared (first use in this function)
webcamd.c:212: error: 'V4B_CMD_OPEN' undeclared (first use in this function)
webcamd.c:223: error: 'V4B_IOCTL_SYNC_COMMAND' undeclared (first use in this function)
webcamd.c:226: error: 'V4B_CMD_CLOSE' undeclared (first use in this function)
webcamd.c:236: error: 'V4B_CMD_READ' undeclared (first use in this function)
webcamd.c:244: error: 'V4B_CMD_WRITE' undeclared (first use in this function)
webcamd.c:252: error: 'V4B_CMD_IOCTL' undeclared (first use in this function)
webcamd.c:264: error: 'V4B_CMD_MMAP' undeclared (first use in this function)
webcamd.c:126: warning: unused variable 'cmd'
webcamd.c: In function 'copy_to_user':
webcamd.c:299: error: variable 'cmd' has initializer but incomplete type
webcamd.c:300: error: unknown field 'client_ptr' specified in initializer
webcamd.c:300: warning: excess elements in struct initializer
webcamd.c:300: warning: (near initialization for 'cmd')
webcamd.c:301: error: unknown field 'peer_ptr' specified in initializer
webcamd.c:301: warning: excess elements in struct initializer
webcamd.c:301: warning: (near initialization for 'cmd')
webcamd.c:302: error: unknown field 'length' specified in initializer
webcamd.c:302: warning: excess elements in struct initializer
webcamd.c:302: warning: (near initialization for 'cmd')
webcamd.c:299: error: storage size of 'cmd' isn't known
webcamd.c:306: error: 'V4B_IOCTL_WRITE_DATA' undeclared (first use in this function)
webcamd.c:299: warning: unused variable 'cmd'
webcamd.c: In function 'copy_from_user':
webcamd.c:315: error: variable 'cmd' has initializer but incomplete type
webcamd.c:316: error: unknown field 'client_ptr' specified in initializer
webcamd.c:316: warning: excess elements in struct initializer
webcamd.c:316: warning: (near initialization for 'cmd')
webcamd.c:317: error: unknown field 'peer_ptr' specified in initializer
webcamd.c:317: warning: excess elements in struct initializer
webcamd.c:317: warning: (near initialization for 'cmd')
webcamd.c:318: error: unknown field 'length' specified in initializer
webcamd.c:318: warning: excess elements in struct initializer
webcamd.c:318: warning: (near initialization for 'cmd')
webcamd.c:315: error: storage size of 'cmd' isn't known
webcamd.c:322: error: 'V4B_IOCTL_READ_DATA' undeclared (first use in this function)
webcamd.c:315: warning: unused variable 'cmd'
webcamd.c: In function 'set_mmap':
webcamd.c:370: error: variable 'cmd' has initializer but incomplete type
webcamd.c:370: warning: excess elements in struct initializer
webcamd.c:370: warning: (near initialization for 'cmd')
webcamd.c:370: warning: excess elements in struct initializer
webcamd.c:370: warning: (near initialization for 'cmd')
webcamd.c:370: error: storage size of 'cmd' isn't known
webcamd.c:389: error: 'V4B_IOCTL_MAP_MEMORY' undeclared (first use in this function)
webcamd.c:370: warning: unused variable 'cmd'
webcamd.c: In function 'malloc_vm':
webcamd.c:403: error: variable 'cmd' has initializer but incomplete type
webcamd.c:403: warning: excess elements in struct initializer
webcamd.c:403: warning: (near initialization for 'cmd')
webcamd.c:403: warning: excess elements in struct initializer
webcamd.c:403: warning: (near initialization for 'cmd')
webcamd.c:403: error: storage size of 'cmd' isn't known
webcamd.c:428: error: 'V4B_IOCTL_ALLOC_MEMORY' undeclared (first use in this function)
webcamd.c:442: error: 'V4B_ALLOC_PAGES_MAX' undeclared (first use in this function)
webcamd.c:446: error: 'V4B_IOCTL_FREE_MEMORY' undeclared (first use in this function)
webcamd.c:403: warning: unused variable 'cmd'
webcamd.c: In function 'free_vm':
webcamd.c:466: error: variable 'cmd' has initializer but incomplete type
webcamd.c:466: warning: excess elements in struct initializer
webcamd.c:466: warning: (near initialization for 'cmd')
webcamd.c:466: warning: excess elements in struct initializer
webcamd.c:466: warning: (near initialization for 'cmd')
webcamd.c:466: error: storage size of 'cmd' isn't known
webcamd.c:483: error: 'V4B_IOCTL_FREE_MEMORY' undeclared (first use in this function)
webcamd.c:466: warning: unused variable 'cmd'
*** Error code 1
Stop in /usr/ports/multimedia/webcamd/work/webcamd-0.1.0.
*** Error code 1
Stop in /usr/ports/multimedia/webcamd.
Exit 1
-Alex
IMPORTANT: This email remains the property of the Australian Defence Organisation and is subject to the jurisdiction of section 70 of the CRIMES ACT 1914. If you have received this email in error, you are requested to contact the sender and delete the email.
_______________________________________________
Please check /etc/make.conf and replace any CFLAGS= with CFLAGS+=
--HPS
Bzzt, wrong. It will make no difference whatsoever; make.conf is
included by sys.mk before the Makefile itself is read, so the Makefile
overrides make.conf, not the other way around.
DES
--
Dag-Erling Smørgrav - d...@des.no
Do you have CFLAGS set in /etc/make.conf by chance?
Andrew
On Sun, Jan 10, 2010 at 9:37 PM, Hans Petter Selasky <hsel...@c2i.net> wrote:
> Hi,
>
> During the last couple of days I've spent some time to finish my webcam
> daemon. My webcam daemon is basically an application which consists of
> userspace Video4Linux USB webcam drivers and some uLinux glue code which links
> with libc, pthreads and libusb. The webcamd talks to /dev/video_daemonX which
> is provided by the video4bsd kernel module. There is full support for
> mmap/read/write/open/close. poll is not supported.
I've tested on my webcam and it works here.
I have an USB Video Class webcam:
ugen2.2: <Vega USB 2.0 Camera. Vimicro Corp.> at usbus2, cfg=0 md=HOST
spd=HIGH (480Mbps) pwr=ON
This is the first time it works in FreeBSD! Thanks a lot!
Currently, it works with -s vga and -s cif. There are many other modes
supported by the webcam, but pwcview just does not support them. This
webcam supports at most 1280x1024, and the quality is clearly better
than 640x480.
There are some problems, however. First, when I start pwcview with an
unsupported mode, the content of the window is green, and I cannot
kill the process. Only after terminating webcamd can I terminate the
process.
Second, I cannot restart pwcview without restarting webcamd. At the
second time I start pwcview with -s vga, the window is green, and I
cannot kill it. The situation is similar to unsupported size.
I've also tried applications such as pidgin, skype and mplayer.
However no one successfully played from the webcam. I doubt it needs
some extra work.
I've changed pwcview a bit to keep the settings in internal variables
instead of fetching them every time. Else I cannot change most
parameters. Maybe the webcam only supports a certain set of setting
values, and use the nearest value after setting them.
Thanks again for the great work! It never caused any kernel panic, and
the programs are fairly stable.
> Feedback and bug reports are welcome.
>
> Yes, I am working on getting this into ports!
>
> Known issues:
>
> 1) If you detach the USB webcam you need to manually restart the webcamd.
>
> --HPS
>
> Support: I will be available at #bsdusb on efnet during the day.
> _______________________________________________
> freebsd-m...@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-multimedia
> To unsubscribe, send any mail to "freebsd-multime...@freebsd.org"
>
Cheers,
Henry
I have tested this with CFLAGS=-g in /etc/make.conf
/usr/ports/multimedia/webcamd# make -dA
...
Global:CFLAGS = -g -I/usr/local/include
...
(cd /usr/ports/multimedia/webcamd/work/webcamd-0.1.0; if ! /usr/bin/env
SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local LOCALBASE=/usr/local
X11BASE=/usr/local MOTIFLIB="-L/usr/local/lib
-lXm -lXp" LIBDIR="/usr/lib" CC="cc" CFLAGS="-g -I/usr/local/include"
CXX="c++" CXXFLAGS="-g -I/usr/local/include" MANPREFIX="/usr/local"
BSD_INSTALL_PROGRAM="install -s -o root -g
wheel -m 555" BSD_INSTALL_SCRIPT="install -o root -g wheel -m 555"
BSD_INSTALL_DATA="install -o root -g wheel -m 444"
BSD_INSTALL_MAN="install -o root -g wheel -m 444" make -f M
akefile all; then if [ x != x ] ; then echo "===> Compilation
failed unexpectedly."; (echo ) | /usr/bin/fmt 75 79 ; fi; false;
fi)
...
Global:CFLAGS = -g
So CFLAGS is being properly passed to the
/usr/ports/multimedia/webcamd/work/webcamd-0.1.0/Makefile via the
environment but its getting overridden and causing the reported build error.
Andrew
I've tested with recent ports.
pwcview works fine, both vga and sif
but skype still sees /dev/video0 but fails to play anything from it,
multimedia/cheese even does not sees webcam.
Is it supposed, or I am so unlucky ?
PS. microphone in cam work also as snd_uaudio pcm2
-----Original Message-----
From: Vladimir Grebenschikov <vo...@fbsd.ru>
Reply-to: vo...@fbsd.ru
To: Hans Petter Selasky <hsel...@c2i.net>
Cc: freebsd-m...@freebsd.org, freebsd...@freebsd.org,
freeb...@freebsd.org
Subject: Re: [FreeBSD 8/9] USB webcamd and video4bsd: Call for testing
Date: Tue, 12 Jan 2010 00:10:52 +0300
Hi
Thanks you for efforts!
I've tested it with
ugen4.2: <USB 2.0 Camera Vimicro Corp> at usbus4, cfg=0 md=HOST
spd=HIGH (480Mbps) pwr=ON
on 9-CURRENT
pwcview works fine:
$ ./pwcview/pwcview
Webcam set to: 320x240 (sif) at 5 fps
skype detects video device, but shows only black window instead of
picture.
Date: Sun, 10 Jan 2010 14:37:37 +0100
Hi,
During the last couple of days I've spent some time to finish my
webcam
daemon. My webcam daemon is basically an application which consists of
userspace Video4Linux USB webcam drivers and some uLinux glue code
which links
with libc, pthreads and libusb. The webcamd talks to
/dev/video_daemonX which
is provided by the video4bsd kernel module. There is full support for
mmap/read/write/open/close. poll is not supported.
Basic operation and idea:
Licensing issues:
Source code:
1) FreeBSD 8-stable
http://p4web.freebsd.org/chv.cgi?CH=172876
http://perforce.freebsd.org/chv.cgi?CH=172876
Known issues:
--HPS
_______________________________________________
freebsd...@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to
"freebsd-curre...@freebsd.org"
--
Vladimir B. Grebenschikov
vo...@fbsd.ru
>> Got these errors:
>>
>> [FreeBSD 9.0-CURRENT #0 r202270: Thu Jan 14 11:20:04 WST 2010]
>>
>> ===> Building for webcamd-0.1.0
>> Warning: Object directory not changed from original /usr/ports/multimedia/webcamd/work/webcamd-0.1.0
>> cc -O2 -pipe -I/usr/ports/multimedia/webcamd/work/webcamd-0.1.0/v4l-dvb/linux/drivers/media/video/gspca -I/usr/ports/multimedia/webcamd/work/webcamd-0.1.0/v4l-dvb/linux/include -I/usr/ports/multimedia/webcamd/work/webcamd-0.1.0/v4l-dvb/linux -I/usr/ports/multimedia/webcamd/work/webcamd-0.1.0 -I/usr/ports/multimedia/webcamd/work/webcamd-0.1.0/dummy -DCONFIG_VIDEO_V4L1_COMPAT -DHAVE_WEBCAMD -include webcamd_global.h -O2 -Wall -Wno-pointer-sign -fvisibility=hidden -std=gnu99 -fstack-protector -c webcamd.c
>> webcamd.c:37:23: error: video4bsd.h: No such file or directory
>> webcamd.c:55: error: 'V4B_ALLOC_UNIT_MAX' undeclared here (not in a function)
>> webcamd.c: In function 'main':
>> webcamd.c:126: error: storage size of 'cmd' isn't known
>> webcamd.c:176: error: 'V4B_DEVICES_MAX' undeclared (first use in this function)
>
>Do you have CFLAGS set in /etc/make.conf by chance?
yup:
#grep CFLAGS /etc/make.conf
CFLAGS= -O2 -pipe
-Alex
IMPORTANT: This email remains the property of the Australian Defence Organisation and is subject to the jurisdiction of section 70 of the CRIMES ACT 1914. If you have received this email in error, you are requested to contact the sender and delete the email.
_______________________________________________
>Please check /etc/make.conf and replace any CFLAGS= with CFLAGS+=
Yup, that worked! Great!
===> Installing rc.d startup script(s)
===> Running ldconfig
/sbin/ldconfig -m /usr/local/lib
===> Registering installation for webcamd-0.1.0
===> Cleaning for webcamd-0.1.0
>During the last couple of days I've spent some time to finish my webcam
>daemon. My webcam daemon is basically an application which consists of
>userspace Video4Linux USB webcam drivers and some uLinux glue code which links
>with libc, pthreads and libusb. The webcamd talks to /dev/video_daemonX which
>is provided by the video4bsd kernel module. There is full support for
>mmap/read/write/open/close. poll is not supported.
OK, after all the wresting i have it working! Great stuff Hans and Andrew!
attaches as: kernel: ugen7.2: <vendor 0x046d> at usbus7
And works dam well.
What apps could i expect this to work with in the future ? skype ?
> And works dam well.
>
Thanks.
> What apps could i expect this to work with in the future ? skype ?
Basically all V4L appllications.
--HPS
On Tuesday 19 January 2010 18:33:14 Henry Hu wrote:
> There are some problems, however. First, when I start pwcview with an
> unsupported mode, the content of the window is green, and I cannot
> kill the process. Only after terminating webcamd can I terminate the
> process.
I know what the problem is, and I will try to fix it in the next release of
webcamd.
> Second, I cannot restart pwcview without restarting webcamd. At the
> second time I start pwcview with -s vga, the window is green, and I
> cannot kill it. The situation is similar to unsupported size.
>
> I've also tried applications such as pidgin, skype and mplayer.
> However no one successfully played from the webcam. I doubt it needs
> some extra work.
You need to recompile these applications after installing libv4l. I have vlc
working with the new stuff.
>
> Thanks again for the great work! It never caused any kernel panic, and
> the programs are fairly stable.
Thanks!
Yes it is supposed to work, but you maybe need to tweak/rebuild the gstreamer
V4L2 code.
I am unsure whether I missed anything so here is what I did
csup to 8_RELENG
rebuild kernel & world
portmanager webcamd (which built video4bsd also)
kldload video4bsd
webcamd
webcamd -d ugen0.2 -i 0 -v 0
but I get
Cannot open /dev/video_daemonX. Did you kldload video4bsd?
this is the relevant part from dmesg:
video4bsd: /dev/video0..9, /dev/video_daemon0..9
ugen0.2: <vendor 0x046d> at usbus0 (disconnected)
uaudio0: at uhub0, port 2, addr 2 (disconnected)
pcm2: detached
ugen0.2: <vendor 0x046d> at usbus0
uaudio0: <vendor 0x046d product 0x08d7, class 0/0, rev 1.10/1.00, addr 2>
on usbus0
uaudio0: No playback!
uaudio0: Record: 16000 Hz, 1 ch, 16-bit S-LE PCM format
uaudio0: No midi sequencer
pcm2: <USB audio> on uaudio0
what am I missing? The device is supported on linux by the gspca driver.
Regards
Christof
Am Sonntag 10 Januar 2010 14:37:37 schrieb Hans Petter Selasky:
> Hi,
>
> During the last couple of days I've spent some time to finish my webcam
> daemon. My webcam daemon is basically an application which consists of
> userspace Video4Linux USB webcam drivers and some uLinux glue code which
> links with libc, pthreads and libusb. The webcamd talks to
> /dev/video_daemonX which is provided by the video4bsd kernel module.
There
> is full support for mmap/read/write/open/close. poll is not supported.
>
> _______________________________________________
> freebsd...@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-
unsub...@freebsd.org"
>
--
() ascii ribbon campaign - against html e-mail
/\ www.asciiribbon.org - against proprietary attachments
Did you run webcamd as root?
--
Daniel O'Connor software and network engineer
for Genesis Software - http://www.gsoft.com.au
"The nice thing about standards is that there
are so many of them to choose from."
-- Andrew Tanenbaum
GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C
> 0n Sun, Jan 10, 2010 at 02:37:37PM +0100, Hans Petter Selasky wrote:
>
> >During the last couple of days I've spent some time to finish my webcam
> >daemon. My webcam daemon is basically an application which consists of
> >userspace Video4Linux USB webcam drivers and some uLinux glue code which links
> >with libc, pthreads and libusb. The webcamd talks to /dev/video_daemonX which
> >is provided by the video4bsd kernel module. There is full support for
> >mmap/read/write/open/close. poll is not supported.
/usr/ports/multimedia/pwcview (PORTVERSION=1.4.1) crashes within 2-3mins of use with the following:
#sudo pwcview
Webcam set to: 320x240 (sif) at 5 fps
libv4lconvert: Error decompressing JPEG: fill_nbits error: need 3 more bits
libv4l2: error dequeuing buf: Device not configured
Error reading from webcam: Device not configured
I rebuilt /usr/ports/multimedia/pwcview with symbolls and got the following:
#sudo gdb pwcview 75557
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd"...(no debugging symbols found)...
Attaching to program: /usr/local/bin/pwcview, process 75557
Reading symbols from /usr/local/lib/libSDL-1.2.so.11...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libSDL-1.2.so.11
Reading symbols from /usr/local/lib/libjpeg.so.10...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libjpeg.so.10
Reading symbols from /usr/local/lib/libv4l1.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libv4l1.so.0
Reading symbols from /lib/libthr.so.3...(no debugging symbols found)...done.
[New Thread 28601140 (LWP 100451)]
Loaded symbols for /lib/libthr.so.3
Reading symbols from /lib/libc.so.7...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /usr/local/lib/libiconv.so.3...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libiconv.so.3
Reading symbols from /usr/lib/libvgl.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libvgl.so.6
Reading symbols from /usr/local/lib/libaa.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libaa.so.1
Reading symbols from /usr/local/lib/libncurses.so.5.7...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libncurses.so.5.7
Reading symbols from /lib/libm.so.5...(no debugging symbols found)...done.
Loaded symbols for /lib/libm.so.5
Reading symbols from /usr/local/lib/libX11.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libX11.so.6
Reading symbols from /usr/local/lib/libxcb.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libxcb.so.2
Reading symbols from /usr/local/lib/libXau.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libXau.so.6
Reading symbols from /usr/local/lib/libXdmcp.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libXdmcp.so.6
Reading symbols from /usr/local/lib/libpthread-stubs.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libpthread-stubs.so.0
Reading symbols from /usr/lib/librpcsvc.so.5...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/librpcsvc.so.5
Reading symbols from /usr/lib/libusbhid.so.4...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libusbhid.so.4
Reading symbols from /usr/local/lib/libv4l2.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libv4l2.so.0
Reading symbols from /usr/local/lib/libtinfo.so.5.7...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libtinfo.so.5.7
Reading symbols from /usr/local/lib/libv4lconvert.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libv4lconvert.so.0
Reading symbols from /usr/lib/librt.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/librt.so.1
Reading symbols from /usr/local/lib/libXext.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libXext.so.6
Reading symbols from /usr/local/lib/libXrender.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libXrender.so.1
Reading symbols from /usr/local/lib/libXrandr.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libXrandr.so.2
Reading symbols from /usr/local/lib/libXcursor.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libXcursor.so.1
Reading symbols from /usr/local/lib/libXfixes.so.3...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libXfixes.so.3
Reading symbols from /libexec/ld-elf.so.1...(no debugging symbols found)...done.
Loaded symbols for /libexec/ld-elf.so.1
[Switching to Thread 28601140 (LWP 100451)]
0x281958bf in syscall () from /lib/libc.so.7
(gdb) b exit
Breakpoint 1 at 0x281bd974
(gdb) cont
Continuing.
Breakpoint 1, 0x281bd974 in exit () from /lib/libc.so.7
(gdb) bt
#0 0x281bd974 in exit () from /lib/libc.so.7
#1 0x080494cf in ?? ()
#2 0x00000000 in ?? ()
#3 0xbfbfec64 in ?? ()
#4 0xbfbfec6c in ?? ()
#5 0xbfbfec50 in ?? ()
#6 0xbfbfec60 in ?? ()
#7 0x00000000 in ?? ()
#8 0xbfbfec5c in ?? ()
#9 0x08049435 in ?? ()
#10 0x28054f60 in dlclose () from /libexec/ld-elf.so.1
Previous frame inner to this frame (corrupt stack?)
(gdb)
(gdb) cont
Continuing.
Program exited normally.
(gdb)
IMPORTANT: This email remains the property of the Australian Defence Organisation and is subject to the jurisdiction of section 70 of the CRIMES ACT 1914. If you have received this email in error, you are requested to contact the sender and delete the email.
_______________________________________________
To unsubscribe, send any mail to "freebsd-curre...@freebsd.org"
This is a little tweak,
--- /usr/local/etc/devd/webcamd.conf.orig 2010-01-22 13:19:20.371987293
+0900
+++ /usr/local/etc/devd/webcamd.conf 2010-01-22 13:52:00.286912793 +0900
@@ -1,5 +1,5 @@
attach 100 {
- device-name "ugen[0-9]+";
+ device-name "ugen[0-9.]+";
match "intclass" "(0x0e|0xff)";
action "/usr/local/etc/rc.d/webcamd start $device-name";
};
I want to know what does "intclass" mean. The webcamd(8) cannot
been engaged automatically by devd(8), because of not match of
"intclass".
when webcam device attached, cosole output:
Jan 22 13:50:26 parancell daichi: Unknown USB device: vendor 0x046d
product 0x09a2 bus uhub7
Jan 22 13:50:26 parancell kernel: ugen7.2: <vendor 0x046d> at usbus7
% sudo usbconfig -d ugen7.2
ugen7.2: <product 0x09a2 vendor 0x046d> at usbus7, cfg=0 md=HOST
spd=HIGH (480Mbps) pwr=ON
%
On 2010/01/10 22:37, Hans Petter Selasky wrote:
> Hi,
>
> During the last couple of days I've spent some time to finish my webcam
> daemon. My webcam daemon is basically an application which consists of
> userspace Video4Linux USB webcam drivers and some uLinux glue code which links
> with libc, pthreads and libusb. The webcamd talks to /dev/video_daemonX which
> is provided by the video4bsd kernel module. There is full support for
> mmap/read/write/open/close. poll is not supported.
>
> _______________________________________________
> freebsd...@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-curre...@freebsd.org"
--
Daichi GOTO
81-42-316-7945 | dai...@ongs.co.jp | http://www.ongs.co.jp
LinkedIn: http://linkedin.com/in/daichigoto
Hi,
See:
usbconfig -u 7 -a 2 dump_curr_config_desc | grep -i class
To figure out what interface class your USB device is using.
--HPS
Hi,
Maye that is a bug in /usr/ports/multimedia/libv4l which is external code,
where the printout comes from. Maybe the code should be more fault tolerant.
Try googling first.
Can you dump the USB descriptors of your device?
usbconfig -u X -a Y dump_device_desc dump_curr_config_desc
Thank you quick response :)
> See:
>
> usbconfig -u 7 -a 2 dump_curr_config_desc | grep -i class
# usbconfig -u 7 -a 2 dump_curr_config_desc | grep -i class
bInterfaceClass = 0x000e
bInterfaceSubClass = 0x0001
bInterfaceClass = 0x000e
bInterfaceSubClass = 0x0002
bInterfaceClass = 0x000e
bInterfaceSubClass = 0x0002
bInterfaceClass = 0x000e
bInterfaceSubClass = 0x0002
bInterfaceClass = 0x000e
bInterfaceSubClass = 0x0002
bInterfaceClass = 0x000e
bInterfaceSubClass = 0x0002
bInterfaceClass = 0x000e
bInterfaceSubClass = 0x0002
bInterfaceClass = 0x000e
bInterfaceSubClass = 0x0002
bInterfaceClass = 0x000e
bInterfaceSubClass = 0x0002
bInterfaceClass = 0x000e
bInterfaceSubClass = 0x0002
bInterfaceClass = 0x000e
bInterfaceSubClass = 0x0002
bInterfaceClass = 0x000e
bInterfaceSubClass = 0x0002
bInterfaceClass = 0x000e
bInterfaceSubClass = 0x0002
bInterfaceClass = 0x0001
bInterfaceSubClass = 0x0001
bInterfaceClass = 0x0001
bInterfaceSubClass = 0x0002
bInterfaceClass = 0x0001
bInterfaceSubClass = 0x0002
#
> To figure out what interface class your USB device is using.
>
> --HPS
> _______________________________________________
> freebsd...@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-curre...@freebsd.org"
--
Daichi GOTO
81-42-316-7945 | dai...@ongs.co.jp | http://www.ongs.co.jp
LinkedIn: http://linkedin.com/in/daichigoto
viele Grüße
Christof