Autor Thema: OpenWrt Router mit USB DVB-S/S2/T Support und Tvheadend  (Gelesen 29544 mal)

0 Mitglieder und 4 Gäste betrachten dieses Thema.

Offline ToRo1978

  • Fullcubie
  • ***
  • Beiträge: 58
Re: OpenWrt Router mit USB DVB-S/S2/T Support und Tvheadend
« Antwort #105 am: 20 Mai, 2015, 19:39 »
jo hast recht dvbcore.ko muss noch vor dem  em28xx_dvb geladen werden um die symbole aufzulösen ( dvb_register_adapter und co.)

Normal könnte das klappen das du einfach zusätzliche kernel module "nachbaust" und auf deinen router mit scp schubst. Sollte sich dann auch laden lassen (zumindest hat das bei mir mit dem TP-link tl-wdr3600 und barrier breaker branch git checkout buildroot geklappt)

Also so:

git clone git://git.openwrt.org/14.07/openwrt.git
dann mit make menuconfig lediglich dein router target auswählen und dann speichern und make V=s
wenn erfolgreich durchgelaufen, dann make kernel_menuconfig und deine module auswählen dann speichern und wieder make V=s
alles weitere (wo dann die gebauten module liegen und wie sie auf den router kommen)  siehe genannter post von mir oben

Gruß

toro


Update: Hab mal die dvb module für dich gebaut. Hoffe es fehlt nix. Siehe tar.gz file im Anhang. Müssten sich eigentlich gegen deinen bereits im flash liegenden kernel laden lassen.
« Letzte Änderung: 20 Mai, 2015, 21:40 von ToRo1978 »

Offline BadTenMan

  • Light-Cubie
  • *
  • Beiträge: 18
Re: OpenWrt Router mit USB DVB-S/S2/T Support und Tvheadend
« Antwort #106 am: 23 Mai, 2015, 13:11 »
Toro, du bist mein Held.

Als hättest du gewusst, dass mein build nicht klappt und ich keine .ko Dateien bekomme.
Am liebsten würde ich die natürlich selber bauen können. Wenn mal eine neue Version von OpenWRT kommt, wäre ich flexibler. Bei mir sind im Build im Gegensatz zu den anderen Modulen leider nur ipks rausgefallen, die nur die Beschreibung enthalten.

dmesg output sieht gut aus:
[  554.340000] usb 2-1: new high-speed USB device number 3 using ehci-platform
[  554.500000] em28xx: New device TerraTec Electronic GmbH Cinergy HTC USB XS @ 480 Mbps (0ccd:008e, interface 0, class 0)
[  554.510000] em28xx: Audio interface 0 found (Vendor Class)
[  554.510000] em28xx: Video interface 0 found: isoc
[  554.520000] em28xx: DVB interface 0 found: isoc
[  554.520000] em28xx: chip ID is em2884
[  554.600000] em2884 #0: i2c eeprom 0000: 26 00 01 00 02 0b ab e5 f5 64 01 60 09 e5 f5 64
[  554.610000] em2884 #0: i2c eeprom 0010: 09 60 03 c2 c6 22 e5 f7 b4 03 13 e5 f6 b4 87 03
[  554.620000] em2884 #0: i2c eeprom 0020: 02 0b 42 e5 f6 b4 93 03 02 09 fe c2 c6 22 c2 c6
[  554.630000] em2884 #0: i2c eeprom 0030: 22 00 60 00 d2 c6 7b 00 7a 00 79 23 22 90 05 9e
[  554.640000] em2884 #0: i2c eeprom 0040: 75 f0 25 e5 35 02 08 a7 25 e0 24 c6 f5 82 e4 34
[  554.640000] em2884 #0: i2c eeprom 0050: 06 f5 83 e4 93 22 e4 93 f5 36 e5 36 22 00 00 00
[  554.650000] em2884 #0: i2c eeprom 0060: 00 00 01 01 1a eb 67 95 cd 0c 8e 00 f0 93 6b 03
[  554.660000] em2884 #0: i2c eeprom 0070: 9c 26 6a 32 c2 1a 36 57 4e 47 29 00 00 00 00 00
[  554.670000] em2884 #0: i2c eeprom 0080: 00 00 00 00 4e 00 13 00 f0 10 13 82 82 00 00 00
[  554.680000] em2884 #0: i2c eeprom 0090: 5b 81 c0 00 00 00 22 40 1e 64 02 20 10 01 01 01
[  554.690000] em2884 #0: i2c eeprom 00a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[  554.690000] em2884 #0: i2c eeprom 00b0: c6 40 00 00 84 00 00 00 00 00 00 00 00 c2 00 00
[  554.700000] em2884 #0: i2c eeprom 00c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 32 03
[  554.710000] em2884 #0: i2c eeprom 00d0: 54 00 65 00 72 00 72 00 61 00 54 00 65 00 63 00
[  554.720000] em2884 #0: i2c eeprom 00e0: 20 00 45 00 6c 00 65 00 63 00 74 00 72 00 6f 00
[  554.730000] em2884 #0: i2c eeprom 00f0: 6e 00 69 00 63 00 20 00 47 00 6d 00 62 00 48 00
[  554.740000] em2884 #0: i2c eeprom 0100: ... (skipped)
[  554.740000] em2884 #0: EEPROM ID = 26 00 01 00, EEPROM hash = 0x58369b8e
[  554.750000] em2884 #0: EEPROM info:
[  554.750000] em2884 #0:       microcode start address = 0x0004, boot configuration = 0x01
[  554.770000] em2884 #0:       I2S audio, 3 sample rates
[  554.770000] em2884 #0:       500mA max power
[  554.780000] em2884 #0:       Table at offset 0x36, strings=0x269c, 0x326a, 0x1ac2
[  554.780000] em2884 #0: Identified as Terratec Cinergy HTC USB XS (card=87)
[  554.790000] em2884 #0: Config register raw data: 0xc7
[  554.800000] em2884 #0: v4l2 driver version 0.2.0
[  554.810000] em2884 #0: V4L2 video device registered as video0
[  554.810000] em2884 #0: analog set to isoc mode.
[  554.820000] em2884 #0: dvb set to isoc mode.
[  555.510000] drxk: status = 0x039260d9
[  555.510000] drxk: detected a drx-3926k, spin A1, xtal 20.250 MHz
[  559.620000] DRXK driver version 0.9.4300
[  559.660000] drxk: frontend initialized.
[  559.670000] tda18271 1-0060: creating new instance
[  559.670000] TDA18271HD/C2 detected @ 1-0060
[  560.010000] DVB: registering new adapter (em2884 #0)
[  560.010000] usb 2-1: DVB: registering adapter 0 frontend 0 (DRXK DVB-C DVB-T)...
[  560.020000] em2884 #0: Successfully loaded em28xx-dvb

Das sieht auch gut aus:
/dev/dvb/adapter0# ls
demux0     dvr0       frontend0  net0
 :)


1. TVheadend findet die Karte aber nicht :(
2. Und beim Restart werden die neuen Kernel Module auch nicht geladen, obwohl ich sie nach /lib/modules/3.10.49 kopiert habe.
3. Wofür braucher ich tuner.ko?

Kannst du mir dabei auch noch helfen?

EDIT: für 2. vielleicht ein file /etc/modules.d/em28xx anlegen:
dvb-core.ko
em28xx-dvb.ko
tda18271.ko
tuner.ko

EDIT2: Ich glaube, ich weiß woran es liegt. Das tveeprom.ko ist falsch (für Hauppauge). Ich brauche das äquivalent für meine Terratec Karte. Auf meinem anderen Rechner heißt das ttpci_eeprom und davon hängt dvb_ttpci ab.

Vielen Dank für deine tolle Hilfe
BadTenMan
« Letzte Änderung: 23 Mai, 2015, 18:02 von BadTenMan »

Offline ToRo1978

  • Fullcubie
  • ***
  • Beiträge: 58
Re: OpenWrt Router mit USB DVB-S/S2/T Support und Tvheadend
« Antwort #107 am: 23 Mai, 2015, 20:42 »
Hi BadTenMan,

finde es klasse, dass du dran bleibst an der Thematik.

Also prinzipiell sieht deine Stickerkennung schon richtig gut aus.

Das sind die entscheidenden Zeilen:

[  555.510000] drxk: detected a drx-3926k, spin A1, xtal 20.250 MHz
[  559.620000] DRXK driver version 0.9.4300
[  559.660000] drxk: frontend initialized.
[  559.670000] tda18271 1-0060: creating new instance
[  559.670000] TDA18271HD/C2 detected @ 1-0060
[  560.010000] DVB: registering new adapter (em2884 #0)
[  560.010000] usb 2-1: DVB: registering adapter 0 frontend 0 (DRXK DVB-C DVB-T)...

Die DVB Devices Nodes wurden ja auch erstellt unter /dev/adapter0 - alles sehr sehr gute Zeichen. Wenn das DVB Device trotzdem noch nicht durch dvb-software erkannt wird, liegt der Fehler noch irgendwo im Detail. (dmesg müsste was sagen)

Zu den gebauten Modulen: die werden aufgrund fehlendem udev in OpenWrt nicht automatisch geladen, nur nach /lib/modules/`uname -r`/ kopieren reicht nicht.

Genau entweder legst du eine Datei an /etc/modules.d/99-dvb:

i2c-core
videodev
videobuf2-core
videobuf2-vmalloc
v4l2-common
tveeprom
em28xx
em28xx-dvb
tda18271
drxk


oder so in /etc/rc.local:

insmod i2c-core
insmod videodev
insmod videobuf2-core
insmod videobuf2-vmalloc
insmod v4l2-common
insmod tveeprom
insmod em28xx
insmod em28xx-dvb
insmod tda18271
insmod drxk

Dann mal reboot

und mir mal Ausgaben von dmesg und lsmod geben

Achja und dann kannst du ja mal bevor du tvheadend testest mal w_scan ausführen. Dazu w_scan nach /usr/bin und libiconv.so.2 nach /usr/lib kopieren (siehe Anhang)

Lieben Gruß

ToRo


Update1: Ja stimmt die tuner.ko brauchst du garnicht, sorry.
Update2: Also laut Ausgabe von modinfo braucht das Modul em28xx.ko als Abhängigkeit auf jeden Fall tveeprom.ko
« Letzte Änderung: 23 Mai, 2015, 21:00 von ToRo1978 »

Offline BadTenMan

  • Light-Cubie
  • *
  • Beiträge: 18
Re: OpenWrt Router mit USB DVB-S/S2/T Support und Tvheadend
« Antwort #108 am: 24 Mai, 2015, 09:05 »
Hi ToRo,

ich höre erst auf, wenn es entweder funktioniert oder klar ist, dass es nie funktionieren wird. ;)

1. i2c-core habe ich nicht als i2c-core.ko, aber das package kmod-i2c-core ist installiert. Was macht das?
2. Ich lasse jetzt über /etc/modules.d/99-dvb laden. Vielleicht verschiebe ich das noch in hotplug.d, mal sehen.
3. TVheadend zeigt den Stick immer noch nicht an.

Ich habe dmesg, lsmod und w_scan angehängt.
w_scan hat gescannt und Signal gefunden.  :jb
Leider kommt immer die Meldung:

650000: sr6900 (time: 06:40.420)         signal ok:     QAM_256  f = 650000 kHz S6900C999  (0:0:0)
        Info: no data from PAT after 2 seconds
        deleting (QAM_256  f = 650000 kHz S6900C999  (0:0:0))

Diese Frequenzen passen zwar zu Frequenzen/Kanälen von Kabel Deutschland, es sind aber nicht alle Frequenzen von KD erkannt worden. Oder reicht es, wenn da steht:

330000: sr6900 (time: 00:36.630) sr6875 (time: 00:38.200)

EDIT: ich habe nochmal von meinem Ubuntu das dmesg nach dem anstecken angehängt. Die letzten 5 Zeilen fehlen beim Router. rc-core, em28xx_rc und rc_nec_terratec_cinergy_xs scheinen noch zu fehlen. Die gibt es bei Ubuntu im lsmod.

Frohe Pfingsten
BadTenMan
« Letzte Änderung: 24 Mai, 2015, 09:58 von BadTenMan »

Offline ToRo1978

  • Fullcubie
  • ***
  • Beiträge: 58
Re: OpenWrt Router mit USB DVB-S/S2/T Support und Tvheadend
« Antwort #109 am: 24 Mai, 2015, 20:33 »
Hi,

großes Lob erstmal mit den Log-Dateien - genauso muss das sein.

Nur noch mal damit ich bescheid weiß, dieser stick kann dvb-c , dvb-t  und analog-video capture ja?

Der ist es ? -> http://www.terratec.net/details.php?artnr=Cinergy+HTC+USB+XS+HD#.VWIYKIRI9FQ

Ich will nur ganz sicher gehen, da es von den Terratec Teilchen zig Revisionen gibt mit teilweise großen internen technischen Änderungen.


wichtige frage nochmal für mich zum verstehen:

Dieser stick läuft einwandfrei auf Deinem Ubuntu Labtop, ja? Also über Kabel (DVB-C) und Terrestrik (DVB-T) lässt sich sauber fernsehen (nur mal nebenbei welches TV-Prog nutzt du? me-tv, kaffeine, .. ?)

ok i2c-core scheint nicht von den kernel modulen im Zusammenhang mit deinem Terratec Stick gebraucht zu werden.

Ich habe mal noch, obwohl es eigentlich keinen Einfluss auf die DVB-Funktionalität des Sticks haben sollte, die Infrarot-/Remote-Controller- und Sound-Geschichte aktiviert (also em28xx-rc und em28xx-alsa Module siehe Anhang)

also so müsste die Ladereihenfolge der Module aussehen

videodev
videobuf2-core
videobuf2-memops
videobuf2-vmalloc
v4l2-common
tveeprom
em28xx
input-core
rc-core
em28xx-rc
soundcore
snd
snd-timer
snd-page-alloc
snd-pcm
em28xx-alsa
dvb-core
em28xx-dvb
tda18271
drxk

Alles in allem bin ich aber dann auch etwas ratlos. Weil das Log von deinem Ubuntu System und das OpenWrt Log nahezu indentisch aussehen. Deshalb müsste es auch unter OpenWrt laufen.

Aber Tvheadend findet kein DVB Gerät und der w_scan Durchlauf war auch unbrauchbar (d.h. keine Services gefunden)

Was mich halt stutzig machte, war, dass das linuxtv wiki meinte, der Stick würde nicht vom Linux Kernel unterstützt (lediglich das Modell ohne XS Kürzel)?

siehe hier: http://www.linuxtv.org/wiki/index.php/TerraTec


Achja die lsmod Ausgabe vom ubuntu System während aktivem Kabel-TV schauen wäre mal noch interessant

und reboote mal deinen openwrt mit umbenannter firmware datei

mv /lib/firmware/dvb-usb-terratec-htc-stick-drxk.fw /lib/firmware/__dvb-usb-terratec-htc-stick-drxk.fw__

nach dem reboot w_scan starten und parallel mal dmesg machen (das ist nur mal ein test aus interesse)


Grüße und ebenso angenehme Pfingsten

ToRo
« Letzte Änderung: 24 Mai, 2015, 20:43 von ToRo1978 »

Offline BadTenMan

  • Light-Cubie
  • *
  • Beiträge: 18
Re: OpenWrt Router mit USB DVB-S/S2/T Support und Tvheadend
« Antwort #110 am: 24 Mai, 2015, 21:43 »
Hi ToRo,

genau der ist das. dvb-c, dvb-t, analog und Aufnahme von Cinch.
Ich werde nur dvb-c nutzen, da ich hier einen Kabel Deutschland Anschluss habe.

Ubuntu 14.04.1 HTPC: läuft, leider mit Artefaktbildung, je nach Sender mal mehr mal weniger.
Ubuntu 14.04.1 Laptop: perfekt. Dauerhaft ohne Artefakte.

Ich verwende da jeweils TVheadend + Kodi, auf beiden Rechnern die gleichen Versionen. VLC habe ich aber auch mal probiert, was aber kein Dauerzustand ist, wegen geringerem Komfort.

lsmod und dmesg vom HTPC bei aktivem TV sind angehängt.

EDIT: w_scan bricht ohne Firmware ab:
w_scan -f c
w_scan -f c
w_scan version 20141122 (compiled for DVB API 5.10)
WARNING: could not guess your country. Falling back to 'DE'
guessing country 'DE', use -c <country> to override
using settings for GERMANY
DVB cable
DVB-C
scan type CABLE, channellist 7
output format vdr-2.0
WARNING: could not guess your codepage. Falling back to 'UTF-8'
output charset 'UTF-8', use -C <charset> to override
Info: using DVB adapter auto detection.
main:3904: FATAL: ***** NO USEABLE CABLE CARD FOUND. *****
Please check wether dvb driver is loaded and
verify that no dvb application (i.e. vdr) is running.

EDIT2: Zur den Sound und IR drivers:
dmesg [  454.010000] Couldn't load IR keymap rc-nec-terratec-cinergy-xs
[  454.010000] Registered IR keymap rc-empty
[  454.030000] input: em28xx IR (em2884 #0) as /devices/platform/ehci-platform.0/usb1/1-1/rc/rc0/input0
[  454.030000] rc0: em28xx IR (em2884 #0) as /devices/platform/ehci-platform.0/usb1/1-1/rc/rc0
[  454.050000] Em28xx: Initialized (Em28xx Input Extension) extension
[  515.540000] Em28xx: Initialized (Em28xx Audio Extension) extension
Noch keine Karte bei TVheadend. Ich starte jetzt neu und versuche dann nochmal w_scan.

Wenn man bei linux-dvb auf das "no" klickt und dann auf die Antwort http://www.mail-archive.com/linux-media@vger.kernel.org/msg07811.html klickt, sieht man, dass er doch unterstützt wird. Mit zusätzlichem hinzufügen der Firmware in /lib/firmware/ geht es dann wirklich.

EDIT3: im dmesg vom Router habe ich gerade noch diese Zeile gefunden:
DVB: Unable to find symbol drxk_attach()

Vielleicht in der falschen Reihenfolge geladen oder es fehlt tatsächlich noch etwas.

Viele Grüße
BadTenMan
« Letzte Änderung: 24 Mai, 2015, 22:36 von BadTenMan »

Offline ToRo1978

  • Fullcubie
  • ***
  • Beiträge: 58
Re: OpenWrt Router mit USB DVB-S/S2/T Support und Tvheadend
« Antwort #111 am: 24 Mai, 2015, 22:46 »
DVB: Unable to find symbol drxk_attach()
Ja hast recht, da scheint was beim Laden schiefgelaufen zu sein. Lade mal dann noch das drxk Modul manuell.

insmod drxk
OK also am Kernel-Log und bei den geladenen Modulen sehe ich zwischen dem Ubuntu System und dem OpenWrt keinen wirklich entscheidenden Unterschied bezüglich des DVB Sticks. Also müsste es eigentlich laufen.

Update: Achja an Deinem Ubuntu lsmod erkenne ich, dass du auf dem OpenWrt System die folgenden Module weglassen kannst:

soundcore
snd
snd-timer
snd-page-alloc
snd-pcm
em28xx-alsa
« Letzte Änderung: 24 Mai, 2015, 22:54 von ToRo1978 »

Offline BadTenMan

  • Light-Cubie
  • *
  • Beiträge: 18
Re: OpenWrt Router mit USB DVB-S/S2/T Support und Tvheadend
« Antwort #112 am: 25 Mai, 2015, 14:51 »
Hi,

die Sound Treiber habe ich wieder rausgeworfen. Ich lade jetzt in dieser Reihenfolge:
videodev
videobuf2-core
videobuf2-memops
videobuf2-vmalloc
v4l2-common
tveeprom
em28xx
input-core
rc-core
em28xx-rc
dvb-core
em28xx-dvb
tda18271
drxk
tuner

uvcvideo wird nicht in der Datei geladen, sondern hat eine Datei ohne Nummer. Kann es daran liegen?

"DVB: Unable to find symbol drxk_attach()" ist jetzt wieder weg. Das scheint also zu funktionieren. Im dmesg-Vergleich mit Ubuntu sehe ich folgende, in OpenWRT fehlende Zeile:
"Em28xx: Initialized (Em28xx dvb Extension) extension"
Die Initialisierung scheint also irgendwie nicht zu klappen. Kann man das manuell anstoßen?
EDIT: Sorry, das erscheint doch, aber nicht nach einstecken des Sticks, sondern direkt nach dem Start des Routers.

Die Reihenfolge, in der die Module geladen werden sollten, habe ich angehängt.

Bei Ubuntu: Diff für lsmod vor und nach anstecken des Sticks:
rc_nec_terratec_cinergy_xs    12550  0
em28xx_rc              17441  0
rc_core                28124  3 rc_nec_terratec_cinergy_xs,em28xx_rc
tda18271               41831  1
drxk                   71236  1
em28xx_dvb             31483  0
em28xx                108446  2 em28xx_dvb,em28xx_rc
tveeprom               21216  1 em28xx
videobuf2_vmalloc      13216  1 em28xx
videobuf2_memops       13362  1 videobuf2_vmalloc
videobuf2_core         40664  1 em28xx

rc_nec_terratec_cinergy_xs fehlt mir bei OpenWRT. Kannst du mir das auch nochmal bauen? Auch wenn ich eher glaube, dass es nicht hilft, weil es nur für die Fernbedienung ist. Aber man weiß ja nie.

Viele Grüße
BadTenMan
« Letzte Änderung: 25 Mai, 2015, 15:12 von BadTenMan »

Offline ToRo1978

  • Fullcubie
  • ***
  • Beiträge: 58
Re: OpenWrt Router mit USB DVB-S/S2/T Support und Tvheadend
« Antwort #113 am: 25 Mai, 2015, 18:25 »
Hallo,

ja tuner, uvcvideo u. rc* sollten definitiv keinerlei Rolle spielen bei der reinen DVB-Funktionalität.

Habe für meine OpenWrt DVB Boxen sowas immer rausgelassen.

Aber hier mal noch die gesuchte Datei rc-nec-terratec-cinergy-xs.ko

Viel Glück

ToRo

Offline BadTenMan

  • Light-Cubie
  • *
  • Beiträge: 18
Re: OpenWrt Router mit USB DVB-S/S2/T Support und Tvheadend
« Antwort #114 am: 25 Mai, 2015, 18:51 »
Hi ToRo,

das scheint so etwas aussichtslos zu sein. Irgendwo habe ich mal gelesen, dass man gleich das komplette Image mit Kernel-Modulen bauen und einspielen soll. Kannst du mir noch die Files geben, mit denen du das alles gebaut hast? So richtig scheint das building bei mir noch nicht zu klappen. Ich weiß nie so genau, welche Dateien ich wo einfügen muss und was ich auswählen muss, damit alles im Image landet.

Was mich wundert ist, dass w_scan die Karte findet, TVheadend nicht.
Allerdings findet w_scan keine channels, obwohl alle Kernel-Module da sind...

Viele Grüße
BadTenMan

Offline ToRo1978

  • Fullcubie
  • ***
  • Beiträge: 58
Re: OpenWrt Router mit USB DVB-S/S2/T Support und Tvheadend
« Antwort #115 am: 25 Mai, 2015, 19:02 »
ich sag ja normal sieht das alles sehr gut aus (Module laden ohne Fehler, syslog sagt nix negatives). Die Karte müsste laufen. Und ja man sollte immer das Image komplett neu flashen - aber in der Regel klappt das (wenn man neue Module extern baut, falls es der identische Kernel war)

Bin da nun auch etwas ratlos. Das komplette Image hab ich angehangen (aber nur Barrier Breaker für Archer Basisfunktionalität !)

DVB Module müsstest du wie gehabt manuell draufkopieren und laden.

Grüße

P.S. sorry ich muss leider immer die files taren und gezippen, weil das Forum das bei Anhängen so möchte (also vorsicht beim Flashen)

Update 1 : vor dem Flashen am Besten das gesamte /etc Verzeichnis wegsichern auf den PC. Dann überleben alle deine schwer erkämpten Configs einen Reflash-Vorgang.

cd / && tar cvzf /tmp/etc_backup.tar.gz /etc
« Letzte Änderung: 25 Mai, 2015, 19:15 von ToRo1978 »

Offline BadTenMan

  • Light-Cubie
  • *
  • Beiträge: 18
Re: OpenWrt Router mit USB DVB-S/S2/T Support und Tvheadend
« Antwort #116 am: 25 Mai, 2015, 19:24 »
Hi,

eigentlich wollte ich es selber bauen, weil ich dann noch ein paar andere Dinge gleich mit einbaue (OpenVPN, Filesystem support, etherwake, ...)

Hast du denn *.mk files in dem package-Verzeichnis erstellt oder wie hast du die Module erzeugt?
Bei mir tauchen die nämlich alle nicht bei
make menuconfig
make kernel_menuconfig
auf.

Viele Grüße
BadTenMan

Offline ToRo1978

  • Fullcubie
  • ***
  • Beiträge: 58
Re: OpenWrt Router mit USB DVB-S/S2/T Support und Tvheadend
« Antwort #117 am: 25 Mai, 2015, 21:06 »
hab dir mal ein komplettes Firmware-Image gebaut für den archer c5 mit fest integriertem usb storage, ext2/3/4, fat , ntfs, hfs+, blockmount, tvheadend , w_scan, openvpn , etherwake , dvb kernel modulen , terratec-firmware und module-ladeskript

Download
https://drive.google.com/file/d/0B2e1HEbLYwVEMDhLbDAtdUxac0E/view?usp=sharing

Dateiname: openwrt-ar71xx-generic-archer-c5-squashfs-sysupgrade.bin
Größe: 8,2 MB
MD5SUM: 23b65c7fa7fd600d469706cc8f88374d
« Letzte Änderung: 25 Mai, 2015, 21:18 von ToRo1978 »

Offline BadTenMan

  • Light-Cubie
  • *
  • Beiträge: 18
Re: OpenWrt Router mit USB DVB-S/S2/T Support und Tvheadend
« Antwort #118 am: 26 Mai, 2015, 09:51 »
Danke.

Flashen hat geklappt. Es fehlen aber einige Dinge für mein spezielles Setup:
kmod-video-core
kmod-video-uvc
kmod-video-videobuf2
luci-app-ddns (Voraussetzung ddns-scripts)
openssl-util
openvpn-easy-rsa
shadow-common
shadow-useradd
shadow-userdel
sudo

[  488.950000] em28xx: Unknown symbol vb2_queue_init (err 0)
[  488.960000] em28xx: Unknown symbol video_ioctl2 (err 0)
[  488.970000] em28xx: Unknown symbol v4l2_get_timestamp (err 0)
[  488.970000] em28xx: Unknown symbol vb2_ioctl_streamoff (err 0)
[  488.980000] em28xx: Unknown symbol v4l2_i2c_new_subdev_board (err 0)
[  488.980000] em28xx: Unknown symbol v4l2_fh_add (err 0)
[  488.990000] em28xx: Unknown symbol vb2_ops_wait_finish (err 0)
[  489.000000] em28xx: Unknown symbol v4l2_ctrl_handler_init_class (err 0)
[  489.000000] em28xx: Unknown symbol vb2_ioctl_querybuf (err 0)
[  489.010000] em28xx: Unknown symbol v4l2_i2c_subdev_addr (err 0)
[  489.010000] em28xx: Unknown symbol v4l2_ctrl_handler_setup (err 0)
[  489.020000] em28xx: Unknown symbol video_devdata (err 0)
[  489.030000] em28xx: Unknown symbol vb2_fop_release (err 0)
[  489.030000] em28xx: Unknown symbol v4l_bound_align_image (err 0)
[  489.040000] em28xx: Unknown symbol v4l2_ctrl_find (err 0)
[  489.040000] em28xx: Unknown symbol v4l2_type_names (err 0)
[  489.050000] em28xx: Unknown symbol vb2_ioctl_dqbuf (err 0)
[  489.060000] em28xx: Unknown symbol vb2_ioctl_create_bufs (err 0)
[  489.060000] em28xx: Unknown symbol vb2_ioctl_prepare_buf (err 0)
[  489.070000] em28xx: Unknown symbol vb2_buffer_done (err 0)
[  489.070000] em28xx: Unknown symbol vb2_plane_vaddr (err 0)
[  489.080000] em28xx: Unknown symbol v4l2_ctrl_subscribe_event (err 0)
[  489.090000] em28xx: Unknown symbol v4l2_fh_init (err 0)
[  489.090000] em28xx: Unknown symbol video_unregister_device (err 0)
[  489.100000] em28xx: Unknown symbol vb2_ioctl_qbuf (err 0)
[  489.100000] em28xx: Unknown symbol vb2_fop_mmap (err 0)
[  489.110000] em28xx: Unknown symbol video_device_alloc (err 0)
[  489.120000] em28xx: Unknown symbol vb2_vmalloc_memops (err 0)
[  489.120000] em28xx: Unknown symbol v4l2_device_disconnect (err 0)
[  489.130000] em28xx: Unknown symbol vb2_fop_read (err 0)
[  489.130000] em28xx: Unknown symbol v4l2_device_register (err 0)
[  489.140000] em28xx: Unknown symbol __video_register_device (err 0)
[  489.150000] em28xx: Unknown symbol vb2_ops_wait_prepare (err 0)
[  489.150000] em28xx: Unknown symbol vb2_ioctl_streamon (err 0)
[  489.160000] em28xx: Unknown symbol vb2_fop_poll (err 0)
[  489.160000] em28xx: Unknown symbol v4l2_ctrl_new_std (err 0)
[  489.170000] em28xx: Unknown symbol v4l2_i2c_tuner_addrs (err 0)
[  489.180000] em28xx: Unknown symbol v4l2_ctrl_handler_free (err 0)
[  489.180000] em28xx: Unknown symbol v4l2_device_unregister (err 0)
[  489.190000] em28xx: Unknown symbol video_device_release (err 0)
[  489.190000] em28xx: Unknown symbol v4l2_ctrl_notify (err 0)
[  489.200000] em28xx: Unknown symbol v4l2_video_std_frame_period (err 0)
[  489.210000] em28xx: Unknown symbol v4l2_i2c_new_subdev (err 0)
[  489.210000] em28xx: Unknown symbol video_device_release_empty (err 0)
[  489.220000] em28xx: Unknown symbol v4l2_event_unsubscribe (err 0)
[  489.230000] em28xx: Unknown symbol vb2_ioctl_reqbufs (err 0)
[  544.760000] em28xx: Unknown symbol vb2_queue_init (err 0)
[  544.770000] em28xx: Unknown symbol video_ioctl2 (err 0)
[  544.770000] em28xx: Unknown symbol v4l2_get_timestamp (err 0)
[  544.780000] em28xx: Unknown symbol vb2_ioctl_streamoff (err 0)
[  544.780000] em28xx: Unknown symbol v4l2_i2c_new_subdev_board (err 0)
[  544.790000] em28xx: Unknown symbol v4l2_fh_add (err 0)
[  544.800000] em28xx: Unknown symbol vb2_ops_wait_finish (err 0)
[  544.800000] em28xx: Unknown symbol v4l2_ctrl_handler_init_class (err 0)
[  544.810000] em28xx: Unknown symbol vb2_ioctl_querybuf (err 0)
[  544.810000] em28xx: Unknown symbol v4l2_i2c_subdev_addr (err 0)
[  544.820000] em28xx: Unknown symbol v4l2_ctrl_handler_setup (err 0)
[  544.830000] em28xx: Unknown symbol video_devdata (err 0)
[  544.830000] em28xx: Unknown symbol vb2_fop_release (err 0)
[  544.840000] em28xx: Unknown symbol v4l_bound_align_image (err 0)
[  544.840000] em28xx: Unknown symbol v4l2_ctrl_find (err 0)
[  544.850000] em28xx: Unknown symbol v4l2_type_names (err 0)
[  544.860000] em28xx: Unknown symbol vb2_ioctl_dqbuf (err 0)
[  544.860000] em28xx: Unknown symbol vb2_ioctl_create_bufs (err 0)
[  544.870000] em28xx: Unknown symbol vb2_ioctl_prepare_buf (err 0)
[  544.870000] em28xx: Unknown symbol vb2_buffer_done (err 0)
[  544.880000] em28xx: Unknown symbol vb2_plane_vaddr (err 0)
[  544.890000] em28xx: Unknown symbol v4l2_ctrl_subscribe_event (err 0)
[  544.890000] em28xx: Unknown symbol v4l2_fh_init (err 0)
[  544.900000] em28xx: Unknown symbol video_unregister_device (err 0)
[  544.900000] em28xx: Unknown symbol vb2_ioctl_qbuf (err 0)
[  544.910000] em28xx: Unknown symbol vb2_fop_mmap (err 0)
[  544.920000] em28xx: Unknown symbol video_device_alloc (err 0)
[  544.920000] em28xx: Unknown symbol vb2_vmalloc_memops (err 0)
[  544.930000] em28xx: Unknown symbol v4l2_device_disconnect (err 0)
[  544.930000] em28xx: Unknown symbol vb2_fop_read (err 0)
[  544.940000] em28xx: Unknown symbol v4l2_device_register (err 0)
[  544.950000] em28xx: Unknown symbol __video_register_device (err 0)
[  544.950000] em28xx: Unknown symbol vb2_ops_wait_prepare (err 0)
[  544.960000] em28xx: Unknown symbol vb2_ioctl_streamon (err 0)
[  544.960000] em28xx: Unknown symbol vb2_fop_poll (err 0)
[  544.970000] em28xx: Unknown symbol v4l2_ctrl_new_std (err 0)
[  544.980000] em28xx: Unknown symbol v4l2_i2c_tuner_addrs (err 0)
[  544.980000] em28xx: Unknown symbol v4l2_ctrl_handler_free (err 0)
[  544.990000] em28xx: Unknown symbol v4l2_device_unregister (err 0)
[  544.990000] em28xx: Unknown symbol video_device_release (err 0)
[  545.000000] em28xx: Unknown symbol v4l2_ctrl_notify (err 0)
[  545.010000] em28xx: Unknown symbol v4l2_video_std_frame_period (err 0)
[  545.010000] em28xx: Unknown symbol v4l2_i2c_new_subdev (err 0)
[  545.020000] em28xx: Unknown symbol video_device_release_empty (err 0)
[  545.030000] em28xx: Unknown symbol v4l2_event_unsubscribe (err 0)
[  545.030000] em28xx: Unknown symbol vb2_ioctl_reqbufs (err 0)

Was ich nicht brauche:
keine Filesystems außer ntfs, da die Platte an Windows-Rechnern funktionieren muss.
Die avahi Sachen. Habe ich vorher auch nicht gebraucht.
kmod-usb-printer

Außerdem werden die Module nicht automatisch bei Systemstart geladen.
Die UI funktionierte auch nicht. Erst lädt er und dann kommt Verbindung fehlgeschlagen. Nachinstallieren von luci hat das behoben.

Was hast du für dieses build am standard git-pull geändert, damit das Image herausfällt?
Ich möchte das selber können, damit ich es bei Versionswechseln reproduzieren kann.

Wenn ich beim Start alle Module mitlade, bekomme das angehängte dmesg mit Kernel Oops.
Bei TVheadend ist dafür ein leeres dropdown-Menü für die Adapter aufgetaucht.

Viele Grüße
BadTenMan
« Letzte Änderung: 26 Mai, 2015, 11:23 von BadTenMan »

Offline BadTenMan

  • Light-Cubie
  • *
  • Beiträge: 18
Re: OpenWrt Router mit USB DVB-S/S2/T Support und Tvheadend
« Antwort #119 am: 29 Mai, 2015, 09:55 »
Hi,

es gibt Fortschritte. Mittlerweile bekomme ich alle Module bei meinem Build als *.ko Dateien. Leider meckert make V=s am Ende, dass Voraussetzungen fehlen:

Package kmod-em28xx is missing dependencies for the following libraries:
tveeprom.ko
videobuf2-core.ko (durch zusätzliches DEPENDS:=  +kmod-video-videobuf2 gelöst)
videobuf2-vmalloc.ko  (durch zusätzliches DEPENDS:=  +kmod-video-videobuf2 gelöst)

Diese liegen aber im build_dir.
Auch scheint mir das erst beim Bauen der Packages zu passieren. Brauche ich die überhaupt?

-----------------
dvb-core.mk
-----------------
DVB_MENU:=dvb-core

define KernelPackage/dvb-core
  SUBMENU:=$(DVB_MENU)
  TITLE:=DVB core support
  DEPENDS:=+kmod-i2c-core
  KCONFIG:= \
    CONFIG_MEDIA_SUPPORT \
    CONFIG_DVB_CORE \
    CONFIG_DVB_CAPTURE_DRIVERS=y \
    CONFIG_MEDIA_TUNER_CUSTOMIZE=y \
    CONFIG_DVB_FE_CUSTOMISE=y \
    CONFIG_DVB_DYNAMIC_MINORS=n \
    CONFIG_CRC32
  FILES:=$(LINUX_DIR)/drivers/media/dvb-core/dvb-core.$(LINUX_KMOD_SUFFIX)
  AUTOLOAD:=$(call AutoLoad,60,dvb-core)
endef

define KernelPackage/dvb-core/description
 Kernel module for DVB support
endef

#define KernelPackage/dvb-core/install
#       $(INSTALL_DIR) $(1)/etc/hotplug.d/dvb
#       $(INSTALL_BIN) ./files/10-dvb $(1)/etc/hotplug.d/dvb
#endef

$(eval $(call KernelPackage,dvb-core))

-----------------
dvb-usb.mk
-----------------
DVB_MENU:=dvb-core

define KernelPackage/dvb-usb
  SUBMENU:=$(DVB_MENU)
  TITLE:=DVB USB Support
  DEPENDS:=@USB_SUPPORT +kmod-dvb-core +kmod-usb-core +kmod-ir-core
  KCONFIG:= \
    CONFIG_DVB_USB \
    CONFIG_IR_CORE \
    CONFIG_INPUT=y \
    CONFIG_RC_CORE=y
  FILES:=$(LINUX_DIR)/drivers/media/usb/dvb-usb/dvb-usb.$(LINUX_KMOD_SUFFIX)
  AUTOLOAD:=$(call AutoLoad,62, dvb-usb)
endef

define KernelPackage/dvb-usb/description
 Kernel module for DVB USB devices. Note you have to select at least a device.
endef

$(eval $(call KernelPackage,dvb-usb))



-----------------
rc-core.mk
-----------------
DVB_MENU:=dvb-core

define KernelPackage/ir-core
  SUBMENU:=$(DVB_MENU)
  TITLE:=IR core support
  KCONFIG:= \
    CONFIG_MEDIA_SUPPORT \
    CONFIG_INPUT=y \
    CONFIG_IR_CORE=y    \
    CONFIG_RC_CORE=n
    FILES:=$(LINUX_DIR)/drivers/media/rc/rc-core.$(LINUX_KMOD_SUFFIX)
    AUTOLOAD:=$(call AutoLoad,61,rc-core)
endef

define KernelPackage/ir-core/description
 Kernel module for IR support
endef

$(eval $(call KernelPackage,ir-core))


-----------------
em28xx.mk
-----------------
MULTIMEDIA_MENU:=Multimedia support

define KernelPackage/em28xx
  SUBMENU:=$(MULTIMEDIA_MENU)
  TITLE:=Terratec HTC XS HD DVB-T/C USB2.0
  DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-video-core
  KCONFIG:=CONFIG_VIDEO_EM28XX
  FILES:= $(LINUX_DIR)/drivers/media/usb/em28xx/em28xx.$(LINUX_KMOD_SUFFIX)
  AUTOLOAD:=$(call AutoLoad,65,em28xx)
endef

define KernelPackage/usb-terratec-htc-xs/description
    Kernel modules for Terratec HTC XS USB Tuner support
endef

$(eval $(call KernelPackage,usb-terratec-htc-xs))

Diese mk files liegen alle in package/kernel/linux/modules

Mache ich da was falsch?

Viele Grüße
BadTenMan
« Letzte Änderung: 30 Mai, 2015, 13:22 von BadTenMan »