Compilar tvheadend en OpenWrt Chaos Calmer 15.05 para HG556a

Compilar tvheadend en OpenWrt Chaos Calmer 15.05 para HG556a

Siguiendo con el tema de los receptores usb-dvb, al parecer, no existe el paquete TVheadend, como tal en los repositorios de OpenWRT Chaos Calmer 15.05.

     Como nuestro compañero jj JJ, está enfrascado en un projecto, y solamente le falta este paquete para su Huawei HG556a, me he decidido a compilar uno.

 El paquete resultante de la compilación es: tvheadend_4.0.5-2_brcm63xx.ipk.

     Pero para aquellos, que quieran saber como compilarlo para otras plataformas, aquí lo explico:

     Entramos en el directorio donde reside nuestro openwrt, y packages en mi caso:

# cd /home/openwrt/openwrt-dvb-t/package

Creamos y entramos en el subdirectorio custom:

# mkdir custom
# cd custom

Creamos el fichero Config.in incorporando el texto que le sigue:

# nano Config.in
config TVHEADEND_CWC_SUPPORT
 bool "NewCamd support"
 default y
config TVHEADEND_LINUXDVB_SUPPORT
 bool "Linux DVB support"
 default y
config TVHEADEND_DVBSCAN_SUPPORT
 bool "Fetch DVB-scan data"
 depends on TVHEADEND_LINUXDVB_SUPPORT
 default TVHEADEND_LINUXDVB_SUPPORT
config TVHEADEND_AVAHI_SUPPORT
 bool "Avahi client support"
 select PACKAGE_libavahi-client
 default n

 Creamos el fichero Makefile:

# nano Makefile

# Copyright (C) 2015 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=tvheadend
PKG_VERSION:=4.0.5
PKG_RELEASE:=2
PKG_SOURCE_SUBDIR:=$(PKG_NAME)
PKG_SOURCE_VERSION:=v$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/tvheadend/tvheadend.git
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
PKG_LICENSE:=GPL-3.0
PKG_LICENSE_FILES:=LICENSE.md
PKG_FIXUP:=autoreconf
PKG_USE_MIPS16:=0
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
define Package/tvheadend
  SECTION:=multimedia
  CATEGORY:=Multimedia
  TITLE:=Tvheadend is a TV streaming server for Linux
  DEPENDS:=+libopenssl +librt +zlib +TVHEADEND_AVAHI_SUPPORT:libavahi-client
  URL:=https://tvheadend.org
  MAINTAINER:=Jan Čermák <jan.cermak@nic.cz>
endef
define Package/tvheadend/description
  Tvheadend is a TV streaming server and recorder for Linux, FreeBSD and Android
  supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV, SAT>IP and HDHomeRun as input sources.
  Tvheadend offers the HTTP (VLC, MPlayer), HTSP (Kodi, Movian) and SAT>IP streaming.
endef
define Package/tvheadend/config
  menu "Configuration"
  depends on PACKAGE_tvheadend
  source "$(SOURCE)/Config.in"
  endmenu
endef
ifeq ($(CONFIG_TVHEADEND_CWC_SUPPORT),)
  CONFIGURE_ARGS += --disable-cwc
endif
ifeq ($(CONFIG_TVHEADEND_LINUXDVB_SUPPORT),)
  CONFIGURE_ARGS += --disable-linuxdvb
endif
ifeq ($(CONFIG_TVHEADEND_DVBSCAN_SUPPORT),)
  CONFIGURE_ARGS += --disable-dvbscan
endif
ifeq ($(CONFIG_TVHEADEND_AVAHI_SUPPORT),)
  CONFIGURE_ARGS += --disable-avahi
else
  CONFIGURE_ARGS += --enable-avahi
endif
CONFIGURE_ARGS += \
 --arch=$(ARCH) \
 --disable-dbus_1 \
 --disable-libav \
 --enable-bundle
define Build/Prepare
 $(call Build/Prepare/Default)
 echo 'Tvheadend $(shell echo $(PKG_SOURCE_VERSION) | sed "s/^v//")~openwrt$(PKG_RELEASE)' \
  > $(PKG_BUILD_DIR)/debian/changelog
endef
define Package/conffiles
/etc/config/tvheadend
endef
define Package/tvheadend/install
 $(INSTALL_DIR) $(1)/etc/init.d
 $(INSTALL_BIN) ./files/tvheadend.init $(1)/etc/init.d/tvheadend
 $(INSTALL_DIR) $(1)/etc/config
 $(INSTALL_CONF) ./files/tvheadend.config $(1)/etc/config/tvheadend
 $(INSTALL_DIR) $(1)/usr/bin
 $(INSTALL_BIN) $(PKG_BUILD_DIR)/build.linux/tvheadend $(1)/usr/bin/
endef
$(eval $(call BuildPackage,tvheadend))

Creamos y entramos en el subdirectorio files

# mkdir files
# cd files

Creamos el fichero tvheadend.config:

#nano tvheadend.config
#config tvheadend service
#  option nosyslog '0'
#  option use_temp_epgdb '0'
#  option config_path '/etc/tvheadend'
config tvheadend server
 option ipv6 '1'
#  option bindaddr '0.0.0.0'
#  option http_port '9981'
#  option http_root '/tvheadend'
#  option htsp_port '9982'
#  option htsp_port2 '9983'
#  option xspf '0'

 Creamos el fichero tvheadend.init:

#nano tvheadend.init
#!/bin/sh /etc/rc.common
START=99
STOP=00
USE_PROCD=1
PROG=/usr/bin/tvheadend
TEMP_CONFIG=/tmp/tvheadend
PERSISTENT_CONFIG=/etc/tvheadend
execute_first_run() {
 "$PROG" -c "$1" -B -C -A >/dev/null 2>&1
}
ensure_config_exists() {
 local config_path
 config_load tvheadend
 config_get config_path service config_path
 if [ -z "$config_path" ]; then
  [ -d "$PERSISTENT_CONFIG" ] || execute_first_run "$PERSISTENT_CONFIG"
 else
  # if the configuration directory is empty, empty config with grant-all ACL is created
  [ -d "$config_path" ] && [ "$(ls -A $config_path)" ] || execute_first_run "$config_path"
 fi
 # if use_temp_epgdb is enabled (default), most of the config is put to config_path
 # (or /etc/config), except for epgdb.v2, which grows quite large and is write-heavy,
 # so it's put into volatile tmpfs
 # epgdb.v2 is created and symlinked to main config dir upon each start (if it doesn't exist)
 config_get_bool use_temp_epgdb service use_temp_epgdb 1
 if [ "$use_temp_epgdb" == "1" ]; then
  TEMP_EPG="${TEMP_CONFIG}/epgdb.v2"
  [ ! -f "$TEMP_EPG" ] && mkdir -p "$TEMP_CONFIG" && touch "$TEMP_EPG" && chmod 700 "$TEMP_EPG"
  [ -z "$config_path" ] && config_path="$PERSISTENT_CONFIG"
  ln -sf "$TEMP_EPG" "${config_path}/epgdb.v2"
 fi
}
load_uci_config() {
 config_load tvheadend
 config_get config_path service config_path "$PERSISTENT_CONFIG"
 [ -n "$config_path" ] && procd_append_param command -c "$config_path"
 config_get_bool nosyslog service nosyslog 0
 [ "$nosyslog" -eq 1 ] && procd_append_param command --nosyslog
 config_get_bool ipv6 server ipv6 0
 [ "$ipv6" -eq 1 ] && procd_append_param command --ipv6
 config_get bindaddr server bindaddr
 [ -n "$bindaddr" ] && procd_append_param command --bindaddr "$bindaddr"
 config_get http_port server http_port
 [ -n "$http_port" ] && procd_append_param command --http_port "$http_port"
 config_get http_root server http_root
 [ -n "$http_root" ] && procd_append_param command --http_root "$http_root"
 config_get htsp_port server htsp_port
 [ -n "$htsp_port" ] && procd_append_param command --htsp_port "$htsp_port"
 config_get htsp_port2 server htsp_port2
 [ -n "$htsp_port2" ] && procd_append_param command --htsp_port "$htsp_port2"
 config_get xspf server xspf 0
 [ "$xspf" -eq 1 ] && procd_append_param command --xspf
}
start_service() {
 ensure_config_exists
 procd_open_instance
 procd_set_param file /etc/config/tvheadend
 procd_set_param command "$PROG" -B
 load_uci_config
 procd_close_instance
}

Vamos a comprobar y seleccionar el nuevo paquete para ser compilado, cambiando al directorio principal de openwrt, en mi caso:

# cd /home/openwrt/openwrt-dvb-t

 Arrancamos el menuconfig:

# make -j4 menuconfig

Vamos a la sección multimedia, y seleccionamos el programa tvheadend, tras salir y grabar nuestro .config, ya podríamos lanzar la compilación:

tvhead_menuconf

#make -j4 V=99

Tras unos minutos o tras varias horas, dependiendo de los paquetes seleccionados y la potencia de la
máquina que compila, podemos encontrar en el directorio:

 # /home/openwrt/openwrt-dvb-t/bin/brcm63xx/packages/base/tvheadend_4.0.5-2_brcm63xx.ipk

Que podemos copiar en nuestra router al directorio /tmp e instalar con:

# opkg install tvheadend_4.0.5-2_brcm63xx.ipk

Espero que esto os sea de utilidad.

33 comentarios

  1. Hola Josemi Alcala:

    ¿Lo has podido hacer con mi tutorial?,

    ¿O puedo ayudarte en algo?

    Quedo a la espera de tu respuesta.

    Didac.

  2. Daniel

    Buenas tardes Diidac,
    ¿Puedes indicarme algún tutorías para que hg556a reconozca mi sintonizador de TV?

    El driver en Linux es el dvb-usb-dib0700-1.20.fw.

    Gracias y un saludo

    Daniel

  3. Hola Daniel:

    Indícame de que Marca/Modelo es tu sintonizador de TV, y miro a ver en que te puedo ayudar.

    Didac.

  4. Buenas, DIdac. Ante todo mi humilde aviso de que soy un autentico monito en linux, copio y pego como voy entendiendo de los foros y tutoriales (me he ido leyendo y practicando casi todo lo encontrado sobre el tema que he podido medio entender) pero a la hora de la verdad estoy más acostumbrado a Windows… No tengo miedo y ya hago mis compilaciones de openwrt y demás (eso si, sin exito para mi fin) y estoy dispuesto a aprender y a recibir ayuda…

    Tengo un TDT USB aqprox, al ponerlo en cualquier pc con ubuntu me dice que es ID 15a4:9016 Afatech Technologies, Inc. AF9015. Ya me ha dado algun quebradero de cabeza para hacerlo funcionar en PCs, pero se ha conseguido finalmente en Ubuntu y Lubuntu (kodibuntu).

    Quisiera no necesitar tener un pc encendido como servidor de tvheadend y aqui me tienes, con un router comtrend ar-5387un (con el que pretendo hacer lo del tvheadend, que veo que junto al Nucom tiene mas RAM: 64mb y el micro va a 320mhz), otro router de Movistar, el amper asl 26555 (como punto de acceso por cable, tiene 32mb de RAM pero el micro es algo superior 384mhz), y un Nucom R5010 (como punto de acceso por wifi, es muy parecido al comtrend en prestaciones).con estos he estado probando y aprendiendo a usar el openwrt, como digo a base de copiar y pegar, usando la lógica y tal, pero a lo sencillo…

    He compilado para el ar-5387un un openwrt practicamente limpio con Luci y tvheadend, pero no me queda claro como embeber los archivos necesarios para que funcione el USB tdt. Pero creo que tan limpio que no reconoce el puerto USB, dmesg no me dice nada de usb. Al pedir "ls" no salen ningun dato. lsusb -ash not found, al intentar instalar kmod-usb2 kmod-usb-uhci kmod-usb-ohci me da error de kernel (* satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-usb2:
    * kernel (= 3.10.49-1-ad222baab7cf17d00e255c5edc11fa85) *

    kmod-usb-core y kmod-input-core Parecen que están al día, se ve que los metí correctamente en mi compilación (reconozco que a saber como… jajaja)

    Estos archivos estan dentro del ruter en la carpeta /lib/modules/3.10.49/ tras la instalacion mediante winscp, así como af9013.ko, dvb-core.ko, dvb-pll.ko y otros que he visto en otro tuto que hacían falta para echar a andar el tdt y desde ahí intento instalarlos, descargados gracias a ti, que no he encontrado otro sitio donde descargarlos, en el repo de linuxtv no están disponible o no he sabido encontrarlos. Tambien he introducido por winscp el firmware dvb-usb-af9015.fw en la carpeta /lib/firmware, pero no veo cambios ni efectos positivos…

    Por otro lado me pasa otra cosa graciosa con el tvheadend: cuando intento entrar por primera vez me pide usuario y contraseña, y siempre me desautoriza. He conseguido entrar dando la orden "tvheadend -c /etc/tvheadend -C" y borrando desde winscp los archivos de configuracion de acceso, pero una vez dentro, tras modificar datos de acceso y volver a intentarlo tras apagar y encender el servicio o el router, se ve que el sistema no recuerda los cambios nunca… otra vez tengo que borrar los archivos de configuración de acceso y volver a empezar… algo me estoy dejando atras… Y por supuesto en los tv adapters, no me aparecen opciones, es decir, no sale mi tdt USB…

    Y esto es todo lo que he conseguido… osea, nada…

    Echame una mano, porfa, que ando más perdido que la madre de Marco… Se que es un tochaco, pero quería darte toda la info posible de avances y posibilidades… Si me dices que quiza me vaya mejor cambiar al ASL-26555 para este fin, o si sencillamente todo es una broma linuxera y que nadie ha conseguido esto, lo aceptaré. No quiero nada raro de TV por satelite ni iptv (por ahora…), solo ver la TDT en mis dispositivos con KODI por toda la casa…

  5. Hola Sergio Fernandez:

    No he trabajado con el AR-5387un, y me preocupa el rendimiento de CPU en el equipo, pero ya lidiaremos
    con ello más adelante.

    Bien, lo primero, en cuanto a la compilación de OpenWRT, me muestras error de dependencia de kernel, más propia de una
    versión Barrier Breaker 14.07-rc3, es decir una Release Candidate, ¿Puede ser?.

    El error, que muestra, es que has compilado un kernel específico, y cuando quieres instalar un mod como paquete, no te deja
    insertarlo por incompatibilidad de versión kernel, es por ello, que si persistes en hacerlo con esa versión, compila aquellas
    aplicaciones que no te deje insertar como paquete.

    Yo comenzaría haciendo una prueba con:
    https://downloads.openwrt.org/chaos_calmer/15.05/brcm63xx/generic/openwrt-15.05-brcm63xx-generic-AR-5387un-squashfs-cfe.bin

    El la última versión Chaos Calmer, estable, que te permite utilizar el módulo wifi, sin Luci, (creo), pero con
    todos los módulos USB y drivers necesarios, para un paquetaje básico.

    Pruébalo, y saca un listado de drivers, aplicaciones, etc, que lleve,(con opkg).

    Seguimos hablando.

    Didac.

  6. Hola Daniel:

    Me alegro haber sido de ayuda.

    Quedo a tu disposición para cualquier otra cosa.

    Didac.

  7. Gracias, Didac, de verdad me alegra que me ayudes, estaba ya medio loco.

    Al final he cambiado todo el chiringuito que tenía de routers. Como no me salia nada con lsusb en el comtrend me he pasado al router asl 26555. Es un ramips no se qué… y despues me he dado cuenta… que solamente tenía que instalar usbutils… En este me ha pasado lo mismo. Si, soy un borrego, ya lo avisé.

    Veamos, en este router tengo el CHAOS CALMER (15.05, r46767), y aunque me parece haber avanzado algo por lo del lsusb:

    root@OpenWrt:/lib/modules/3.18.20# lsusb
    Bus 001 Device 002: ID 15a4:9016 Afatech Technologies, Inc. AF9015 DVB-T USB2.0 stick
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

    me he quedado atascado en lo de instalar los modulos que me pide el grep depends. Solo son 3, pero me da error de instalación, lo he intentado por individual, cambiando el orden como indicaba el amigo jj JJ en el otro post de tu blog, rezando un padrenuestro… pero nada, siempre igual.

    root@OpenWrt:~# strings /lib/modules/3.18.20/dvb-usb-af9015.ko | grep depends
    depends=dvb_usb_v2,usbcore,rc-core

  8. le he dado la orden mediante un script que he visto por otro tuto y he agregado otros modulos que allí habian por si acaso…

    for module in `find /lib/modules/3.18.20/ -name "*.ko"`; do insmod $module; done

    Y la respuesta es la siguiente: así ves lo que tengo metido, si sobra o falta algo:

    module is already loaded – arc4
    module is already loaded – cfg80211
    module is already loaded – compat
    module is already loaded – crc-ccitt
    module is already loaded – crc-itu-t
    module is already loaded – crypto_blkcipher
    module is already loaded – dwc2
    module is already loaded – dwc2_platform
    module is already loaded – eeprom_93cx6
    module is already loaded – gpio-button-hotplug
    module is already loaded – ip6_tables
    module is already loaded – ip6t_REJECT
    module is already loaded – ip6table_filter
    module is already loaded – ip6table_mangle
    module is already loaded – ip6table_raw
    module is already loaded – ip_tables
    module is already loaded – ipt_MASQUERADE
    module is already loaded – ipt_REJECT
    module is already loaded – iptable_filter
    module is already loaded – iptable_mangle
    module is already loaded – iptable_nat
    module is already loaded – iptable_raw
    module is already loaded – ipv6
    module is already loaded – leds-gpio
    module is already loaded – ledtrig-usbdev
    module is already loaded – mac80211
    module is already loaded – nf_conntrack
    module is already loaded – nf_conntrack_ftp
    module is already loaded – nf_conntrack_ipv4
    module is already loaded – nf_conntrack_ipv6
    module is already loaded – nf_conntrack_rtcache
    module is already loaded – nf_defrag_ipv4
    module is already loaded – nf_defrag_ipv6
    module is already loaded – nf_log_common
    module is already loaded – nf_log_ipv4
    module is already loaded – nf_log_ipv6
    module is already loaded – nf_nat
    module is already loaded – nf_nat_ftp
    module is already loaded – nf_nat_ipv4
    module is already loaded – nf_nat_masquerade_ipv4
    module is already loaded – nf_reject_ipv4
    module is already loaded – nf_reject_ipv6
    module is already loaded – nls_base
    module is already loaded – ppp_async
    module is already loaded – ppp_generic
    module is already loaded – pppoe
    module is already loaded – pppox
    module is already loaded – rt2800lib
    module is already loaded – rt2800mmio
    module is already loaded – rt2800soc
    module is already loaded – rt2x00lib
    module is already loaded – rt2x00mmio
    module is already loaded – rt2x00soc
    module is already loaded – slhc
    module is already loaded – usb-common
    module is already loaded – usbcore
    module is already loaded – x_tables
    module is already loaded – xt_CT
    module is already loaded – xt_LOG
    module is already loaded – xt_REDIRECT
    module is already loaded – xt_TCPMSS
    module is already loaded – xt_comment
    module is already loaded – xt_conntrack
    module is already loaded – xt_id
    module is already loaded – xt_limit
    module is already loaded – xt_mac
    module is already loaded – xt_mark
    module is already loaded – xt_multiport
    module is already loaded – xt_nat
    module is already loaded – xt_state
    module is already loaded – xt_tcpudp
    module is already loaded – xt_time
    module is already loaded – ohci-platform
    module is already loaded – ehci-platform
    module is already loaded – ohci-hcd
    failed to insert /lib/modules/3.18.20/rc-core.ko
    failed to insert /lib/modules/3.18.20/tda18218.ko
    failed to insert /lib/modules/3.18.20/dvb-usb-af9015.ko
    module is already loaded – ehci-hcd
    failed to insert /lib/modules/3.18.20/af9013.ko
    failed to insert /lib/modules/3.18.20/dvb-core.ko
    failed to insert /lib/modules/3.18.20/dvb-pll.ko
    failed to insert /lib/modules/3.18.20/dvb-usb.ko
    failed to insert /lib/modules/3.18.20/dvb_usb_v2.ko
    module is already loaded – input-core

  9. Me preguntabas que tenía instalado en el Comtrend, te doy el listado de opkg de este, seguro que tu ves algo que yo no:

    root@OpenWrt:~# opkg list-installed
    base-files – 157-r46767
    busybox – 1.23.2-1
    dnsmasq – 2.73-1
    dropbear – 2015.67-1
    firewall – 2015-07-27
    fstools – 2015-05-24-09027fc86babc3986027a0e677aca1b6999a9e14
    hostapd-common – 2015-03-25-1
    ip6tables – 1.4.21-1
    iptables – 1.4.21-1
    iw – 3.17-1
    jshn – 2015-06-14-d1c66ef1131d14f0ed197b368d03f71b964e45f8
    jsonfilter – 2014-06-19-cdc760c58077f44fc40adbbe41e1556a67c1b9a9
    kernel – 3.18.20-1-c8b57a131072a3198e594822481af3e0
    kmod-cfg80211 – 3.18.20+2015-03-09-3
    kmod-crypto-aes – 3.18.20-1
    kmod-crypto-arc4 – 3.18.20-1
    kmod-crypto-core – 3.18.20-1
    kmod-eeprom-93cx6 – 3.18.20-1
    kmod-gpio-button-hotplug – 3.18.20-1
    kmod-input-core – 3.18.20-1
    kmod-ip6tables – 3.18.20-1
    kmod-ipt-conntrack – 3.18.20-1
    kmod-ipt-core – 3.18.20-1
    kmod-ipt-nat – 3.18.20-1
    kmod-ipv6 – 3.18.20-1
    kmod-leds-gpio – 3.18.20-1
    kmod-ledtrig-usbdev – 3.18.20-1
    kmod-lib-crc-ccitt – 3.18.20-1
    kmod-lib-crc-itu-t – 3.18.20-1
    kmod-mac80211 – 3.18.20+2015-03-09-3
    kmod-nf-conntrack – 3.18.20-1
    kmod-nf-conntrack6 – 3.18.20-1
    kmod-nf-ipt – 3.18.20-1
    kmod-nf-ipt6 – 3.18.20-1
    kmod-nf-nat – 3.18.20-1
    kmod-nf-nathelper – 3.18.20-1
    kmod-nls-base – 3.18.20-1
    kmod-ppp – 3.18.20-1
    kmod-pppoe – 3.18.20-1
    kmod-pppox – 3.18.20-1
    kmod-rt2800-lib – 3.18.20+2015-03-09-3
    kmod-rt2800-mmio – 3.18.20+2015-03-09-3
    kmod-rt2800-soc – 3.18.20+2015-03-09-3
    kmod-rt2x00-lib – 3.18.20+2015-03-09-3
    kmod-rt2x00-mmio – 3.18.20+2015-03-09-3
    kmod-slhc – 3.18.20-1
    kmod-usb-core – 3.18.20-1
    kmod-usb-dwc2 – 3.18.20-1
    kmod-usb-ohci – 3.18.20-1
    kmod-usb-uhci – 3.18.20-1
    kmod-usb2 – 3.18.20-1
    libblobmsg-json – 2015-06-14-d1c66ef1131d14f0ed197b368d03f71b964e45f8
    libc – 0.9.33.2-1
    libgcc – 4.8-linaro-1
    libip4tc – 1.4.21-1
    libip6tc – 1.4.21-1
    libiwinfo – 2015-06-01-ade8b1b299cbd5748db1acf80dd3e9f567938371
    libiwinfo-lua – 2015-06-01-ade8b1b299cbd5748db1acf80dd3e9f567938371
    libjson-c – 0.12-1
    libjson-script – 2015-06-14-d1c66ef1131d14f0ed197b368d03f71b964e45f8
    liblua – 5.1.5-1
    libnl-tiny – 0.1-4
    libpthread – 0.9.33.2-1
    librt – 0.9.33.2-1
    libubox – 2015-06-14-d1c66ef1131d14f0ed197b368d03f71b964e45f8
    libubus – 2015-05-25-f361bfa5fcb2daadf3b160583ce665024f8d108e
    libubus-lua – 2015-05-25-f361bfa5fcb2daadf3b160583ce665024f8d108e
    libuci – 2015-04-09.1-1
    libuci-lua – 2015-04-09.1-1
    libusb-1.0 – 1.0.19-1
    libxtables – 1.4.21-1
    lua – 5.1.5-1
    luci – git-15.248.30277-3836b45-1
    luci-app-firewall – git-15.248.30277-3836b45-1
    luci-base – git-15.248.30277-3836b45-1
    luci-lib-ip – git-15.248.30277-3836b45-1
    luci-lib-nixio – git-15.248.30277-3836b45-1
    luci-mod-admin-full – git-15.248.30277-3836b45-1
    luci-proto-ipv6 – git-15.248.30277-3836b45-1
    luci-proto-ppp – git-15.248.30277-3836b45-1
    luci-theme-bootstrap – git-15.248.30277-3836b45-1
    mtd – 21
    netifd – 2015-06-08-8795f9ef89626cd658f615c78c6a17e990c0dcaa
    odhcp6c – 2015-07-13-024525798c5f6aba3af9b2ef7b3af2f3c14f1db8
    odhcpd – 2015-05-21-2ebf6c8216287983779c8ec6597d30893b914a7c
    opkg – 9c97d5ecd795709c8584e972bfdf3aee3a5b846d-7
    ppp – 2.4.7-6
    ppp-mod-pppoe – 2.4.7-6
    procd – 2015-08-16-0da5bf2ff222d1a499172a6e09507388676b5a08
    rpcd – 2015-05-17-3d655417ab44d93aad56a6d4a668daf24b127b84
    swconfig – 10
    ubox – 2015-07-14-907d046c8929fb74e5a3502a9498198695e62ad8
    ubus – 2015-05-25-f361bfa5fcb2daadf3b160583ce665024f8d108e
    ubusd – 2015-05-25-f361bfa5fcb2daadf3b160583ce665024f8d108e
    uci – 2015-04-09.1-1
    uhttpd – 2015-08-17-f91788b809d9726126e9cf4384fedbbb0c5b8a73
    uhttpd-mod-ubus – 2015-08-17-f91788b809d9726126e9cf4384fedbbb0c5b8a73
    usbutils – 007-1
    usign – 2015-05-08-cf8dcdb8a4e874c77f3e9a8e9b643e8c17b19131
    wpad-mini – 2015-03-25-1
    zlib – 1.2.8-1

    Con respecto al tvheadend aun no lo he metido todavia, efectivamente no esta en el repositorio, pero el .ipk de la versión anterior lo puedo meter desde /temp sin problemas… o ya me los encontrare y seguire llorandote…

    Gracias!

  10. Hola Sergio Fernandez:

    Ya tengo toda la información que necesito, para ayudarte, me pongo en ello.

    En breve te digo algo.

    Didac.

  11. Terence Lee

    I followed your instructions to try to compile for ar71xx, I needed to make the following changes:

    1) for the Makefile:

    – DEPENDS:=+iconv +libiconv-full +libopenssl +librt +zlib +TVHEADEND_AVAHI_SUPPORT:libavahi-client
    + DEPENDS:=+libopenssl +librt +zlib +TVHEADEND_AVAHI_SUPPORT:libavahi-client

    >> below lines start with tab instead of space
    define Package/tvheadend/install
    $(INSTALL_DIR) $(1)/etc/init.d
    $(INSTALL_BIN) ./files/tvheadend.init $(1)/etc/init.d/tvheadend
    $(INSTALL_DIR) $(1)/etc/config
    $(INSTALL_CONF) ./files/tvheadend.config $(1)/etc/config/tvheadend
    $(INSTALL_DIR) $(1)/usr/bin
    $(INSTALL_BIN) $(PKG_BUILD_DIR)/build.linux/tvheadend $(1)/usr/bin/
    endef

    2) needed to select «iconv» in «make menuconfig»

    3) patched build_dir/target*/tvheadend/src/intlconv.c
    line 27: return iconv(cd, (const char **)inbuf, inbytesleft, outbuf, outbytesleft);

  12. Marco Castro

    Ciao Didac mi chiamo Marco sono italiano e non sono un programmatore ma un comune utente della rete che cerca guide su internet
    ho sbloccato il mio router HG553
    ho provato ad installare il tuo ipk tvheadend sul mio router huawei hg553 ma non funziona
    potresti aiutarmi
    cordiali saluti
    Marco

    • Ciao Marco:
      La cosa principale è sapere che USB TV STICK hai. Hai installato i driver linux per il tuo modello specifico?

      Aspetto le tue notizie.

      Didac

      Traduzione con Google Traslator, :).

      • Marco Castro

        Ciao Didac
        sono davvero imbarazzato solo adesso leggo la tua risposta e noto che mi hai risposto solo dopo tre giorni spero che accetterai le mie scuse
        Sai perchè oggi ho letto il post….ho avuto un lampo di genio… ho capito che per installare il pacchetto da te fornito dovevo prima entrare nella directory tmp cosa che prima non facevo
        installazione è andata bene quando avrò un pò di tempo proverò a mettere il dvt usb ( sky digital key) e comunque andranno le cose mi farò vivo per aggiornarti
        Ancora molte Grazie

        • Ciao Marco
          Non preoccuparti, a volte non abbiamo tempo per tutto.
          Sono contento che sia stato risolto. Spero che presto, il tuo progetto, finisca bene.
          Saluti dalla Spagna.

          Didac

          • Marco Castro

            Ciao Didac
            non ho risolto nulla ho solo installato il pacchetto tvheadend poi ho provato due usb stick diverse ma non riesco a farle funzionare… penso che io non abbia nel mio HG553 openwrt i moduli kmod-dvb-usb e kmod-dvb-core o meglio li ho messi tramite WinSCP ma poi

            root@OpenWrt2:~# strings /lib/modules/3.18.20/af9033.ko | grep depends
            depends=i2c-core
            root@OpenWrt2:~# strings /lib/modules/3.18.20/dvb-core.ko | grep depends
            depends=
            root@OpenWrt2:~# strings /lib/modules/3.18.20/dvb-usb.ko | grep depends
            depends=rc-core,dvb-core,usbcore,i2c-core,input-core
            root@OpenWrt2:~# lsusb
            Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
            Bus 001 Device 002: ID 07ca:a867 AVerMedia Technologies, Inc. AVerTV DVB-T (A867 )
            Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

            root@OpenWrt2:~# lsmod
            arc4 1232 2
            b43 350496 0
            cfg80211 204304 2 b43
            compat 1120 3 b43
            crc_ccitt 944 1 ppp_async
            crypto_blkcipher 9744 1 arc4
            ehci_hcd 38608 1 ehci_platform
            ehci_platform 3360 0
            gpio_button_hotplug 5936 0
            i2c_core 15120 3 v4l2_common
            i2c_dev 4032 0
            ip6_tables 8976 3 ip6table_raw
            ip6t_REJECT 1104 2
            ip6table_filter 528 1
            ip6table_mangle 960 1
            ip6table_raw 496 1
            ip_tables 9200 4 iptable_nat
            ipt_MASQUERADE 544 1
            ipt_REJECT 832 2
            iptable_filter 592 1
            iptable_mangle 848 1
            iptable_nat 688 1
            iptable_raw 560 1
            ipv6 261904 32 nf_conntrack_ipv6
            ledtrig_usbdev 1872 0
            mac80211 366400 1 b43
            nf_conntrack 44896 11 nf_nat_ipv4
            nf_conntrack_ftp 5200 1 nf_nat_ftp
            nf_conntrack_ipv4 5104 8
            nf_conntrack_ipv6 5504 3
            nf_conntrack_rtcache 2400 0
            nf_defrag_ipv4 720 1 nf_conntrack_ipv4
            nf_defrag_ipv6 8864 1 nf_conntrack_ipv6
            nf_log_common 2272 2 nf_log_ipv4
            nf_log_ipv4 3056 0
            nf_log_ipv6 3200 0
            nf_nat 9472 5 nf_nat_ipv4
            nf_nat_ftp 1120 0
            nf_nat_ipv4 3920 1 iptable_nat
            nf_nat_masquerade_ipv4 1168 1 ipt_MASQUERADE
            nf_reject_ipv4 1696 1 ipt_REJECT
            nf_reject_ipv6 2016 1 ip6t_REJECT
            nls_base 4704 1 usbcore
            ohci_hcd 29216 1 ohci_platform
            ohci_platform 2784 0
            ppp_async 6304 0
            ppp_generic 20192 3 pppoe
            pppoe 7968 0
            pppox 1136 1 pppoe
            scsi_mod 80352 2 usb_storage
            sd_mod 25856 0
            slhc 3968 1 ppp_generic
            uhci_hcd 19456 0
            usb_common 1472 1 usbcore
            usb_storage 36864 0
            usbcore 113808 7 ledtrig_usbdev
            v4l2_common 3392 0
            videodev 93696 1 v4l2_common
            x_tables 9776 26 ipt_REJECT
            xt_CT 2208 0
            xt_LOG 688 0
            xt_REDIRECT 976 0
            xt_TCPMSS 2544 4
            xt_comment 400 64
            xt_conntrack 2112 10
            xt_id 400 0
            xt_limit 912 20
            xt_mac 544 0
            xt_mark 592 0
            xt_multiport 1104 0
            xt_nat 992 0
            xt_state 608 0
            xt_tcpudp 1632 12
            xt_time 1552 0

          • Ciao Marco:
               Ricorda, oltre ai moduli essenziali e comuni, devi installare quello specifico per il tuo DVB-T usb, e in alcuni casi il firmware appropriato.

            Da quello che vedo, è:
            Bus 001 Device 002: ID 07ca:a867 AVerMedia Technologies, Inc. AVerTV DVB-T (A867)

            Per le informazioni che sono stato in grado di trovare, è composto da:
               Afatech AF9035 e un sintonizzatore MaxLinear mxl5007. È un’assemblea molto insolita.

            Al momento, per Afatech AF9035, è necessario installare il modulo bridge USB, dbb-usb-af9035.ko e come controllo af9033.ko.
               Per il sintonizzatore Maxliner mxl5007, è necessario installare mxl5007t.ko.
               Come firmware, puoi provare l’ultima versione dvb-usb-af9035-02.fw
              
               L’elenco completo dei moduli necessari per AVerMedia AVerTV Volar HD Nano (A867) MXL5007T + AF9035B deve essere:

            insmod dvb-core.ko
            insmod dvb-pll.ko
            insmod rc-core.ko
            insmod af9033.ko
            insmod tua9001.ko
            insmod fc0011.ko
            insmod fc0012.ko
            insmod mxl5007t.ko
            insmod tda18218.ko
            insmod fc2580.ko
            insmod it913x.ko
            insmod rc-it913x-v2.ko
            insmod dvb-usb.ko
            insmod dvb_usb_v2.ko
            insmod dvb-usb-af9035.ko

            lasciare il firmware dvb-usb-af9035-02.fw nella directory / lib / firmware.

            In modo che tutto sia più semplice per te e non devi cercare tutto, ti lascio un link con tutti i moduli e il firmware.

            Marco_drivers

            Spero sinceramente che ti aiuti nel tuo obiettivo e aspetto le tue notizie

  13. Marco Castro

    Ciao Didac
    Sei il king della programmazione… sei riuscito a far fare qualcosa di impensabile ad una persona comune… il dispositivo funziona a meraviglia… davvero complimenti
    nello specifico posso dirti che non carica il modulo it913x ma funziona uguale
    io avevo letto altrove che per non perdere l’inserimento dei moduli al riavvio li ho copiati su /etc/rc.local ..ho fatto bene?
    adesso vorrei chiederti un altro piccolo aiuto anche se un pò OT
    HG553 openwrt ip 192.168.3.1 è collegato ad un frizt box 192.168.178.1 tramite wifi in modalità client WWAN
    l’indirizzo di hg553 su frizt è ip 192.168.178.18 quindi in teoria il server tvheadend è 192.168.178.18:9981
    per raggiungerlo con un cellulare android cosa devo impostare ?
    ti ringrazio ancora tanto per il tuo aiuto e spero che continuerai a scrivere nuove guide

    • Ciao Marco:
      Fare così è un modo molto primitivo, ma funziona.

      Il modo migliore sarebbe compilare un nuovo kernel con quei moduli aggiunti.
      Sfortunatamente, ora non ho il tempo di creare un ambiente di compilazione openwrt e costruirlo per te.

      Più tardi, voglio compilare versioni più aggiornate, forse è il momento in cui posso farlo.

      Per quanto mi riguarda, con percorsi statici incrociati forse puoi risolverlo o con qualcosa di semplice come mettere le maschere 255.255.0.0 sulle interfacce.

      Senza un piccolo schema della rete, posso consigliarti le cose, che sicuramente non funzioneranno.

      Avrei bisogno di più dati, ma in sole 48 ore, andrò in vacanza, non so se darei il tempo per risolverlo.

      Prova a trovare la soluzione e, se non la risolvi, possiamo tornare sull’argomento alla fine di agosto.

      Ricevi un cordiale saluto:

      Didac.

      • Marco Castro

        Ciao Didac
        pensavo che il problema si potesse risolvere impostando regole firewall o route
        penso di risolverlo cambiando indirizzo ip al Hg553 e connetterlo al router fritz con un cavo lan
        leggerò ancora altre tue guide e mi piacerebbe se ne facessi una per MPD (Music Player Daemon) in OpenWrt o per lo streaming audio in generale
        Ti ringrazio ancora per la tua disponibilità e aiuto
        Ti auguro il meglio per le tue vacanze
        A presto

        • Ciao Marco:
          È una caratteristica interessante.

          Spero che tutto vada bene

          Se hai bisogno di aiuto per lo sviluppo, sai dove trovarmi.

          saluti

          Didac.

  14. lorenzo

    hola didac
    Voy a publicar mi registro de kernel dmesg
    ————————————————–

    ] dvb-usb: found a ‘Hauppauge Nova-TD Stick (52009)’ in warm state.
    [ 33.924000] dvb-usb: will use the device’s hardware PID filter (table count: 32).
    [ 33.944000] DVB: registering new adapter (Hauppauge Nova-TD Stick (52009))
    [ 33.972000] DVB: Unable to find symbol dib7000p_attach()
    [ 33.976000] dvb-usb: no frontend was attached by ‘Hauppauge Nova-TD Stick (52009)’
    [ 33.984000] dvb-usb: will use the device’s hardware PID filter (table count: 32).
    [ 34.012000] DVB: registering new adapter (Hauppauge Nova-TD Stick (52009))
    [ 34.036000] DVB: Unable to find symbol dib7000p_attach()
    [ 34.040000] dvb-usb: no frontend was attached by ‘Hauppauge Nova-TD Stick (52009)’
    [ 34.056000] Couldn’t load IR keymap rc-dib0700-rc5
    [ 34.060000] Registered IR keymap rc-empty
    [ 34.064000] input: IR-receiver inside an USB DVB receiver as /devices/platform/ohci-platform/usb2/2-2/rc/rc0/input0
    [ 34.076000] rc0: IR-receiver inside an USB DVB receiver as /devices/platform/ohci-platform/usb2/2-2/rc/rc0
    [ 34.088000] dvb-usb: could not initialize remote control.
    [ 34.092000] dvb-usb: Hauppauge Nova-TD Stick (52009) successfully initialized and connected.
    [ 34.120000] usbcore: registered new interface driver dvb_usb_dib0700

    ———————————————————————————————————————–
    Cargué los módulos en la carpeta /lib/modules/3.18.20
    Escribí los siguientes comandos en el Local Startup

    modprobe usbcore.ko
    modprobe rc-core.ko
    modprobe dvb-core.ko
    modprobe dvb-usb.ko
    modprobe dibx000_common.ko
    modprobe dib3000mc.ko
    modprobe dvb_usb_dibusb_common.ko
    modprobe dib7000m.ko
    modprobe dib7000p.ko
    modprobe dib8000.ko
    modprobe dib9000.ko
    modprobe dib0070.ko
    modprobe dib0090.ko
    modprobe dvb_usb_dib0700.ko
    insmod usbcore.ko
    insmod rc-core.ko
    insmod dvb-core.ko
    insmod dvb-usb.ko
    insmod dibx000_common.ko
    insmod dib3000mc.ko
    insmod dvb_usb_dibusb_common.ko
    insmod dib7000m.ko
    insmod dib7000p.ko
    insmod dib8000.ko
    insmod dib9000.ko
    insmod dib0070.ko
    insmod dib0090.ko
    insmod dvb_usb_dib0700.ko
    exit 0
    ———————————————————————————————–

    instale tvheadend y no encuentre adaptadores
    Qué falta?
    Voy a enumerar los módulos cargado
    ——————————————————————-
    usbcore.ko
    rc-core.ko
    dvb-core.ko
    dvb-usb.ko
    dibx000_common.ko
    dib3000mc.ko
    dib7000m.ko
    dib9000.ko
    dib0070.ko
    dib0090.ko
    dvb_usb_dib0700.ko

    Espero poder ayudarte

    • lorenzo

      hola didac logré con los módulos y con tvheadend pero y una versión un poco vieja no hay una versión más ‘actualizada

  15. Fco Javier

    Buenas tardes Didac.

    Antes de nada agradecerte este trabajo que nos permite a personas menos metidas en la materia la posibilidad de jugar con la tecnología y conseguir lo que desde cero no conseguiríamos.

    Decirte que tengo una RTL2832 y una Dvbsky S960 funcionando perfectamente en un Comtrend VR-3025u con tus drivers del otro post y tu compilacion del tvheadend 4.0.5.

    La RTL2832 me transmite los canales de la tdt sin problemas y con buen rendimiento en este router ya que tiene doble nucleo.

    Pero cuando empece con la S960 de satelite y puede ver los programas en abierto y quise seguir avanzando y ver mi subcripcion de los canales de pago. Instale entonces una version compilada del oscam en el mismo router y conectando un lector de tarjetas usb tenia funcionando perfectamente el servidor Oscam. el problema viene cuando configuro el tvheadend con el servidor oscam que no consigo abrir los canales a los que estoy suscrito. He probado este servidor OScam con otro TVHEADEND que tengo en una raspberry pi y funciona perfectamente. Asi que creo que es el tvheadend el que no desencripta los canales.

    Despues de todo este rollo queria preguntarte si ¿compilaste el tvheadend con el modulo de desencriptado habilitado? y si has pensado en, ya que esta en la calle la nueva version de openwrt 18.06 y dispone del tvheadend 4.0.10 en su repositorio a compilar los drivers (modulos .ko) para este nuevo kernel. Asi actualizarias este gran trabajo y no tendrias que compilar el tvheadend ya que esta disponible.

    Mil gracias.

    • Hola Fco Javier:

      Hace apenas unos minutos que he llegado de vacaciones. Estaba sin cobertura de datos y no he podido comprobar ni el correo.
      Compilé este fichero Tvheadend, a petición de un usuario, no era en principio, mi idea seguir con el tema.
      Viendo que otra vez, hay interés en el mismo, SI voy a compilar un nuevo OpenWRT, si me das unos días a que conteste y solucione otros temas pendiente, volveré a instalar el entorno de compilación y a compilar un nuevo OpenWRT más actual.
      En cuanto al tema TVheadend, voy a mirar, si el que está en el repositorio tiene el módulo de encriptación OSCAM habilitado.

      Me lo miro, dame al menos una semana.

      Didac.

Los comentarios están cerrados