Hallo. Ich habe einen Raspberry Pi auf dem Tvheadend läuft. Mein Problem ist, dass ich einen DVB-C und DVB-T Stick in einem habe und Tvheadend nur den DVB-T am Anfang erkennt. Wenn ich aber w_scan -fc starte und danach TvHeadend wieder starte funktioniert es und TvHeadend erkennt den Stick als DVB-C stick. Jetzt möchte ich das ganze in ein Cronjob einfügen, damit es beim Systemstart immer gleich ausgeführt wird.
Hier Mein sudo Cronjob damit er die Berechtigungen hat ich hoffe dass er das Skript mit sudo Berechtigungen aufruft und alle Befehle dort drin als sudo ausführt.
1 2 3 4 | SHELL=/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # m h dom mon dow user command @reboot /home/pi/Desktop/skripte/wscan.sh |
Und hier mein Skript:
1 2 3 4 5 6 7 8 | #!/bin/bash /etc/init.d/tvheadend stop sleep 10 w_scan -f c sleep 10 pkill w_scan sleep 5 /etc/init.d/tvheadend start |
Wenn ich mit
1 | sudo env -i /home/pi/Desktop/skripte/wscan.sh |
mein Skript teste kriege ich folgende Ausgabe:
Stopping tvheadend (via systemctl): tvheadend.service. w_scan version 20130331 (compiled for DVB API 5.4) WARNING: could not guess your country. Falling back to 'DE' guessing country 'DE', use -c <country> to override using settings for GERMANY DVB cable DVB-C scan type CABLE, channellist 7 output format vdr-2.0 WARNING: could not guess your codepage. Falling back to 'UTF-8' output charset 'UTF-8', use -C <charset> to override Info: using DVB adapter auto detection. /dev/dvb/adapter0/frontend0 -> CABLE "Silicon Labs Si2168": very good :-)) Using CABLE frontend (adapter /dev/dvb/adapter0/frontend0) -_-_-_-_ Getting frontend capabilities-_-_-_-_ Using DVB API 5.a frontend 'Silicon Labs Si2168' supports INVERSION_AUTO QAM_AUTO FEC_AUTO FREQ (55.00MHz ... 862.00MHz) SRATE (1.000MSym/s ... 7.200MSym/s) -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ 73000: sr6900 (time: 00:00) sr6875 (time: 00:02) 81000: sr6900 (time: 00:05) sr6875 (time: 00:07) 113000: sr6900 (time: 00:10) sr6875 (time: 00:12) 121000: sr6900 (time: 00:15) sr6875 (time: 00:18) 129000: sr6900 (time: 00:20) sr6875 (time: 00:23) 137000: sr6900 (time: 00:25) sr6875 (time: 00:28) 145000: sr6900 (time: 00:30) (time: 00:31) sr6875 (time: 00:32) ^C ERROR: interrupted by SIGINT, dumping partial result... dumping lists (0 services) Done. Starting tvheadend (via systemctl): tvheadend.service.
Das Problem hierbei ist, dass der w_scan ewig durchläuft und ich ihn manuell beendet habe. Ich weiß nicht wie ich w_scan wieder beenden kann weil er nie in den pkill befahl geht. Könnte man es eventuell so realisieren dass man einen Cronjob macht der 30s nach dem Aufrufen des Skriptes gestartet wird?
Ich hoffe jemand kann mir helfen!
Viele Grüße niki1423