Posts by kls

    Schau mal in /etc/nsswitch.conf, was da für eine Reihenfolge eingetragen ist?

    Eine solche Datei gibt es auf meinem Router nicht.


    In /etc/config/dhcp ist

    Code
    1. config dnsmasq
    2. ...
    3. option domainneeded '1'

    gesetzt, aber wenn ich z.B. auf meinem Desktop-PC 'nslookup aaaaaaaaa' mache (ohne Domain), dann sehe ich im tcpdump auf dem Router trotzdem, dass Daten zum Upstream-DNS geschickt werden:

    Code
    1. 23:19:35.066134 IP 188.193.xxx.xxx.35142 > 83.169.184.161.53: 55074+ A? aaaaaaaaa.tvdr.de. (35)
    2. 23:19:35.088003 IP 83.169.184.161.53 > 188.193.xxx.xxx.35142: 55074 NXDomain 0/1/0 (101)

    Interessant ist, dass hier die Domain mit angehängt ist, obwohl ich die beim nslookup nicht angegeben habe.

    In der /etc/config/dhcp steht zwar unter 'coonfig dnsmasq'

    Code
    1. option domain 'tvdr.de'

    aber auch wenn ich das weglasse verhält es sich nicht anders (dnsmasq wurde natürlich nach jeder Änderung neu gestartet).

    Das Problem mit dem intermittierenden Internetzugang hat sich anscheinend nach einem Reset des Kabelmodems erledigt. Momentan läuft es wieder flüssig.


    Dnsmasq läuft nur auf dem Router und die lokalen Hostnamen sind in /etc/hosts eingetragen (und nur dort).


    Zur Hardware: das Kabelmodem betreibe ich im Bridge-Mode und der Router ist daran angeschlossen.

    Ich benutze nur die Server des Providers. Ein weiterer würde mir aber nicht helfen, denn bei einem Totalausfall des Internetzugangs kann dieser ja auch nicht mehr erreicht werden. Was ich erreichen möchte ist, dass mein lokaler DNS-Server (auf dem Router) bei einem Totalausfall des Internetzugangs wenigstens noch die lokalen Hostnamen (aus der /etc/hosts auf dem Router) auflöst, was er anscheinend nicht tut.

    Ich habe gerade erhebliche Probleme mit meinem Internet-Zugang (Vodafone) und dabei festgestellt, dass der dnsmasq DNS-Server auf meinem openWRT-Router keine lokalen Hostnamen mehr auflöst, wenn der Upstream-DNS-Server nicht erreichbar ist. Die in der lokalen /etc/hosts eingetragenen Hostname sollte er doch immer auflösen können, oder?

    Gibt es da irgend eine Einstellung, mit der man das beeinflussen kann?

    Ich glaube nicht, dass das am Skin liegt, denn laut Beschreibung in skins.h ist es durchaus zulässig, in SetItemTimer() einen Read-Lock auf die Channels zu holen. Das Problem liegt wohl in cMenuTimers::OnOff(), wo ein LOCK_SCHEDULES_READ gemacht wird, das über die Aufrufe von RefreshCurrent() und DisplayCurrent(true) hinaus gehalten wird.


    Bitte teste mal beiliegenden Patch.

    Ich könnte mir gut vorstellen, dass mit steigender Anzahl der VDR Tuner-Inputs bei SCR die Wahrscheinlichkeit steigt, dass es zu Kollisionen auf der Leitung kommt und dann das Tunen fehl schlägt.

    Innerhalb eines VDR sorgt ein Mutex dafür, dass immer nur *ein* Tuner SCR-Sequenzen schickt:


    Code
    1. static cMutex Mutex;
    2. if (Diseqc->IsScr())
    3. Mutex.Lock();

    Ich hatte in den letzten Tagen mit einem VDR-User Kontakt, der erhebliche Probleme mit seinem SCR-Setup hatte. Es stellte sich heraus, dass femon und streamdev sich nicht mit SCR vertragen. Bei Problemen mit SCR also bitte immer erst OHNE femon und streamdev testen!

    Der feste UDP-Port dient nur dazu, dass sich VDRs im gleichen Netzwerk "finden" können.

    Es können natürlich mehrere VDRs (mit unterschiedlichem TCP-Port, Option --port) auf dem gleichen VDR laufen, da sie den UDP-Port nicht exclusiv öffnen.


    Wenn tatsächlich Bedarf besteht, den UDP-Port einstellbar zu machen, könnte ich mir vorstellen, die Option --port so zu erweitern, dass man den UDP-Port [optional] mit angeben kann, etwa


    --port=TCP-port[,UDP-port]


    Es finden sich dann natürlich nur VDRs mit dem gleichen UDP-Port.

    Der Übergang von 2.3.9 zu 2.4.0 war von einer Developer- (2.3.x) zu einer Stable-Version (2.4.x), daher der saubere Schnitt (auch wenn er nicht nötig gewesen wäre). Innerhalb einer Developer- oder Stable-Version halte ich es schon für sinnvoll, die APIVERSION nur dann hochzusetzen, wenn es wirklich notwendig ist. Es steht natürlich jedem frei, diese selber auf 2.4.4 zu setzen.


    Es recht zu machen jedermann, ist eine Kunst, die keiner kann ;-).

    Mit "Setup/Miscellaneous/SVDRP peering" kann man das steuern:


    SVDRP peering = off Activates automatic connections between VDRs in the same

    network. If set to "any hosts" this VDR will establish

    connections with any available hosts. If set to "only

    default host" this VDR will only connect to the VDR with

    the name defined in "SVDRP default host". If no default

    host has been defined, the behavior is the same as with

    "any hosts". To switch from "off" to "only default host",

    you may need to select "any hosts" first and confirm the

    dialog by pressing "Ok" in order to be able to select a

    default host.


    VDR version 2.4.4 is now available at


    ftp://ftp.tvdr.de/vdr/vdr-2.4.4.tar.bz2


    A 'diff' against the previous version is available at


    ftp://ftp.tvdr.de/vdr/Developer/vdr-2.4.1-2.4.4.diff


    MD5 checksums:


    ccf724c157740b2b153ca41ad38f1217 vdr-2.4.4.tar.bz2

    12845052da407da62748982c01cc5d52 vdr-2.4.1-2.4.4.diff


    You can also get the latest version at the official VDR GIT archive with


    git clone git://git.tvdr.de/vdr.git


    This version fixes a few bugs that came up after the release of version 2.4.1.



    The changes since version 2.4.1:


    - Fixed moving channels between number groups in SVDRP's MOVC command and the Channels

    menu, in case a channel is moved to a higher number and into a numbered group

    (reported by Manuel Reimer).

    - Now retuning if the received transponder's SDT doesn't contain the expected values

    for NID and TID (thanks to Uwe Scheffler for reporting a problem with failed tuning

    in SCR systems, and Helmut Binder for helping with the implementation).

    - Fixed compatibility with current versions of glibc (thanks to Manuel Reimer).

    - The SVDRP command DELC now also accepts a channel id (suggested by Manuel Reimer).

    - Fixed dropping capabilities in case cap_sys_time is not available.

    - Added the language code for Bulgarian (thanks to Helmut Binder).

    - Fixed handling multi part ExtendedEventDescriptors where only the first part

    contains information about the character table (based on a patch from Helmut Binder).

    - When setting the system character table, it is no longer checked against the known

    entries that are hard coded in libsi/si.c, but rather given to iconv_open() and the

    result of that call is used to check whether the given name is valid.

    - Checking whether the system character table is "single byte" is now done by checking

    the result of a sample call to iconv().

    - Setting the override character table now checks and reports whether the given value

    is valid (suggested by Helmut Binder).

    - The isSingleByte parameter in the call to getCharacterTable() is deprecated and only

    present for backwards compatibility.

    - Fixed a possible crash in case replay is started and stopped in rapid sequence, by

    adding missing locking to cControl::Control(). The caller of this function must now

    provide a cMutexLock which stays alive as long as the result of this call is used.

    The old version of this function is still there for backwards compatibility with

    plugins, because this problem appears to occur only under very rare circumstances.

    Authors of plugins that use this function should switch to the new version, because

    the old one is deprecated and will be removed in a future version.

    The version numbers (both VDRVERSNUM and APIVERSNUM) have been bumped to 2.4.2, so

    that plugins can detect the presence of the new cControl::Control().

    - Added a missing '-D' to the 'plugins' target of the Makefile (thanks to Johann

    Friedrichs).

    - Fixed the size of cChannel::dtypes[] (thanks to Winfried Köhler).

    The version numbers (both VDRVERSNUM and APIVERSNUM) have been bumped to 2.4.3 to

    indicate this change.

    - Added a device hook for detecting whether a device provides EIT data (thanks to

    Winfried Köhler).

    - Fixed memory handling in cString::Append() (reported by Stefan Herdler).

    - Revised 'Fixed a possible deadlock when detaching a receiver from a device' from

    version 2.3.9, which sometimes caused a black screen when switching channels

    (thanks to Stefan Verse).

    - Added failsafe defaults for 'make LCLBLD=1' to the Makefile (thanks to Stefan

    Herdler).

    - Added codes for more languages and special audio tracks (thanks to Helmut Binder).

    - Added cMtdCamSlot::TsPostProcess() (thanks to Helmut Binder).

    - Added cMtdHandler::StopDecrypting() (thanks to Helmut Binder).

    - Added support for detecting new channels broadcast in HEVC (thanks to Helmut Binder).

    - Added support for detecting 'advanced codec digital radio sound service' (thanks to

    Helmut Binder).

    - Added handling shared PMT pids and multiple PMT sections (thanks to Helmut Binder).

    - Changed the country code in the generated ParentalRatingDescriptor from 'DEU' to

    '902' to make it valid for all countries (thanks to Helmut Binder).

    - Added optional verbose output to the libsi Makefile (thanks to Tobias Grimm).

    - Made the call to pkg_config configurable via the PKG_CONFIG macro, which is necessary

    for cross-building VDR (thanks to Tobias Grimm). Plugin authors may want to modify

    their Makefiles accordingly by adding the line 'PKG_CONFIG ?= pkg-config' and

    replacing every occurrence of 'pkg-config' with '$(PKG_CONFIG)', as can be seen in

    the Makefiles of the plugins that come with the VDR source.

    - Fixed a typo in svdrp.c (thanks to Tobias Grimm).

    - Added support for HEVC-video and AC-4-audio (thanks to Christoph Haubrich).

    - Added a comment about the semantics of cTimeMs::Set().

    - Adjusted device selection in GetDeviceForTransponder() to that in GetDevice() (thanks

    to Helmut Binder).

    - Now adding CPPFLAGS to CXXFLAGS to allow extra preprocessor flags to be given when

    doing make (suggested by Tobisa Grimm).

    - Added CRC check of the CAT in cCaPidReceiver::Receive() (thanks to Helmut Binder).

    - Fixed the 'else if' branch in cDevice::GetDeviceForTransponder(), which hasn't

    been active since version 1.7.29 (reported by Helmut Binder). The original purpose of

    this branch was to use a device that is currently not recording for switching to the

    transponder of an upcoming VPS timer. However, this caused problems with more than

    two bonded devices, which was "fixed" in version 1.7.29. Apparently this fix merely

    rendered the whole code branch inactive. Now this branch is only executed for devices

    that are not bonded.

    - Improved deleting plugins in case the plugin uses its own memory management (thanks

    to Winfried Köhler). Plugins that have been compiled with previous versions of VDR

    do not need to be recompiled, they will silently be handled as before.

    - Now setting currentDisplayChannel = NULL before calling cStatus::MsgOsdClear() in

    ~cDisplayChannel(), to avoid possible problems in case a plugin calls IsOpen()

    (reported by Thomas Reufer).

    - Fixed handling inactive shared CA pids (thanks to Helmut Binder).

    - Implemented handling multi packet CATs with MTD (thanks to Helmut Binder).

    - Fixed a possible 'invalid lock sequence' when switching to an unavailable channel

    with the main menu open.

    - Official release.


    Have fun!


    Klaus