(FOR ENGLISH TRANSLATION OF THIS POST GO TO: http://ubuntuforums.org/showthread.php? ... ost7752781)
Ciao a tutti!
Sono impazzito cercando di far funzionare la mia Terratec Cinergy Hybrid T USB XS (http://www.terratec.it/prodotti/schede_tv/cinergy_hybrid_xs.shtml) in Ubuntu per giorni!
Precedentemente, ero riuscito a farlo molto facilmente in Ubuntu 8.04 usando il progetto di Markus Rechberger (http://mcentral.de/wiki/index.php5/Main_Page) seguendo la procedura descritta in http://divilinux.netsons.org/index.php/archives/192
Dopo aver formattato il mio Ubuntu ho scoperto che Markus Rechberger ha abbandonato il suo progetto, e il suo repository non funziona più :(
Non ha risposto alla mia email dove l'ho supplicato di spedirmi un vecchio sorgente ..
Ho effettuato centinaia di reinstallazioni, di diversi kernel e ho visitato migliaia di post, provando diverse procedure tutto vanamente..
alla fine ce l'ho fatta con Ubuntu 9.04 kernel 2.6.28-14-generic, ed ora funziona alla grande, così riporto la mia procedura per tutti coloro che si trovino nelle stesse condizioni:
La procedura seguente è stata testata con successo in Ubuntu 9.04 Kernel 2.6.28-14-generic ed anche con 2.6.28-15-generic con schedino Terratec Cinergy Hybrid T USB XS con USB ID: 0ccd:0042
Ci sono diverse release dello stesso schedino, non so se differiscono per nazione.. ma per quanto ho capito, hanno bisogno di firmware diversi. Ho potuto testare la procedura solo sulla mia scheda che ha USB ID 0ccd:0042
Per vedere l'id USB della vostra cinergy xs digitate:
- Codice: Seleziona tutto
lsusb
avendo attaccato la chiavetta.
Sarebbe molto utile se postaste l'ID di altre Cinergy XS che funzionano con la mia procedura!!
N.B. Dopo l'aggiornamento dal kernel 2.6.28-14-generic al 2.6.28-15-generic la scheda ha smesso di funzionare e i driver non venivano caricati all'avvio anche se ogni volta li ricaricavo con:
- Codice: Seleziona tutto
sudo modprobe em28xx
sudo modprobe em28xx-dvb
La scheda non veniva + riconosciuta!
Tuttavia ripetendo la procedura riportata di seguito, cioè disinstallando i driver compilati per la 2.6.28-14-generic, ricompilandoli per il nuovo kernel, la scheda è tornata a funzionare senza problemi :)
*** Prerequisiti ***
Installare mercurial:
- Codice: Seleziona tutto
sudo apt-get install mercurial
Installare kernel headers:
- Codice: Seleziona tutto
sudo apt-get install linux-headers-$(uname -r)
Installare g++:
- Codice: Seleziona tutto
sudo apt-get install g++
STACCARE LA CHIAVETTA SE CONNESSA
*** Rimuovere vecchi driver se ce ne sono ***
Se i moduli em28xx e em28xx-dbv sono già caricati allora rimuoveteli
- Codice: Seleziona tutto
sudo rmmod -f em28xx-dvb
sudo rmmod -f em28xx
disinstallare altre versioni dei driver se presenti, eseguendo:
- Codice: Seleziona tutto
sudo make unload
sudo make rminstall
in ognuna delle seguenti cartelle:
- v4l-dvb
- v4l-dvb-kernel (copia da mcentral hg )
- ttxs-remote
Anche se avete una versione pulita del kernel, non avendo installato cioè altre versioni dei drivers, dovete rimuovere quelle presenti nel kernel di Ubuntu 9.04.
Per farlo scaricate i drivers di Devin Heitmueller:
- Codice: Seleziona tutto
cd ~
mkdir terratec-xs
cd terratec-xs
hg clone http://linuxtv.org/hg/~dheitmueller/v4l-dvb-terratec-xs
Poi eseguite i seguenti comandi per rimuovere la versione dei driver presenti nel kernel:
- Codice: Seleziona tutto
cd v4l-dvb-terratec-xs
sudo make unload
sudo make rminstall
*** Installare i nuovi drivers ***
Fare il Make dei nuovi drivers (Dovete essere nella cartella dove avete scaricato i drivers, guardate il punto precedente!):
- Codice: Seleziona tutto
sudo make
Installateli:
- Codice: Seleziona tutto
sudo make install
RIAVVIATE!!
Caricate i drivers per la TV analogica:
- Codice: Seleziona tutto
sudo modprobe em28xx
Caricate i drivers per la TV DVB:
- Codice: Seleziona tutto
sudo modprobe em28xx-dvb
Controllate se i moduli sono caicati bene con:
- Codice: Seleziona tutto
lsmod
*** Installare il firmware ***
PRENDETE & INSTALLATE IL FIRMWARE xc3028-v27.fw come descritto qui:
http://forum.ubuntu-it.org/viewtopic.php?p=2235209#p2235209
Per tutti quelli che non vogliono ripetere tutti i passi descritti nel precedente post per ottenere il file del firmware, ho allegato il firmware che ho compilato (ed uso) nel mio Ubuntu 9.04 Kernel 2.6.28-14-generic. Scaricatelo, unzippatelo e poi digitate:
- Codice: Seleziona tutto
sudo cp xc3028-v27.fw /lib/firmware
per installarlo.
*** Controllare i risultati ***
Controllate le informazioni sul dispositivo in /var/log/messages:
- Codice: Seleziona tutto
sudo tail -f /var/log/messages
lasciando la consolle operta e inserendo il dispositivo!
Dovreste vedere qualcosa di simile:
Aug 8 08:51:29 Stefano-PC kernel: [ 17.938901] skge eth1: enabling interface
Aug 8 08:51:29 Stefano-PC kernel: [ 17.942188] ADDRCONF(NETDEV_UP): eth1: link is not ready
Aug 8 08:51:29 Stefano-PC kernel: [ 17.943296] eth0: link down
Aug 8 08:51:29 Stefano-PC kernel: [ 17.943440] ADDRCONF(NETDEV_UP): eth0: link is not ready
Aug 8 08:51:30 Stefano-PC kernel: [ 19.625707] skge eth1: Link is up at 100 Mbps, full duplex, flow control both
Aug 8 08:51:30 Stefano-PC kernel: [ 19.625853] ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
Aug 8 08:57:31 Stefano-PC kernel: [ 380.539673] Linux video capture interface: v2.00
Aug 8 08:57:31 Stefano-PC kernel: [ 380.604364] usbcore: registered new interface driver em28xx
Aug 8 08:57:31 Stefano-PC kernel: [ 380.604368] em28xx driver loaded
Aug 8 08:57:43 Stefano-PC kernel: [ 392.858640] Em28xx: Initialized (Em28xx dvb Extension) extension
Aug 8 08:59:07 Stefano-PC kernel: [ 476.780015] usb 1-3: new high speed USB device using ehci_hcd and address 2
Aug 8 08:59:07 Stefano-PC kernel: [ 476.921029] usb 1-3: configuration #1 chosen from 1 choice
Aug 8 08:59:07 Stefano-PC kernel: [ 476.921216] em28xx: New device TerraTec Electronic GmbH Cinergy Hybrid T USB XS @ 480 Mbps (0ccd:0042, interface 0, class 0)
Aug 8 08:59:07 Stefano-PC kernel: [ 476.921222] em28xx #0: Identified as Terratec Hybrid XS (card=11)
Aug 8 08:59:07 Stefano-PC kernel: [ 476.921299] em28xx #0: chip ID is em2882/em2883
Aug 8 08:59:07 Stefano-PC kernel: [ 477.078681] em28xx #0: i2c eeprom 00: 1a eb 67 95 cd 0c 42 00 50 12 5c 03 9e 32 6a 34
Aug 8 08:59:07 Stefano-PC kernel: [ 477.078695] em28xx #0: i2c eeprom 10: 00 00 06 57 46 07 00 00 00 00 00 00 00 00 00 00
Aug 8 08:59:07 Stefano-PC kernel: [ 477.078708] em28xx #0: i2c eeprom 20: 46 00 01 00 f0 10 31 00 b8 00 14 00 5b 00 00 00
Aug 8 08:59:07 Stefano-PC kernel: [ 477.078721] em28xx #0: i2c eeprom 30: 00 00 20 40 20 6e 02 20 10 01 00 00 00 00 00 00
Aug 8 08:59:07 Stefano-PC kernel: [ 477.078733] em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Aug 8 08:59:07 Stefano-PC kernel: [ 477.078745] em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Aug 8 08:59:07 Stefano-PC kernel: [ 477.078757] em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 34 03 54 00 65 00
Aug 8 08:59:07 Stefano-PC kernel: [ 477.078769] em28xx #0: i2c eeprom 70: 72 00 72 00 61 00 54 00 65 00 63 00 20 00 45 00
Aug 8 08:59:07 Stefano-PC kernel: [ 477.078782] em28xx #0: i2c eeprom 80: 6c 00 65 00 63 00 74 00 72 00 6f 00 6e 00 69 00
Aug 8 08:59:07 Stefano-PC kernel: [ 477.078794] em28xx #0: i2c eeprom 90: 63 00 20 00 47 00 6d 00 62 00 48 00 00 00 32 03
Aug 8 08:59:07 Stefano-PC kernel: [ 477.078806] em28xx #0: i2c eeprom a0: 43 00 69 00 6e 00 65 00 72 00 67 00 79 00 20 00
Aug 8 08:59:07 Stefano-PC kernel: [ 477.078819] em28xx #0: i2c eeprom b0: 48 00 79 00 62 00 72 00 69 00 64 00 20 00 54 00
Aug 8 08:59:07 Stefano-PC kernel: [ 477.078831] em28xx #0: i2c eeprom c0: 20 00 55 00 53 00 42 00 20 00 58 00 53 00 00 00
Aug 8 08:59:07 Stefano-PC kernel: [ 477.078843] em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Aug 8 08:59:07 Stefano-PC kernel: [ 477.078855] em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Aug 8 08:59:07 Stefano-PC kernel: [ 477.078867] em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Aug 8 08:59:07 Stefano-PC kernel: [ 477.078881] em28xx #0: EEPROM ID= 0x9567eb1a, EEPROM hash = 0x303d5d95
Aug 8 08:59:07 Stefano-PC kernel: [ 477.078883] em28xx #0: EEPROM info:
Aug 8 08:59:07 Stefano-PC kernel: [ 477.078885] em28xx #0:^IAC97 audio (5 sample rates)
Aug 8 08:59:07 Stefano-PC kernel: [ 477.078886] em28xx #0:^I500mA max power
Aug 8 08:59:07 Stefano-PC kernel: [ 477.078889] em28xx #0:^ITable at 0x06, strings=0x329e, 0x346a, 0x0000
Aug 8 08:59:07 Stefano-PC kernel: [ 477.088462] tvp5150 0-005c: chip found @ 0xb8 (em28xx #0)
Aug 8 08:59:07 Stefano-PC kernel: [ 477.095964] tuner 0-0061: chip found @ 0xc2 (em28xx #0)
Aug 8 08:59:07 Stefano-PC kernel: [ 477.122746] xc2028 0-0061: creating new instance
Aug 8 08:59:07 Stefano-PC kernel: [ 477.122750] xc2028 0-0061: type set to XCeive xc2028/xc3028 tuner
Aug 8 08:59:07 Stefano-PC kernel: [ 477.122757] i2c-adapter i2c-0: firmware: requesting xc3028-v27.fw
Aug 8 08:59:07 Stefano-PC kernel: [ 477.148297] xc2028 0-0061: Loading 80 firmware images from xc3028-v27.fw, type: xc2028 firmware, ver 2.7
Aug 8 08:59:07 Stefano-PC kernel: [ 477.196011] xc2028 0-0061: Loading firmware for type=BASE (1), id 0000000000000000.
Aug 8 08:59:08 Stefano-PC kernel: [ 478.093577] xc2028 0-0061: Loading firmware for type=(0), id 000000000000b700.
Aug 8 08:59:08 Stefano-PC kernel: [ 478.107449] SCODE (20000000), id 000000000000b700:
Aug 8 08:59:08 Stefano-PC kernel: [ 478.107454] xc2028 0-0061: Loading SCODE for type=MONO SCODE HAS_IF_4320 (60008000), id 0000000000008000.
Aug 8 08:59:08 Stefano-PC kernel: [ 478.288095] input: em28xx IR (em28xx #0) as /devices/pci0000:00/0000:00:1d.7/usb1/1-3/input/input6
Aug 8 08:59:08 Stefano-PC kernel: [ 478.292453] em28xx #0: Config register raw data: 0x50
Aug 8 08:59:08 Stefano-PC kernel: [ 478.293200] em28xx #0: AC97 vendor ID = 0xffffffff
Aug 8 08:59:08 Stefano-PC kernel: [ 478.294448] em28xx #0: AC97 features = 0x6a90
Aug 8 08:59:08 Stefano-PC kernel: [ 478.294451] em28xx #0: Empia 202 AC97 audio processor detected
Aug 8 08:59:08 Stefano-PC kernel: [ 478.412456] tvp5150 0-005c: tvp5150am1 detected.
Aug 8 08:59:08 Stefano-PC kernel: [ 478.508831] em28xx #0: v4l2 driver version 0.1.2
Aug 8 08:59:09 Stefano-PC kernel: [ 478.574928] em28xx #0: V4L2 device registered as /dev/video0 and /dev/vbi0
Aug 8 08:59:09 Stefano-PC kernel: [ 478.644156] xc2028 0-0061: attaching existing instance
Aug 8 08:59:09 Stefano-PC kernel: [ 478.644161] xc2028 0-0061: type set to XCeive xc2028/xc3028 tuner
Aug 8 08:59:09 Stefano-PC kernel: [ 478.644163] em28xx #0/2: xc3028 attached
Aug 8 08:59:09 Stefano-PC kernel: [ 478.644166] DVB: registering new adapter (em28xx #0)
Aug 8 08:59:09 Stefano-PC kernel: [ 478.644169] DVB: registering adapter 0 frontend 0 (Zarlink MT352 DVB-T)...
Aug 8 08:59:09 Stefano-PC kernel: [ 478.644447] Successfully loaded em28xx-dvb
Aug 8 08:59:09 Stefano-PC kernel: [ 478.750702] usbcore: registered new interface driver snd-usb-audio
Aug 8 08:59:09 Stefano-PC kernel: [ 478.761210] tvp5150 0-005c: tvp5150am1 detected.
Aug 8 08:59:09 Stefano-PC pulseaudio[3015]: alsa-util.c: Cannot find fallback mixer control "Mic" or mixer control is no combination of switch/volume
Altre informazioni possono essere ottenute controllando dmesg:
- Codice: Seleziona tutto
dmesg | grep em28xx
Se ottenente qualcosa di simile:
[ 380.604364] usbcore: registered new interface driver em28xx
[ 380.604368] em28xx driver loaded
[ 476.921216] em28xx: New device TerraTec Electronic GmbH Cinergy Hybrid T USB XS @ 480 Mbps (0ccd:0042, interface 0, class 0)
[ 476.921222] em28xx #0: Identified as Terratec Hybrid XS (card=11)
[ 476.921299] em28xx #0: chip ID is em2882/em2883
[ 477.078681] em28xx #0: i2c eeprom 00: 1a eb 67 95 cd 0c 42 00 50 12 5c 03 9e 32 6a 34
[ 477.078695] em28xx #0: i2c eeprom 10: 00 00 06 57 46 07 00 00 00 00 00 00 00 00 00 00
[ 477.078708] em28xx #0: i2c eeprom 20: 46 00 01 00 f0 10 31 00 b8 00 14 00 5b 00 00 00
[ 477.078721] em28xx #0: i2c eeprom 30: 00 00 20 40 20 6e 02 20 10 01 00 00 00 00 00 00
[ 477.078733] em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 477.078745] em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 477.078757] em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 34 03 54 00 65 00
[ 477.078769] em28xx #0: i2c eeprom 70: 72 00 72 00 61 00 54 00 65 00 63 00 20 00 45 00
[ 477.078782] em28xx #0: i2c eeprom 80: 6c 00 65 00 63 00 74 00 72 00 6f 00 6e 00 69 00
[ 477.078794] em28xx #0: i2c eeprom 90: 63 00 20 00 47 00 6d 00 62 00 48 00 00 00 32 03
[ 477.078806] em28xx #0: i2c eeprom a0: 43 00 69 00 6e 00 65 00 72 00 67 00 79 00 20 00
[ 477.078819] em28xx #0: i2c eeprom b0: 48 00 79 00 62 00 72 00 69 00 64 00 20 00 54 00
[ 477.078831] em28xx #0: i2c eeprom c0: 20 00 55 00 53 00 42 00 20 00 58 00 53 00 00 00
[ 477.078843] em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 477.078855] em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 477.078867] em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 477.078881] em28xx #0: EEPROM ID= 0x9567eb1a, EEPROM hash = 0x303d5d95
[ 477.078883] em28xx #0: EEPROM info:
[ 477.078885] em28xx #0: AC97 audio (5 sample rates)
[ 477.078886] em28xx #0: 500mA max power
[ 477.078889] em28xx #0: Table at 0x06, strings=0x329e, 0x346a, 0x0000
[ 477.088462] tvp5150 0-005c: chip found @ 0xb8 (em28xx #0)
[ 477.095964] tuner 0-0061: chip found @ 0xc2 (em28xx #0)
[ 478.288095] input: em28xx IR (em28xx #0) as /devices/pci0000:00/0000:00:1d.7/usb1/1-3/input/input6
[ 478.292453] em28xx #0: Config register raw data: 0x50
[ 478.293200] em28xx #0: AC97 vendor ID = 0xffffffff
[ 478.294448] em28xx #0: AC97 features = 0x6a90
[ 478.294451] em28xx #0: Empia 202 AC97 audio processor detected
[ 478.508831] em28xx #0: v4l2 driver version 0.1.2
[ 478.574928] em28xx #0: V4L2 device registered as /dev/video0 and /dev/vbi0
[ 478.644163] em28xx #0/2: xc3028 attached
[ 478.644166] DVB: registering new adapter (em28xx #0)
[ 478.644447] Successfully loaded em28xx-dvb
[ 478.663130] em28xx audio device (0ccd:0042): interface 1, class 1
[ 478.663170] em28xx audio device (0ccd:0042): interface 2, class 1
allora tutto è ok :)
*** Installare il software per guardare la TV e scansione dei canali ***
- Kaffeine
Installare kaffeine per guardare la TV:
- Codice: Seleziona tutto
sudo apt-get install kaffeine
Se tutto è andato bene kaffeine dovrebbe rilevare il dispositivo (sebbene con un altro nome, per me Zarlink MT352 DVB-T)
Aprite il nuovo menu chiamato DVB.
Premete channels -> Start Scan
Se è andato tutto bene Kaffeine crea una lista di canali e potete godervi la vostra TV-DVB:)
- GXINE o VLC
Si deve creare una lista di canali da dare in input al nostro lettore.
Per prima cosa sarà quindi necessario scandire le frequenze. Esistono 2 modi, 1 automatica, l'altra manuale. Riporterò ora quella automatica che fa uso del programma w_scan:
Installiamo quindi w_scan:
- Codice: Seleziona tutto
sudo apt-get install w_scan
Facciamogli fare una scansione, scrivendo i risultati in un file (AutoFrequencies) che utilizzeremo per creare la lista dei canali:
- Codice: Seleziona tutto
w_scan -x > AutoFrequencies
Per creare la lista dei canali dalla lista delle frequenze abbiamo bisogno dell'utility scan dei DVB-utils, quindi installiamoli:
- Codice: Seleziona tutto
sudo apt-get install dvb-utils
creiamo il file dei canali:
- Codice: Seleziona tutto
scan AutoFrequencies > channels.conf
- Se vogliamo utilizzare gxine
Installare gxine:
- Codice: Seleziona tutto
sudo apt-get install gxine
copiamo il file dei canali nella cartella di xine in modo che lo importi in automatico:
- Codice: Seleziona tutto
sudo cp channels.conf ~/.xine
Apriamo gxine, ed apriamo il DVB con File -> DVB
La lista dei canali si trova sotto File -> Playlist
- Se vogliamo usare VLC
Installare VLC:
- Codice: Seleziona tutto
sudo apt-get install vlc
Apriamo VLC.
Apriamo il file dei canali:
Media -> Apri File
selezionamo filtro "tutti i file" e carichiamo channels.conf prima creato.
La lista dei canali la troviamo in
Playlist -> Mostra playlist
** TELECOMANDO **
Per me, il telecomando già funzionava dopo i precedenti passi..
Se per voi no:
- Codice: Seleziona tutto
cd ~
cd terratec-xs
hg clone http://kernellabs.com/hg/~dheitmueller/ttxs-remote
cd ttxs-remote
sudo make
sudo make install
RIAVVIA!
Divertitevi! (b2b)
GRAZIE A: Devin Heitmueller per i driver funzionanti e a Mauro Carvalho Chehab per tutto il lavoro su LinuxTV!
Contattatemi per ogni problema!







