Modifikation eines Matrix ARM miniPC (TBS2910) für VDR mit S2-6400

  • Da im Thread zum Matrix-Board mehrfach danach gefragt wurde, hier schon mal ein paar Bilder von meinem VDR mit umgebautem Matrix-Board (TBS2910 V2.1) und einer Technotrend S2-6400 als Ausgabedevice.


    Wenn Interesse besteht (und ich Zeit dafür finde), kann ich hier nach und nach in einer Fortsetzungsserie meine Board-Umbauten beschreiben. Deshalb habe ich diesen Beitrag auch unter ARM & Co angelegt...


    Edit 23.01.16: Die ganz Beschreibung hier bezieht sich auf Version 2.1 des Matrix-Boards (Schaltplan). Es gibt auch eine Version 1.3 (Schaltplan 1.0), wo entsprechende Umbauten auch moeglich, aber nicht unbedingt 1:1 uebertragbar sind. Von der Version 2.3 des Boards habe ich weder Original noch Schaltplan gesehen, vermutlich duerfte es zumindest aehnlich zur Version 2.1 sein.


    - Austausch der RTC für Aufwachen aus Soft-Off
    - 12V Sata-Power abschalten
    - HDMI-CEC fixen


    Gruss,
    S:oren


    Edit 23.11.17: kaputte Links zu Bildern gefixt

    • Image 1 of 7

      1

      1

    • Image 2 of 7

      2

      2

    • Image 3 of 7

      3

      3

    • Image 4 of 7

      4

      4

    • Image 5 of 7

      5

      5

    • Image 6 of 7

      6

      6

    • Image 7 of 7

      7

      7


  • Hallo Uwe,
    ich antworte mal hier in diesem Thread, bezieht sich ja auf die Bilder hier, und die Beiträge werden vermutlich sowieso nicht besonders sortiert sein. Auf wichtige Sachen kann ich ja vom ersten Beitrag aus verweisen...


    endlich sehe ich mal dein Receiver. :D

    Ist ein Travla C137-Gehäuse, eigentlich nichts besonders Spannendes, über die Jahre sind von diversen Bastelprojekten ein paar zusätzliche Löcher in Unter- und Rückseite reingekommen...


    Sehr schöne Fotos. Welche Kamera hast du verwendet?

    Einfach nur mein Handy. Leider überfordert schon die kleinste dort einstellbare Auflösung die Foreneinstellungen hier. Aber wahrscheinlich bin ich nur zu blöd für diese Forensoftware...


    Mich würde der RTC Umbau interessieren.
    Erstaunlich wie du diesen kleinen IC Typ so schön eingelötet hast. :) Da brauch ich mindestens ein Mikroskop, um das so vernünftig einzulöten. :D

    Ich bin nicht besonders stolz auf die Löterei, aber war ja eigentlich nicht für öffentliche Fotos gedacht, und mit einem einfachen Lötkolben kriege ich das ohne viel Aufwand nicht besser hin. ;-)
    Soll der RTC-Umbau der erste echte Beitrag in dieser Fortsetzungsreihe werden!?


    Gruß,
    S:oren

  • Soll der RTC-Umbau der erste echte Beitrag in dieser Fortsetzungsreihe werden!?

    Ja, bitte. Schade dass es dieses Gehäuse nicht mehr gibt. Vielleicht kennt jemand ein anderes für diesen Zweck passendes Gehäuse.


    MfG
    wino

    MSI H55M-E33 |Intel Core i3 530| 4 GB RAM | TT DVB-S2 6400 | Ubuntu 12.04 | Kernel-3.5.0-28 | VDR-2.2.0 | v4l-dvb| eigene Distri.
    ProLaint: Ubuntu Server 12.04.5 auf HP ProLiant ML330 G6, Xeon E5506 2.13-GHz, 16GB ECC DDR3, Digital Devices MaxS8, Samsung 840 EVO 120GB, 4x WD Red WD30EFRX 3TB in HP P410 Raid6, Zotac GT730 1GB

  • Vielleicht kennt jemand ein anderes für diesen Zweck passendes Gehäuse.

    Als Gehaeuse kannst Du doch irgendwas nehmen, was gerade da ist, oder gut aussieht; Hauptsache, es passt die S2-6400 rein (ich betreue z.B. zwei aehnliche VDR mit so einem Wuerfelgehaeuse). Fuer das Matrix-Board findet sich immer ein Platz, ist ja kleiner als miniITX.
    Die beiden Boards klemmst Du am einfachsten mit einem miniPCIe-PCIe-Adater zusammen (z.B. "Delock 41305", 41370 oder 41851 gehen auch, gibt auch andere Hersteller). Da hat Uwe aber mehr Erfahrung, ich habe solche Adapter nicht benutzt, da ich den seitlichen PCIe-Stecker am Matrix-Board bestueckt habe (nicht ganz einfach). Dort hatte ich auch schon so ein PCIe x1 Verlaengerungskabel angeschlossen (z.B. TBS-1212 bei tbs-technology.de, oder von Amazon oder aliexpress). Jetzt in diesem Gehaeuse reicht bei mir so eine kleine Riser-Platine (ist natuerlich schoener).
    Klar, mit Adaptern oder Verlaengerungskabeln gibt es eine zusaetzliche Fehlerquelle (da sagt ggf. schon das u-boot: no PCIe link). Aber die o.g. Boxen laufen schon jahrelang damit.


    Gruss,
    S:oren

  • S:oren


    Habe noch zwei SMT 7020S rumliegen. Vielleicht lässt sich eines davon für diesen Zweck verwenden. Platz ist jedenfalls genug vorhanden. Kann das dazugehörende Netzteil von dem Matrix die Stromversorgung für die S2-6400 mit übernehmen oder hast du das anders gelöst.?


    MfG
    wino

    MSI H55M-E33 |Intel Core i3 530| 4 GB RAM | TT DVB-S2 6400 | Ubuntu 12.04 | Kernel-3.5.0-28 | VDR-2.2.0 | v4l-dvb| eigene Distri.
    ProLaint: Ubuntu Server 12.04.5 auf HP ProLiant ML330 G6, Xeon E5506 2.13-GHz, 16GB ECC DDR3, Digital Devices MaxS8, Samsung 840 EVO 120GB, 4x WD Red WD30EFRX 3TB in HP P410 Raid6, Zotac GT730 1GB

  • Habe noch zwei SMT 7020S rumliegen. Vielleicht lässt sich eines davon für diesen Zweck verwenden.

    Bestimmt. Scheint dann aber etwas "Blechschlosserei" fuer die Anschluesse der S2-6400 zu erfordern.


    Kann das dazugehörende Netzteil von dem Matrix die Stromversorgung für die S2-6400 mit übernehmen oder hast du das anders gelöst.?

    Im Prinzip ja, ich habe aber ein 12V/3A-Netzteil dran (hauptsaechlich, weil damit auch noch andere Geraetschaften neben der VDR-Box versorgt werden).


    Mein gesamtes VDR-System braucht max. 1,75A an 12V. Davon entfaellt etwa 1A auf die S2-6400. Dieses eine Ampere ist ohne Verwendung der Tuner. Insbesondere kommt da noch hinzu, was evt. zur LNB-Versorgung gebraucht wird. (350mA bei 18V entspricht nochmal ~0.5A an 12V, das sollte das Maximum sein, was ein LNB frisst). Bei meiner Gesamt-Messung sind eine 2.5"-SATA-Festplatte und 5 USB-Geraete dabei. Der Anlaufstrom duerfte durch die Festplatte etwas hoeher als dieser Durchschnittswert sein. Andererseits wird der Anlaufeffekt durch die dann noch abgeschaltete S2-6400 kompensiert.
    Fuer eine erste Inbetriebnahme ohne Zusatzgeraete sollte das mitgelieferte Netzteil des Matrix-Boards reichen (12V/2A - keine Ahnung, ob das chinesische oder echte 2A sind). Etwas Reserve bei der Dimensionierung des Netzteils schadet im Zweifel natuerlich nicht.


    Gruss,
    S:oren

  • Hallo S:oren,
    also mit dem Handy hast du die Fotos gemacht, sehr gut. Sind auch gut ausgeleuchtet, was wohl eine große Rolle spielt, damit gute Fotos herauskommen. Muss mal schauen, ob ich das auch so gut hinbekomme. ;)
    Ich bin an dem RTC Umbau sehr Interessiert, weil der mir noch fehlt. :D
    Was auch noch Interessant sein könnte ist, wie du die 5V und 12V abschaltest über den MOSFET....
    Ich hatte bei meinen Aufbau des Matrix-Receiver mit deiner Hilfe alles mal in Stichpunkten aufgeschrieben, was man machen muss, um ein aktuelles U-Boot zu bekommen und danach ein Linux aufsetzt. Das könnte man vielleicht hier mit dazuposten oder?


    Viele Grüße, Uwe

  • Hier dann also die Beschreibung des RTC-Umbaus, wo ich die originale RTC DS1307 durch eine DS1339 mit Alarmfunktion ersetzt habe.


    Schaltplan:


    Der Typ des p-Kanal-Transistors und der Widerstandwert sind voellig unkritisch. Die Schottky-Diode sollte geringen Sperrstrom haben (maximal ein paar Mikroampere), sonst kann man da auch nehmen, was die Bastelkiste gerade hergibt (z.B. BAT43). Ansonsten gibt es den angegebenen Typ billig bei Reichelt und er passt direkt auf den Platz von R172, der durch diese Diode ersetzt wird. Der Transistor wird mit Drain an die Kathode von D19 angeschlossen, mit Source an 5V_STB, was man z.B. an Pin 5 von IC U536 findet. Die Lastkapazitaeten des Uhrenquarzes muessen entfernt werden. Der originale Quarz selber kann weiter verwendet werden, so wie auch die Stuetzbatterie.


    Damit der Kernel von der neuen Alarmfunktion der RTC erfaehrt, muss man den angehaengten Devicetree-Patch verwenden. Dann gibt es /sys/class/rtc/rtc0/wakealarm, wo man eine Aufwachzeit nach dem poweroff programmieren kann.
    Ich habe z.B. so ein /usr/share/vdr/shutdown-hooks/S95.rtc zum automatischen Aufwachen des VDR:


    Ich verwende Debian Jessie, bei anderen Distributionen mag ein passendes Shutdown-Skript anders aussehen...


    Edit:
    Beim V2.3er Matrix-Board ist leider der GPIO1_19 nicht mehr an R172 angeschlossen. Hier bietet sich dann an, die Shottky-Diode an GPIO1_17 (zu finden an CON11, Pin 11) anzuschliessen. Im Devicetree-Patch muss dann auch die 19 durch 17 ersetzt werden.


    Gruss,
    S:oren

  • Beim Matrix-Board werden im Soft-Off zwar die 5V am Sata-Power-Stecker abgeschaltet, leider aber nicht auch die 12V. Eine angeschlossene S2-6400 zieht dann leider auch im ausgeschalteten Zustand des Matrix-Boards noch signifikant Strom. Diese kleine Modifikation sorgt dafuer, dass nach dem poweroff die ganze Box nur noch ein Zehntel Watt braucht:


    Auch hier sind die Widerstandswerte und Transistortypen voellig unkritisch. Der p-Kanal-Transistor sollte allerdings ein paar Ampere aushalten...


    Gruss,
    S:oren

  • Ich hatte bei meinen Aufbau des Matrix-Receiver mit deiner Hilfe alles mal in Stichpunkten aufgeschrieben, was man machen muss, um ein aktuelles U-Boot zu bekommen und danach ein Linux aufsetzt. Das könnte man vielleicht hier mit dazuposten oder?

    Zumindest zum u-boot hatte ich ja in dem anderen Thread schon Einiges geschrieben. Wenn da etwas falsch oder unvollstaendig ist, kannst Du da gerne etwas ergaenzen. Wenn Du denkst, dass es hier besser passt, dann habe ich auch nichts gegen weitere Ergaenzungen hier.


    Gruss,
    S:oren

  • Hallo S:oren,
    vielen Dank für diese tollen Informationen. Werde ich demnächst versuchen umzusetzen. :D


    Hier mal meine Stichpunktliste, die ich mit deine Hilfe hier im Forum und per E-Mail zusammengestellt hatte.
    Hier sollte alles wichtige drin stehen. Eventuell ist es im vdr-wiki besser aufgehoben?


    Viele Grüße, Uwe


    -----------------------------------------------------------------------------------------------------------------------------------------------------------
    Als erstes wurde das originale MatrixSystem_V1.0.1.0/TBS-Matrix-Ubuntu_12.04_V1.0.0.1-V21 geladen und auf den Flash installiert. (mit Matrix Tools)


    (1) u-boot bauen
    Im aktuellen mainline-u-boot ist alles drin. Herunterladen von

    Code
    1. ftp://ftp.denx.de/pub/u-boot/u-boot-2015.07.tar.bz2


    dann auspacken und

    Code
    1. make distclean; make tbs2910_defconfig; make -j6 u-boot.imx


    Dann installiert man das mit:

    Code
    1. echo 0 > /sys/block/mmcblk0boot0/force_ro
    2. dd if=u-boot.imx of=/dev/mmcblk0boot0 bs=1K seek=1




    u-boot konfigurieren:


    Nun zum u-boot-Environment.


    Das "Boot-Script" (bootcmd, mit weiteren verwendeten Variablen) im Default-Environment im neuen u-boot sieht so aus:

    Code
    1. bootcmd=mmc rescan; if run bootcmd_up1; then run bootcmd_up2; else run bootcmd_mmc; fi
    2. bootargs_mmc1=console=ttymxc0,115200 di0_primary console=tty1
    3. bootargs_mmc2=video=mxcfb0:dev=hdmi,1920x1080M@60 video=mxcfb1:off video=mxcfb2:off fbmem=28M
    4. bootargs_mmc3=root=/dev/mmcblk0p1 rootwait consoleblank=0 quiet
    5. bootargs_mmc=setenv bootargs ${bootargs_mmc1} ${bootargs_mmc2} ${bootargs_mmc3}
    6. bootargs_upd=setenv bootargs console=ttymxc0,115200 rdinit=/sbin/init enable_wait_mode=off
    7. bootcmd_mmc=run bootargs_mmc; mmc dev 2; mmc read 0x10800000 0x800 0x4000; bootm
    8. bootcmd_up1=load mmc 1 0x10800000 uImage
    9. bootcmd_up2=load mmc 1 0x10d00000 uramdisk.img; run bootargs_upd; bootm 0x10800000 0x10d00000


    Das u-boot hat eine hush shell, einfache Scripte sind also moeglich.





    (2) KERNEL:
    Fehlende Pakete nachinstallieren:

    Code
    1. apt-get install lzop libncurses5-dev


    Kernel für TBS Matrix vorkonfigurieren:

    Code
    1. make imx_v6_v7_defconfig


    Kernel und Module bauen und installieren:

    Code
    1. make -j6
    2. make modules_install


    Im Verzeichnis /usr/src/linux liegen der Kernel und die DTB Datei hier:
    ----------
    -> arch/arm/boot/zImage
    -> arch/arm/boot/dts/imx6q-tbs2910.dtb


    Code
    1. cd /usr/src/linux ...
    2. cp arch/arm/boot/zImage /boot/zImage-[Version]
    3. cp arch/arm/boot/dts/imx6q-tbs2910.dtb /boot/imx6q-tbs2910.dtb-[Version]
    4. cd /boot
    5. ln -s zImage-[Version] zImage
    6. ln -s imx6q-tbs2910.dtb-[Version] dtb


    ------------------------------------------
    Benoetigte Pakete:

    Code
    1. apt-get install -y build-essential libjpeg62-dev libcap-dev libfontconfig1-dev gettext libcxxtools-dev libtntnet-dev libboost-dev libpcre3-dev libssl-dev htop iperf libncursesw5-dev


    deutsche Sprache nachinstallieren:

    Code
    1. apt-get install language-pack-de


    (3) VDR bauen:

    Code
    1. ftp://ftp.tvdr.de/vdr/vdr-current.tar.bz2



    PLUGINS:
    http://www.escape-edv.de/endriss/vdr/vdr-remote-0.7.0.tgz


    ########################################
    # optional: GPIO Lirc IR Empfänger
    make menuconfig
    -> Device Drivers -> Multimedia support -> Remote Controller devices -> GPIO IR remote control: <M>
    make && make modules_install
    copy kernel ...


    #edit runvdr
    +# GPIO IR Module laden --> /dev/lirc0
    +modprobe gpio-ir-recv
    +sleep 1
    +#starte Lircd
    +/usr/sbin/lircd -d /dev/lirc0


    #editiere VDR start Optionen mit:
    --lirc=/var/run/lirc/lircd
    #entferne das Plugin remote
    ########################################


    erster VDR Start (Test):
    ./vdr -Pdvbhddevice -Premote


    runvdr (Beispiel):

  • Oh, das ist ja eine ganz schoen lange Liste, da haette sich ja ein eigener Thread gelohnt. ;-)
    Ich habe mir jetzt nicht alles im Detail durchgelesen, nur eine kurze Anmerkung: Man sollte normalerweise immer die aktuelle u-boot-Version nehmen, wenn man es neu installiert (aktuell ist 2016.01). Mit dem angegebenen 2015.07 macht man aber auch nichts falsch.


    Gruss,
    S:oren

  • Eine weitere Modifikation will ich auch noch mit aufschreiben:
    Die Beschaltung des HDMI-CEC-Signals ist auf dem originalen Matrix-Board fehlerhaft. Leider wird dieses Signal bei ausgeschaltetem Board nach Masse gezogen, was eine sinnvolle Verwendung dann doch etwas einschraenkt. Da ich aber (mit Hilfe einer externen Schaltung) das Board ueber HDMI-CEC zusammen mit dem Fernseher einschalten will, sollte das Signal schon spezifikationskonform funktionieren...



    Es muss nur ein Widerstand durch einen Transistor passend ersetzt und eine (Doppel-)Diode entfernt werden.


    Gruss,
    S:oren

  • Ich habe jetzt mal ein Matrix-Board V2.3 in der Hand gehabt. Dort ist leider nicht nur das Maeuseklavier mit den Boot-Settings geschrumpft (kein SATA-Boot mehr einstellbar), es fehlen im Vergleich zu V2.1 auch einige GPIOs. Der RTC-Umbau muss deshalb leicht angepasst werden, siehe dort.


    Falls irgendwer sonst nochmal drueber stolpert, an der Buchsenleiste CON11 sind einige Pins bei V2.3 anders belegt als bei V2.1:
    Pin 3: ?
    Pin 5: KEY_COL1
    Pin 6: (UART2_RX)
    Pin 8: Masse


    Neben dem RTC-GPIO 1_19 sind also auch GPIO1_16 und GPIO1_20 nicht mehr da...


    Gruss,
    S:oren

  • Hier habe ich einige Bilder von meinem Umbau in einem Gehäuse SMT-7020S abgelegt.
    Hinteransicht
    Teilansicht innen
    Innen


    Das Board ist noch ohne Modifikationen.


    MfG
    wino

    MSI H55M-E33 |Intel Core i3 530| 4 GB RAM | TT DVB-S2 6400 | Ubuntu 12.04 | Kernel-3.5.0-28 | VDR-2.2.0 | v4l-dvb| eigene Distri.
    ProLaint: Ubuntu Server 12.04.5 auf HP ProLiant ML330 G6, Xeon E5506 2.13-GHz, 16GB ECC DDR3, Digital Devices MaxS8, Samsung 840 EVO 120GB, 4x WD Red WD30EFRX 3TB in HP P410 Raid6, Zotac GT730 1GB

  • Hier habe ich einige Bilder von meinem Umbau in einem Gehäuse SMT-7020S abgelegt.

    Sehr schoen! Wo gibt es denn so einen Adapter von SATA-Power-Buchse auf 2 SATA-Power-Stecker (oder ist es umgekehrt)?


    Das Board ist noch ohne Modifikationen.

    Da das Board hier mit dem Gesicht nach oben eingebaut ist (im Gegensatz zu meinem Aufbau), wird man von den Modifikationen nichts sehen. ;-)


    Gruss,
    S:oren

  • Wo gibt es denn so einen Adapter von SATA-Power-Buchse auf 2 SATA-Power-Stecker (oder ist es umgekehrt)?

    Das ist so einer wie im Anhang zu sehen.


    Quote

    Da das Board hier mit dem Gesicht nach oben eingebaut ist (im Gegensatz zu meinem Aufbau), wird man von den Modifikationen nichts sehen. ;-)

    Aber paar "Kabel" werden an die Front geführt.:-)


    MfG
    wino

    Images

    MSI H55M-E33 |Intel Core i3 530| 4 GB RAM | TT DVB-S2 6400 | Ubuntu 12.04 | Kernel-3.5.0-28 | VDR-2.2.0 | v4l-dvb| eigene Distri.
    ProLaint: Ubuntu Server 12.04.5 auf HP ProLiant ML330 G6, Xeon E5506 2.13-GHz, 16GB ECC DDR3, Digital Devices MaxS8, Samsung 840 EVO 120GB, 4x WD Red WD30EFRX 3TB in HP P410 Raid6, Zotac GT730 1GB