Let's play USB Webcam on NetBSD

Table of contents


Logicool Qcam Express

I caught reports that NetBSD/macppc(UHCI) not work, is there endian problem?
USB Quickcam Video Camera Image Capture Programs for NetBSD/FreeBSD This is sample Image by Quickcam Express on NetBSD. [sample blowfish photo] Logitech Quickcam Express USB Utilities for NetBSD/FreeBSD ----------------------------------------------- 1. What is it? qcamshot ... simple image capture program ( output stdout PPM file ) qcamview ... sequential image capture program like animation( about 3fps ) Programs are required Linux device driver source. Those programs are not device driver. They are image capture programs via ugen(4). 2. What cameras are supported? Vendor Device Product Name(Sensor name) ------ ------ ---------------------------------- 0x046d 0x0870 Qcam Express QV-30(HDCS1000) 0x046d 0x0870 Qcam for Notebook QV-300N(HDCS1020) 0x046d 0x0870 Qcam Express QV-31N 3. How to compile? a) Check your system. qcam**** requred below; hardware: - UHCI libraries: - gtk+-1.2.?? ( I tested 1.2.10 ) - imlib 1.9.?? ( I tested 1.9.14 ) OS: NetBSD/i386 NetBSD/sgimips FreeBSD-5.x FreeBSD-4.9-STABLE b) Download Linux qce-ga driver "qce-ga-0.40d.tar.gz" from http://qce-ga.sourceforge.net/ and extract. % cd ${WORK} % tar -zxvf ${YOUR_DOWNLOAD_DIR}/qce-ga-0.40d.tar.gz b) Get patches for NetBSD. from http://home.384.jp/takam/bsd/qce-ga-bsd-0.04.patch.gz % wget http://home.384.jp/takam/bsd/qce-ga-bsd-0.04.patch.gz c) Apply patches and read README.BSD % gzip -dc qce-ga-bsd-0.04.patch.gz | patch -p0 % more qce-ga-0.40d/README.BSD d) Do make. % cd qce-ga-0.40d % make -f Makefile.qcamshot % su root -c 'make -f Makefile.qcamshot install' % make -f Makefile.qcamview % su root -c 'make -f Makefile.qcamview install' 3. How to use? 3.1. qcamshot a) Usage % qcamshot [devname] Write captured image on standard output. The image format is PPM. for Example. % qcamshot > output.ppm b) Command line options. [devname] specify ugen device name. ex. /dev/ugen0.00 If no device file is specified, the program will cycle through the /dev/ugen0, /dev/ugen1, ... devices until it finds an attached target camera. 3.2. qcamview a) Usage % qcamview [devname] b) Command line options. [devname] specify ugen device name. ex. /dev/ugen0.00 If no device name is specified, the program will cycle through the /dev/ugen0, /dev/ugen1, ... devices until it finds an attached target camera. ----------------------------------------------- References: GNU/Linux OS Driver for the Quickcam Express http://qce-ga.sourceforge.net/ OV511/OV511+ Capture for FreeBSD/NetBSD http://ovtvid-bsd.sourceforge.net/ Image Processing Program by Linux(Japanese only!) author Iio Jun, ohmsha publising. ISBN 4-274-94623-1 ----------------------------------------------- Problems and Questions: a) Low performance. b) Programs require buffers to no purpose. c) Programs doesn't work on NetBSD/macppc yet. Why? Endian problem? ----------------------------------------------- History: 2003-02-27 0.01 First release 2003-11-22 0.02 Bug fix, that qcamshot said USB_GET_INTERFACE_DESC: Invalid argument 2004-01-28 0.03 add FreeBSD 5.x support, Bug fix memory leak of qcamview 2004-02-03 0.04 corrected miss for appling a contributed patch ----------------------------------------------- Credits: Thanks to GNU/Linux OS Driver for the Quickcam Express developers. Thanks to Suzuki for debug opening endpoint bug on FreeBSD. Thanks to Gerald Davies for the qcamview FreeBSD patch Thanks to everyone who has tested this program and given me feedback on it.

Logicool Qcam Pro 4000

This is sample image by Qcam Pro 4000
[sample Qcam Pro photo]


Philips USB Cameras Utilities for NetBSD/FreeBSD
-----------------------------------------------

1. What is it?
	phpsshot ... simple image capture program ( output stdout PPM file )
	phpsview ... sequential image viewer program ( about 3fps )

2. What is supported USB camera?

	Vendor  Device  Product Name(Sensor name)
	------  ------  ----------------------------------
	0x046d  0x08b1  Logitech QuickCam Notebook Pro
	0x046d  0x08b2  Logitech QuickCam Pro 4000
	0x041e	0x400c	Creative Labs Webcam 5
	0x0471	0x0311	Philips ToUCam Pro

	Maybe the camera that has a same CCD will work. 
	If cameras worked (or not worked) below, please report me.

	Same CCD cameras
	- Philips PCVC740K (ToUCam Pro)
	- Logitech QuickCam Pro 3000
	- Logitech QuickCam Zoom
	- Logitech QuickCam Zoom(new model)
	- Logitech QuickCam Orbit/Sphere
	- Creative Labs Webcam Pro Ex
	- Samsung MPC-C30
	- Visionite VCS-UC300


2. How to compile?
 a) Check your system.
	I tested below;
		NetBSD 1.6.2_RC3, 
	I caught reports below;
		FreeBSD 5.2-RC(03/12/27)
	phpsview requred below;
		- gtk+-1.2.?? ( I tested 1.2.10 )
		- imlib 1.9.?? ( I tested 1.9.14 )

    - for NetBSD and Model that has a built-in microphone users.
        NetBSD Generic kernel configured Qcam Pro 4000 as uaudio(4).
        because it has a built-in microphone.
        You may rebuild a kernel without uaudio(4) or apply a patch below 
        that configured Qcam Pro 4000(and Notebook Pro) as ugen(4).

        patch file for NetBSD 1.6.2_RC3
	   - http://home.384.jp/takam/bsd/phpsview-netbsd-sys-1.6.2.diff
	For example:
		cd /usr/src/sys
		cat ${YOUR_DOWNLOAD_DIR}/phpsview-netbsd-sys-1.6.2.diff | patch -p0
		cd dev/usb
		make -f Makefile.usbdevs
		cd ../../arch/i386/conf
		config GENERIC
		cd ../compile/GENERIC
		make depend
		make
		make install
	 and reboot.

 b) Download Linux Philips USB webcams driver from http://www.smcc.demon.nl/webcam/

	'pwc-9.0.2.tar.gz' are supportd by this patch.

 c) Get patches for NetBSD/FreeBSD
	from http://vinvin.dyndns.org/projects/pwc-9.0.2-bsd-0.03.patch.gz
	or from http://home.384.jp/takam/bsd/pwc-9.0.2-bsd-0.03.patch.gz

 d) Extract and Applied patch.

	% tar -zxvf ${YOUR_DOWNLOAD_DIR}/pwc-9.0.2.tar.gz
        % gzip -dc pwc-9.0.2-bsd-0.03.patch.gz | patch -p0

 e) Do make
        % cd pwc-9.0.2/2.4/
        % make -f Makefile.phpsshot
        % su root -c 'make -f Makefile.phpsshot install'
        % make -f Makefile.phpsview
        % su root -c 'make -f Makefile.phpsview install'

3. How to use?
3.1. phpsshot
 a) usage: phpsshot [devname]

    for Example.
        % phpsshot > output.ppm

	% phpsshot | ppmtojpeg > output.jpg

 b) Command line options.
     [devname]       specify ugen device name. ex. /dev/ugen0.00

     If no device file is specified, the program will cycle through the
     /dev/ugen0, /dev/ugen1, ... devices until it finds an attached Philips webcam.

3.2. phpsview
 a) usage: phpsview [devname]

    for Excample.
	% phpsview

 b) Command line options.
     [devname]       specify ugen device name. ex. /dev/ugen0.00

     If no device file is specified, the program will cycle through the
     /dev/ugen0, /dev/ugen1, ... devices until it finds an attached Philips webcam.


-----------------------------------------------
References:
	Linux driver for Philips webcam
	USB and Video4Linux interface part.
	(C) 1999-2003 Nemosoft Unv.
	http://www.smcc.demon.nl/webcam/

	GNU/Linux OS Driver for the Quickcam Express
	http://qce-ga.sourceforge.net/

        NetBSD/FreeBSD Simple OV511 video capture program, version 1.0
        http://members.home.com/housel/projects.htm

	Linux NI YORU GAZOU SYORI PUROGURAMING (Japanese only!)
	ohmsha publising. ISBN 4-274-94623-1

	Vincent Hourdin's project page
	http://vinvin.dyndns.org/projects/

-----------------------------------------------
Links:
        USB Camera (webcam) Drivers for FreeBSD
	http://info.iet.unipi.it/~luigi/FreeBSD/usb-cameras.html

        Philips USB Webcam Driver for Linux
	http://www.saillard.org/linux/pwc/

        FreeBSD kernel module that video4linux enabled and pwc
	http://raaf.atspace.org/

        NetBSD device driver from tech-kern[2002/11/25]
        http://mail-index.netbsd.org/tech-kern/2002/11/25/0000.html
----------------------------------------------- Problems and Questions: a) Those programs can not understand compressed data. b) Builtin microphone does not work. c) Those programs are Low performace, because they are not device drivers. d) Those programs can not understand all heater streams. e) Other Philips cameras(PCA645/646, PCVC675/680/690) does not work. ----------------------------------------------- History: 2003-09-12 0.01 First release 2003-12-30 0.02 support Linux driver for Philips webcam pwc-8.12, add man pages, add FreeBSD-5 support, add Qcam for Notebook pro 2004-10-31 0.02 update patches for pwc-9.0.2, add Creative Labs Webcam 5 ----------------------------------------------- Credits: Thanks to GNU/Linux OS Driver for the Philips webcam developers. Thanks to everyone who has tested this program and given me feedback on it. Thanks to Vincent Hourdin for pwc-9.0.2 patch -----------------------------------------------

USB camera based SPCA561A chip


This is sample image by Maxell CompactPC Camera PM3

[sample SPCA561A photo]

USB Cameras based SPCA5xx Utilities for *BSD version 0.6b
-----------------------------------------------
1. What is it?
   They are patches from SPCA5xx chipset linux driver to be worked on *BSD,
   There is included two userland programs as follow;

	spca5shot ... simple image capture program.
	spca5view ... sequential image viewer program.

2. Supported USB cameras

        Vendor	Device	Product Name
        ------	------	------------
        0x041e  0x4036  Creative WebCam Live!
        0x041e	0x403a  Creative webcam nx pro
        0x046d  0x0928  Logitech QuickCam Express II
        0x046d  0x092c  Logitech QuickCam chat
        0x046d  0x092e  Logitech QuickCam chat
        0x0572	0x0041  Creative webcam notebook PD1170
        0x060b	0xa001	Maxell CompactPC Camera PM3
        0x0733	0x0401  Intel CS330
        0x0923  0x010f  Che-ez! Webbie(NHJ)
        0x0923  0x010f  SNAKE EYE SI-8480/8481
        0x0923  0x010f  PC CAM CP03(global sources)
        0x0923  0x010f  WEB Camera PBC0006(persol) 
        0x093a  0x2468  Generic webcam based PAC207
        0x093a  0x2468  Easy Snap Snake Eye Webcam
        0x0ac8	0x301b  LOAS MCM-H06SL
        0x0ac8	0x301b  Sandberg Nightvision
        0x0c45  0x6005  Generic webcam based SN9C101
        0x0c45  0x6025  LOAS MCM-S02SL
        0x0c45	0x6029  Raccoon AM-ST3
        0x0c45	0x602e  Genius Messenger
        0xabcd	0xcdee	SIGMA-APO Petcam


3. How do I build it?

 a) Download Linux SPCA50x USB webcams driver, spca5xx-20060402.tar.gz
	from http://mxhaard.free.fr/download.html or
             http://mxhaard.free.fr/spca50x/Download/oldrelease

	Note: the patchset supported a spca5xx-20060402.tar.gz.

   for example.

	% wget http://mxhaard.free.fr/spca50x/Download/spca5xx-20060402.tar.gz

 b) Download patch file for *BSD.

	% wget http://home.384.jp/takam/bsd/spca5xx-bsd-0.6b.patch.gz

 c) Extract tarball and applied patches.

	% tar -zxvf spca5xx-20060402.tar.gz
	% gzip -dc spca5xx-bsd-0.6b.patch.gz | patch -p0

 d) Do make

        % cd spca5xx-20060402/drivers/usb/
        % make
        % su root -c 'make install'

4. Quick Start

  a) spca5shot
     - display the camera information.
	% spca5shot -i

     - take a photo by 640x480 and save to out.ppm
	% spca5shot -s 640x480 -o out.ppm

     - display help message and manual
	% spca5shot -h
	% man spca5shot

  b) spca5view
     - start
	% spca5view

     - display help message and manual
	% spca5view -h
	% man spca5view

-----------------------------------------------
References:
	Michel Xhaard's Web Page
	http://mxhaard.free.fr/index.html

	SPCA50X USB Camera Linux Driver
	http://spca50x.sourceforge.net/

        USB Camera (webcam) Drivers for FreeBSD
	http://info.iet.unipi.it/~luigi/FreeBSD/usb-cameras.html

	Image Processing Program by Linux(Japanese only!)
	Author Iio Jun, ohmsha publising. ISBN 4-274-94623-1

-----------------------------------------------
History:
2007-03-04 0.6b      for 20060402
2006-04-29 0.6a      for 20060402
2006-04-29 0.6       for 20060402
2006-03-12 0.5a      for 20060301
2006-01-06 0.4       for 20060101
2005-12-28 0.4-alpha for 20051212
2005-02-22 0.3-beta  for 20050206
2003-10-17 0.0-alpha
-----------------------------------------------
CREDITS:
Special Thanks to Michel Xhaard and spca50x linux driver's developers
- Rev.0.6b
Thanks to Henry Hu for fixing imlib initialization
Thanks to Germain le chapelain for supporitng quickcam chat
- Rev.0.6a
Thanks to Jindra Fucik for supporting webcams based PAC207
- Rev.0.6
Thanks to Tomas Hecker for creating the patchset to spca5xx-20060402
          and supporting Creative WebCam Live!
- Rev.0.5
Thanks to Dennis Schneider for creating the patchset to spca5xx-20060301
          and testing Trust WB-1400T
Thanks to pkgsrc-users@netbsd.org for creating the patchset to Dragonfly BSD
- Rev.0.4
Thanks to Christian Mangin for creating those patches almost :)
Thanks to Pete for checking man page and addtional (M)Jpeg options.
Thanks to Wouter Klouwen for testing Quickcam Express II
- Rev.0.3
Thanks to Radko Keves for testing Creative Web NX Pro on FreeBSD
Thanks to Tokuda Hiroshi for testing LOAS MCM-H06SL
Thanks to Vladislav Sekulic for testing Intel CS330


USB camera based CPiA2 chip

 USB cameras based CPiA2 Utility Programs 0.03 for NetBSD

This is sample Image by Maxcell PM2 on NetBSD.
[sample CPiA2 photo]

1. What is it?
	cpia2shot ... simple image capture program ( output stdout JPEG file )
	cpia2view ... sequential image viewer program ( about 20fps )

2. What is supported USB camera?

	Vendor	Device	Product Name
	------	------	------------
	0x0553	0x0100	ex. maxell compact PC camera P-M2(ST)
	0x0553	0x0140	(untested)

2. How to compile?
 a) Check your system.
	I tested below;
		cpia2shot ... NetBSD/i386 1.6.2-RC3 with local patch
				NetBSD/macppc current(2002/11/12)(OHCI+patch)
	cpia2view requred below;
		- gtk+-1.2.?? ( I tested 1.2.10 )
		- imlib 1.9.?? ( I tested 1.9.14 )
		- jpeg6 ( I tested 6nb1 )
	and kernel applied a patch that ugen(4) have checksum function. ( see below f)kernel rebuild. )
		
 b) Download Linux device driver from 
	CPiA2 Linux Device Driver Project;  http://cpia2.sourceforge.net/

	You must download 'cpia2_driver-1.0.tgz'.
	
	MD5 (cpia2_driver-1.0.tgz) = a8ea21d5d155e75055170e3836c31f71

 c) Get patches for NetBSD
	from http://home.384.jp/takam/bsd/cpia2_driver-1.0-bsd-0.03.patch.gz

 d) Extract files and applied patches.

	% tar zxvf cpia2_driver-1.0.tgz
	% gzip -dc cpia2_driver-1.0-bsd-0.03.patch.gz | patch -p0

 e) Do make
        % cd cpia2_driver-1.0
        % make -f Makefile.cpia2shot
        % su root -c 'make -f Makefile.cpia2shot install'
        % make -f Makefile.cpia2view
        % su root -c 'make -f Makefile.cpia2view install'

 f) kernel rebuild
    ex.
	% mount -t union ${YOUR_WORK_DIR} /usr/src/sys
	% cat cpia2-netbsd-sys-1.6.2.diff | ( cd /usr/src/sys; patch -p0 )
	% cd /usr/src/sys/arch/i386/conf
	% config GENERIC
	% cd ../compile/GENERIC
	% make depend; make
	% su root -c 'make install'
	( Please boot new kernel. )
	% sync; shutdown -r now

3. How to use?
3.1. cpia2shot
 a) usage: cpia2shot [devname]

    for Example.
        % cpia2shot > output.jpg

 b) Command line options.
     [devname]       specify ugen device name. ex. /dev/ugen0.00

     If no device file is specified, the program will cycle through the
     /dev/ugen0, /dev/ugen1, ... devices until it finds an attached usb camera.

3.2. cpia2view
 a) usage: cpia2view [devname]

    for Excample.
	% cpia2view /dev/ugen1.00

 b) Command line options.
     [devname]       specify ugen device name. ex. /dev/ugen0.00

     If no device file is specified, the program will cycle through the
     /dev/ugen0, /dev/ugen1, ... devices until it finds an attached usb camera.

-----------------------------------------------
References:
	CPiA2 Linux Device Driver Project
	http://cpia2.sourceforge.net/

        OV511/OV511+ Capture for FreeBSD/NetBSD
	http://ovtvid-bsd.sourceforge.net/

	Linux NI YORU GAZOU SYORI PUROGURAMING (Japanese only!)
	ohmsha publising. ISBN 4-274-94623-1

-----------------------------------------------
Problems and Questions and Todo:
 a) Those programs are not device driver.

 b) Those programs needs local-extended ugen(4). This extend is checksum function.
    It's no good hack very much, but I have no idea to checksum against raw isoc-packets.
    TODO: To create a new device driver for device that uses isochronous transfer with checksum.

-----------------------------------------------
History:
2004-01-03 0.00 First release ( cpia2shot )
2004-01-11 0.01 add cpia2view
2004-01-13 0.02 bug fix that is memory leak by cpia2view.
2004-01-14 0.03 bug fix that is memory leak by cpia2view again :-(
		throw away a jpeg data with some warring.
-----------------------------------------------
Credits:
Thanks to CPiA2 Linux Device Driver Project developers.
Thanks to Oshima for advice of jpeg decoding and some bug fix.
-----------------------------------------------

CREATIVE WEBCAM Notebook

[News]
[2004/12/24]
Linux driver is just available at here.
[2004/12/15]
Paolo's webpage is updated. Linux driver will come soon.

[2004/10/31]
For Linuxer, let you check PD again. 'PD' is the Model Number that is printed at the back of body. if your cam's PD is "1171", check it out Paolo's webpage.
This is sample Image by CREATIVE WEBCAM Notebook on NetBSD.
[sample dog photo]

 Creative WEBCAM Notebook Utility Programs 0.00-alpha for NetBSD

Don't expect. They are very very alpha version. Auto-brightness(?) not work.
-----------------------------------------------
1. What is it?
	They are image capture programs via ugen(4) for NetBSD/FreeBSD

	cnxtshot ... simple image capture program ( output stdout JPEG file )
	cnxtview ... sequential image viewer program ( MAX 20fps, typ.11fps )

2. What is supported USB camera?

	Vendor	Device	Product Name
	------	------	------------
	0x0572	0x0041	CREATIVE WEBCAM Notebook

3. Why did you write those programs?
	I used USb sniffer. so, I don't know hardware informations;
	I have no specsheets about this USB camera.
	I think that program source are like magic spell.

4. How to compile?
 a) Check require libraries.
	cnxtshot ... none.
	cnxtview ... gtk+-1.2.??, imlib 1.9.??, jpeg6

	I tested below;
	NetBSD/i386 1.6.2-RC3 UHCI
	FreeBSD/i386 5.2.1R

 a) Get source
	from http://home.384.jp/takam/bsd/cnxtutil-0.00-alpha.tar.gz

 b) Extract files and do make.

	% tar zxvf cnxtutil-0.00-alpha.tar.gz
	% cd cnxtutil-0.00-alpha
	% more README
	% make
	% sudo make install


USB camera based SN9C101/SN9C102[New]

This is sample Image by Z-102(Tama Electronic Corp.) on NetBSD.
[sample photo]

-----------------------------------------------
 USB Webcam based sonix SN9C101/SN9C102 chip Utility Programs 0.3 for NetBSD/FreeBSD

1. What is it?
	They are image capture programs for Webcam based SN9C101/SN9C102 via ugen(4) for NetBSD/FreeBSD.

	snx101shot ... simple image capture program ( output stdout PPM file )
	snx101view ... sequential image viewer program

2. What is supported USB camera on SN9C101 ?

	Vendor	Device	Product Name
	------	------	------------
	0x0c45	0x6005	Tama Electronic Corp. Z-102/Z-104
	0x0c45  0x6005  SWEEX USB Mini Webcam JA000030
	0x0c45  0x6005  V-Gear MiniCam2
	0x0c45  0x6005  ELECOM UCAM-G1C10MSV
	0x0c45  0x6005  PROTEK PMC-30
	0x0c45  0x6025  Chicony Electronics. USB Cam[New]

3. How to make ?
 a) Check your system.
	NetBSD/i386, FreeBSD/i386

	snx101view requred below;
		- gtk+-1.2.?? ( ex. 1.2.10 )
		- imlib 1.9.?? ( ex 1.9.14 )

 b) Get source
	% wget http://home.384.jp/takam/bsd/snx101util-0.3.tar.gz

 c) Do make
	% tar zxvf snx101util-0.3.tar.gz
	% cd snx101util-0.3
	% more README
	% make
	% sudo make install

4. How to use ?
4.1 snx101shot
 a) usage: snx101shot [devname]

	% snx101shot > foo.ppm

 b) Command line options.
     [devname]       specify ugen device name. ex. /dev/ugen0.00

     If no device file is specified, the program will cycle through the
     /dev/ugen0, /dev/ugen1, ... devices until it finds an attached usb camera.

4.2 snx101view
 a) usage: snx101view [devname]

    for Excample.
	% snx101view

 b) Command line options.
     [devname]       specify ugen device name. ex. /dev/ugen0.00

     If no device file is specified, the program will cycle through the
     /dev/ugen0, /dev/ugen1, ... devices until it finds an attached usb camera.

 c) View option.
    invert image ... press any key, when mouse cursor on image view.

-----------------------------------------------
References:
	Sonix SN9C102 based webcam driver
	http://www.mnementh.co.uk/sonix/
	http://sonix.sourceforge.net/ (sourceforge)

        OV511/OV511+ Capture for FreeBSD/NetBSD
	http://ovtvid-bsd.sourceforge.net/

-----------------------------------------------
Links:
	Linux driver for SN9C101 (0x0c45/0x600d)
	http://tgnard.free.fr/linux/

	Linux driver for SN9C101/SN9C102 (0x0c45/0x60**)
	http://www.linux-projects.org/modules/news/

-----------------------------------------------
Problems and Todo:
	Low performance ( no decoding compressed data )
	Too bright ( no control brightness )

-----------------------------------------------
History:
2011-05-11 0.3 supported SN9C102 chip ( see Credits )
2004-03-27 0.2 add snx101view, FreeBSD support
2004-03-20 0.1 improved on decode routine. more detail is here.
2004-03-09 0.0 Pre-alpha release ( snx101shot )

-----------------------------------------------
Credits:
Special thanks to Noud for patch SN9C102 support
	http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=44926
Special Thanks to Sonix SN9C102 based webcam driver Project developers.
Thanks to everyone who has tested this programs and given me feedbak on it.


V-Gear webcam(based NW802 chip)

This is sample Image by V-Gear webcam USB1.1 on NetBSD.
[sample TandJ photo]
-----------------------------------------------
 USB cameras based DivIO NW802 Utility Programs 0.01 for NetBSD

1. What is it?
	d800shot ... simple image capture program ( output stdout PPM file )
	d800view ... sequential image viewer program

2. What is supported USB camera?

	Vendor	Device	Product Name
	------	------	------------
	0x06a5	0xd800	V-Gear WebCam USB1.1

3. How to compile
 a) Check your system.
	I tested below;
	d800shot ... NetBSD/i386 1.6.2
	d800view ... NetBSD/i386 1.6.2 and requred below;
		- gtk+-1.2.?? ( I tested 1.2.10 )
		- imlib 1.9.?? ( I tested 1.9.14 )
		
 b) Download Linux device driver from 
	Project: Driver for NW802 based webcams;  http://nw802.sourceforge.net/
	( see http://nw802.sourceforge.net/downloads.html )

     ex:
	% cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/nw802 login
	% cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/nw802 co -D 2004-03-07 nw802-2.4
	% cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/nw802 logout

 c) Get patches for NetBSD
	% wget http://home.384.jp/takam/bsd/nw802-2.4-bsd-0.01.patch.gz

 d) Applied patches.

	% cd ${YOUR_CHECKOUT_DIR}/nw802-2.4
	% gzip -dc ${YOUR_DOWNLOAD_DIR}/nw802-2.4-bsd-0.01.patch.gz | patch -p1

 e) Do make
        % make
        % su root -c 'make install'

4. How to use
4.1. d800shot
 a) usage: d800shot [devname]

    for Example.
        % d800shot > output.ppm

 b) Command line options.
     [devname]       specify ugen device name. ex. /dev/ugen0.00

     If no device file is specified, the program will cycle through the
     /dev/ugen0, /dev/ugen1, ... devices until it finds an attached usb camera.

4.2. d800view
 a) usage: d800view [devname]

    for Excample.
	% d800view /dev/ugen1.00

 b) Command line options.
     [devname]       specify ugen device name. ex. /dev/ugen0.00

     If no device file is specified, the program will cycle through the
     /dev/ugen0, /dev/ugen1, ... devices until it finds an attached usb camera.

 c) Key operations.
	[p/P] ... Brightness up
	[n/N] ... Brightness down

-----------------------------------------------
References:
	Project: Driver for NW802 based webcams
	http://nw802.sourceforge.net/

        OV511/OV511+ Capture for FreeBSD/NetBSD
	http://ovtvid-bsd.sourceforge.net/

	Linux NI YORU GAZOU SYORI PUROGURAMING (Japanese only!)
	ohmsha publising. ISBN 4-274-94623-1

-----------------------------------------------
Links:
	My Project page
	http://home.384.jp/takam/bsd/NetBSD.html#nw802
-----------------------------------------------
Problems and Questions and Todo:
 a) Those programs are not device driver.

 b) Those programs can't control of brightness perfectly.

 c) My camera that is V-Gear WebCam(0x06a5/0xd800) can't be initialized
    by "SpaceCam.init" for same ID cameras(0x06a5/0xd800).
    Then I created the Vgear.init instead of SpaceCam.init.

 d) Other cameras that based NW80x are not tested. And Maybe they are not worked.
	
	Vendor	Device	Product Name
	------	------	------------
	0x06a5	0xd800	Trust SpaceCam120 or SpaceCam100 PORTABLE
	0x046d  0xd001  Logitech Quickam Pro USB(dark focus ring)
	0x052b  0xd001  Ezonics EZCam Pro USB
	0x055f  0xd001  PCLine PCL-W300/Mustek WCam 300
	0x06a5  0xd001  Generic NW802
	( see nw802.c for detail )

-----------------------------------------------
History:
2004-05-05 0.00 first created
2004-05-22 0.01 add function of control the brightness.

-----------------------------------------------
Credits:
Thanks to NW802 Linux Device Driver Project developers.


BinoCam webcam(based the SQ905 chipset)

This is sample Image by BinoCam on NetBSD.
[sample PK photo]
-----------------------------------------------
 USB SQcam Webcam based the SQ905 chip Utility Programs 0.01 for NetBSD

1. What is it?
	They are image capture programs for Webcam based the SQ905 via ugen(4) for NetBSD.

	sq905shot ... simple image capture program ( output stdout PPM file )
	sq905view ... sequential image viewer program

2. What is supported USB camera ?

	Vendor	Device	Product Name
	------	------	------------
	0x2770  0x9120	BinoCam (Allring Tech Co.,LTD.)

3. How to make ?
 a) Check your system.
	NetBSD/i386 1.6.2

	sq905view requred below;
		- gtk+-1.2.?? ( ex. 1.2.10 )
		- imlib 1.9.?? ( ex 1.9.14 )

 b) Get Linux driver source from http://sourceforge.net/projects/sqcam/
	The source archive is "sqcam_driver_for_kernel_2_6-0.1b.tar.gz"

 c) Get a patch.
	% wget http://home.384.jp/takam/bsd/sqcam_driver_for_BSD-0.01.patch.gz

 d) Applied patch and do make
	% tar zxvf sqcam_driver_for_kernel_2_6-0.1b.tar.gz
	% gzip -dc ${YOUR WGET DIR}/sqcam_driver_for_BSD-0.01.patch.gz | patch -p0
	% cd sqcam_driver_for_kernel_2_6
	% more README
	% more README.BSD
	% make
	% sudo make install

4. How to use ?
4.1 sq905shot
 a) usage: sq905shot [devname]

	% sq905shot > foo.ppm

 b) Command line options.
     [devname]       specify ugen device name. ex. /dev/ugen0.00

     If no device file is specified, the program will cycle through the
     /dev/ugen0, /dev/ugen1, ... devices until it finds an attached usb camera.

4.2 sq905view
 a) usage: sq905view [devname]

    for Excample.
	% sq905view

 b) Command line options.
     [devname]       specify ugen device name. ex. /dev/ugen0.00

     If no device file is specified, the program will cycle through the
     /dev/ugen0, /dev/ugen1, ... devices until it finds an attached usb camera.

 c) View option.
    invert image ... press any key, when mouse cursor on image view.

-----------------------------------------------
References:
	USB SQcam WebCam driver based on the ViCam driver
	http://sqcam.sourceforge.net/
	http://sourceforge.net/projects/sqcam/
	
        OV511/OV511+ Capture for FreeBSD/NetBSD
	http://ovtvid-bsd.sourceforge.net/

-----------------------------------------------
Problems and Todo:
	Low performance ( program are not device driver. )

-----------------------------------------------
History:
2004-05-29 0.00 first created
2004-06-06 0.01 fixed to invert horizon.
-----------------------------------------------
Credits:
Special Thanks to Webcam based SQ905 chipset Linux driver Project developers.
         http://sqcam.sourceforge.net/
Thanks to Oshima for patch to invert horizon.
Thanks to everyone who has tested this programs and given me feedbak on it.

EYE TOY(TM)(based the OV519 chipset)

This is sample Image by EYE TOY(TM) on NetBSD.
[sample Peng photo]
-----------------------------------------------
 USB cameras based OV519 Utility Programs 0.00 for NetBSD

1. What is it?
	ov519shot ... simple image capture program ( output stdout JPEG file )
	ov519view ... sequential image viewer program

2. What is supported USB camera?

	Vendor	Device	Product Name
	------	------	------------
	0x054c	0x0154	Sony Logitech EyeToy(TM) USB Camera

2. How to compile?
 a) Check your system.
	I tested as follow;
	  - ov519shot ... NetBSD/i386 2.0_BETA
	  - ov519view ...
		- gtk+-1.2.?? ( I tested 1.2.10 )
		- imlib 1.9.?? ( I tested 1.9.15 )
		- jpeg6b ( I tested jpeg-6bnb3 )
	and kernel applied a patch that the camera was configured to ugen(4).
		
 b) Download Linux device driver from 
	OV519 Linux Device Driver Project;  http://alpha.dyndns.org/ov511/download.html#ov51x

	You must download 1.65-1.11-mark, 'ov51x-1.65-1.11-mark.tar.bz2'.
	
	MD5 (ov51x-1.65-1.11-mark.tar.bz2) = 1986624d570d1ae92e27f3191546de42

 c) Get patches for NetBSD
	from http://home.384.jp/takam/bsd/ov51x-1.65-1.11-mark-bsd-0.00.patch.gz

 d) Extract files and applied patches.

	% tar -zxvf ov51x-1.65-1.11-mark.tar.bz2
	% gzip -dc ov51x-1.65-1.11-mark-bsd-0.00.patch.gz | patch -p0

 e) Do make
        % cd ov51x-1.65-1.11-mark
        % make -f Makefile.ov519shot
        % su root -c 'make -f Makefile.ov519shot install'
        % make -f Makefile.ov519view
        % su root -c 'make -f Makefile.ov519view install'

 f) kernel rebuild
	The kernel patch is included in ov51x-1.65-1.11-mark-bsd-0.00.patch.gz
	or you can get at http://home.384.jp/takam/bsd/ov51xview-netbsd-sys-2-0.diff
    ex.
	% mount -t union ${YOUR_WORK_DIR} /usr/src/sys
	% cat ov51xview-netbsd-sys-2-0.diff | ( cd /usr/src/sys; patch -p0 )
	% cd /usr/src/sys/arch/i386/conf
	% config GENERIC
	% cd ../compile/GENERIC
	% make depend; make
	% su root -c 'make install'
	( Please boot new kernel. )
	% sync; shutdown -r now

3. How to use?
3.1. ov519shot
 a) usage: ov519shot [-d devname]

    for Example.
        % ov519shot > output.jpg

 b) Command line options.
     [-d devname]       specify ugen device name. ex. /dev/ugen0.00

     If no device file is specified, the program will cycle through the
     /dev/ugen0, /dev/ugen1, ... devices until it finds an attached usb camera.

3.2. ov519view
 a) usage: ov519view [devname]

    for Excample.
	% ov519view -d /dev/ugen1.00

 b) Command line options.
     [-d devname]       specify ugen device name. ex. /dev/ugen0.00

     If no device file is specified, the program will cycle through the
     /dev/ugen0, /dev/ugen1, ... devices until it finds an attached usb camera.

-----------------------------------------------
References:
	Linux OVCam Drivers
	http://alpha.dyndns.org/ov511/

        OV511/OV511+ Capture for FreeBSD/NetBSD
	http://ovtvid-bsd.sourceforge.net/

	Linux NI YORU GAZOU SYORI PUROGURAMING (Japanese only!)
	ohmsha publising. ISBN 4-274-94623-1

-----------------------------------------------
Problems and Questions and Todo:
 a) Those programs are slower than original linux drivers,
	because they are just usrland programs.

-----------------------------------------------
History:
2004-12-24 0.00 First release ( test )

-----------------------------------------------
Credits:
Thanks to OV519 Linux Device Driver Project developers.
Thanks to Oshima for jpeg decoding.


Old News

[News 1/24]ov519view was included NetBSD pkgsrc(graphics/ov519view). snx101view was included FreeBSD ports(graphics/snx101util). qcamview and snx101util were included FreeSBIE with XCAST. FreeSBIE iso image is here(Note: size is 420MB.).
[News 12/24]Creative Webcam Notebook device driver for linux is just available at here.
[News 10/31]Updated Philips webcam patch. Thanks to Vincent Hourdin for new patch. Added information of Creative Webcam Notebook for Linux. Thanks to Paolo Gai.
[News 10/23]I have issued "Let's hack USB webcams with snoopy" in BSD conference Japan 2004.The presentation data is here(data is written by Japanese).
[News 08/28]Bad News! Linux support for Philips USB webcams discontinued. from here.
[News 06/30]I have issed "Let's hack USB webcams" in BSD BOF 2004 at Tokyo/Japan. The presentation data is here(data is written by Japanese).
[News 06/12]add now hacking cameras page.
[News 06/06]snx101view/d800view/spcaview/phpsview/cnxtview/cpia2view/qcamview was incluced XCAST6 NBUG Live! CD. check it out!
[News 05/14]qcamview was included in FreeBSD ports. qcamview is ports/graphics/qcamview.
[News 03/20]cpia2view and cnxtview were included in NetBSD pkgsrc. cpia2view is pkgsrc/graphics/cpia2view, cnxtview is pkgsrc/graphics/cnxtview.
[News 12/30]qcamview and phpsview were included in NetBSD pkgsrc. qcamview is pkgsrc/graphics/qcamview, phpsview is pkgsrc/graphics/phpsview.

This Page's History


2011.5.21 SN9C102の
patchをいただきました
2009.4.x 引越ししました。
2007.3.4 特定のX環境でimlibがエラーをだす事とそれを回避するためのimlibの正しい初期化方法を教えていただきましたので反映しました。Quickcam chat を動作させるpatchがあがっていたので取り込みました。gcc4でコンパイルできないのがたぶん直ったと思います。
2007.1.23 Luigi Rizzoさんが FreeBSD 向けに USB Camera のプロジェクトを開始したようです。QcamProのLinksに追加しました。
2006.6.14 QcamProのNewsを整理してLinksにまとめました。video4linuxがFreeBSDで利用できるようになったようです。spca5*でPAC207系カメラの動作報告をいただきました
2006.6.6 spca5*でPAC207-BCA系が動作するようになりました。ジンドラさんのおかげです。
2006.5.10 spca5*でGenius MessengerがOpenBSDで、Sandberg NightVisionがデンマークで動作したという報告がありました。(日本語へん)
2006.4.29 ZC301-2系のカメラであるCreative WebCam Live!が動くようになりました。トーマスさんのおかげです。TV8532とCreative Webcam NoteBookが20060402になったら動かなくなったのでQuickHackで回避しました。いつのころからかSN9C10xが不安定なのでこれも回避しています。回避ばかりで直してはいません(苦笑)... PAC207-BCA系のテスターもしくはそのカメラの情報を募集中です。
2006.4.3 PIXART社製のPAC207-BCA系のカメラ残念ながら動作確認には至りませんでした
2006.3.13 PIXART社製のPAC207-BCA系のカメラはまだテスト段階でした。早とちりしました。
2006.3.12 SPCA5xx系の本家20060301版のpatchsetがドイツから送られてきたので追従しました。PIXART社製のPAC207-BCA系のカメラが動作するようになりました。pkgsrc-users@netbsd.org に DragonFly 用の patchがあったようなのでマージしました。
2006.2.26 SPCA5xx系の古いrevisionがdownloadできるURLが変わっていたので更新しました
2006.1.26 NW802系がbuildできなくなっていました。cvsでcheckoutするときに日付(-D)が必要です。はやく直さないと。
2006.1.6 SPCA5xx系を20060101版に追従しました。やっとICM532系のカメラが動作するようになりました。
2005.12.28 SPCA5xx系実験的公開(その2) 最新版追従
2005.2.22 SPCA5xx系実験的公開。sonixのlink先と新たな動作確認されたカメラを追加しました。
2005.1.24 ov519viewがNetBSDのpkgsrcに、snx101viewがFreeBSDのportsに収録されました。qcamviewとsnx101utilがFreeSBIE with XCASTに収録されました。ICM532系のlinkを更新しました。
2004.12.24 リンク切れ修正。linux方面ですがcreative webcam notebookが利用可能になったNewsを追加しました。
2004.12.24 OV519系カメラ追加
2004.12.15 OV519系カメラを追加しはじめる。Philips系カメラでVGAサイズの取得に成功されたNewsを追加しました。SN9C101系がELECOM UCAM-G1C10MSVで動作したとのことです。Linux 方面ですが、Creative Webcam Notebook に動きがあったようです。その Creative Webcam Notebook ですがちゃんとfpsを測定しました。
2004.10.31 Philips系カメラの最新版へのpatchが送られてきました。ありがとうございます。Linuxのみの話ですが、Creative Webcam NotebookのPDが1171だとspca系のドライバが動くようです。今まで発表した資料へのリンクをいれました。
2004.08.28 Philips系カメラのLinuxサポートが停止したというNewsを追加しました。作者の方が本家のサイトで理由を述べています。がーん、一番綺麗だったのに
2004.07.27 V-Gear MiniCam2がsnx101shotで動作したようです。他にもメーカ不明ですがフレキシブルケーブルに四角いモジュールのカメラが動作したようです。Mr.Luca が SN9C102 を開発したようですのでlinksに追加しました。qcamshotがNetBSD/sgimipsで動作したようです。驚き。
2004.06.12 snx101viewがZ-104で動作したようですので追記しました。ICM532系はどうもうまくうごきません。途中過程を公開することにしました。ページはこちらです
2004.06.06 SQ905系カメラ追加 NBUG XCAST6 Live! 関連のNewsを追加しました。
2004.05.29 SQ905系カメラを追加しはじめる
2004.05.22 NW802系カメラ追加
2004.05.14 FreeBSDのportsにqcamviewが収録されたという報告を受けましたのでNewsに追記しました。qcamviewがQV-31Nで、さらに FreeBSD 4.9-STABLE で動作したという報告がありましたので追記しました。
2004.05.07 CREATIVE WEBCAM NotebookがFreeBSD 5.2.1 で動作したという報告がポートメンテナにありましたのでFreeBSDを追記しました。SN9C101系でLinux関係のリンクを追加しました。NW802系の亜流であるV-Gearを追加しはじめました
2004.04.09 SN9C101系ソフトがFreeBSD 5.2.1 で動作したという報告がMLでありましたので(not test)を消して(worked)と追記しました。
2004.03.27 SN9C101で SWEEX USB Mini Webcam が動作したという報告を受けました。SN9C101の簡易動画表示をあわせて version up しました。
2004.03.20 SN9C101のデコードルーチンを改良しました。ぎざぎざ感がなくなりました。NetBSDのpkgsrcにcpia2viewとcnxtviewが取り込まれたNewsを追記しました。
2004.03.09 SN9C101用のソフトup。CPiA2系USBカメラがpkgsrcに収録されるとのことでkernel patch を別ファイルに
2004.03.07 Z-102はSN9C102ではなくてSN9C101だったので修正。SN9C102 の USBカメラ情報を削除
2004.03.06 Sonix SN9C102系カメラ追加。
2004.02.27 ToUCam Pro で動かないよ、という情報をいただきましたが詳しい情報がもらえませんでした。My broken English が通じなかったせいでしょう。
2004.02.03 下でFreeBSD用に送っていただいた patch に実は qcamshot の明るさをもう少し得る修正も入っていたとのことであわせていれておきました。
2004.01.28 qcam系のqcamviewをFreeBSD 5.x で動かすための patch をいただきました。qcamviewのメモリリークを修正しました。qcam系がNetBSD/macppcで動作しないという報告を受けました。CPiA2系がNetBSD/macppcで動作したという報告をうけました。
2004.01.14 CREATIVE WEBCAM Notebook 追加, CPiA2系カメラ用ソフトのbugfix
2004.01.13 CPiA2系USBカメラ追加
2003.12.30 NetBSDのpkgsrcにqcamviewとphpsviewが取り込まれたNewsを追記しました。Philips USBカメラの本家が pwc-8.12 に上がっていたので追従しました。Quickcam Notebook Pro が動作したという報告をうけました。phpsview が FreeBSD 5.2-RCで動作したという報告を受けましたのでタイトルにFreeBSDを加えました。NetBSD で Quickcam Pro 系が uaudio と認識されないようにパッチを作成しました。このページにうっかり私の本名とE-mailアドレスがしっかり載っていたので伏せました(苦笑)
2003.11.22 qcamviewをFreeBSD4.9Rで動かすとUSB_GET_INTERFACE_DESC: Invalid argumentがでるというバグの修正。しかし、まだFreeBSDではうまく動作しないようです。動画が少し動き始めたという情報がアルゼンチンからきました。spcaviewがFlexiCam B100で無事動作したという報告をうけました。
2003.10.17 SPCA561A系USBカメラ追加
2003.09.21 Philips系NetBSDのドライバ情報を追加
2003.09.12 Philips系USBカメラ追加
2003.05.07 qcam系 HDCS1020タイプで動作確認したことを追加
2003.04.12 簡易動画表示ソフトqcamviewアップ
2003.03.01 qcam系、FreeBSDでもコンパイルできるように修正
2003.02.27 公開

[HOME]
Copyright (C) 2003-2011 takaM All rights reserved.
$Date: 2011/05/21 04:17:05 $