Posts by RHS

    Mein vdr läuft auf opensuse thumbleweed. Beim letzten update wurde auch der compiler auf 9.1.1

    Code
    1. g++ (SUSE Linux) 9.1.1 20190520 [gcc-9-branch revision 271396]
    2. Copyright (C) 2019 Free Software Foundation, Inc.
    3. This is free software; see the source for copying conditions. There is NO
    4. warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


    hochgezogen. Und schwupps gibt es eine neue Compiler

    Warnung:




    Bei Anwendung des Patches erhalte ich folgende Compiler Warnung:


    Code
    1. C mtd.o
    2. g++ -g -O3 -Wall -march=native -Woverloaded-virtual -Wno-parentheses -fPIC -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DREMOTE_KBD -DLIRC_DEVICE=\"/var/run/lirc/lircd\" -DVIDEODIR=\"/srv/vdr/video\" -DCONFDIR=\"/var/lib/vdr\" -DARGSDIR=\"/etc/vdr/conf.d\" -DCACHEDIR=\"/var/cache/vdr\" -DRESDIR=\"/usr/local/share/vdr\" -DPLUGINDIR=\"/usr/local/lib/vdr\" -DLOCDIR=\"/usr/local/share/locale\" -I/usr/include/uuid -I/usr/include/freetype2 -o mtd.o mtd.c
    3. mtd.c: In function 'void MtdMapSid(uchar*, cMtdMapper*)':
    4. mtd.c:227:21: warning: operation on 'p' may be undefined [-Wsequence-point]
    5. uint16_t rsid = *p++ << 8 | *p;
    6. ~^~

    Gibt es eine Idee wie die Warnung nicht auftritt?

    Hier wurde schon einmal ein Powersaving Patch vorgeschlagen. Im folgenden Thread gab es ein kurzes Gespräch zwischen Author und Klaus darüber. Aufgenommen in den VDR Code

    wurde es damals nicht. Ich benutze diesen Patch seit dem in meinen VDR Server mit USB DVB-C Devices und VDR-PLUGIN Satip. Es läuft so weit wie es soll. Die Leistungsaufnahme der Tuner wird

    deutlich reduziert. Es wäre schön, wenn diese Lösung in den VDR wandern könnte.

    Ohne Stern gibt es keinen Error sondern folgende Warnung:

    Code
    1. g++ -g -O3 -Wall -march=native -Woverloaded-virtual -Wno-parentheses -fPIC -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DREMOTE_KBD -DLIRC_DEVICE=\"/var/run/lirc/lircd\" -DVIDEODIR=\"/srv/vdr/video\" -DCONFDIR=\"/var/lib/vdr\" -DARGSDIR=\"/etc/vdr/conf.d\" -DCACHEDIR=\"/var/cache/vdr\" -DRESDIR=\"/usr/local/share/vdr\" -DPLUGINDIR=\"/usr/local/lib/vdr\" -DLOCDIR=\"/usr/local/share/locale\" -I/usr/include/uuid -I/usr/include/freetype2 -o recording.o recording.c
    2. recording.c: In member function 'void cIndexFile::ConvertToPes(tIndexTs*, int)':
    3. recording.c:2637:45: warning: 'void* memcpy(void*, const void*, size_t)' copying an object of non-trivial type 'struct tIndexTs' from an array of 'struct tIndexPes' [-Wclass-memaccess]
    4. memcpy(IndexTs, &IndexPes, sizeof(IndexPes));
    5. ^
    6. recording.c:2502:8: note: 'struct tIndexTs' declared here
    7. struct tIndexTs {
    8. ^~~~~~~~
    9. CC thread.o

    Danke


    hier ein Patch zum Fix ci.c:


    Meine Aufnahmen sind .ts files.

    Beim compilieren erhalte ich mit o.g. Fix für recording.c zeile 2637 folgende Fehlermeldung:


    Code
    1. CC recording.o
    2. g++ -g -O3 -Wall -march=native -Woverloaded-virtual -Wno-parentheses -fPIC -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DREMOTE_KBD -DLIRC_DEVICE=\"/var/run/lirc/lircd\" -DVIDEODIR=\"/srv/vdr/video\" -DCONFDIR=\"/var/lib/vdr\" -DARGSDIR=\"/etc/vdr/conf.d\" -DCACHEDIR=\"/var/cache/vdr\" -DRESDIR=\"/usr/local/share/vdr\" -DPLUGINDIR=\"/usr/local/lib/vdr\" -DLOCDIR=\"/usr/local/share/locale\" -I/usr/include/uuid -I/usr/include/freetype2 -o recording.o recording.c
    3. recording.c: In member function 'void cIndexFile::ConvertToPes(tIndexTs*, int)':
    4. recording.c:2637:43: error: no match for 'operator*' (operand type is 'tIndexPes')
    5. memcpy(IndexTs, &IndexPes, sizeof(*IndexPes));
    6. ^~~~~~~~~

    Der Vorschlag in #11 eliminiert ebenfalls die Compiler Warnung.

    Im folgenden, ein Patch hierzu:

    Danke für die schnelle Analyse.

    hab mal einen Patch gebaut.

    Beim Übersetzen von VDR mit allen Patches (1-26) und folgendem Compiler

    Code
    1. gcc (SUSE Linux) 8.3.1 20190226 [gcc-8-branch revision 269204]
    2. Copyright (C) 2018 Free Software Foundation, Inc.
    3. This is free software; see the source for copying conditions. There is NO
    4. warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


    erhalte ich folgende Warnung:


    VDR compiliert durch und läuft auch soweit. Gelegentlich gibt es aber beim umschalten von Kanälen und gleichzeitigen laufenden Aufnahmen Speicherzugriffsfehler

    folgender Art:

    Code
    1. Mär 24 22:45:56 vnas2 kernel: traps: general protection fault ip:7fd745e3fea6 sp:7fd6b17f9a70 error:0 in libc-2.29.so[7fd745ddc000+14c000]

    Können diese Warnungen etwas mit den general Protection fault zu tun haben?

    Wenn nicht, ist es möglich diese Warnungen in Hinblick auf 2.4.1 zu fixen?


    Beste Grüße





    I expirienced the following Issue with the applied patch vdr-2.3.8-fixdevicedetachlock-2.diff:


    During a recording is running:


    New vnsi clients are not able to get the channel list from vnsiserver the first entry is recived then it waits.

    Existings clients a not able to switch channels it waits for a stream.



    The recording keeps running, the programmed end time is not respected anymore.

    VDR needs to get restarted.


    After removing this patch anything is working as it should.


    Gruß RHS


    My system is vdr-2.3.8 with satip live dvbapi and vnsiserver plugins.

    Super Patch. Macht vdr noch stabiler.


    Mein vdr-2.2.0 läuft mit 3 usb dvb-c tunern und mit der 4er digibox satip. 24h7Tg.


    Ergänzend fand ich kürzlich diesen thread.


    https://www.linuxtv.org/pipermail/vdr/2016-May/029056.html.


    Dieser Patch schaltet unbenutzte reciever idele um Energie zu sparen. Bei meinen 3 dvb-c
    receivern sind dies ca. 6-8W. Der Power saving patch und dieser deadlock Patch hakeln ein wenig
    beim patchen. ich habe das manuell nach meinen Gutdünken zusammen gebastelt. Aber vielleicht
    sieht sich ein Profi dieses mal an.
    Die Energieeinsparung durch bedarfsgerechtes aktivieren/dektivieren von Recievern
    und das dann deadlockfrei, wäre ideal.


    Gruß

    Ich benutze mit linux diesen:


    CSL - 433 MBit/s WLAN Dual Band AC450 Stick
    Gibt es in weiss u. schwarz


    http://www.amazon.de/gp/product/B014RHWAI6?psc=1&redirect=true&ref_=oh_aui_detailpage_o03_s00



    lsusb:


    Code
    1. Bus 001 Device 003: ID 0bda:0811 Realtek Semiconductor Corp.



    Mit folgendem Treiber funktioniert dieser Stick mit voller Bandbreite über 10 m durch Kalksandsteinwand:


    https://github.com/gnab/rtl8812au


    Grüsse

    Mit CA Modul Alphacrypt funktionieren alle Unitymedia Kanäle SD u. HD ausser wie schon dagestellt HD+ der SAT1/PROSIEBEN/RTL Gruppe.


    Es gehen aber fogende HD Kanäle


    aus dem ALLSTARS HD Paket Unitymedia NRW. Die Sky Kanäle sind über UM Abo erreichbar..


    und natürlich Das Erste HD, ZDF HD u. ARTE HD


    Bye