Bekomme user_script.sh nicht zum laufen

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Bekomme user_script.sh nicht zum laufen

      Wie schon in der Überschrift geschrieben, läuft mein user_script.sh nicht.
      Liegt auf /usr/script, drinnen steht als einzige Zeile:
      echo 1 > /proc/stb/ir/rc/mask0

      Hintergrund:
      Ich habe 2 Fernbedienungen für DM7020 und DM800, die beide unterschiedliche Level haben. Jetzt habe ich aber die DM800 auf Newnigma2 v4 umgestellt und habe mir auch neue Fernbedienung zugelegt (alte war schon ziemlich bedienet, ist eine Original Fernbedienung von Dream Multimedia).

      Wenn ich den Befehl über Telnet eingebe, funktioniert alles einwandfrei, aber beim Neustart der DM800 reagiert sie wieder auf beide Fernbedienungen (die der DM7020 liegt auf Ebene 2).

      Was läuft da falsch?
      Ich habe irgendeine .sh genommen, die kopiert auf PC und umbenannt in user_script.sh, Recht auf 755 gesetzt und nur diese Zeile eingetragen. Zwar habe ich eine Leerzeile danach, aber das dürfte ja nix machen.

      Ich hab die Datei mal angehängt, vielleicht stimmt mit der was nicht.

      Kann mir da bitte jemand helfen?
      Dateien
      • us_scr.zip

        (160 Byte, 171 mal heruntergeladen, zuletzt: )
    • liegt vielleicht daran, das nach dem rebooten das script nicht automatisch ausgeführt wird.


      eventuell die eine zeile aus deinem script in

      /etc/init.d/bootmisc.sh

      hinzufügen

      und nochmal testen/rebooten
      Probleme kann man niemals mit derselben Denkweise lösen.

      ¯\_(ツ)_/¯

      "Die Deutsche Rechtschreibung ist Freeware, sprich, du kannst sie kostenlos nutzen.
      Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."
    • die bootmisc.sh wird u.U. bei einem update überschrieben

      alternativ entweder den Befehl als cronjob beim booten ausführen:

      Quellcode

      1. @reboot /bin/echo 1 > /proc/stb/ir/rc/mask0


      oder das script in den runlvel 3 verlinken, dann braucht man sich nicht mit cron rumschlagen

      ln -sf /usr/script/user_script.sh /etc/rc3.d/S95user_script.sh

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Fred Bogus Trumper ()

    • Danke an alle!

      Schnello:
      deswegen habe ich ein .sh genommen, kopiert, unbenannt und mit Ultra-Edit editiert. Daher war ich der Meinung, es ist eh im Linux-Format abgespeichert.
      Aber ich werde es am Abend (jetzt muss ich in die Arbeit) nochmals editieren und auf das Format achten und werde dann Bescheid geben.
    • Leider schaffe ich es nicht, die Datei mit UltraEdit32 als UNIX zu speichern.
      Egal, was ich mache:
      - im Ultraedit direkt im FTP: konvertieren von DOS ->- UNIX (nach dem Speichern und beenden und neu öffnen wieder DOS)
      - gleiches am PC
      - auch das umwandeln mittels telnet (Tipp von Fred) funktioniert nicht, Ultraedit zeigt immer DOS an.

      Jetzt ist es nämlich so weit, dass die Box beim Booten hängenbleibt.

      Habe mir Notepad++ installiert, aber als welches Format soll ich es da abspeichern?
      Ich hab zur Auswahl: ANSI, UTF-8 ohne BOM, UTF, UCS-2 Big Endian oder UCS-2 Little Endia.
      Bzw. wie bringe ich Ultraedit dazu, UNIX Dateien als UNIX Dateien zu behandeln?

      Danke schon mal im Voraus.

      Nachtrag:
      Habe mir als Editor jetzt Notepad++ genommen und mit Format UTF-8 ohne BOM gewählt, gespeichert, hochgeladen und sicherheitshalber noch per telnet von dos auf unix umgewandelt.
      Jetzt startet zwar die DM 800 normal ohne Aufhängen, aber der Befehl wir immer noch nicht ausgeführt.
      Ich hab die neue user_script.sh nochmals angehängt.
      Ach ja, der gleiche Befehl, der drinnen steht, über Telnet ausgeführt und schon funktioniert es so, wie ich will.
      Dateien
      • usr_scp.zip

        (157 Byte, 154 mal heruntergeladen, zuletzt: )

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von wernho ()

    • das Format der user_script.sh in deinem Anhang hatte schon das Richtige Format: Unix UTF-8

      Aber ich habe den Fehler erst jetzt gesehen: es fehlt in deinem script die 1. Zeile, also die Shebang Zeile, damit linux weiß mit welcher shell die Befehle in der Textdatei ausgeführt werden soll

      Shell-Script

      1. #!/bin/sh


      dein Script sollte also so ausehen

      Shell-Script

      1. #!/bin/sh
      2. echo 1 > /proc/stb/ir/rc/mask0


      Die Dateirechte nach dem übertragen per FTP auf 755 setzen, damit es ausführbar ist, oder per telnet

      chmod 755 /usr/script/user_script.sh

      die Funktion des Scriptes kannst du so testen:

      zuerst 0000000f (Standardwert) die Datei schreiben, dann das script ausführen und überprüfen ob es ohne Fehlermeldung durchläuft und die 1 geschrieben wurde

      Quellcode

      1. root@dm800se:~# echo 0000000f > /proc/stb/ir/rc/mask0
      2. root@dm800se:~# cat /proc/stb/ir/rc/mask0
      3. 0000000f
      4. root@dm800se:~# /usr/script/user_script.sh
      5. root@dm800se:~# cat /proc/stb/ir/rc/mask0
      6. 00000001
      7. root@dm800se:~#


      und wie gesagt mit dem obigen Befehl kannst du notfalls das script ins Unix Format umwandeln
      dos2unix /usr/script/user_script.sh

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Fred Bogus Trumper ()

    • Was helfen kann ist dass man mal beim ftp Transfer den ascii sowie den binary mode ausprobiert. Falls ein ftp Client eingesetzt wird, steht dieser normal auf Auto, aber das kann auch zu Problemen führen, als lieber manuell auf ascii oder binary stellen und ausprobieren ob's klappt. Ultraedit wird das schonrichtig am PC abspeichern, aber durch einen falschen ftp Transfer Mode fängt man sich wieder das DOS format auf der Dreambox ein.
    • Danke s0larian.

      Bin zwar Programmierer, aber mit der Programmierung von Linux bzw. den Dateien in der DM habe ich leider keine Erfahrung.
      Aber wieder was dazugelernt.

      Habe alles lt. Deiner Anweisung gemacht, leider bleibt jetzt die Box wieder hängen, obwohl ich zum Schluss noch dos2unix ausgeführt habe und sicherheitshalber auch noch Recht nochmals gesetzt (die setze ich normalerweise im FTP, da waren sie eh richtig gesetzt).

      Ich gebe es jetzt auf und benenne die user_script.sh um auf old, denn ich starte die Box eh ganz selten, weil ich fast fertig bin (Picons werden noch nicht angezeigt).

      Vielen lieben Dank an Dich für Deine Bemühungen.
    • Mal was ganz anderes.

      Hintergrund:
      Ich habe 2 Fernbedienungen für DM7020 und DM800, die beide unterschiedliche Level haben. Jetzt habe ich aber die DM800 auf Newnigma2 v4 umgestellt und habe mir auch neue Fernbedienung zugelegt (alte war schon ziemlich bedienet, ist eine Original Fernbedienung von Dream Multimedia).


      Da gibts doch ein Plugin dafür oder?


      Grüße