Eject Option für DVDPlayer Plugin

  • Ich habe versucht, das Exit Menü des DVDPlayer Plugins um die Option "Eject DVD and exit" zu erweitern.


    Das funktioniert leider so nicht. Es kommt die Fehlernachricht:

    Code
    eject: /dev/sr0: Input/output error


    Meine Änderung sieht so aus (Zeilen 17 bis 21; die Menü-Änderung funktioniert und ist deshalb nicht aufgeführt):


    Kann mir jemand einen Tipp geben, was ich falsch mache?


    Gruß
    JuSt

    DM 8000 HD + ALPS BSBE2 Tuner
    HDD Western Digital WD10EVDS AV-GP 1TB
    DVD Sony AD 7690H
    Barry Allen Multiboot Konfiguration
    DMM Release 3.2.4 + GP3
    Images auf USB Stick

  • die syntax ist aber richtig, also "eject /dev/sr0" funktioniert zB an der telnet console und er spuckt dann die Disc aus? oder ist das schon kaputt?


    PS: Das self.close() natürlich am besten auch hinter den system() befehl, weil du damit schon den screen closen tust und danach eigentlich keine befehle mehr ausgeführt werden sollten (theoretisch)

  • evtl. hilft es dir ja, wenn du hier mal rein schaust ---> DVD Controller Plugin
    hier hat es Gutemine ja auch eingebaut.

    Gruß ##Ray


    -------------------------------------------
    ...schade :scheisse:


    Macht’s gut, und danke für den Fisch

  • japp da is ne gute dvdeject() funktion drin und doeject()


    Pass aber auf bei gutemine's code, die hat ne recht komische angewohnheit da tabs und leerzeichen zu verwenden, es kann daher schonmal recht verwirrend sein ihren code zu lesen wenn da was eingerückt ist aber es eigentlich gar nicht eingerückt ist und nicht dort steht wo es dein Editor dir anzeigt :-) In der regel tab'ed man alles durch in python, bei ihr ist das aber immer eine Mischung aus Leerzeichen und Tabs und den Unterschied zwischen 5 Leerzeichen und nem Tab mit blossem Auge zu erkennen ist recht schwer :-)


    Da wird vor dem eigentlich eject auch das laufwerk noch gestoppt und die schiebetür entriegelt, is vlt gar nicht so verkehrt zuerst die Tür aufzumachen bevor die Schublade rauskommt :-)


    # Stop the cdrom drive
    # hard-reset the drive
    # lock or unlock door
    # Ejects the cdrom media

  • Ich habe es im DeviceManager des BluePanel abgeguckt. Da steht auch nur

    Code
    system("eject " + dev[DEV_DEVPATH])


    Den self.close() mache ich vorher, weil ich dachte, dass evtl. noch ein File geöffnet ist und es deshalb nicht ging.


    Mit telnet habe ich noch nicht getestet, werde ich morgen mal versuchen.


    Im DVD Controller Plugin wird es mit ioctl bewerkstelligt. Das ist offenbar eine systemnahe Schicht. Deshalb wäre mir eject schon lieber, denn ich möchte DMM den Mod zur Übernahme in den Standard anbieten; das hat mit eject vermutlich größere Chancen. Und es impliziert offenbar bereits unlock door (wie mit dem BP Gerätemanager simpel zu prüfen ist).


    Es muss m. E. an was anderem liegen.

    DM 8000 HD + ALPS BSBE2 Tuner
    HDD Western Digital WD10EVDS AV-GP 1TB
    DVD Sony AD 7690H
    Barry Allen Multiboot Konfiguration
    DMM Release 3.2.4 + GP3
    Images auf USB Stick

    Edited once, last by JuSt611 ().

  • So, jetzt habe ich es mit telnet getestet:


    Zu dem Zeitpunkt, wenn der DVDPlayer im Exit-Menü steht, bringt eject /dev/sr0 ebenfalls den Input/output error. Wenn ich den DVDPlayer beende, wirft das Laufwerk nach dem telnet eject /dev/sr0 die DVD aus.


    Das DVDPlayer plugin hält also - wie von mir bereits vermutet - irgend eine Verbindung mit dem Laufwerk, die auch mit dem self.close() noch nicht aufgehoben wird, sondern erst nach Beendigung des Plugins. Die Frage ist also, wie ich diese Verbindung bereits für den eject schließen kann.

    DM 8000 HD + ALPS BSBE2 Tuner
    HDD Western Digital WD10EVDS AV-GP 1TB
    DVD Sony AD 7690H
    Barry Allen Multiboot Konfiguration
    DMM Release 3.2.4 + GP3
    Images auf USB Stick