Luca Porcu web site

www.flickr.com
Search
Main Menu
Who's Online
2 user(s) are online (1 user(s) are browsing WordPress)

Members: 0
Guests: 2

more...
Login
Username:

Password:


Lost Password?

Register now!
Creative Commons License
Eccetto dove diversamente specificato, i contenuti di questo sito sono rilasciati sotto Licenza Creative Commons Attribuzione 2.5.
Che musica ascolto?
Recent Downloads
 
AverMedia M115 su Linux


Finalmente anche questa scheda TV funziona su Linux, ci è voluto un pò ma ora funziona.

Ecco i passi da seguire:
Scarichiamo i sorgenti dei drivers:

$ hg clone http://mcentral.de/hg/~mrec/v4l-dvb-experimental
$ cd v4l-dvb-experimental

li compiliamo:
$ make
$ su

Questo passo serve a causa di un conflitto

# rm /lib/modules/`uname -r`/kernel/drivers/usb/media/gspca.ko

EDIT:

come suggerito nel commento sotto, va solamente ricompilato dopo aver installato quanto segue.

Li installiamo.

# make install

Sistemiamo il modulo come preferiamo noi:

# echo "options saa7134 alsa=1" > /etc/modprobe.d/saa7134

Scarichiamo ed installiamo il firmware:

# cd /lib/firmware
# wget http://mcentral.de/firmware/firmware_pinnacle.tgz
# tar xzf firmware_pinnacle.tgz

EDIT:

come suggerito nel commento sotto, abbiamo un firmware migliore di questo:

http://mcentral.de/firmware/firmware_v4.tgz. Corregge alcuni problemi di visualizzazione e perfeziona il tuning.

Ora un bel riavvio sarebbe l’ideale.

Adesso il modulo verrà caricato all’avvio, ma per sentire l’audio dobbiamo fare in questo modo:


# sox -r 16000 -w -c 2 -t ossdsp /dev/dsp1 -t ossdsp /dev/dsp

Il tutto funziona egregiamente su:

Fedora 7 kernel 2.6.21-1.3228.fc7

Ecco il risultato di dmesg.

Occhio non cancellate la cartella con i sorgenti, come vedete sotto SERVONO. al massimo metteteli in /opt/ ad esempio.(ho scritto na cazzata più grande di me scusate)


saa7133[0]: found at 0000:06:03.0, rev: 209, irq: 18, latency: 128, mmio: 0xa0000000
saa7133[0]: subsystem: 1461:a836, board: Avermedia M115 [card=119,autodetected]

...

tuner 1-0061: chip found @ 0xc2 (saa7133[0])
/home/luca/Desktop/aver/v4l-dvb-experimental/v4l/tuner-core.c: setting tuner callback
tuner 0x61: Configuration acknowledged
/home/luca/Desktop/aver/v4l-dvb-experimental/v4l/tuner-core.c: setting tuner callback

/home/luca/Desktop/aver/v4l-dvb-experimental/v4l/xc3028-tuner.c: attach request!
/home/luca/Desktop/aver/v4l-dvb-experimental/v4l/tuner-core.c: xc3028 tuner successfully loaded
saa7133[0]: registered device video0 [v4l2]
saa7133[0]: registered device vbi0
saa7134 ALSA driver for DMA sound loaded
saa7133[0]/alsa: saa7133[0] at 0xa0000000 irq 18 registered as card -1

riferimenti:

Il sito del creatore di tutto questo:

http://mcentral.de/wiki/index.php/AverMedia_Cardbus_Hybrid_TV_FM_E506R

Uno che ha la stessa scheda TV:

http://www.freewebs.com/gkiagia/index.htm?blogentryid=1574224

tra i commenti di questo blog vediamo anche qualche consiglio per vedere la tv e l’audio assieme con mplayer ad esempio.

UPDATE

Visto gli ultimi commenti aggiorno il post, la scheda Avermedia M115 è supportata pienamente anche per quanto riguarda il digitale terrestre ecco uno screenshot di sport italia:

SportItalia DVB-T

28 Comments

  1. Comment by Advhertz:

    Ciao,
    mi permetto di fare alcune osservazioni su ciò che è scritto e di indicare anche un’altra risorsa sulla rete che parla della scheda TV in questione.

    Osservazioni:
    1) Non serve rimuovere dal tree dei moduli esterni il modulo per la camera (gspca.ko), basta solamente ricompilarlo una volta che si è installato il nuovo tree V4L experimental di Markus Rechberger. In questo modo il driver GSPCA userà le v4l api nuove e funzionerà alla perfezione anche insieme alla tv.

    2) C’è un firmware da usare migliore di quello che indica George Kiagiadakis (Gkiagia) ed è questo -> http://mcentral.de/firmware/firmware_v4.tgz. Corregge alcuni problemi di visualizzazione e perfeziona il tuning.

    3) Non serve tenere i sorgenti del tree V4L experimental una volta che sono stati compilati. I messaggi che vedi sono semplicemente stringhe di log memorizzate nel modulo stesso e sono puramente indicative. I file sorgenti non vengono più richiamati.

    Nella pagina del mio blog riferita al mio portatile -> http://advhertz.altervista.org/install-debian-gnulinux-on-acer-aspire-9113-wlmi ci sono tutte le osservazioni che ho riportato qui ed oltre.

    Spero si esserti stato di aiuto, per te e per coloro che leggono questo interessante e ben fatto blog.

    Ciao,
    Advhertz

  2. Comment by luca:

    Grazie,
    ho aggiunto le tue osservazioni.

    Scusa per il ritardo ma a volte mi dimentico del blog :p

  3. Comment by lucarasp:

    Ciao,

    ho visto che di recente Marcus ha aggiunto il supporto per il DVB-T di alcune schede Avermedia tra cui la M115.

    Ne sai qualcosa? Funziona con la tua?

    grazie

  4. Comment by luca:

    Grazie tantissimo per la segnalazione me l’ero proprio persa!

    Ho appena installato, seguendo la stessa procedura sopra indicata.

    Poi usando kaffeine visto che questa scheda supporta l’autoscan.

    Funziona tutto alla grande dal video all’audio!

    buona visione!

  5. Comment by lucarasp:

    ohh, rabbia!

    purtroppoio ho una A16D, ed il supporto al DVB-T non funziona ancora……

    complimenti per l’ottimo tutorial!

    ciao

  6. Comment by mmm:

    cacchio non ne ho capito nulla

  7. Comment by luca:

    ciao,
    cosa non hai capito?
    è molto semplice come procedura:
    scarichi i sorgenti,
    li compili,
    li installi
    riavvii.

  8. Comment by renato gallo:

    hg clone http://mcentral.de/hg/~mrec/v4l-dvb-experimental
    destination directory: v4l-dvb-experimental
    requesting all changes
    adding changesets
    adding manifests
    adding file changes
    added 5888 changesets with 16380 changes to 1205 files
    913 files updated, 0 files merged, 0 files removed, 0 files unresolved
    root@MONSTER:~# cd v4l-dvb-experimental
    root@MONSTER:~/v4l-dvb-experimental# make
    make -C /root/v4l-dvb-experimental/v4l
    make[1]: Entering directory `/root/v4l-dvb-experimental/v4l’
    scripts/make_makefile.pl
    No version yet.
    Updating/Creating .config
    Preparing to compile for kernel version 2.6.24
    VIDEO_PLANB: Requires at least kernel 2.6.99
    Created default (all yes) .config file
    ./scripts/make_myconfig.pl
    make[1]: Leaving directory `/root/v4l-dvb-experimental/v4l’
    make[1]: Entering directory `/root/v4l-dvb-experimental/v4l’
    perl scripts/make_config_compat.pl /lib/modules/2.6.24.3/build ./.myconfig ./config-compat.h
    creating symbolic links…
    ln -sf . oss
    make -C /lib/modules/2.6.24.3/build SUBDIRS=/root/v4l-dvb-experimental/v4l modules
    make[2]: Entering directory `/usr/src/linux-2.6.24.3′
    CC [M] /root/v4l-dvb-experimental/v4l/flexcop-pci.o
    In file included from /root/v4l-dvb-experimental/v4l/flexcop-common.h:23,
    from /root/v4l-dvb-experimental/v4l/flexcop-pci.c:10:
    /root/v4l-dvb-experimental/v4l/dvb_frontend.h:42:33: error: media/v4l_dvb_tuner.h: No such file or directory
    In file included from /root/v4l-dvb-experimental/v4l/flexcop-common.h:23,
    from /root/v4l-dvb-experimental/v4l/flexcop-pci.c:10:
    /root/v4l-dvb-experimental/v4l/dvb_frontend.h:165: error: field ‘tuner_ops’ has incomplete type
    make[3]: *** [/root/v4l-dvb-experimental/v4l/flexcop-pci.o] Error 1
    make[2]: *** [_module_/root/v4l-dvb-experimental/v4l] Error 2
    make[2]: Leaving directory `/usr/src/linux-2.6.24.3′
    make[1]: *** [default] Error 2
    make[1]: Leaving directory `/root/v4l-dvb-experimental/v4l’
    make: *** [all] Error 2

  9. Comment by renato gallo:

    uname -a
    Linux MONSTER 2.6.24.3 #1 SMP Tue Feb 26 11:49:44 CET 2008 i686 Intel(R) Core(TM)2 CPU T5600 @ 1.83GHz GenuineIntel GNU/Linux

  10. Comment by luca:

    ciao,
    vedo che usi un kernel piuttosto recente, sinceramente non ho ancora provato con quella versione la 2.6.24 mi sono fermato alla 2.6.23.
    per il tuo kernel leggi qua:
    http://www.mail-archive.com/em28xx@mcentral.de/msg00728.html

    il problema viene risolto con le indicazioni date da uno sviluppatore

  11. Comment by renato gallo:

    ti consiglio di aggiornare c’è un exploit in giro
    al link http://www.milw0rm.com/exploits/5093
    funziona sul kernel 2.6.24 e precedenti

  12. Comment by renato gallo:

    vi patch.diff

    wrote patch.diff, 355 lines, 12953 chars
    root@MONSTER:/usr/local/src/v4l-dvb-experimental# cat patch.diff |patch -p1
    patching file linux/drivers/media/common/saa7146_core.c
    Reversed (or previously applied) patch detected! Assume -R? [n] y
    patching file linux/drivers/media/dvb/dvb-core/dvbdev.c
    Reversed (or previously applied) patch detected! Assume -R? [n] y
    patching file linux/drivers/media/dvb/dvb-core/dvb_net.c
    Reversed (or previously applied) patch detected! Assume -R? [n] y
    patching file linux/drivers/media/video/bt8xx/bttv-i2c.c
    Reversed (or previously applied) patch detected! Assume -R? [n] y
    patching file linux/drivers/media/video/em28xx/em28xx-i2c.c
    Reversed (or previously applied) patch detected! Assume -R? [n] y
    patching file linux/drivers/media/video/ivtv/ivtv-udma.c
    Reversed (or previously applied) patch detected! Assume -R? [n] y
    patching file linux/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c
    Reversed (or previously applied) patch detected! Assume -R? [n] y
    patching file linux/drivers/media/video/saa7134/saa7134-i2c.c
    Reversed (or previously applied) patch detected! Assume -R? [n] y
    patching file linux/drivers/media/video/usbvideo/konicawc.c
    Reversed (or previously applied) patch detected! Assume -R? [n] y
    patching file linux/drivers/media/video/usbvideo/quickcam_messenger.c
    Reversed (or previously applied) patch detected! Assume -R? [n] y
    patching file linux/drivers/media/video/usbvision/usbvision-cards.c
    Reversed (or previously applied) patch detected! Assume -R? [n] y
    patching file linux/drivers/media/video/usbvision/usbvision-i2c.c
    Reversed (or previously applied) patch detected! Assume -R? [n] y
    patching file linux/drivers/media/video/v4l1-compat.c
    Reversed (or previously applied) patch detected! Assume -R? [n] y
    patching file linux/drivers/media/video/video-buf.c
    Reversed (or previously applied) patch detected! Assume -R? [n] y
    patching file linux/drivers/media/video/w9968cf.c
    Reversed (or previously applied) patch detected! Assume -R? [n] y
    patching file linux/sound/pci/bt87x.c
    Reversed (or previously applied) patch detected! Assume -R? [n] y
    make LINUXINCLUDE=”-I`pwd`/linux/include -I`pwd`/v4l -Iinclude -include include/linux/autoconf.h”
    make -C /usr/local/src/v4l-dvb-experimental/v4l
    make[1]: Entering directory `/usr/local/src/v4l-dvb-experimental/v4l’
    creating symbolic links…
    make -C /lib/modules/2.6.24.3/build SUBDIRS=/usr/local/src/v4l-dvb-experimental/v4l modules
    make[2]: Entering directory `/usr/src/linux-2.6.24.3′
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/flexcop-pci.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/flexcop-usb.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/flexcop.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/flexcop-fe-tuner.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/flexcop-i2c.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/flexcop-sram.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/flexcop-eeprom.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/flexcop-misc.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/flexcop-hw-filter.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/flexcop-dma.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/bttv-driver.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/bttv-cards.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/bttv-if.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/bttv-risc.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/bttv-vbi.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/bttv-i2c.o
    /usr/local/src/v4l-dvb-experimental/v4l/bttv-i2c.c:288: error: unknown field ‘algo_control’ specified in initializer
    /usr/local/src/v4l-dvb-experimental/v4l/bttv-i2c.c:288: warning: initialization from incompatible pointer type
    make[3]: *** [/usr/local/src/v4l-dvb-experimental/v4l/bttv-i2c.o] Error 1
    make[2]: *** [_module_/usr/local/src/v4l-dvb-experimental/v4l] Error 2
    make[2]: Leaving directory `/usr/src/linux-2.6.24.3′
    make[1]: *** [default] Error 2
    make[1]: Leaving directory `/usr/local/src/v4l-dvb-experimental/v4l’
    make: *** [all] Error 2

  13. Comment by renato gallo:

    make LINUXINCLUDE=”-I`pwd`/linux/include -I`pwd`/v4l -I/usr/src/kernels/2.6.24.3/include/ -Iinclude -include include/linux/autoconf.h”
    make -C /usr/local/src/v4l-dvb-experimental/v4l
    make[1]: Entering directory `/usr/local/src/v4l-dvb-experimental/v4l’
    creating symbolic links…
    make -C /lib/modules/2.6.24.3/build SUBDIRS=/usr/local/src/v4l-dvb-experimental/v4l modules
    make[2]: Entering directory `/usr/src/linux-2.6.24.3′
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/flexcop-pci.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/flexcop-usb.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/flexcop.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/flexcop-fe-tuner.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/flexcop-i2c.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/flexcop-sram.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/flexcop-eeprom.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/flexcop-misc.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/flexcop-hw-filter.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/flexcop-dma.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/bttv-driver.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/bttv-cards.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/bttv-if.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/bttv-risc.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/bttv-vbi.o
    CC [M] /usr/local/src/v4l-dvb-experimental/v4l/bttv-i2c.o
    /usr/local/src/v4l-dvb-experimental/v4l/bttv-i2c.c:288: error: unknown field ‘algo_control’ specified in initializer
    /usr/local/src/v4l-dvb-experimental/v4l/bttv-i2c.c:288: warning: initialization from incompatible pointer type
    make[3]: *** [/usr/local/src/v4l-dvb-experimental/v4l/bttv-i2c.o] Error 1
    make[2]: *** [_module_/usr/local/src/v4l-dvb-experimental/v4l] Error 2
    make[2]: Leaving directory `/usr/src/linux-2.6.24.3′
    make[1]: *** [default] Error 2
    make[1]: Leaving directory `/usr/local/src/v4l-dvb-experimental/v4l’
    make: *** [all] Error 2

  14. Comment by renato gallo:

    http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/patch-2.6.23-git9.log
    algo_control è stato rimosso sin dal git3 del 2.6.23

  15. Comment by renato gallo:

    opps git9

  16. Comment by renato gallo:

    quindi a meno di non riuscire a patchare la scelta è tv con computer bucato dagli hackers oppure non tv e computer blindato…. mmmmm …..
    qualche geniaccio del c in giro ???

  17. Comment by renato gallo:

    ah dimenticavo …
    si potrebbe includere nella patch anche il fatto che vorrei non dover rimuovere il modulo della webcam ;)

  18. Comment by renato gallo:

    proverei il 2.6.25-test3 ma ho una nvidia ….

    —snip dal changelog—–

    commit 9dc625e72309e1c919ea3e7f51d0ffca96123787
    Author: Peer Chen
    Date: Mon Feb 4 23:50:13 2008 -0800

    PCI: quirks: set ‘En’ bit of MSI Mapping for devices onHT-based nvidia platform

    According to HT spec, to get message interrupt from devices mapped to HT
    interrupt message, the ‘En’ bit of MSI Mapping capability need to be set.
    The patch do this setting in quirks code for the devices on HT-based nvidia
    platform.

    [akpm@linux-foundation.org: coding-style fixes]

    Signed-off-by: Andy Currid
    Signed-off-by: Peer Chen
    Cc: “Eric W. Biederman”
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    —–/snip——————–

  19. Comment by renato gallo:

    make LINUXINCLUDE=”-I`pwd`/linux/include -I`pwd`/v4l -I/usr/src/kernels/2.6.24.3/include/ -Iinclude -include include/linux/autoconf.h”
    make -C /usr/src/v4l-dvb-experimental/v4l
    make[1]: Entering directory `/usr/src/v4l-dvb-experimental/v4l’
    creating symbolic links…
    make -C /lib/modules/2.6.24.2/build SUBDIRS=/usr/src/v4l-dvb-experimental/v4l modules
    make[2]: Entering directory `/usr/src/linux-2.6.24.2′
    CC [M] /usr/src/v4l-dvb-experimental/v4l/dvb_net.o
    /usr/src/v4l-dvb-experimental/v4l/dvb_net.c: In function ‘dvb_net_setup’:
    /usr/src/v4l-dvb-experimental/v4l/dvb_net.c:1289: error: ’struct net_device’ has no member named ‘hard_header_cache’
    make[3]: *** [/usr/src/v4l-dvb-experimental/v4l/dvb_net.o] Error 1
    make[2]: *** [_module_/usr/src/v4l-dvb-experimental/v4l] Error 2
    make[2]: Leaving directory `/usr/src/linux-2.6.24.2′
    make[1]: *** [default] Error 2
    make[1]: Leaving directory `/usr/src/v4l-dvb-experimental/v4l’
    make: *** [all] Error 2

  20. Comment by renato gallo:

    http://www.mail-archive.com/netdev@vger.kernel.org/msg50115.html
    aiuto

  21. Comment by luca:

    Rieccomi, l’exploit sfrutta una vulnerabilità del kernel in locale, quindi permette sostanzialmente una exalation di privilegi, ma io ho un pc desktop dove ci accedo solo io, sempre dietro firewall e con nessun servizio esposto come ssh o simili, raramente aggiorno il kernel se non per qualche esigenza particolare!

  22. Comment by renato gallo:

    era il 4° o il 7° comandamento “sii paranoico” nel decalogo del buon sistemista ? :P

  23. Comment by luca:

    Eheh,
    ovviamente dipende dal contesto in cui si opera!

    Non essendo sistemista non ho mai avuto la s/fortuna di leggere i vari comandamenti!

  24. Comment by renato gallo:

    era il 9° :P

  25. Pingback by Luca Porcu web site - WordPress » AverMedia m115 e kernel 2.6.25:

    […] http://www.lucaporcu.com/modules/wordpress/2007/07/07/avermedia-m115-su-linux/ Filed under: fedora […]

  26. Comment by comincia a dare segni di vita:

    Linux MONSTER 2.6.26-rc3 #1 SMP Sun May 25 22:13:08 CEST 2008 i686 Intel(R) Core(TM)2 CPU T5600 @ 1.83GHz GenuineIntel GNU/Linux
    con questo kernel testing
    va senza fare niente altro che creare il firmware
    (il file xc3028-v27.fw)….
    fa l’autodetect correttamente.
    ora devo solo trovare un’antenna decente….

  27. Comment by antenna:

    ah a proposito…
    qualcuno sa qual’è l’antenna tv portatile + potente in commercio ?

  28. Comment by luca:

    ahah, sei sempre avanti, io sono fermo al 2.6.25 :D

    per l’antenna non saprei, se trovi fammi sapere, sarei interessato anche io il digitale terrestre con l’antenna portatile non lo prende benissimo :D

Leave a comment