Video4Linux and Video4Linux2 driver
This is an earlier version of the driver. A modern version is now present in the linux kernel
Warning: Not all Finepix cameras are supported by this driver.
Project hosted on sourceforge
User space test program
This simple program grabs and saves one image from the camera. It's based on libusb, so no special driver is necessary. If it works with another finepix (modulo the usb ids), then the driver should work too.Download the userspace test program
Linux 2.6 kernel driver
Status
The driver supports a subset of both the V4L and V4L2 APIs. The V4L part integrates a JPEG decoder (written by Michael Schroeder and adapted by Luc Willems) and outputs a raw RGB image. The V4L2 part outputs the native JPEG returned by the camera.Limitations
- Snapshots are not yet taken at regular intervals.
- Regarding V4l2, this driver will only work with applications that support a JPEG input (ie not a
lot). It should work with any applications that are using gstreamer version 0.8+ (0.6 does not support
JPEG output).
- After streaming, the red light on my 4800Z stays on. I think it's because the camera status is not
read (maybe I need to add interrupt pipe support).
- Only for linux 2.6. It probably needs some porting for Linux 2.4.
Cameras status
| USB vendor ID | USB product ID | Camera name | Status |
| 04cb |
0104 |
Fujifilm FinePix 2600 / 4800Zoom / 6800Zoom / A101 | works |
| 04cb |
0109 |
Fujifilm FinePix F601Zoom | works |
| 04cb |
010b |
Fujifilm FinePix S602Zoom |
works |
| 04cb | 010f |
Fujifilm FinePix F402 |
untested |
| 04cb |
0111 | Fujifilm FinePix M603 | works |
| 04cb | 0113 |
Fujifilm FinePix A202 |
works |
| 04cb | 0115 |
Fujifilm FinePix F401 |
untested |
| 04cb | 0117 |
Fujifilm FinePix A203 |
untested |
| 04cb | 0119 |
Fujifilm FinePix S303 |
untested |
| 04cb | 011b |
Fujifilm FinePix S304 |
untested |
| 04cb | 011d |
Fujifilm FinePix A204 |
untested |
| 04cb |
0121 |
Fujifilm FinePix F700 | works |
| 04cb | 0123 |
Fujifilm FinePix F410 |
untested |
| 04cb |
0125 |
Fujifilm FinePix A310 |
works |
| 04cb | 0127 |
Fujifilm FinePix A210 |
untested |
| 04cb | 0129 |
Fujifilm FinePix A205 |
works |
| 04cb | 012b |
Fujifilm FinePix ???? |
untested |
| 04cb |
012d |
Fujifilm FinePix S7000 |
works |
| 04cb | 012f |
Fujifilm FinePix ???? |
untested |
| 04cb | 0131 |
Fujifilm FinePix S5000 |
works |
| 04cb | 013b |
Fujifilm FinePix ???? |
untested |
| 04cb |
013d |
Fujifilm FinePix S3000 |
works |
| 04cb | 013f |
Fujifilm FinePix F420 |
works |
| 04cb |
0149 |
Fujifilm FinePix A330 |
does not work (1) |
| 04cb |
016f |
Fujifilm FinePix S5500 |
does not work (1) |
This driver seems to support Finepix cameras released until summer 2004. After that it seems that Fujifilm switched to use the new USB video class protocol. See the following references for more information:
http://kerneltrap.org/node/4437
http://www.usb.org/developers/devclass_docs/video_class_040605.zip
http://www.mail-archive.com/linux-usb-devel@lists.sourceforge.net/msg31753.html
The driver should support your camera if the output from /proc/bus/usb/devices is similar to:
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 6 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=04cb ProdID=0121 Rev= 1.00
S: Product=USB PC Camera
S: SerialNumber=xxxxxxxxxxxxxxxxxxxxxxxxx
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 50mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=21 Prot=ff Driver=finepix
E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=83(I) Atr=03(Int.) MxPS= 8 Ivl=1ms
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=04cb ProdID=0121 Rev= 1.00
S: Product=USB PC Camera
S: SerialNumber=xxxxxxxxxxxxxxxxxxxxxxxxx
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 50mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=21 Prot=ff Driver=finepix
E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=83(I) Atr=03(Int.) MxPS= 8 Ivl=1ms
It will not work if it is similar to:
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ef(unk. ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=04cb ProdID=0149 Rev= 1.00
S: Product=USB Web Camera
S: SerialNumber=xxxxxxxxxxxxxxxxxxxxxxxxx
C:* #Ifs= 2 Cfg#= 1 Atr=c0 MxPwr= 50mA
I: If#= 0 Alt= 0 #EPs= 0 Cls=0e(unk. ) Sub=01 Prot=00 Driver=(none)
I: If#= 1 Alt= 0 #EPs= 1 Cls=0e(unk. ) Sub=02 Prot=00 Driver=(none)
E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
D: Ver= 2.00 Cls=ef(unk. ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=04cb ProdID=0149 Rev= 1.00
S: Product=USB Web Camera
S: SerialNumber=xxxxxxxxxxxxxxxxxxxxxxxxx
C:* #Ifs= 2 Cfg#= 1 Atr=c0 MxPwr= 50mA
I: If#= 0 Alt= 0 #EPs= 0 Cls=0e(unk. ) Sub=01 Prot=00 Driver=(none)
I: If#= 1 Alt= 0 #EPs= 1 Cls=0e(unk. ) Sub=02 Prot=00 Driver=(none)
E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
The difference is that the unsupported cameras have only an USB bulk endpoint (one line E:), while the supported ones have 2 bulks and an interrupt endpoints (three lines E:).
(2006/2/2) There is now a project that could support these cameras at http://linux-uvc.berlios.de
Applications status
| Application |
V4L Status |
V4L2 status |
| MPlayer 1.0pre5 |
Works (mplayer -tv driver=v4l:outfmt=bgr24 -flip tv://). |
Does not work. JPEG intput is not supported by the V4L2 plugin of MPlayer. |
| xawtv 3.91 |
does not work. |
Has V4L2 supports, but it does not support JPEG output. |
| gnomemeeting |
Works |
Apparently does not support V4L2. |
| gstreamer 0.8.4 |
untested |
gst-player does not support it. Needs a patch. See testing for a couple command lines that work. |
Testing
My dev platform is Open SUSE 10.0 (SUSE kernel 2.6.13).Extracts images to nothing:
gst-launch v4l2src ! fakesink
Creates a movie:
gst-launch v4l2src ! asfmux ! filesink location=test.asf
Download
The prefered way is to use the CVS tree to get the code. Alternatively you can download an older version of the driver on the source forge page.Build the driver by typing make. As root, type make install. Load it with modprobe finepix.ko.
The tarball also contains fpixtest that reads a single frame using the driver and saves it under frame.jpg.