Le bazar de Stemp

Le bazar de Stemp

Archives de Catégorie: Debian Francophone

GoogleTalkPlugin, Webcams et Debian/Ubuntu ou Arch

GoogleTalkPlugin est disponible pour Linux depuis quelques temps déjà.

Malheureusement le support des webcams n’est pas toujours au rendez-vous, ce greffon gérant seulement les drivers uvc et certains sous-drivers gspca.

Et bien évidemment mes deux webcams ne sont pas encore reconnues 🙂

C’est notre vieille amie la bibliothèque v4l2 et sa couche de compatibilité qui va venir encore une fois à notre aide.

Nous allons donc créer un «wrapper» libv4l pour le GoogleTalkPlugin.

Direction le répertoire d’installation du greffon :
cd /opt/google/talkplugin/

Et voici le coupable (qui, il faut le souligner, est, même sous 64 bits, un exécutable 32 bits) :
-rwxr-xr-x 1 root root 5660892 12 janv. 00:36 GoogleTalkPlugin

Renommons le en .real :
sudo mv GoogleTalkPlugin GoogleTalkPlugin.real

Créons maintenant un nouveau fichier bash nommé GoogleTalkPlugin contenant le code suivant :

Pour 32 bits :
#!/bin/sh
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so /opt/google/talkplugin/GoogleTalkPlugin.real

Pour 64 bits :
#!/bin/sh
LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so /opt/google/talkplugin/GoogleTalkPlugin.real

On le rend exécutable :
sudo chmod +x GoogleTalkPlugin

Et Voilà ! Au prochain démarrage de votre navigateur votre webcam devrait être détectée.
Tout n’est pas encore parfait et le greffon s’obstine à utiliser ma première webcam.

Debian CUT

CUT (Constantly Usable Testing) est un projet initié par Joey Hess visant à faire de la version testing de Debian, une version plus sûre et toujours installable via des «snapshots» réguliers.

Source : [en] Constantly Usable Testing

Gspca Snapshot

[Fr] Jean-François Moine nous offre maintenant sur son site des «snapshots» du driver gspca v2, ce qui rend encore plus facile l’obtention de la dernière version.

Pour ce faire, avec Debian/Ubuntu, il nous faut les paquets build-essential et linux-headers.

sudo aptitude install build-essential linux-headers

Ensuite direction Jef Moine sur Free.fr et récupération de la dernière archive :

Snapshot Gspca

Snapshot Gspca

Décompression, un make puis un sudo make install plus tard vous aurez la dernière version 🙂

[En] Jean-François Moine is now offering on his site «snapshots» of the gspca v2 drivers.

To build them on Debian/Ubuntu you need build-essential and linux-headers packages.

sudo aptitude install build-essential linux-headers

Then go to Jef Moine on Free.fr and get the latest archive or check below the download link.

Uncompress, make then sudo make install and that’s it 🙂

[Fr/En]
stephane@islons:~/downloads/gspca-2.9.28$ make -j $(nproc)
make -C /lib/modules/2.6.32-4-amd64/build M=/home/stephane/downloads/gspca-2.9.28/build modules
make[1]: entrant dans le répertoire « /usr/src/linux-headers-2.6.32-4-amd64 »
CC [M] /home/stephane/downloads/gspca-2.9.28/build/benq.o
../..
CC [M] /home/stephane/downloads/gspca-2.9.28/build/zc3xx.o
LD [M] /home/stephane/downloads/gspca-2.9.28/build/gspca_main.o
../..
LD [M] /home/stephane/downloads/gspca-2.9.28/build/gspca_stv06xx.o
Building modules, stage 2.
MODPOST 40 modules
CC /home/stephane/downloads/gspca-2.9.28/build/gspca_benq.mod.o
LD [M] /home/stephane/downloads/gspca-2.9.28/build/gspca_benq.ko
../..
CC /home/stephane/downloads/gspca-2.9.28/build/gspca_zc3xx.mod.o
LD [M] /home/stephane/downloads/gspca-2.9.28/build/gspca_zc3xx.ko
make[1]: quittant le répertoire « /usr/src/linux-headers-2.6.32-4-amd64 »

stephane@islons:~/downloads/gspca-2.9.28$ sudo make install
[sudo] password for stephane:
rm -f /lib/modules/2.6.32-4-amd64/kernel/drivers/media/video/gspca/gspca*.ko /lib/modules/2.6.32-4-amd64/kernel/drivers/media/video/gspca/*/gspca*.ko; \
install -c -m 0644 build/*.ko /lib/modules/2.6.32-4-amd64/kernel/drivers/media/video/gspca/; \
depmod
stephane@islons:~/downloads/gspca-2.9.28$

gspca-2.15.18

Changelog :

VERSION=2.15.x

#18: gspca – sonixj: Adjust the brightness for sensor mi0360b
# The images could not be bright enough under low light.
# gspca – ov534/ov534_9: Fix sccd_read/write errors
# The ov534 bridge is too slow to handle the sensor accesses
# requested by fast hosts. A small delay fixes the problem.
# gspca – sn9c2x: Change the default values of blue and red
# The default values of blue and red (40) were too high for the
# green values (32).
# Also, as these controls are sensitive, their ranges have been
# reduced to 16..48.
# gspca – sn9c2x: Have a bigger luminosity in autoexposure
# Without this change, the images remain too dark.

#17: gspca – sonixj: Fix a zero divide in isoc interrupt
# In case of short marker, the number of received packets was not
# incremented doing a zero divide when computing the filling rate.
# Reported-by: Hans Petter Selasky
# gspca – sonixj: Fix bad values of webcam 0458:7025
# The webcam 0458:7025 (Eye911Q) has:
# – an inverted power pin,
# – a sensor mi0360b which cannot be probed.

#16: gspca – zc3xx: Fix bad JPEG compression
# The register 07 cannot have values range 02..0e.

#15: gspca – zc3xx: Fix bad register value for sensor gc0305
# The register 018d (Y target) was not set in 640×480 50Hz mode
# creating too dark images.
# gspca – pac7302: fix compilation errors when NEWPKT without NEWAGC
# gspca – pac7302: Simplify code
# The complex code for writing the start sequence, due to a mix
# with the bridge pac7311, was not needed anymore.
# gspca – zc3xx: Fix bad JPEG compression for pas202b and hv7131r
# The automatic JPEG compression update of the sensors pas202b and hv7131r
# was increased too quickly.
# gspca – zc3xx: Simplify the transfer update function

#14: gspca – pac7302: fix possible overflow in pkt_scan
# gspca – pac7302: optimize the end of frame in pkt_scan
# gspca – pac7302: Fix some values in sd_start sequences
# The values have been updated according to ms-win traces
# and according to default exposure values.

#13: gspca – sonixj: change some values for sensor po2030n (TESTPO)
# gspca – sonixj: Lower the image size for 640×480
# As the image size may now reduced by automatic JPEG compression
# adjustment, the use of big buffers is not needed.

#12: gspca – pac7302: change the value of register 3-0e at start time
# gspca – pac7302: fix a bug in the autogain
# gspca – pac7302: Simplify the scan of the URB packets
# In the pac7302, the start of frame marker is always in the first 0x100 bytes
# and it is aligned on a 2 bytes boundary.
# gspca – pac7302: Change the computation of the average luminosity
# A frame is divided into 25 areas which luminosity is stored in
# the frame footer.
# The previous computation used the luminosity of only 2 areas.

#11: gspca – pac7302: increment againthe luminosity of autogain
# gspca – pac7302: remove gain and update exposure
# gspca – pac7302: slow the autogain interval

#10: gspca – pac7302: increment the desired luminosity of autogain
# gspca – pac7302: fix the step of exposure control (was 0!)
# gspca – pac7302: decrease the gain max to fit the gain table

#9: gspca – sn9c20x: extend exposure to all ovxxx sensors and soi968
# gspca – pac7302: set back new gain and exposure
# gspca – pac7302: Change the desired luminosity for autogain
# The desired luminosity for autogain was too high for the new
# gain / exposure settings.

#8: gspca – pac7302: fix gain and exposure controls
# gspca – sn9c20x: Change the exposure register of Omnivision sensors
# The exposure of Omnivision sensors is set in the registers 07, 10 and 04.
# This patch uses the register 10 (middle value) instead of the registers
# 2d and 2e (dummy lines).
# The value of registers 2d and 2e must be 00.
# gspca – sn9c20x: Set the i2c interface speed
# The interface speed was set to 400 Kb/s while it is 100 Kb/s for most sensors.
# gspca – sn9c20x: Change the number of the sensor mt9vprb
# This avoid skips in switch statements.
# gspca – sn9c20x: Add the sensor mt9vprb to the sensor ident table
# The table did not contain the sensor mt9vprb.
# gspca – sn9c20x: Set more tables as constant
# gspca – pac7302: revert the gain and exposure controls

#7: gspca – sn9c20x: bad handling of packets > 64 bytes
# gspca – sn9c20x: check again the flag USB FIFO full
# gspca – sn9c20x: Simplify start/stop image transfer
# The register 1061 may be only 0x01 (stop) or 0x03 (start transfer).
# gspca – sn9c20x: adjust the set_quality function
# gspca – sn9c20x: fix lack of save of the format register

#6: gspca – sn9c20x: don’t check the flag USB FIFO full
# gspca – sn9c20x: Add a delay after omnivision sensor reset
# The reset of the Omnivision sensors takes a long time (200ms).
# gspca – sn9c20x: Add a reset of the ov7660 at init time
# A reset of the ov7660 is needed.
# gspca – sn9c20x: better handling of JPEG quality change

#5: gspca – sn9c20x: ignore i2c_w no response
# gspca – sonixj: Remove the low level traces

#4: gspca – sn9c20x: Add automatic JPEG compression mechanism
# The JPEG compression may be adjusted from the packet fill ratio and from
# the flag ‘USB FIFO full’ returned in each frames, as it is done in sonixj.
# gspca – sn9c20x: do jpeg quality update work (qtab switch)
# gspca – sonixj: change back the fill ratios for quality change
# gspca – sn9c20x: Fix miss of frame start
# The frame header was checked on packets of size 64 only, while the webcams
# may put frame header at the beginning of packets of any size.
# gspca – sn9c20x: Add more error messages
# There was a lack of error message in the i2c write routine.

#3: gspca – sn9c20x: Cleanup source
# – copyright change
# – use the kbuild module name for messages
# – add/remove blank lines, parenthesis, braces
# gspca – sn9c20x: Use the new video control mechanism
# gspca – sn9c20x: Propagate USB errors to higher level
# gspca – sn9c20x: Add the JPEG compression quality control

#2: gspca – pac7302: Fix the white balance control
# The use of the registers c4..c7 was not correct.
# The white balance now adjusts the red and blue gain registers
# and the red and blue controls have been removed.
# gspca – pac7302: Fix the exposure and gain controls
# The registers used for exposure and gain were not the right ones.
# The new registers, used for autogain, have been guessed from
# USB traces.
# gspca – ov519: Add more information about probe problems
# The messages in stable kernel releases must be output by ‘pr_err’.
# gspca – jl2005bcd: new driver from Theodore Kilgore
# gspca – sonixj: Remove the jpeg control
# The get_jcomp control is rarely used and its main information,
# the JPEG quality, may be found in the images.
# gspca – zc3xx: Cleanup source
# – copyright change
# – use the kbuild module name for messages
# – remove useless comments
# gspca – zc3xx: Fix bad sensor values when changing autogain
# The setexposure added in commit 590f21680616 works only for
# the sensor hv7131r, but it is called for all sensors when changing
# the autogain.
# gspca – zc3xx: Set the exposure at start of hv7131r
# The exposure was not set when autogain was set.

#1: gspca – pac7302: Add new webcam 06f8:301b
# gspca – pac7302: Cleanup source
# – copyright change
# – use the kbuild module name for messages
# – change module author
# – remove ‘__’ from the variable types
# – use u8 instead of ‘unsigned char’
# – remove useless initialization
# – remove useless traces
# gspca – pac7302: Use the new video control mechanism
# gspca – pac7302: Do autogain setting work
# The autogain was always active.
# gspca – pac7302: Simplify the function pkt_scan
# The JPEG header is always the same, so it does not need to be rebuild
# when a new frame is received.

#0: zc3xx: fix crash due to reg08 overflow

# 2.14.x

#8: alignment with git

#7: gspca – zc3xx: Initialize the registers reg07 and 08
# These registers were not initialized at start time for some sensors.
# gspca – zc3xx: Adjust the JPEG decompression tables
# As the bridge register 08 defines the JPEG compression quality,
# it must be changed on JPEG quality change and also, the decompression
# tables must be adjusted when the register varies.

#6: gspca – main: Fix bad computation of the available bandwidth
# The bandwidth must be divided by the frame interval ‘bInterval’.
# Reported-by: Hans de Goede
# gspca – main: Fix the computation of the estimated frame rate
# The numerator of the timeperframe returned by VIDIOC_G_PARM may be different
# from 1.
# Reported-by: Hans de Goede
# gspca – main: Fix bad image size for bandwidth computation
# Having the mean image size as 40% of the max compressed size instead of 33%
# should give less image freezes (the transfer uses a greeter altersetting).
# gspca – zc3xx: Remove the low level traces
# The low level traces are better done by usbmon.
# gspca – zc3xx: Add transfer control for sensors hv7131r and pas202b
# The bridge register 11 reports the current transfer status.
# This value is used to know about a possible overflow and to adjust
# the transfer parameters (registers 07 and 08.

#5: gspca – tasc: add comments about the unknown image format
# gspca – zc3xx: add test control of the registers 07 and 08

#4: gspca – sonixj: Change color control for sensor po2030n
# Adjustment of the colors by the po2030n is finer than by bridge controls.
# gspca – sonixj: Add exposure, gain and auto exposure for po2030n
# The auto gain uses the knee algorithm.
# Adding the setexposure control function forced to:
# – rename of the previous function setexposure
# – add a specific auto setting function

#3: gspca – zc3xx: mode inversion of some values for zc0305/gc0303

#2: gspca – sonixj: Bad sensor mode at start time.
# The ‘open-drain’ mode was not reset when starting the webcam
# so that the webcams could be not correctly initialized.
# This problem was introduced by commit 0e4d413af1a9d.
# gspca – zc3xx: Bad initialization of zc305/gc0303.
# – fix mode inversion of the light frequency tables
# – values taken from a more recent .inf file (usbvm305)

#1: gspca: fix compilation problem with old kernels (dist)
# gspca – topro: Lower the frame rate in 640×480 for the tp6800.
# The topro webcams don’t support 30fps in 640×480 mode.

#0: gspca: Version change
# gspca: Identify the modules by their build name.
# The modules were named from a macro. They are now named from
# the build module name.
# gspca – main: Identify the modules at probe time.
# Display the subdriver name and version at probe time.
# gspca – se401: Use only the alternate setting 0
# ???
# gspca: Remove the useless variable ‘nbalt’
# benq, gl860, konica, mars, se401, sonixj, spca561, spca1528, zc3xx
# gspca: Remove the useless variable ‘reverse_alts’
# The alternate settings are now sorted in gspca main, so the flag
# ‘reverse_alts’ is no more used.
# benq, nw80x, ov519, xirlink_cit
# gspca – spca1528: Add some comments
# gspca – spca1528: Increase the status waiting time
# Some webcams ask for a greater delay to start. This patch fixes the
# timeout error on capture start.
# gspca – zc3xx: add webcam 03f0:1b07 (patch Wolfram)
# gspca – sn9c20x: device 0c45:62b3: fix status LED (patch Frank)
# gspca – topro: rename tp6800 into topro

# 2.13
#6: gspca – ov519: Fix LED inversion of some ov519 webcams
# The list of the webcams which have LED inversion was rebuild scanning
# ms-win .inf files.
# gspca – tp6800: adjust the decompression qualities

#5: gspca – ov534_9: Use the new control mechanism
# gspca – ov534_9: New sensor ov9712 and new webcam 05a9:8065
# The webcam is build from a Omnivision test kit that contains an OV538 bridge
# with an OV9712 sensor.

#4: gspca – main: remove the limitation of interrupt polling
# gspca – main: Fix the isochronous transfer interval.
# For USB speeds different of ‘low’, the bInterval value is logarithmic.
# gspca – main: Handle the xHCI error on usb_set_interface()
# This patch is adapted from a patch from Sarah Sharp (2010/05/03).
# The xHCD handler checks the USB bandwidth on usb_set_interface()
# instead of on usb_submit_urb().
# Now, the same treatment is applied in case of error of both functions.
# gspca – sonixj: fix again bad reg17 setting for om6802 in 320×240

#3: gspca – tp6800: fix bad probe of tp6810 + cx0342
# gspca – tp6800: autogain does not work with tp6810 + cx0342
# gspca – tp6800: adjust frame rate from exposure value
# gspca – sonixj: Bad reg17 setting for om6802
# (from Luiz Ramos)
# gspca – sonixj: Fix image too dark in 320×240 for sensor om6802
# In 320×240, the bridge clock must run slower for a same sensor clock.
# gspca – sonixj: Remove useless code
# – clock (reg01) already 48 MHz for 320×240 (hv7131r and mi0360)

#2: gspca – tp6800: adjust the frame rate control of the tp6810
# gspca – tp6800: replace ovxxxx by soi763a
# gspca – tp6800: add autogain for tp6810
# gspca – tp6800: change default quality to 13 for soi763a
# gspca – tp6800: ignore higher bits of quality in the tp6810 frame header
# gspca – tp6800: small changes in tp6810 start sequences (reg 7d)
# gspca – dist: do ‘rm’ of ‘make install’ work with ‘sh’
# gspca – main: Better values for V4L2_FMT_FLAG_COMPRESSED
# In vidioc_enum_fmt_vid_cap, the ‘compressed’ flag was set from the
# pixelformat, and all pixelformats were not treated.
# Now, images are said as compressed when the image size is smaller than
# its number of pixels.
# gspca – benq: Remove useless function sd_isoc_init
# The sd_isoc_init() did only a set interface which is done in gspca main.
# gspca – main: Use a better altsetting for image transfer
# Previously image transfer used to use the highest altsetting, which, most of
# the time, took the whole USB bandwidth.
# Now, the altsetting is chosen according to an estimation of the bandwidth
# needed for image transfer.

#1: gspca – ov519: change again the ovfx2 bulk transfer size
# Use 7 * 4096 as bulk transfer size for 800×600 only.
# gspca – kinect: add its generation in build/Makefile
# gspca – stv06xx: Set a lower default value of gain for hdcs sensors
# Many users said that the default gain value (128) was giving white images.
# I set back the value which was found in the original qc-usb driver (50).
# gspca – sonixj: fix about the auto JPEG quality
# gspca – stv06xx: Remove useless debug messages.
# This subdriver displayed information already displayed by the gspca main
# or available by usbmon.
# gspca – tp6800: fix the settings of JPEG compression / decompression
# gspca – tp6800: adjust controls for tp6810 and ovxxxx

#0: gspca – zc3xx: Set the color matrix for sensors hv7131b and mc501cb
# gspca – zc3xx: Set the reset level for sensors hv7131b/r
# gspca – zc3xx: Don’t probe the sensor hv7131r at start time
# gspca – zc3xx: Set the exposure of hv7131r at start time
# gspca – main: Set a correct interval for input polling
# The interrupt intervals of USB2.0 and USB3.0 are logarithmic.
# gspca – main: Limit the input polling interval
# The input polling does not need to be very precise.
# Restricting to 4 or 5 times per second seems enough.
# gspca – ov519: Fix a regression for ovfx2 webcams
# By git commit c42cedbb658b, the bulk transfer size was changed to a lower
# value for a resolution != 1600×1200, but the image extraction routine
# still worked with the previous value, giving bad truncated images.
# gspca – ov519: Change the ovfx2 bulk transfer size
# The ‘normal’ bulk transfer size did not work for 800×600.
# By git commit c42cedbb658b, this ‘normal’ size was used for 1600×1200 only.
# It will now used for resolution greater than 800×600.