trayopen 0.0.4-pre3

  • Hier also mal die neuen gebündelten änderungen/vorschläge vom Lord und Morone aus diesem thread eingearbeitet.


    Die setup daten werden jetzt sauber gespeichert und auch gleich wirksam.
    Ich habe noch die von viking gewünschte möglichkeit eingearbeitet den laufwerksknopf zu blockieren.
    Übernommen wurden auch die playdetektion vom Lord. Arbeite noch nicht wirklich fehlerfrei was aber an dem schmus liegt den die plugins beim abspielen so reporten. Habe mich deshalb entschieden erst mal den stop+unmount nicht auf der playdetektion beruhen zu lassen. Es wird also wieder immer gestopped.
    "Eggschberden" können bei den benötigten zeilen ja einfach wieder die kommentare entfernen.


    Nun zu den pferdefüssen:


    Zitat

    Original von Morone
    Vielleicht darf ich ja auch mal meine Stimme erheben und vorschlagen , dass der Status vom Laufwerk vorher abgecheckt wird.
    Denn wenn die Lade offen ist und man VDR startet dann
    m_isOpen = true , net false -> womit man wieder beim 2x Druecken ist ;).


    ftp://ftp.gwdg.de/pub/linux/cdrom/drivers/cm206/cdstatus.c


    Dürfte fast unmöglich sein, da das "cdrom" modul anscheinend immer CDS_TRAY_OPEN liefert solange keine disc im laufwerk ist. Das liegt laut einträgen in den kernel foren aber an den ATAPI unzulänglichkeiten.


    Ich habe ein kleines programm "status" dazugepackt das den status des drives ausgibt. Sollte wider erwarten euer drive doch zwischen tray open und geschlossenen tray ohne disc unterscheiden, könnt ihr das define STATUSCHECK benutzen um die tray positionserkennung zu komplettieren.
    Im moment wird der tray nur synchronisiert wenn eine disk eingelegt ist (oder wird).


    Vielleicht fällt mir aber in zukunft noch was geniales in der ATAPI spec auf.


    Zitat

    Original von LordJaxom
    - beim Umount wird aus /proc/mounts ausgelesen, an welcher Stelle das Device gemountet ist. Dann wird das Ziel umounted, da auf meiner Kiste alles andere bei cdfs zu einem Fehler führte.


    Ich habe mittlerweise auf einem zweiten system das mal ohne ide-scsi nachvollzogen. Es könnten effecte von ide-cd sein.
    Bei mir funktioniert es ohne den speziellen LordJaxom (LJ) unmount mit folgender configuration:



    Mit diese konfiguration kann ich unter 2.4.27 kernel alle logischen mountpoints durch "umount /dev/hdc" unmounten.


    Sollte es trotzdem noch probleme geben habe ich die idee von LordJaxom als LJ_UNMOUNT eigearbeitet. Einfach das define setzen und der umount benutzt /proc/mounts um den mountpoint festzustellen.


    gruss Peter


    P.S.
    ich bekomme hier noch einen üblen restart bei versuch vcds zu starten, also obacht ;D

    Dateien

    Mein anderer VDR ist (auch) ein EPIA
    1)VIA M10000-Nehemiah, 160+120G Samsung; NEC 1300A; YY A106; LCD20x4 ...
    2) ctvdr+e-tobi ; C3M266+1,2GHz-Nehmiah; 160G Samsung + 4x500G Seagate SATA; NEC3500; TT-Case; DVB-S 1.3+4MB + Nova ; gLCD 240x128 ...
    . . .TB rulez. . .

    2 Mal editiert, zuletzt von PeterD ()

  • Zitat

    Original von Morone
    Na , irgendwie haut das da noch nicht so ganz hin ;)
    Lade wird ausgefahren aber net mehr eingezogen.


    ???? :gaga


    Komisch, bei mir geht's, hab eher manchmal das problem das die lade nicht mehr aufgeht.


    Welche vdr version, kernel, ide-scsi/ide-cd ??
    Mach mal "echo "1" > /proc/sys/dev/cdrom/debug"
    Das listet was der CD treiber so macht.
    (Vorsicht, spammt die konsole voll . . . )


    gruss Peter

    Mein anderer VDR ist (auch) ein EPIA
    1)VIA M10000-Nehemiah, 160+120G Samsung; NEC 1300A; YY A106; LCD20x4 ...
    2) ctvdr+e-tobi ; C3M266+1,2GHz-Nehmiah; 160G Samsung + 4x500G Seagate SATA; NEC3500; TT-Case; DVB-S 1.3+4MB + Nova ; gLCD 240x128 ...
    . . .TB rulez. . .

    3 Mal editiert, zuletzt von PeterD ()

  • Zitat

    Original von viking
    Hallo,


    Danke :D


    Nachteil ist das es auch mit einer leeren disc geht.
    Versuch dann mal durch vdrconvert den tray zu öffnen vorm und nachm brennen ;D

    Mein anderer VDR ist (auch) ein EPIA
    1)VIA M10000-Nehemiah, 160+120G Samsung; NEC 1300A; YY A106; LCD20x4 ...
    2) ctvdr+e-tobi ; C3M266+1,2GHz-Nehmiah; 160G Samsung + 4x500G Seagate SATA; NEC3500; TT-Case; DVB-S 1.3+4MB + Nova ; gLCD 240x128 ...
    . . .TB rulez. . .


  • kernel-2.6.12
    vdr-version ist egal

  • Zitat

    Original von Morone


    kernel-2.6.12
    vdr-version ist egal


    . . . interessant . . .


    Normalerweise dürfe cdrom_open nur beim vdr starten und cdrom_release beim beenden auftauchen. Irgendwas geht hier völlig schief.
    Sieht für mich aus als ob das plugin irgentwie in einer endloss schleife hängt.
    Hab leider keinen 2.6er kernel drauf zum testen. Hast du noch einen 2.4er alternativ am laufen ?


    gruss Peter

    Mein anderer VDR ist (auch) ein EPIA
    1)VIA M10000-Nehemiah, 160+120G Samsung; NEC 1300A; YY A106; LCD20x4 ...
    2) ctvdr+e-tobi ; C3M266+1,2GHz-Nehmiah; 160G Samsung + 4x500G Seagate SATA; NEC3500; TT-Case; DVB-S 1.3+4MB + Nova ; gLCD 240x128 ...
    . . .TB rulez. . .

  • bei mir funktioniert das auch nicht.
    Egal ob die Schublade auf oder zu ist, ob mit eingelegter DVD oder ohne, in den Logs steht immer nur eject -t ...
    => schließen geht immer, öffnen nie


    VDR 1.3.34, Kernel 2.6.13.2, SuSE 9.3

    HW: Gigabyte EP41-UD3L | Core2Duo 7400 | 2GB Kingston | MSI N220GT-MD1GZ (passiv) | L4M-Twin S2 ver 6.5 mit Flex S2 | Silverstone LC16M mit iMON VFD | Samsung LE46B750
    SW: Xubuntu 14.04 3.13.0-24 | NVIDIA 304.117 | vdr 2.1.6 | softhddevice | inputlirc | lcdproc

  • Da sag' ich doch mal was zu dieser "alten Geschichte".
    Ich weiß jetzt nicht, inwieweit die CD-Schubladen-Problematik (aktuelle Zustandserkennung) im Plugin grundsätzlich gelöst ist. Als Anregung vielleicht mal meine Lösung, die auch mit 'eject' arbeitet (das Prinzip ist zwar nicht auf meinem Mist gewachsen, die Adaption auf meinen VDR aber schon :bpl).


    Man erstelle ein Skript '/usr/bin/vdr-eject' (ausführbar machen usw.):


    In die '/etc/lircrc' gehört jetzt (zusätzlich) eine Definition der Form:

    Code
    begin
      remote = SONY_RM-831
      button = VTR1_ON/STANDBY
      delay  = 5
      prog   = irexec
      config = vdr-eject
    end


    ...funktioniert bei mir prächtig und 'toggle't die Schublade immer auf, zu, auf, zu, auf, zu, (auch, wenn vorher manuell oder durch ein anderes Plugin am Tray 'rumgespielt' wurde) :D

    ...Herr, bewahre mich vor dem Glauben, alles (besser) zu wissen... ;D

  • Zitat

    Original von NeverWise
    Da sag' ich doch mal was zu dieser "alten Geschichte".
    Ich weiß jetzt nicht, inwieweit die CD-Schubladen-Problematik (aktuelle Zustandserkennung) im Plugin grundsätzlich gelöst ist. Als Anregung vielleicht mal meine Lösung, die auch mit 'eject' arbeitet (das Prinzip ist zwar nicht auf meinem Mist gewachsen, die Adaption auf meinen VDR aber schon :bpl).


    ...funktioniert bei mir prächtig und 'toggle't die Schublade immer auf, zu, auf, zu, auf, zu, (auch, wenn vorher manuell oder durch ein anderes Plugin am Tray 'rumgespielt' wurde) :D


    Autsch, da betreibt jemand leichenflederei ;D


    Das problem ist wenn das plugin noch spielt.
    Dann funktioniert auch dein 'eject' nicht.
    Sehr übel ist hierbei das DVD plugin (ich glaub auch vcd), da das laufwerk nicht gesperrt ist.
    Die schublade geht auf aber das plugin macht fleissig weiter.


    Die probleme kamen vor allem von drei dingen:
    [list=1]
    [*]einige plugins haben das laufwerk nicht richtig freigegeben, z.B. DVD. Anschliessend funktioniert auch 'eject' überhaupt nicht mehr weil jemand das device sperrt. Das ist besonders komisch wenn man oben genanntes 'nicht sperren' mal vergleicht.
    [*]ATAPI lässt den trayzustand nicht richtig erkennen (die SCSI väter müssen ziemlich stoned gewesen sein als dieses API definiert wurde). Das ist ein initialproblem und sollte nach einmal eject/insert zurückgestellt sein.
    Das problem ist das hier natürlich nur ein eject gegeben werden soll wenn nötig.
    [*]... womit wir beim hauptproblem sind, wegen 1) wird das laufwerk blockiert und erst kontrolliert gestoppt und dan entriegelt und ejected.
    Wegen 2) endet das aber wohl manchmal im deadlock fest.
    [/list=1]


    gruss Peter

    Mein anderer VDR ist (auch) ein EPIA
    1)VIA M10000-Nehemiah, 160+120G Samsung; NEC 1300A; YY A106; LCD20x4 ...
    2) ctvdr+e-tobi ; C3M266+1,2GHz-Nehmiah; 160G Samsung + 4x500G Seagate SATA; NEC3500; TT-Case; DVB-S 1.3+4MB + Nova ; gLCD 240x128 ...
    . . .TB rulez. . .

    4 Mal editiert, zuletzt von PeterD ()

  • zu 1. Das natürlich übel. Ich gebe zu, ich habe noch nicht probiert, die Disk auszuwerfen, während ein Plugin läuft ... (schien mir bisher immer wenig sinnvoll :))


    zu 2. Ist mir doch wurscht, wie oft 'ejected' wird, wenn das Endergebnis meinen Erwartungen entspricht. Mir ging es in der praktischen Anwendung nur darum, dass irgendwie erkannt wird, was zu tun ist: Auf oder zu. Und das tut's halt. (Ja, schon klar, wenn man es ordentlich machen will, musst du auch alle möglichen 'Unglücksfälle' bedenken, hast ja recht.)



    War auch nur so 'ne Idee... :D

    ...Herr, bewahre mich vor dem Glauben, alles (besser) zu wissen... ;D

  • Ich hab gerade durch Zufall bei meinem Ubuntu gemerkt, das dort eject 2.1.4 verwendet wird, und dort gibt es die Option eject [-vn] -T [<name>] -- Laufwerk öffnen oder schließen.
    Auf dem VDR hab ich nur 2.0.13, das kennt noch kein "-T". Vielleicht hilft das weiter...

    Server: Hardware: Intel DH77KC, Celeron G1610, 8GB RAM, 2x 5TB HDD, 2x WD 1,9TB HDD; 1x 64 GB SSD (root), System Ubuntu 18.4 / YaVDR ansible headless
    Client: Hardware: Lenovo Q150 (nur Netzwerk, 1GB RAM, ohne DVB-Karte, Igor-USB-Empfänger) System: Ubuntu 18.4 / YaVDR ansible

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!