Spiegare ad un amico installazione Logitech su Ubuntu
by giopas on May.18, 2008, under Linux
EDIT: 14.02.09
ATTENZIONE, nella maggiorparte dei casi questa guida non è più di attualità (per installare la webcam). Tuttavia, può essere utile per imparare a gestire le periferiche su Linux.
Linux 2.6.26 and newer includes the Linux UVC driver natively. You will not need to download the driver sources manually unless you want to test a newer version or help with development. (fonte)
—— ORIGINAL POST ———
Visto che pian pianino sto diffondendo l’uso di Linux agli amici un po’ più “scafati”, mi trovo talvolta a dover fare il mentore (io!!!) su alcune comuni problematiche.
Ecco perchè, come potrete leggere qui sotto, per spiegare un’operazione di per sè semplice, come fa andare la webcam su Ubuntu 8.04 (anche se io uso fieramente Debian
), ne ho approfittato per dargli qualche semplice nozione di base.
Ovviamente pubblico quanto scritto per chi altro potesse averne bisogno!
Ovviamente il linguaggio potrebbe non essere molto preciso, sia per ignoranza mia che per rendere la già eccessivamente lunga email un po’ più semplice da leggere… dico solo che sono quattro giorni che l’ho scritta, ed ancora non ho avuto un feedback! Poverino, forse l’ho spaventato! LOL
Ciao,
come promesso ti invio qualche istruzione su come far andare la webcam su linux. Invece di darti solo dei comandi, ti spiego anche il ragionamento.
Se non sei interessato, salta direttamente al punto 2!
1a. capire che chipset monta la webcam.
Infatti uno stesso chipset può essere usato da diverse marche, un po’ come uno stesso motore su macchine diverse.
Per sapere quale chipset ha la tua webcam e quindi quale driver installare, aprire il terminale e, una volta attaccata la webcam all’usb digitare:
$ lsusb
Il risultato che avrai è qualcosa del genere:
Bus 003 Device 005: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 003 Device 004: ID 04b4:6830 Cypress Semiconductor Corp. CY7C68300A EZ-USB AT2 USB 2.0 to ATA/ATAPI
Bus 003 Device 002: ID 046d:08c5 Logitech, Inc. QuickCam Pro 5000
Bus 001 Device 002: ID 046d:c03e Logitech, Inc. Premium Optical Wheel Mouse
Già qui dovresti vedere che il sistema ha riconosciuto la webcam.
In genere però, se vuoi sapere se il sistema “vede” il dispositivo che hai collegato, il comando è il seguente:
$ sudo tail -f /var/log/messages
Il risultato nel mio caso è che ho collegato qualcosa alla porta usb (3-1) e che, visto che il sistema ha già installato il driver – che ti insegnerò ad installare – (UVC 1.00 device) capisce che quello che ho inserito (046d:08c5) è una webcam che funziona con il suddetto driver.
May 14 19:31:09 giolaptop kernel: [40818.340648] usb 3-1: new high speed USB device using ehci_hcd and address 7
May 14 19:31:10 giolaptop kernel: [40818.634916] usb 3-1: configuration #1 chosen from 1 choice
May 14 19:31:10 giolaptop kernel: [40818.634916] uvcvideo: Found UVC 1.00 device
May 14 19:31:10 giolaptop kernel: [40818.812262] input: UVC Camera (046d:08c5) as /class/input/input8
May 14 19:31:10 giolaptop kernel: [40818.824164] usb 3-1: New USB device found, idVendor=046d, idProduct=08c5
May 14 19:31:10 giolaptop kernel: [40818.824183] usb 3-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
Un altro comando del genere è il seguente (è bene che tu li conosca per sbrogliartela in qualsiasi situazione!):
$ dmesg | tail
Il risultato in questo caso è più stringato, ma ugualmente utile:
[40818.634916] uvcvideo: Found UVC 1.00 device
[40818.812262] input: UVC Camera (046d:08c5) as /class/input/input8
[40818.824164] usb 3-1: New USB device found, idVendor=046d, idProduct=08c5
[40818.824183] usb 3-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
Facile no? Tre modi diversi per avere la stessa informazione!
Ma c’è un ultimo comando che può servirti per conoscere TUTTI i componenti che hai collegato o che costituiscono il pc:
lspci (o anche lspci -n)
Il risultato può essere ad esempio il seguente:
00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 74)
01:00.0 VGA compatible controller: S3 Inc. VT8375 [ProSavage8 KM266/KL266]
02:00.0 Ethernet controller: Atheros Communications Inc. AR5212/AR5213 Multiprotocol MAC/baseband processor (rev 01)
Già hai trovato un sacco di info sul pc, ed in caso di problemi sai da dove partire su google!
Ah, dimenticavo, tutte queste informazioni le puoi anche trovare con interfaccia grafica: Sistema -> Preferenze -> Gestore Periferiche (su GNOME)…
1b. Utilizzare le informazioni trovate:
Dalla nostra ricerchina, ci bastava il primo metodo per la verità, hai scoperto quello che cercavi: l’identificativo del chipset.
Nel mio caso il codice del venditore e il codice del prodotto sono i seguenti “idVendor=046d” e “idProduct=08c5″ o, come hai visto anche “046d:08c5″.
Ora, la cosa più semplice è andare su google e digitare qualcosa come “046d:08c5 linux” e vedere i risultati!
Ma noi faremo ancora più semplice.
2. Cercare se il driver è supportato
Noi sappiamo che la tua webcam è una Logitech, ebbene, la maggioranza dei chipset che monta sono supportati dal driver UVC.
Quindi verificheremo che la tua webcam sia effettivamente supportata guardando questa lista: http://linux-uvc.berlios.de/
Come potrai vedere, la prima colonna contiene quel codice che abbiamo trovato al punto 1. Bello no? Quello che farai sarà quindi di cercare nella tabella il modello di webcam che hai, facendo attenzione a che il codice a sinistra sia lo stesso tuo e vedrai se la webcam è supportata o no dal driver UVC. Se per caso non lo fosse, non disperare: cerca su google come ti ho suggerito al punto 1b.
3. Installare il driver
Ora che sappiamo che la webcam è supportata (o parzialmente, ma non disperiamo), ci accorgeremo di una bella cosa: che ubuntu ha già integrato il driver uvc nel kernel!!
Quello che dovremo fare allora sarà semplicemente digitare sul terminale per caricare il modulo (o driver) nel kernel:
$ sudo modprobe uvcvideo
Riavviare ed installare (se non ottieni errori) luvcview per testare:
$ sudo aptitude install luvcview
3. Se per caso avessi trovato un errore nel caricare il modulo, proviamo ad aggiornarlo con uno più recente.
Installiamo allora i componenti di sviluppo per compilarci il modulo fresco fresco (ciò che potrebbe anche essere utile per avere il video su skype, anche se non mi sono mai sbattuto per farlo funzionare). Da terminale:
$ sudo aptitude install linux-headers-`uname-r` subversion devscripts make build-essential
Dopodichè mi scarico i sorgenti del modulo e li compilo (creando prima una cartella):
$ mkdir SVN/ && cd SVV/
$ svn co svn://svn.berlios.de/linux-uvc/linux-uvc/trunk uvc/
$ cd uvc
$ make
$ sudo make install
$ sudo modprobe uvcvideo
In caso di errore, dare i due seguenti comandi:
$ sudo depmod -ae `uname -r`
$ sudo /sbin/modprobe uvcvideo
Fatto! Ora, se lanciamo luvcview, dopo aver riavviato (anche se non è strettamente necessario), dovremmo vedere il nostro bel facccione!!
4. Piccola messa a punto.
Se la tua webcam ha il microfono integrato ma non lo usi, potresti voler disattivarlo del tutto, così da non complicarti la vita con due (o più) microfoni tra i piedi!
Quello che devi fare è semplicemente di aprire il file di testo /etc/modprobe.d/blacklist come segue:
$ sudo nano /etc/modprobe.d/blacklist
e aggiungere in fondo la seguente riga:
blacklist snd_usb_audio
Per salvare, cliccare su “ctrl”+”o” (di Otranto), premere “invio” e poi “ctrl”+”x”
Fine!! E’ molto più lungo a spiegare che a mettere in pratica (però volevo che ne approfittassi per imparare qualcosa di utile… solo sul pinguino, visto che su windows se qualcosa non va… ti attacchi)!
Se hai problemi fammi sapere dandomi le informazioni come al punto 1 e vediamo di risolvere!
Buona serata.


February 14th, 2009 on 2:15 PM
ciao, ho seguito la tua guida si e partita ma poi dopo il riavvio del PC niente di fatto, provo a lanciare da terminale “luvcview” ed ecco qui cosa mi da:
vito@vito-desktop:~$ luvcview
luvcview version 0.2.1
Video driver: x11
A window manager is available
video /dev/video0
Unable to set format: 5.
Init v4L2 failed !! exit fatal
vito@vito-desktop:~$
poi ti posto qui il punto 1 che chiedi:::
vito@vito-desktop:~$ lsusb
Bus 009 Device 001: ID 0000:0000
Bus 008 Device 001: ID 0000:0000
Bus 007 Device 003: ID 0c10:0000
Bus 007 Device 002: ID 05e3:0606 Genesys Logic, Inc. D-Link DUB-H4 USB 2.0 Hub
Bus 007 Device 001: ID 0000:0000
Bus 006 Device 003: ID 046d:08c5 Logitech, Inc.
Bus 006 Device 001: ID 0000:0000
Bus 005 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 004: ID 046e:52a0 Behavior Tech. Computer Corp.
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
vito@vito-desktop:~$ sudo tail -f /var/log/messages
[sudo] password for vito:
Feb 14 12:36:28 vito-desktop dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/eth0 for sub-path eth0.dbus.get.nis_domain
Feb 14 12:36:28 vito-desktop dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/eth0 for sub-path eth0.dbus.get.nis_servers
Feb 14 12:36:28 vito-desktop dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/eth0 for sub-path eth0.dbus.get.interface_mtu
Feb 14 12:36:29 vito-desktop kernel: [ 45.154671] NET: Registered protocol family 10
Feb 14 12:36:29 vito-desktop kernel: [ 45.154875] lo: Disabled Privacy Extensions
Feb 14 12:36:36 vito-desktop kernel: [ 51.759458] hda-intel: Invalid position buffer, using LPIB read method instead.
Feb 14 12:36:36 vito-desktop pulseaudio[6099]: alsa-util.c: Device hw:1 doesn’t support 44100 Hz, changed to 16000 Hz.
Feb 14 12:36:36 vito-desktop pulseaudio[6099]: alsa-util.c: Device hw:1 doesn’t support 2 channels, changed to 1.
Feb 14 12:37:06 vito-desktop kernel: [ 81.613356] process `skype’ is using obsolete setsockopt SO_BSDCOMPAT
Feb 14 12:37:28 vito-desktop kernel: [ 103.677740] ioctl32(skype:6272): Unknown cmd fd(27) cmd(c0cc5616){t:’V';sz:204} arg(f636dda0) on /dev/video0
vito@vito-desktop:~$ vito@vito-desktop:~$ lsusb
bash: vito@vito-desktop:~$: command not found
vito@vito-desktop:~$ Bus 009 Device 001: ID 0000:0000
bash: Bus: command not found
vito@vito-desktop:~$ Bus 008 Device 001: ID 0000:0000
bash: Bus: command not found
vito@vito-desktop:~$ Bus 007 Device 003: ID 0c10:0000
bash: Bus: command not found
vito@vito-desktop:~$ Bus 007 Device 002: ID 05e3:0606 Genesys Logic, Inc. D-Link DUB-H4 USB 2.0 Hub
bash: Bus: command not found
vito@vito-desktop:~$ Bus 007 Device 001: ID 0000:0000
bash: Bus: command not found
vito@vito-desktop:~$ Bus 006 Device 003: ID 046d:08c5 Logitech, Inc.
bash: Bus: command not found
vito@vito-desktop:~$ Bus 006 Device 001: ID 0000:0000
bash: Bus: command not found
vito@vito-desktop:~$ Bus 005 Device 001: ID 0000:0000
bash: Bus: command not found
vito@vito-desktop:~$ Bus 004 Device 001: ID 0000:0000
bash: Bus: command not found
vito@vito-desktop:~$ Bus 003 Device 001: ID 0000:0000
bash: Bus: command not found
vito@vito-desktop:~$ Bus 002 Device 004: ID 046e:52a0 Behavior Tech. Computer Corp.
bash: Bus: command not found
vito@vito-desktop:~$ Bus 002 Device 001: ID 0000:0000
bash: Bus: command not found
vito@vito-desktop:~$ Bus 001 Device 001: ID 0000:0000
bash: Bus: command not found
vito@vito-desktop:~$ vito@vito-desktop:~$ sudo tail -f /var/log/messages
bash: vito@vito-desktop:~$: command not found
vito@vito-desktop:~$ [sudo] password for vito:
bash: [sudo]: command not found
vito@vito-desktop:~$ Feb 14 12:36:28 vito-desktop dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/eth0 for sub-path eth0.dbus.get.nis_domain
bash: Feb: command not found
vito@vito-desktop:~$ Feb 14 12:36:28 vito-desktop dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/eth0 for sub-path eth0.dbus.get.nis_servers
bash: Feb: command not found
vito@vito-desktop:~$ Feb 14 12:36:28 vito-desktop dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/eth0 for sub-path eth0.dbus.get.interface_mtu
bash: Feb: command not found
vito@vito-desktop:~$ Feb 14 12:36:29 vito-desktop kernel: [ 45.154671] NET: Registered protocol family 10
bash: Feb: command not found
vito@vito-desktop:~$ Feb 14 12:36:29 vito-desktop kernel: [ 45.154875] lo: Disabled Privacy Extensions
bash: Feb: command not found
vito@vito-desktop:~$ Feb 14 12:36:36 vito-desktop kernel: [ 51.759458] hda-intel: Invalid position buffer, using LPIB read method instead.
bash: Feb: command not found
vito@vito-desktop:~$ Feb 14 12:36:36 vito-desktop pulseaudio[6099]: alsa-util.c: Device hw:1 doesn’t support 44100 Hz, changed to 16000 Hz.
> Feb 14 12:36:36 vito-desktop pulseaudio[6099]: alsa-util.c: Device hw:1 doesn’t support 2 channels, changed to 1.
bash: Feb: command not found
vito@vito-desktop:~$ Feb 14 12:37:06 vito-desktop kernel: [ 81.613356] process `skype’ is using obsolete setsockopt SO_BSDCOMPAT
> Feb 14 12:37:28 vito-desktop kernel: [ 103.677740] ioctl32(skype:6272): Unknown cmd fd(27) cmd(c0cc5616){t:’V';sz:204} arg(f636dda0) on /dev/video0
>
>
>
00:00.0 Host bridge: ATI Technologies Inc RS690 Host Bridge
00:01.0 PCI bridge: ATI Technologies Inc RS690 PCI to PCI Bridge (Internal gfx)
00:04.0 PCI bridge: ATI Technologies Inc Unknown device 7914
00:12.0 SATA controller: ATI Technologies Inc SB600 Non-Raid-5 SATA
00:13.0 USB Controller: ATI Technologies Inc SB600 USB (OHCI0)
00:13.1 USB Controller: ATI Technologies Inc SB600 USB (OHCI1)
00:13.2 USB Controller: ATI Technologies Inc SB600 USB (OHCI2)
00:13.3 USB Controller: ATI Technologies Inc SB600 USB (OHCI3)
00:13.4 USB Controller: ATI Technologies Inc SB600 USB (OHCI4)
00:13.5 USB Controller: ATI Technologies Inc SB600 USB Controller (EHCI)
00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 13)
00:14.1 IDE interface: ATI Technologies Inc SB600 IDE
00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia
00:14.3 ISA bridge: ATI Technologies Inc SB600 PCI to LPC Bridge
00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
01:05.0 VGA compatible controller: ATI Technologies Inc RS690 [Radeon X1200 Series]
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E PCI Express Fast Ethernet controller (rev 01)
03:05.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 61)
03:05.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 61)
03:05.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 63)
03:05.3 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 46)
vito@vito-desktop:~$
credo di aver messo tutto, fammi sapere se si può gare qualcosa…..
P.S. io non sono molto forte ne di Computer e sopratutto di Linux, quindi quando mi spiegherai la procedura per sistemare la mia web, cerca di spiegarlo come se lo facessi ad un bambino…
Anticipatamente GRAZIE
Cordiali Saluti VITO
February 14th, 2009 on 4:23 PM
ciao Vito,
sono felice di esser stato utile, in parte!
Vediamo però come posso aiutarti definitivamente.
Da quello che leggo, il problema si è presentato solo dopo un riavvio. Il problema potrebbe essere quindi del modulo uvcvideo che non è stato caricato.
Prova a dare da terminale “sudo modprobe uvcvideo” e vedi se la webcam funziona. Se sì, il problema era proprio quello!
A questo punto, basta che da terminale dai il seguente comando [code]sudo echo "uvcvideo" >> /etc/modules[/code] per caricare il modulo all’avvio e al prossimo riavvio dovresti essere apposto.
Risoluzione alternativa:
Installa un leggero frontend per caricare i moduli del kernel: “sudo aptitude install modconf”. Poi da terminale dai “sudo modconf” e naviga fino a trovare il modulo uvcvideo, selezionalo con un paio di “enter” e dovrebbe essere caricato. (Se per caso al riavvio dovessi riscontrare lo stesso problema, dai il solito comando [code]sudo echo "uvcvideo" >> /etc/modules[/code]).
PER INFO e se continui ad avere il problema, cita sempre:
1. la distribuzione stai usando (ubuntu, debian, fedora, gentoo…)
2. il kernel che stai usando (dai il seguente comando senza virgolette sul terminale “uname -rm”)
3. la procedura esatta che hai seguito: hai caricato il modulo con un semplice “modprobe uvcvideo” o l’hai compilato da sorgente?
Tieni inoltre conto del fatto che teoricamente per far partire quella webcam non ti dovrebbe bastare altro che lanciare:
a) inserire la webcam
b) installare guvcview che dovresti facilmente trovare nei repository
enjoy,
giopas
February 4th, 2012 on 6:24 PM
ciao. potete mi dire come facio instalare driver dell logitech c100 webcam. su ubuntu 11.04 la mia imeil di messanger asirmevic@hotmail.it per favore mi serve aiuto