Le bazar de Stemp

Le bazar de Stemp

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 🙂

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/; \


Changelog :


#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.

Le Crunch 2010

Webcam : La tête à l’envers ?

Il arrive parfois sur un portable/netbook que l’image de la webcam soit inversée.
Ce n’est pas la peine de pester contre le driver, il n’y est pour rien.
C’est en fait notre vieille amie, la bibliothèque libv4l qui gère tout cela.

La première chose à faire est donc d’utiliser une version plus à jour via le PPA v4l :
sudo add-apt-repository ppa:libv4l

ou même la version de développement via le PPA v4l development :
sudo add-apt-repository ppa:libv4l/development

N’oubliez pas de mettre à jour votre système.

Il suffit maintenant de tester avec cheese ou équivalent pour voir si cela a fonctionné.

Votre tête est toujours à l’envers ? Il va falloir contacter le développeur et l’informer de votre webcam/machine.

Pour ceci nous allons créer deux fichiers contenant les informations usb et matériels (vous aurez peut-être besoin pour ça d’installer le paquet dmidecode).

stemp@islons:~$ lsusb > lsusb.log
stemp@islons:~$ sudo dmidecode > dmi.log
stemp@islons:~$ ls *.log
dmi.log lsusb.log

Muni de ces deux fichiers, il faut maintenant envoyer une gentille missive à Hans de Goede intitulée Upside Down List.

Pouf, pouf, pouf…. Quelques temps plus tard votre couple webcam/type de machine sera intégré à la bibliothèque et affichera correctement l’image.

Ok, mais en attendant ?

En attendant on va installer le paquet v4l-utils et si vous utilisez GTK+ (gnome, Xfce, etc..) le paquet gtk-v4l.

Lancez gtk-v4l (ou qv4l2 sous Kde) et cherchez la propriété Vflip. Cliquez dessus et Hop, l’image est renversée.

Libv4l is dead / Libv4l est mort

[Fr] Pas de panique ! libv4l est mort, vive v4l-utils !

Qu’est ce que ça change pour *buntu/debian ? Rien, le paquet source libv4l va disparaitre au profit du paquet v4l-utils (grâce au travail de Gregor Jasny) et en plus des bibliothèques v4l nous avons droit maintenant à quelques utilitaires regroupés dans le nouveau paquet binaire v4l-utils.

Un concurrent de v4l2ucp apparait avec qv4l2 :

qv4l2 General

qv4l2 User Controls

Pour ceux qui préfèrent la console, v4l2-ctl est fait pour vous :

v4l2-ctl --all

En marge de ces utilitaires, un programme Gtk+ est en cours de développement (la version 0.1 a été publié récemment) et fera peut-être un jour parti du paquet : gtk-v4l


[En] Don’t panic ! libv4l is dead, long live to v4l-utils !

What difference does it make for *buntu/debian ? Nothing, the source package libv4l will disappear in favor of v4l-utils package (thanks to the work of Gregor Jasny) and with the v4l libraries we have now some utilities in the new binary package v4l-utils.

A competitor to v4l2ucp appears with qv4l2.

For the CLI lovers, v4l2-ctl is for you.

Not yet included in this package (but maybe later), a new Gtk+ software (0.1 version was published recently) : gtk-v4l

WebKitGtk+ et/and Java

[En] WebKitGtk+ 1.1.22 brings support for Java plugins.

WebKitGtk+ 1.1.22
[Fr] WebKitGtk+ 1.1.22 nous apporte le support des greffons Java.

Pino 0.2.0 et support Identi.ca

Pino client de micro-blogging
Il y a quelque temps déjà je vous avais parlé d’un client de microblogging écrit en Vala, Pino-Twitter.

Parlons dorénavant plutôt de Pino tout court, puisque la version 0.2.0 sortie officiellement aujourd’hui supporte le réseau identi.ca (et seulement lui, pas les autres sites Status.net).

Pour l’utiliser sur une buntu il suffit (pour karmic) d’ajouter le PPA de troorl (le développeur) :
sudo add-apt-repository ppa:troorl/pino
ainsi que le PPA Vala :
sudo add-apt-repository ppa:vala-team/ppa

Pour les autres je vous invite à consulter l’article de Frédéric Bezies.

PS : Il y a deux lignes de codes que j’ai dû écrire, ça faisait dix ans que je n’avais rien codé 🙂

Tableau Noir

Livre : GNU/Linux Advanced Administration

GNU/Linux Advanced Administration est un manuel d’administration GNU/Linux créé par l’Universitat Oberta de Catalunya (UOC).
Ce livre est diffusé sous licence GNU Free Documentation License, Creative Commons Attribute ShareAlike License, et est disponible en version 1 en Anglais (PDF), mais aussi sous forme de modules en Espagnol et Catalan (PDF et ODT).

L’UOC fait parti de la Free Technology Academy (FTA) une initiative conjointe de plusieurs instituts d’enseignements qui a pour but de contribuer à une société permettant à tous les utilisateurs d’étudier, de participer et de tirer parti des connaissances existantes, sans restrictions.

En vrac

Après quelques bêtises en provenance de posterous, il est peut-être temps de parler de logiciels 🙂

Donc voici, en vrac, quelques informations :

La version 0.2.0 de Parole media player est sortie le 5 Janvier. Ubuntu PPA

Vala est sorti en version 0.7.9 le 19 Décembre dernier. Ubuntu PPA

Yorba en a profité pour sortir la version 0.4.2 de Shotwell le 4 Janvier. Ubuntu PPA

WebKitGtk est passé en version 1.1.18 le 5 janvier. Ubuntu PPA
La mise à jour n’ a pas été sans mal et j’ai réussi à tout casser en étant obligé de «downgrader» libsoup pour pouvoir installer cette nouvelle version. C’est d’ailleurs la raison pour laquelle la 1.1.18 est disponible pour Karmic mais pas pour Lucid 😛

Côté microblogging un nouveau client Statut.net/Twitter codé en C est apparu : Get2gnow (c’est encore en phase alpha, paquets Ubuntu). Un autre client écrit en Vala mais actuellement uniquement pour Twitter, Pino-twitter, est disponible en version 0.1.2; il permet néanmoins après quelques petites modifications d’utiliser identi.ca.

Sur le Web les choses bougent aussi et l’un des plus grands concurrents de Google vient de sortir la forge libre CodingTeam en version 0.9.2

No matter how hard I try…