Neueste Beiträge

Seiten: [1] 2 3 ... 10
1
Treiber / Re: Linux Treiber 24. Januar 2026
« Letzter Beitrag von Sundtek am März 28, 2026, 12:39:38 Vormittag »
Hi,

danke für das Feedback wir werden uns das letzte Update genauer anschauen.

Dauert noch 1-2 Tage bis wir uns das ansehen können, aktuell wird gerade was anderes (ebenfalls schwieriges) fertig gemacht (und wir wollen uns das obere genauer anschauen).

----

ich habe mir die Versionen hier angeschaut und konnte keine Probleme feststellen, falls möglich schaue bitte in den Discord Chat damit ich mich mit Dir diesbezüglich unterhalten kann.

Ich habe Dir einen Treiberlink in den Privat-Nachrichten geschickt; dort wurden die letzten Änderungen rückgängig gemacht während die wichtigen beibehalten wurden.

Habe hier Ubuntu, Mint, Debian 12/13 getestet.
2
Treiber / Re: Linux Treiber 24. Januar 2026
« Letzter Beitrag von Linux-usr am März 27, 2026, 12:37:20 Nachmittag »
Leider scheint es Probleme mit den aktuellen Treibern zu geben.
ich habe gestern versucht mein System zu aktualisieren.

Nach der Aktualisierung mit den Treibern nach Version 250816.183236 und den folgenden, blockiert der Sundtek-Treiber den Start / Neustart und das Herunterfahren.
Das gilt sowohl mit und ohne dem DVB-S/S2  Stick am Rechner, der Computer friert förmlich ein, ohne Fehlermeldung.

Ich habe durch ein downgradet auf Version 250816.183236 vorerst mein Problem behoben, wollte es jedoch an den Support weitergeben.

Zu meinem System:

Frisch aufgesetzt mit Linux Mint 22.3, Kernel 6.17.0.19-generic.
- Tvheadend 4.3-2374~g26ec161fb.
- Kodi 21.3 (21.3.0), Tvheadend HTSP Client Version 21.2.6

SkyTV Ultimate 6 2016/Q1 DVB-S/S2

Gute Nachrichten zur Fernsteuerung:


Fast Jeder kennt das Leiden mit lirc Kodi... Die Konfiguration ist extrem frustrierend. 
Weniger ist mehr, dachte ich mir.
Ich hatte es einfach Satt, ständig in den verschiedenen Konfigurationsdateien zu editieren, ein Update später und alles ist wider dahin.

Meine Lösung dazu, ein kleines in python geschriebenes Script.

# ---------------------------- ir-control.py -------------------------------------------
#!/usr/bin/env python3
import evdev, time, pyautogui, sys, subprocess, configparser, os
import tkinter as tk
from tkinter import ttk
import threading

#   KEYBOARD_KEYS unter Linux
#   The following are the valid strings to pass to the press(), keyDown(), keyUp(), and hotkey() functions:

#   ['\t', '\n', '\r', ' ', '!', '"', '#', '$', '%', '&', "'", '(',
#   ')', '*', '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7',
#   '8', '9', ':', ';', '<', '=', '>', '?', '@', '[', '\\', ']', '^', '_', '`',
#   'a', 'b', 'c', 'd', 'e','f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
#   'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~',
#   'accept', 'add', 'alt', 'altleft', 'altright', 'apps', 'backspace',
#   'browserback', 'browserfavorites', 'browserforward', 'browserhome',
#   'browserrefresh', 'browsersearch', 'browserstop', 'capslock', 'clear',
#   'convert', 'ctrl', 'ctrlleft', 'ctrlright', 'decimal', 'del', 'delete',
#   'divide', 'down', 'end', 'enter', 'esc', 'escape', 'execute', 'f1', 'f10',
#   'f11', 'f12', 'f13', 'f14', 'f15', 'f16', 'f17', 'f18', 'f19', 'f2', 'f20',
#   'f21', 'f22', 'f23', 'f24', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9',
#   'final', 'fn', 'hanguel', 'hangul', 'hanja', 'help', 'home', 'insert', 'junja',
#   'kana', 'kanji', 'launchapp1', 'launchapp2', 'launchmail',
#   'launchmediaselect', 'left', 'modechange', 'multiply', 'nexttrack',
#   'nonconvert', 'num0', 'num1', 'num2', 'num3', 'num4', 'num5', 'num6',
#   'num7', 'num8', 'num9', 'numlock', 'pagedown', 'pageup', 'pause', 'pgdn',
#   'pgup', 'playpause', 'prevtrack', 'print', 'printscreen', 'prntscrn',
#   'prtsc', 'prtscr', 'return', 'right', 'scrolllock', 'select', 'separator',
#   'shift', 'shiftleft', 'shiftright', 'sleep', 'space', 'stop', 'subtract', 'tab',
#   'up', 'volumedown', 'volumemute', 'volumeup', 'win', 'winleft', 'winright', 'yen',
#   'command', 'option', 'optionleft', 'optionright'


# Dynamischer Pfad zur Konfig
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
CONFIG_PATH = os.path.join(BASE_DIR, "keymap.cfg")

def load_cfg():
    config = configparser.ConfigParser()
    if os.path.exists(CONFIG_PATH):
        config.read(CONFIG_PATH)
        dev = config.get('Device', 'name', fallback="Sundtek Remote Control")
        maps = dict(config.items('Mappings'))
        return dev, maps
    return "Sundtek Remote Control", {}

class IRGui:
    def __init__(self, root):
        self.root = root
        self.root.title("IR-Control Manager")
        self.root.geometry("850x600")
        self.dev_name, self.maps = load_cfg()
        self.listening = False

        header = ttk.LabelFrame(root, text=" Automatische Hardware Auswahl           Bedingung: [sudo usermod -aG input $USER] ")
        header.pack(fill="x", padx=10, pady=5)
       
        self.dev_var = tk.StringVar(value=self.dev_name)
        self.cb_dev = ttk.Combobox(header, textvariable=self.dev_var, state="readonly")
        self.cb_dev.pack(side="left", padx=5, pady=5, expand=True, fill="x")
       
        self.btn_listen = ttk.Button(header, text="Code einlesen (Record)", command=self.toggle_listen)
        self.btn_listen.pack(side="right", padx=5)

        self.tree = ttk.Treeview(root, columns=("Code", "Action"), show="headings")
        self.tree.heading("Code", text="IR-Code")
        self.tree.heading("Action", text="Aktion (hk:Hotkey | sp:Script | sleep:Pause)")
        self.tree.column("Code", width=80, stretch=False)
        self.tree.column("Action", width=650, stretch=True)
        self.tree.pack(fill="both", expand=True, padx=15, pady=5)
       
        self.tree.bind("<<TreeviewSelect>>", self.on_select)
        self.update_table()

        input_f = ttk.LabelFrame(root, text=" IR-Code               Befehl bearbeiten ")
        input_f.pack(fill="x", padx=10, pady=5)
        self.in_code = ttk.Entry(input_f, width=12)
        self.in_code.grid(row=0, column=0, padx=5, pady=5)
        self.in_act = ttk.Entry(input_f, width=76)
        self.in_act.grid(row=0, column=1, padx=5, pady=5)
        ttk.Button(input_f, text="Hinzufügen", command=self.add).grid(row=0, column=2, padx=5)
        ttk.Label(input_f, text=" Format: hk:ctrl,c | sp:/pfad/script.sh | sleep:2", foreground="gray").grid(row=1, column=1, sticky="w")

        btns = ttk.Frame(root)
        btns.pack(fill="x", padx=10, pady=10)
        ttk.Button(btns, text="Löschen", command=self.delete).pack(side="left")
        ttk.Button(btns, text="Speichern & Beenden", command=self.save).pack(side="right")

        # Startet Hardware-Erkennung direkt
        self.refresh_devices()

    def refresh_devices(self):
        try:
            # Liste alle verfügbaren Gerätenamen auf
            devices = [evdev.InputDevice(p).name for p in evdev.list_devices()]
            self.cb_dev['values'] = devices
           
            # Wähle das gespeicherte Gerät aus, falls es angeschlossen ist
            if self.dev_name in devices:
                self.cb_dev.set(self.dev_name)
            elif devices:
                self.cb_dev.current(0)
        except:
            pass

    def on_select(self, event):
        sel = self.tree.selection()
        if sel:
            item = self.tree.item(sel[0])['values']
            self.fill_fields(item[0], item[1])

    def toggle_listen(self):
        if not self.listening:
            self.listening = True
            self.btn_listen.config(text="Taste auf FB drücken...")
            threading.Thread(target=self.listen_for_code, daemon=True).start()

    def listen_for_code(self):
        try:
            devices = [evdev.InputDevice(p) for p in evdev.list_devices()]
            d = next((d for d in devices if d.name == self.dev_var.get()), None)
            if d:
                for event in d.read_loop():
                    if event.type == evdev.ecodes.EV_KEY and event.value == 1:
                        code_str = str(event.code)
                        existing_act = self.maps.get(code_str, "")
                        self.root.after(0, lambda c=code_str, a=existing_act: self.fill_fields(c, a))
                        break
        except: pass
        self.listening = False
        self.root.after(0, lambda: self.btn_listen.config(text="Code einlesen (Record)"))

    def fill_fields(self, code, action):
        self.in_code.delete(0, tk.END)
        self.in_code.insert(0, code)
        self.in_act.delete(0, tk.END)
        self.in_act.insert(0, action)

    def update_table(self):
        for i in self.tree.get_children(): self.tree.delete(i)
        sorted_keys = sorted(self.maps.keys(), key=lambda x: int(x) if x.isdigit() else 0)
        for k in sorted_keys:
            self.tree.insert("", "end", values=(k, self.maps[k]))

    def add(self):
        if self.in_code.get() and self.in_act.get():
            self.maps[self.in_code.get()] = self.in_act.get()
            self.update_table()

    def delete(self):
        sel = self.tree.selection()
        if sel:
            key = str(self.tree.item(sel)['values'][0])
            if key in self.maps: del self.maps[key]
            self.update_table()

    def save(self):
        cfg = configparser.ConfigParser()
        cfg['Device'] = {'name': self.dev_var.get()}
        cfg.add_section('Mappings')
        sorted_keys = sorted(self.maps.keys(), key=lambda x: int(x) if x.isdigit() else 0)
        for k in sorted_keys:
            cfg.set('Mappings', k, self.maps[k])
        with open(CONFIG_PATH, 'w') as f:
            cfg.write(f)
        self.root.destroy()

def run_service():
    dev_name, maps = load_cfg()
    try:
        devices = [evdev.InputDevice(p) for p in evdev.list_devices()]
        found_dev = next((d for d in devices if d.name == dev_name), None)
        if not found_dev: return
        for event in found_dev.read_loop():
            if event.type == evdev.ecodes.EV_KEY and event.value == 1:
                action = maps.get(str(event.code))
                if action:
                    for step in action.split('|'):
                        parts = step.strip().split(':', 1)
                        if len(parts) < 2: continue
                        m, c = parts[0].strip(), parts[1].strip()
                        if m == "hk": pyautogui.hotkey(*[k.strip() for k in c.split(',')])
                        elif m == "sp": subprocess.Popen(c, shell=True)
                        elif m == "sleep":
                            try: time.sleep(float(c))
                            except: pass
    except: pass

if __name__ == "__main__":
    if "-c" in sys.argv:
        root = tk.Tk()
        IRGui(root)
        root.mainloop()
    else:
        run_service()

# ------------------------------------------------------------------------

In Kodi muss dann nur noch die Default keyboard.xml in [/userdata/keymaps/keyboard.xml] kopiert werden und gut ist’s.

https://github.com/xbmc/xbmc/blob/master/system/keymaps/keyboard.xml

Im Zuge des Upgrade habe ich KODI auf flatpak immigriert, das bleibt leider nicht folgenlos.
Die Pflege ist zwar einfacher, jedoch ändert sich die Ordner Struktur, der Programmeinstellungen.
Kurz... die keyboard.xml fehlte in meinem flatpak KODI.

Nach ein paar frustrierender Tage und Nächten...
Ist mir der simple Fehler endlich aufgefallen.

In flatpak Kodi muss die Default keyboard.xml, jetzt für meinem Fall, unter [~/tv.kodi.Kodi/data/userdata/keymaps] abgelegt werden und es funktioniert wider.
Da mein Python Script, geboren aus der Not, etwas umständlich anzupassen war, habe ich gleich Nägel mit Köpfen gemacht.

Das o.g. neu Script liegt jetzt bei mir in [/etc/ir-control/ir-control.py]

Mit dem Befehl:

 [python3 /etc/ir-control/ir-control.py -c]

Startet ein kleines GUI, mit welchem sich die Tasten der Fernbedienung anpassen lassen.
Die Konfiguration wird jetzt nicht mehr im Programm mühsam gepflegt, sie landet jetzt in einer eigenen [/etc/ir-control/keymap.cfg] .

Beispiel:

# --------------Beispiel für die damit erstellte keymap.cfg-----------------------------------------

[Device]
name = Sundtek Remote Control

[Mappings]
1 = hk:escape
17 = hk:w
18 = hk:e
21 = hk:y
22 = hk:u
57 = hk:space
62 = hk:f4
104 = hk:pageup
109 = hk:pagedown
116 = sp:shutdown -h now
142 = sp:firefox

# ------------------------------------------------------

Über Startprogramme, mit dem Befehl:

[python3 /etc/ir-control/ir-control.py]

Startet mein Script wie gewohnt und verrichtet sein Werk im Hintergrund.

Die Fernsteuerung muss zuvor auf das richtige Layout Mapping gestellt werden.

In meinem Fall:
[/opt/bin/mediaclient --updaterc=3 /dev/mediainput0]

------------------------------ 01.04.2026 ----------------------------------------------------------------------------

Kleiner Nachtrag zum aktuellen Treiber und  DVB-S2 Stick Version 6 sowie Version 8 :

Seit ein paar Jahren, hat sich einiges bei Linux verändert.
Linux Tools wie ir-keytable verwenden eine andere Konfig Datei als vor ein paar Jahren.

Das alte Datei-Formate funktionieren schon lange nicht mehr.

Das neue Format, bei Linux Mint 22.3:

/etc/rc_keymaps/lg.toml

# Generated with gen_keytables.pl from drivers/media/rc/keymaps/rc-rc6-mce.c
[[protocols]]
name = "NEC"
protocol = "NEC"  # <-- Schaltet auf NEC
variant = "NEC"
[protocols.scancodes]
0x101071 = "KEY_DELETE"
0x101060 = "KEY_ENTER"
0x10101f = "KEY_MUTE"
0x101077 = "KEY_INFO"
0x101017 = "KEY_VOLUMEUP"
0x101016 = "KEY_VOLUMEDOWN"
0x101013 = "KEY_CHANNELUP"
0x101012 = "KEY_CHANNELDOWN"
0x101015 = "KEY_RECORD"
0x10104e = "KEY_UP"
0x101004 = "KEY_DOWN"
0x101006 = "KEY_LEFT"
0x101007 = "KEY_RIGHT"
0x101005 = "KEY_ENTER" # "KEY_OK"
0x10104d = "KEY_EPG"
0x101040 = "KEY_MODE"
0x101003 = "KEY_PVR"
0x10103a = "KEY_SUBTITLE"
0x10101e = "KEY_POWER2"
0x1010c2 = "KEY_EXIT"
0x101009 = "KEY_PLAYER"

Das alte Format analog dazu, für mediaclient von mir angepasst

/etc/rc_keymaps/lg.conf

0x101071 KEY_DELETE
0x101060 KEY_ENTER
0x10101f KEY_MUTE
0x101077 KEY_INFO
0x101017 KEY_VOLUMEUP
0x101016 KEY_VOLUMEDOWN
0x101013 KEY_CHANNELUP
0x101012 KEY_CHANNELDOWN
0x101015 KEY_RECORD
0x10104e KEY_UP
0x101004 KEY_DOWN
0x101006 KEY_LEFT
0x101007 KEY_RIGHT
0x101005 KEY_ENTER # "KEY_OK"
0x10104d KEY_EPG
0x101040 KEY_MODE
0x101003 KEY_PVR
0x10103a KEY_SUBTITLE
0x10101e KEY_POWER2
0x1010c2 KEY_EXIT
0x101009 KEY_PLAYER
 

linux@linux-N7x0WU:~$ /opt/bin/mediaclient --setrcmap=/etc/rc_keymaps/lg.conf
Loading new keymap:
0x1071 KEY_DELETE (0x6f)
0x1060 KEY_ENTER (0x1c)
0x101f KEY_MUTE (0x71)
0x1077 KEY_INFO (0x166)
0x1017 KEY_VOLUMEUP (0x73)
0x1016 KEY_VOLUMEDOWN (0x72)
0x1013 KEY_CHANNELUP (0x192)
0x1012 KEY_CHANNELDOWN (0x193)
0x1015 KEY_RECORD (0xa7)
0x104e KEY_UP (0x67)
0x1004 KEY_DOWN (0x6c)
0x1006 KEY_LEFT (0x69)
0x1007 KEY_RIGHT (0x6a)
0x1005 KEY_ENTER (0x1c)
0x104d KEY_EPG (0x16d)
0x1040 KEY_MODE (0x175)
0x1003 KEY_PVR (0x16e)
0x103a KEY_SUBTITLE (0x172)
0x101e KEY_POWER2 (0x164)
0x10c2 KEY_EXIT (0xae)
0x1009 KEY_PLAYER (0x183)
linux@linux-N7x0WU:~$

Der "neue" DVB-S2 Stick Version 8 (ca.2018) kann die key's nicht laden.

linux@linux-N7x0WU:~$ /opt/bin/mediaclient  --dumprcmap
linux@linux-N7x0WU:~$

Der alte DVB-S2 Stick Version 6 konnte das alles noch.

Jedoch wird der Scan codes auf nur 4 Byte limitiert, in den Stick geschrieben.
Neue IR Fernbedienungen mit IR-NEC Protokoll, wie z.B LG AKB36086203 haben jedoch einen 6 Byte Scancode
und lassen sich daher zur Zeit nicht anlernen.


linux@linux-N7x0WU:~$ /opt/bin/mediaclient  --dumprcmap
0x1003 KEY_PVR
0x1004 KEY_DOWN
0x1005 KEY_ENTER
0x1006 KEY_LEFT
0x1007 KEY_RIGHT
0x1009 KEY_PLAYER
0x1012 KEY_CHANNELDOWN
0x1013 KEY_CHANNELUP
0x1015 KEY_RECORD
0x1016 KEY_VOLUMEDOWN
0x1017 KEY_VOLUMEUP
0x101e KEY_POWER2
0x101f KEY_MUTE
0x103a KEY_SUBTITLE
0x1040 KEY_MODE
0x104d KEY_EPG
0x104e KEY_UP
0x1060 KEY_ENTER
0x1071 KEY_DELETE
0x1077 KEY_INFO
0x10c2 KEY_EXIT
linux@linux-N7x0WU:~$

MSC SCAN                                               mediaclient RC-Key
0x101003 KEY_PVR                                 0x1003 KEY_PVR

Das Umschalten auf ein alternatives IR Protokoll,
wie zum Beispiel auf RC6, funktioniert bei beiden Stick nicht (Version 6 als auch Version 8)

linux@linux-N7x0WU:~$ /opt/bin/mediaclient -s 2
Using device: /dev/mediainput0
Setting RC ID: 2
invalid value: 2
linux@linux-N7x0WU:~$

linux@linux-N7x0WU:~$ /opt/bin/mediaclient -l
Using device: /dev/mediainput0
supported remote control protocols:
id   protocol name
linux@linux-N7x0WU:~$

Da meine Alte Fernbedienung in die Jahre gekommen ist, wollte ich eine alternative
Fernbedienung anlernen.

Die Limitierung ist momentan der alte DVB-S2 Stick Version 6.
Damit kann ich zumindest Fernbedienungen mit NEC und 4 Byte Scancode verwenden.

Der "Neue" DVB-S2 Stick Version 8, kann das zur Zeit überhaupt nicht.

Selbst der aktuelle Treiber bietet dabei keine Verbesserung.


Fazit:

Eine "ir-keytable" Unterstützung in den Treiber zu integrieren, würde die Systempfelge sehr erleichtern.


mit /etc/rc_maps.cfg aus ir-kytable kann man so dem System, dass RC keymap überlassen.

Zum Beispiel [/etc/rc_keymaps/lg.toml]

IR Protokoll und Keymaps werden dabei automatisch vom System übergeben und man kann sogar ein paar dutzend Konfigurationen in der
 [/etc/rc_maps.cfg] hinterlegen, wer's braucht.

Lach Lach Lach

Nun Ja, alles nicht so einfach.
Aber die Treiber Pflege würde das  sicher auch entlasten und entschlacken.

Meine Notlösung bisher:
Ich habe einen alten TrekStor DVB-T1 Stick an den Rechner gesteckt, der hat einen IR Eingang welcher mit ir-keytable läuft.
Das umschifft mein Problem vorerst.


-------------------------- 04.04.2026----------------------------------------
So,

ich bin jetzt ein Stück weiter.

Die Ir-keytable unterstützt in der aktuellen Version nur noch IR Empfänger, welche unter /sys/class/rc stehen, Beispiel als rc0 aufgeführt. Der Aufruf mit --device [/dev/input/event* device] ist entfernt worden, somit kann der IR Eingang des Sundtek TV-Stick nicht mehr eingebunden werden.

Das Umschalten auf ein alternatives IR Protokoll [NEC  0], [RC5  1], [RC6_MODE0  2], [RC6_MODE6A  3],
funktioniert bei beiden Stick (sowohl bei der Version 6 als auch bei Version 8) nicht.

sundtek.conf

ir_protocol=RC5


Eine neue Keymap kann man bei beiden Stick laden, mit der Limitierung auf das ir_rotocol=NEC, was fix ist.
Dabei wird auch NECX erkannt.

sundtek.conf

rcmap=/etc/rc_keymaps/skymaster.conf

Das Format für die Konfigurationsdatei ist etwas speziell und weicht vom üblichen ab.

Taste 1 auf der Fernbedienung (Scancode = 0x7f03)  entspricht 0x03, Zuordnung Mapping entsprechend KEY_1
Taste 1 auf der Fernbedienung (Scancode = 0x7f02)  entspricht 0x02, Zuordnung Mapping entsprechend KEY_2


Beispiel der skymaster.conf :

0x0e KEY_0
0x03 KEY_1
0x02 KEY_2
0x01 KEY_3
0x07 KEY_4
0x06 KEY_5
0x05 KEY_6
0x0b KEY_7
0x0a KEY_8
0x09 KEY_9
0x12 KEY_MUTE
0x19 KEY_INFO
0x44 KEY_VOLUMEUP
0x51 KEY_VOLUMEDOWN
0x48 KEY_CHANNELUP
0x52 KEY_CHANNELDOWN
0x04 KEY_PLAY
0x14 KEY_RECORD
0x1a KEY_UP
0x1b KEY_DOWN
0x11 KEY_LEFT
0x0d KEY_RIGHT
0x08 KEY_ENTER
0x17 KEY_EXIT
0x45 KEY_EPG
0x1c KEY_MODE
0x1e KEY_TV
0x42 KEY_VIDEO
0x40 KEY_TITLE
0x41 KEY_SUBTITLE
0x0f KEY_RED
0x49 KEY_GREEN
0x16 KEY_YELLOW
0x10 KEY_BLUE
0x00 KEY_POWER2
0x15 KEY_PLAYPAUSE

Viel Fleißarbeit und man muss die  Scancode der Tasten kennen oder mit ir-keytable -c -p all -t auslesen können.
Ohne einen zweiten Stick, der von ir-keytable unterstützt wird, absolut hoffnungslos.

Resümee :

Ist mit [mediaclient --setrcmap=/etc/rc_keymaps/skymaster.conf] oder über sundtek.conf, die neue Keymap in den Stick geladen, funktioniert es auch… meistens jedenfalls.
Ich habe eine Fernsteuerung, da geht es nicht.

22918.149385: Linux-Infrarotfernbedienungsprotokoll(necx): Scancode = 0x101013
22918.149401: Ereignistyp EV_MSC(0x04): Scancode = 0x101013
22918.149401: Ereignistyp EV_SYN(0x00).

Der neue DVB-S2 Stick Version 8 hat noch einen BUG.
Mit [mediaclient --dumprcmap] lassen sich die Änderungen nicht auslesen. Sie werden jedoch übernommen.

Fazit:
ja, man kann auch eine andere Fernbedienung verwenden. Aber leider läuft die IR Schnittstelle des DVB-S2 Stick nicht über Ir-keytable, schade eigentlich. Sind die Tasten erst einmal richtig verschränkt, so kann man über mein kleines python Script, so ziemlich jede Taste emulieren oder sogar Programme aufrufen.

Was bleibt noch zu erledigen:
- Der Bug mit ir_protocol= [NEC  0], [RC5  1], [RC6_MODE0  2], [RC6_MODE6A  3], sollte behoben werden,
  so dass man auch RC-5 und RC-6 Fernbedienungen einsetzen kann.

- Der Bug mit mediaclient--dumprcmap,  beim DVB-S2 Stick Version 8, sollte behoben werden.

- Das Datei Format von setrcmap könnte angepasst werden, so das man den Scancode direkt übernimmt, nicht nur die letzten 2 Stellen.
  Beispiel: 0x7f03 KEY_1

- Wenn man dann auch wieder Ir-keytable verwenden könnte, das wäre einfach genial bei der Systempflege.
  Dazu muss sich die IR Schnittstelle jedoch bei /sys/class/rc eintragen, denn der Parameter --device [/dev/input/event* device] steht
  nicht mehr zur Verfügung.


Viel Spaß beim Nach-Basteln,
ich hoffe mein Beitrag war hilfreich für andere User.

Alle Angaben in meinem Beitrag sind jedoch ohne Gewähr und Anspruch auf Vollständigkeit. ...







3
Treiber / Re: MacOSX Treiber 16. Oktober 2024
« Letzter Beitrag von Sundtek am März 18, 2026, 05:33:41 Nachmittag »
Im Laufe der nächsten Woche wird der MacOSX Treiber aktualisiert.
4
Treiber / Re: MacOSX Treiber 16. Oktober 2024
« Letzter Beitrag von ssmoker am März 12, 2026, 07:04:48 Nachmittag »
Zur Info, falls noch jemand betroffen sein sollte:
Leider funktioniert der Empfang von DVB-T2 Programmen mit dem Media TV Pro III USB (EU) Sticks mit neuestem Chipsatz Version 1.4.1 unter Mac OSX (getestet unter Version 10.15.8) "NOCH" nicht.
Das letzte veröffentliche OSX Treiberpaket: http://www.sundtek.de/media/sundtek_driver_2024-10-16_21_40_20.pkg vom 16. Oktober 2024 bräuchte irgendwann noch ein Update!
 :D
5
Treiber / Re: Fehlermedlung in DMESG
« Letzter Beitrag von Koenisch am März 11, 2026, 05:45:10 Nachmittag »
Hallo,

ich habe es für mich relativ einfach beseitigt, ich habe in /etc/ld.so.preload den Eintrag /opt/lib/libmediaclient.so auskommentiert. Hat vor allem viel Stabilität gebracht, weil ich auf mpm_event bei Apache2 und PHP gewechselt bin. Auch sind die Einträge verschwunden.
6
Treiber / Re: Fehlermedlung in DMESG
« Letzter Beitrag von Sundtek am März 06, 2026, 07:19:37 Vormittag »
Das ist eine gute Frage, der Patch muss noch aufgeräumt werden und genauer begutachtet werden.

Er ist aktuell ca 95% fertig (aber viele andere Ding sind bei uns derzeit ebenfalls in dem Bereich >90%). Kann sein dass es in einer Woche passiert oder erst in einem Monat so in dem Bereich würde ich aktuell rechnen.
Grundsätzlich die Meldungen in der Syslog sind technisch gesehen alle in Ordnung und nicht als Fehler oder Problem einzustufen, das ist halt etwas was außerhalb des Treibers entsprechend konfiguriert werden muss. Es gibt hier auch mehrere Wege, wir haben uns für einen Weg entschieden und der wird dann mit der Arbeit welche wir in die glibc gesteckt haben behoben werden.
7
Treiber / Re: Fehlermedlung in DMESG
« Letzter Beitrag von Koenisch am März 05, 2026, 04:34:37 Nachmittag »
Wir haben dafür einen libc Patch pending, auch für andere Warnungen. Aktuell kann es erst mal ignoriert werden in Zukunft wird das dann mit einem Systemupdate wegfallen.

Möchte ja nicht unhöflich sein, aber was heißt Zukunft?
8
Treiber / Re: Fehlermedlung in DMESG
« Letzter Beitrag von Sundtek am März 05, 2026, 10:09:41 Vormittag »
Wir haben dafür einen libc Patch pending, auch für andere Warnungen. Aktuell kann es erst mal ignoriert werden in Zukunft wird das dann mit einem Systemupdate wegfallen.
9
Treiber / Fehlermedlung in DMESG
« Letzter Beitrag von Koenisch am März 04, 2026, 08:48:37 Nachmittag »
Hallo,

ich habe ein Update die neuste Version gemacht. In System erhalten ich folgende Fehlermeldungen

Was tun? Sundtek SkyTV Ultimate III, System Debian trixie

[ 1078.284033] audit: type=1400 audit(1772649841.132:240): apparmor="ALLOWED" operation="file_mmap" class="file" profile="unix-chkpwd" name="/opt/lib/libmediaclient.so" pid=7073 comm="unix_chkpwd" requested_mask="rm" denied_mask="rm" fsuid=0 ouid=0
[ 1078.286911] audit: type=1400 audit(1772649841.132:241): apparmor="ALLOWED" operation="open" class="file" profile="unix-chkpwd" name="/opt/lib/libmediaclient.so" pid=7072 comm="unix_chkpwd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
[ 1078.286928] audit: type=1400 audit(1772649841.132:242): apparmor="ALLOWED" operation="file_mmap" class="file" profile="unix-chkpwd" name="/opt/lib/libmediaclient.so" pid=7071 comm="unix_chkpwd" requested_mask="rm" denied_mask="rm" fsuid=0 ouid=0
[ 1078.293161] audit: type=1400 audit(1772649841.132:243): apparmor="ALLOWED" operation="file_mmap" class="file" profile="unix-chkpwd" name="/opt/lib/libmediaclient.so" pid=7072 comm="unix_chkpwd" requested_mask="rm" denied_mask="rm" fsuid=0 ouid=0
[ 1138.394484] audit: type=1400 audit(1772649901.249:244): apparmor="ALLOWED" operation="open" class="file" profile="unix-chkpwd" name="/opt/lib/libmediaclient.so" pid=7248 comm="unix_chkpwd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
[ 1138.397898] audit: type=1400 audit(1772649901.249:245): apparmor="ALLOWED" operation="file_mmap" class="file" profile="unix-chkpwd" name="/opt/lib/libmediaclient.so" pid=7248 comm="unix_chkpwd" requested_mask="rm" denied_mask="rm" fsuid=0 ouid=0
[ 1138.401066] audit: type=1400 audit(1772649901.249:246): apparmor="ALLOWED" operation="open" class="file" profile="unix-chkpwd" name="/opt/lib/libmediaclient.so" pid=7247 comm="unix_chkpwd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
[ 1138.403901] audit: type=1400 audit(1772649901.249:247): apparmor="ALLOWED" operation="file_mmap" class="file" profile="unix-chkpwd" name="/opt/lib/libmediaclient.so" pid=7247 comm="unix_chkpwd" requested_mask="rm" denied_mask="rm" fsuid=0 ouid=0
[ 1138.406767] audit: type=1400 audit(1772649901.249:248): apparmor="ALLOWED" operation="open" class="file" profile="unix-chkpwd" name="/opt/lib/libmediaclient.so" pid=7249 comm="unix_chkpwd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
[ 1138.409199] audit: type=1400 audit(1772649901.249:249): apparmor="ALLOWED" operation="file_mmap" class="file" profile="unix-chkpwd" name="/opt/lib/libmediaclient.so" pid=7249 comm="unix_chkpwd" requested_mask="rm" denied_mask="rm" fsuid=0 ouid=0
[ 1198.333771] audit: type=1400 audit(1772649961.186:250): apparmor="ALLOWED" operation="open" class="file" profile="unix-chkpwd" name="/opt/lib/libmediaclient.so" pid=7443 comm="unix_chkpwd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
[ 1198.337158] audit: type=1400 audit(1772649961.186:251): apparmor="ALLOWED" operation="open" class="file" profile="unix-chkpwd" name="/opt/lib/libmediaclient.so" pid=7441 comm="unix_chkpwd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
[ 1198.340461] audit: type=1400 audit(1772649961.186:253): apparmor="ALLOWED" operation="file_mmap" class="file" profile="unix-chkpwd" name="/opt/lib/libmediaclient.so" pid=7443 comm="unix_chkpwd" requested_mask="rm" denied_mask="rm" fsuid=0 ouid=0
[ 1198.343257] audit: type=1400 audit(1772649961.186:252): apparmor="ALLOWED" operation="open" class="file" profile="unix-chkpwd" name="/opt/lib/libmediaclient.so" pid=7442 comm="unix_chkpwd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
[ 1198.345843] audit: type=1400 audit(1772649961.186:254): apparmor="ALLOWED" operation="file_mmap" class="file" profile="unix-chkpwd" name="/opt/lib/libmediaclient.so" pid=7441 comm="unix_chkpwd" requested_mask="rm" denied_mask="rm" fsuid=0 ouid=0
[ 1198.348257] audit: type=1400 audit(1772649961.186:255): apparmor="ALLOWED" operation="file_mmap" class="file" profile="unix-chkpwd" name="/opt/lib/libmediaclient.so" pid=7442 comm="unix_chkpwd" requested_mask="rm" denied_mask="rm" fsuid=0 ouid=0
10
Sundtek MediaTV Pro / Re: DVB-S2 UsbStick defekt Hardware?
« Letzter Beitrag von Sundtek am März 03, 2026, 04:08:35 Nachmittag »
Dort die Sat-Anlage - das LNB Kabel überprüfen.

An der Stelle mögliche Probleme:
- LNB defekt
- Schüssel ist nicht mehr ordentlich ausgerichtet
- Kabel defekt
- Netzteil am Tuner nicht angeschlossen / es liegen keine 12V am Tuner an.

Der Tuner hat bei Deiner Anlage ja funktioniert, also würde ich da eher erst mal die Anlage / das Kabel prüfen.
Testastra sollte die Testfrequenzen finden und ein Locked ausgeben (vorausgesetzt die Schüssel zeigt auf Astra 19.2 und am Kabel liegt ein Signal an).
Des weiteren tsscan funktioniert nur wenn ein Transponder eingestellt wurde, die Reihenfolge ist falsch (aber da testastra kein Locked ausgibt liegt das Problem wohl erst mal wo anders).
Seiten: [1] 2 3 ... 10