Hobbynet SANE pac20x vidcam backend under development

Main Index, webcam info, Info, links, documents, Camera info, Progress, Download, To Do list

Goal for this page is to collect data about the PAC207BCA-32 single chip camera and to give
information about the start of writing of a SANE pac20x Vidcam backend. 
No working driver found yet, description which usb commands are needed to init and read frames 
from the webcam? also frame decompression/unshuffle?.

Info, links, documents
Camera info
Q-TEC Webcam 100 USB
Mead-Bresser, BinOcular
Orite SC-120
iConcepts Desktop Mini Webcam

other camera's
Meade MicrOcular     usb vid 0x093a pid 0x2468 contains a PAC207BCA-32
Cibox PC-188         usb vid 0x093a pid 0x2468
Conceptronic funcam. usb vid 0x093a pid 0x2468

V4L kernel module driver
spca5xx Michel Xhaard

chip info
Single chip manufactuer: PixArt
Return/Terug Top
Q-TEC Webcam 100 USB vid 0x093a, pid 0x2460
Interface usb 1.1,
Optical Resolution:   352x288, 320x240, 176x144, 160x120.
		      fileformat: frameheader and frame data, compressed or raw data
Q-TEC Webcam 100 USB: CIF single chip:   PixArt PAC207BCA-32
                      USB Bridge:  Embedded  .........
                      Sensor:      Embedded PixArt PAS106 sensor
		      Document:    PAC207BCA_Spec_V12.pdf from PixArt
                      Lens:        .....
Q-TEC-100-front.jpg
Q-TEC-100-back.jpg
		  
21-02-2005 .. 21-02-2005 .. xcam frontend screenshot:
                         pac207-q-tec-screenshot.jpg size ~83k] 

For using these skeleton files SANE pac20x backend the following files need to be patched/placed:

sane backends (use version 1.0.18 or higher):
placed in backend directory:       pac20x.c, pax20x.h, pax20x.conf.in,

patched in backend directory:      Makefile.in, dll.conf
patched                            configure.in
patched in tools/hotplug           libsane.usermap (add line with vid and pid webcam)

sane-frontend (use version 1.0.14 or higher).

system
patched /etc/hotplug/              blacklist (add line with: ????? kernel module)

see also download link

At this moment there are two frontends which can be used with the pac20x backend:
1. xcam: for display (no streaming video (SANE bugreport 300832) only snapshots in 
   display and save to file is possible).
   If a modified version is used, only streaming frames is possible 
   remove first "stop_camera ();" line in routine "input_available".
2. scanimage: for writing in batch mode to files (files can be one file
   each time overwritten or each time a frame is written to a new file).
   scanimage -B -d pac20x:libusb:001:002 --batch=out.pnm --batch-count 5 --mode "Color RGB"
   for different files use =out%d.pnm
3. saned: not tested yet.
4. USB network?   see usbip

Using other frontends will be a problem, no idea if for example
writing a gstreamer-sane plugin will be a lot of work and/or difficult.
Another solution could be to use a frontend which can read the file from
scanimage which is refreshed at a rate of .. fps.

Return/Terug Top
Progress

23-02-2005 01-11-2005 .. Working on compressed/shuffled frames.
21-02-2005 21-02-2005 .. Working on usb commands.
17-02-2005 21-02-2005 .. Working on skeleton files pac20x.c, pac20x.h and pac20x.conf (ready)
17-02-2005 26-02-2005 .. See file for some collected data pac207, such as lusb output, usb commands
                         register info, header frame info,pac207.txt
17-02-2005 Start of webpage, some test done (lsusb -v, sane-find-scanner -v -v).
	   No working driver found yet.
Return/Terug Top
Download
17-02-2005 See Downloads page
Return/Terug Top
TO DO list
1. Usb commands
2. Detect the frame header in data stream and place frame in buffer.
3. Unshuffle/decompress raw frame
4. Isochronous mode routine at the moment bulk mode is used.
Return/Terug Top

Copyright © 2005 - 2006. Alle rechten voorbehouden, Revisie: 13 November 2006.