Compiler un driver pour une clé TNT

Bonjour à tous,

Cela fait un petit moment que je me tire le peu de cheveux qu’il me reste pour essayer de faire un ersatz de freebox double tuner avec un rapberry pi 2 et 2 clé TNT…

Cet objet de torture mentale se compose des éléments suivants :

  • un boitier MEDIAPI (fab : sb-components)
  • un raspberry pi 2
  • carte mémoire sandisk ultra 8Gb
  • clé TNT n°1 : Avermedia AverTV volar green HD
  • clé TNT n°2 : Avermedia AverTV volar HD 2
  • divers connexions pour antenne (attention à ne pas faire passer n’importe où dans mediaPI à cause des perturbations CEM)

Après avoir mis un certain temps à comprendre comment faire marcher TVHeadend et OSMC avec la clé TNT n°1, je me suis penché sur le driver de la clé n°2.

Je souhaiterai vous soumettre ma démarche pour arriver à compiler ce driver qui certes fonctionne mais me laisse encore quelques messages d’erreur avec la commande « dmesg ».

Voici donc mes étapes :

  1. Mettre à jour osmc avec « My OSMC »
  2. sudo apt-get update
  3. sudo apt-get install build-essential git
  4. dmesg pour connaitre version osmc(5ème ligne pour ce cas 4.4.16-1)
  5. sudo apt-get install rbp2-headers-4.4.16-1-osmc
  6. sudo apt-get install patchutils
  7. sudo apt-get install libproc-processtable-perl
  8. sudo ln -s /usr/src/rbp2-headers-4.4.16-1-osmc/ /lib/modules/4.4.16-1-osmc/build
  9. git clone git://linuxtv.org/media_build.git
  10. cd media_build
  11. récupérer https://github.com/raspberrypi/linux/archive/rpi-4.4.y.zip
  12. faire un tar du dossier complet mach-bcm2709 se trouvant dans le dossier \linux-rpi-4.4.y\arch\arm du fichier rpi-4.4.y.zip
  13. le mettre sur le raspberri
  14. sudo tar xvf mach-bcm2709.tar
  15. sudo cp -r mach-bcm2709/include/mach /usr/src/rbp2-headers-4.4.16-1-osmc/arch/arm/include/
  16. cd media_build
  17. ./build (assez long, entre 1 à 2h)
  18. sudo make install
  19. reboot

Cela marche mais j’ai quelques petits messages sur le port USB où est connectée la clé :

[ 4.287138] usb 1-1.5.4: new high-speed USB device number 6 using dwc_otg
[ 4.326722] systemd[1]: Cannot add dependency job for unit display-manager.service, ignoring: Unit display-manager.service failed to load: No such file or directory.
[ 4.326966] systemd[1]: Found ordering cycle on basic.target/start
[ 4.326989] systemd[1]: Found dependency on sysinit.target/start
[ 4.327009] systemd[1]: Found dependency on kbd.service/start
[ 4.327111] systemd[1]: Found dependency on remote-fs.target/start
[ 4.327131] systemd[1]: Found dependency on remote-fs-pre.target/start
[ 4.327148] systemd[1]: Found dependency on connman.service/start
[ 4.327163] systemd[1]: Found dependency on dbus.service/start
[ 4.327179] systemd[1]: Found dependency on basic.target/start
[ 4.327195] systemd[1]: Breaking ordering cycle by deleting job kbd.service/start
[ 4.327216] systemd[1]: Job kbd.service/start deleted to break ordering cycle starting with basic.target/start
[ 4.327528] systemd[1]: Found ordering cycle on basic.target/start
[ 4.327552] systemd[1]: Found dependency on sysinit.target/start
[ 4.327570] systemd[1]: Found dependency on rpcbind.service/start
[ 4.327588] systemd[1]: Found dependency on network-online.target/start
[ 4.327604] systemd[1]: Found dependency on network.target/start
[ 4.327620] systemd[1]: Found dependency on connman.service/start
[ 4.327635] systemd[1]: Found dependency on dbus.service/start
[ 4.327651] systemd[1]: Found dependency on basic.target/start
[ 4.327667] systemd[1]: Breaking ordering cycle by deleting job rpcbind.service/start
[ 4.327686] systemd[1]: Job rpcbind.service/start deleted to break ordering cycle starting with basic.target/start
[ 4.392391] usb 1-1.5.4: New USB device found, idVendor=07ca, idProduct=a110
[ 4.392416] usb 1-1.5.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4.392427] usb 1-1.5.4: Product: TD110
[ 4.392438] usb 1-1.5.4: Manufacturer: AVerMedia TECHNOLOGIES, Inc.
[ 4.392449] usb 1-1.5.4: SerialNumber: 308212100483
[ 4.451078] fuse init (API version 7.23)
[ 4.650172] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[ 4.944395] systemd-udevd[196]: starting version 215
[ 5.220754] media: Linux media interface: v0.10
[ 5.228662] WARNING: You are using an experimental version of the media stack.
> As the driver is backported to an older kernel, it doesn’t offer
> enough quality for its usage in production.
> Use it with care.
> Latest git patches (needed if you report a bug to linux-media@vger.kernel.org):
> 009a620848218d521f008141c62f56bf19294dd9 [media] cec: always check all_device_types and features
> b7cbc892532316f2abd880186301e57239a17f28 [media] cec: poll should check if there is room in the tx queue
> 83505028d859bcbb69691aabade9dc633e5b74ea [media] vivid: support monitor all mode
[ 5.244809] WARNING: You are using an experimental version of the media stack.
> As the driver is backported to an older kernel, it doesn’t offer
> enough quality for its usage in production.
> Use it with care.
> Latest git patches (needed if you report a bug to linux-media@vger.kernel.org):
> 009a620848218d521f008141c62f56bf19294dd9 [media] cec: always check all_device_types and features
> b7cbc892532316f2abd880186301e57239a17f28 [media] cec: poll should check if there is room in the tx queue
> 83505028d859bcbb69691aabade9dc633e5b74ea [media] vivid: support monitor all mode
[ 5.264333] dvb_usb_af9035 1-1.5.4:1.0: prechip_version=83 chip_version=02 chip_type=9135
[ 5.265192] usb 1-1.5.4: dvb_usb_v2: found a ‹ Avermedia AverTV Volar HD 2 (TD110) › in warm state
[ 5.266139] dvb_usb_af9035 1-1.5.4:1.0: [0] overriding tuner from 38 to 60
[ 5.267935] usb 1-1.5.4: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[ 5.268118] DVB: registering new adapter (Avermedia AverTV Volar HD 2 (TD110))
[ 5.268146] usb 1-1.5.4: media controller created
[ 5.270035] dvb_create_media_entity: media entity ‹ dvb-demux › registered.
[ 5.296855] af9033 3-0038: firmware version: LINK 3.40.1.0 - OFDM 3.40.1.0
[ 5.296885] af9033 3-0038: Afatech AF9033 successfully attached
[ 5.296968] usb 1-1.5.4: DVB: registering adapter 0 frontend 0 (Afatech AF9033 (DVB-T))…
[ 5.297008] dvb_create_media_entity: media entity ‹ Afatech AF9033 (DVB-T) › registered.
[ 5.305979] it913x 3-001c: ITE IT913X BX successfully attached
[ 5.357069] Registered IR keymap rc-avermedia-rm-ks
[ 5.357594] input: Avermedia AverTV Volar HD 2 (TD110) as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5.4/rc/rc0/input2
[ 5.357635] rc rc0: Avermedia AverTV Volar HD 2 (TD110) as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5.4/rc/rc0
[ 5.357653] usb 1-1.5.4: dvb_usb_v2: schedule remote query interval to 500 msecs
[ 5.357672] usb 1-1.5.4: dvb_usb_v2: ‹ Avermedia AverTV Volar HD 2 (TD110) › successfully initialized and connected
[ 5.357822] usbcore: registered new interface driver dvb_usb_af9035
[ 5.368043] bcm2835-wdt 3f100000.watchdog: Broadcom BCM2835 watchdog timer
[ 5.387670] gpiomem-bcm2835 3f200000.gpiomem: Initialised: Registers at 0x3f200000
[ 5.681025] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[ 6.565372] systemd-journald[165]: Received request to flush runtime journal from PID 1
[ 7.079307] smsc95xx 1-1.1:1.0 eth0: hardware isn’t capable of remote wakeup
[ 7.079592] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 7.153672] random: nonblocking pool is initialized
[ 8.787604] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 8.789025] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
[ 8.816764] 8021q: 802.1Q VLAN Support v1.8
[ 11.549653] Console: switching to colour dummy device 80x30
[ 20.688695] usb 1-1.5.4: DVB: adapter 0 frontend 0 frequency 0 out of range (174000000…862000000)

Autre problème à régler, accéder au serveur samba via un PC sous WINDOWS 10… histoire d’avoir accès aux enregistrements comme sur une freebox…