PixArt PAC7301/PAC7302 is a System on a Chip (SoC) with multimedia sensor capabilities. The chip is supported by the gspca_pac7302 kernel module.
PAC7302 VGA SoC PC-Camera Drivers Download In our share libs contains the list of PAC7302 VGA SoC PC-Camera drivers all versions and available for download. To download the proper driver by the version or Device ID. Pixart pc vga camera driver for windows mac W is a versatile single-chip network interface chip. The single-chip sensor uses a Bayer color-filter array, where only one color It is a massive list with over 25, posts, compiled over.
- 1Overview/Features
- 2Making it Work
- 3Programming reference
Overview/Features
- USB 1.1 interface
- EEPROM interface
- CMOS VGA sensor (640x480) for video and still image capturing
- Microphone input (only on PixArt PAC7302)
- Snapshot button input
- User feedback LED output
Components Used
The webcams based on the PixArt PAC7301/PAC7302 chip usually consists only of the chip and some external resistors, capacitors, button and a microphone.
Other Images
Identification
The USB Vendor ID and Product ID can be programmed. The Product ID range of 0x2620..0x262F is mentioned on the schematics in the PixArt PAC7301/PAC7302 datasheet.
The gspca_pac7302 driver supports the following devices:
USB Vendor ID | USB Device ID | Device Name | Note |
---|---|---|---|
0x06f8 | 0x3009 | Hercules Classic Link | |
0x093a | 0x2620 | Apollo AC-905 | The manual, page 11 of this device describes a software called AMCAP to set up different camera parameters in Windows. |
0x093a | 0x2621 | ||
0x093a | 0x2622 | Genius Eye 312 | FL_VFLIP |
0x093a | 0x2624 | FL_VFLIP | |
0x093a | 0x2626 | Labtec Webcam 2200 | |
0x093a | 0x2628 | Genius iLook 300 | |
0x093a | 0x2629 | Genious iSlim 300 (?) maybe a typo? maybe related to Genius Slim series? | FL_VFLIP |
0x093a | 0x262a | Webcam 300k | |
0x093a | 0x262c | Philips SPC 230 NC | In the User's Manual, page 12 there is a detailed picture settings panel which can adjust the different controls. |
The webcam driver may also support the following devices with only a little modification. The webcam drivers for Windows installs the pac7302.sys file. It is possible to download the driver and install it under Linux using wine. If this driver file is installed then we know that the webcam is based on the PixArt PAC7301/PAC7302. Then it is necesary to check the pac7302.inf file to find out the USB Vendor ID and USB Device ID for a specific webcam. The following table summarizes the devices identified with this method.
USB Vendor ID | USB Device ID | Device Name | Note |
---|---|---|---|
0x093a | 0x2625 | Genius iSlim 310 | Identified from the driver installed with wine-1.1.37 |
0x093a | 0x2627 | Genius FaceCam 300 | Identified from the driver installed with wine-1.0.1. See the installed windows/inf/facecam300.inf . |
The Labtec Webcam 2200 is an device which contains the PixArt PAC7302 chip. The identification of this device is as follows:
Making it Work
To use this device the following components are necessary:
- gspca_pac7302 kernel module
- V4L2 capable user program (e.g. Cheese
Firmware
No firmware is necessary to use this device.
Drivers
The gspca_pac7302 driver was separated from the gspca_pac7311 with the commit 1408b8472910e894b290205b4baed5b14b8f45af. If you have a kernel version 2.6.32 or before then use gspca_pac7311 instead of gspca_pac7302.
The support for snapshot button is available since 28 Jan 2010 in one of the repositories. The patch was merged as commit aed6f1b5fe4e95cf8a9fc149e25041aa8cc7c78a to the mailine and it is included in Linux kernel starting with the stable release 2.6.37, released on 4 Jan 2011.
Sample Kernel Output
This is the kernel output when the Labtec Webcam 2200 is plugged in. You may recognise the pac7302 driver and the snd-usb-audio driver attaching themselves to the device.
Remote Control Support
Not applicable.
Programming reference
Note: this chapter is based on the Linux gspca_pac7302 driver and on trial-and error. Use information here on your risk.
The PAC7301/PAC7302 can be controlled through registers. The registers are grouped to pages of 256 registers. The registers can be written by sending an USB control message to the device. The value parameter of usb_control_msg() is always zero; the index parameter specifies the offset within a page; the data and length parameters specify the register content to be written.
The different register pages can be switched by writing the new page value to offset 255 of any page.
Register Page | Register Offset | Description | Accessed in function |
---|---|---|---|
0 | 0x00..0x0e | (unknown) | |
0 | 0x0f..0x20 | setcolors() | |
0 | 0x21..0x54 | (unknown) | |
0 | 0x55 | Image filter | |
0 | 0x56..0x6d | (unknown) | |
0 | 0x6e | Digital tilt | |
0 | 0x6f | Digital pan | |
0 | 0x70..0x71 | (unknown) | |
0 | 0x72 | Test pattern and test overlay | |
0 | 0x73..0xa1 | (unknown) | |
0 | 0xa2..0xab | setbrightcont() | |
0 | 0xac..0xc4 | (unknown) | |
0 | 0xc5 | setbrightcont() | |
0 | 0xc6 | setwhitebalance() | |
0 | 0xc7 | setbluebalance() | |
0 | 0xc8-0xdb | (unknown) | |
0 | 0xdc | setbrightcont(), setcolors() | |
0 | 0xdd-0xfe | (unknown) | |
0 | 0xff | Select register page | |
1 | 0x00..0x77 | (unknown) | |
1 | 0x78 | Start/stop streaming, LED control | |
1 | 0x79..0xfe | (unknown) | |
1 | 0xff | Select register page | |
3 | 0x00..0x01 | (unknown) | |
3 | 0x02 | Exposure | setexposure() |
3 | 0x03..0x0f | (unknown) | |
3 | 0x10 | Gain | setgain() |
3 | 0x11 | setcolors(), setgain(), setexposure(), sethvflip() | |
3 | 0x12..0x20 | (unknown) | |
3 | 0x21 | Horizontal and vertical flip | sethvflip() |
3 | 0x22..0xfe | (unknown) | |
3 | 0xff | Select register page |
Image filter
Register page, offset: 0, 0x55
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|
? | ? | ? | ? | ? | EDGE | ? | ? |
? | ? | ? | ? | ? | w | ? | ? |
Bits | Field | Description |
---|---|---|
2 | EDGE | Activates edge detection image filter 0: Normal picture |
Digital tilt
Register page, offset: 0, 0x6e
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|
TILT | |||||||
w |
Bits | Field | Description |
---|---|---|
7-0 | TILT | Digital tilt |
Digital pan
Register page, offset: 0, 0x6f
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|
PAN | |||||||
w |
Bits | Field | Description |
---|---|---|
7-0 | PAN | Digital pan |
Test pattern, test overlay
Register page, offset: 0, 0x72
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|
? | ? | ? | TEST_OVERLAY | TEST_PATTERN | |||
? | ? | ? | w | w |
Bits | Field | Description |
---|---|---|
4 | TEST_OVERLAY | Test overlay 0: normal operation, test overlay generation off |
3-0 | TEST_PATTERN | Test pattern generation: 0x0: normal operation, test pattern generation off |
These test patterns can be generated when the gspca_pac7302 driver is built with CONFIG_VIDEO_ADV_DEBUG=y. First start streaming e.g. with cheese then execute 'v4l2-dbg --set-register=0x72 0x01' for value 0x01. These test patterns were generated using Labtec Webcam 2200 hardware.
Value 0x1: generate white test pattern:
Soc Pc Camera Downloads Drivers
Value 0x2: generate black test pattern:
Value 0x3: generate red test pattern:
Value 0x4: generate lime test pattern:
Value 0x5: generate blue test pattern:
Value 0x6: generate aqua test pattern:
Value 0x7: generate fuchsia test pattern:
Value 0x8: generate yellow test pattern:
Value 0x9: generate test pattern with colored horizontal and vertical bars:
Value 0xA: generate test pattern with small colored pixels all around the image:
Value 0xB: generate a gradient test pattern starting from black on the top and bright color on the bottom:
Value 0xC: generate a gradient test pattern starting from white on the left towards black on the right:
Value 0xD: generate frequent vertical gadient bars white to black, from left to right:
Value 0x13: generate red test pattern with test overlay on:
Streaming on/off, LED control
Register page, offset: 1, 0x78
Soc Pc Camera Downloads
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|
? | nLED | ? | ? | ? | ? | ? | STREAMING |
? | w | ? | ? | ? | ? | ? | w |
Bits | Field | Description |
---|---|---|
6 | nLED | Controls the feedback LED. 0: LED active |
0 | STREAMING | Controls the video stream from the webcam. 0: steram is off |
Horizontal and vertical flip
Pac7302 Vga Soc Pc-camera
Register page, offset: 3, 0x21
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|
? | ? | ? | ? | HFLIP | VFLIP | ? | ? |
? | ? | ? | ? | w | w | ? | ? |
Bits | Field | Description |
---|---|---|
3 | HFLIP | Activate horizontal flip of the image 0: Horizontal flip not active |
2 | VFLIP | Activate vertical flip of the image 0: Vertical flip is not active |
Pac7302 Vga Soc Pc-camera Drivers For Mac
External Links
- PixArt PAC7301/PAC7302 datasheet (alternative link)
- PixArt Imaging Inc. -> Product Search -> PC-Cam SoC -> VGA