[1] MLD-5.x / General / vdr start verzögern, wegen CAM Initialisierung
 

Offline Frounts

  • Adv. Member
  • ***
  • Posts: 233
    • View Profile
vdr start verzögern, wegen CAM Initialisierung
« on: February 02, 2016, 09:20:43 »
Hallo,

Vielleicht kann mir jemand kurz helfen?
Ich hab eine Raspberry2 mit TT CT2-4650, in der ein SimpliTV-Modul steckt, damit ich in Ö DVB-T2 entschlüsseln kann (Idioten, ist aber halt so...)

Leider dauert beim Booten es ca. 5min, bis das CAM bereit ist:
Code: [Select]
Feb  2 08:39:03 (none) user.info kernel: [   30.801489] si2168 2-0064: found a 'Silicon Labs Si2168-A20'
Feb  2 08:39:03 (none) user.info kernel: [   30.845134] si2168 2-0064: downloading firmware from file 'dvb-demod-si2168-a20-01.fw'
Feb  2 08:39:04 (none) user.info kernel: [   32.173878] si2168 2-0064: firmware version: 2.0.5
Feb  2 08:39:04 (none) user.info kernel: [   32.184482] si2157 3-0060: found a 'Silicon Labs Si2158-A20'
Feb  2 08:39:04 (none) user.info kernel: [   32.185732] si2157 3-0060: downloading firmware from file 'dvb-tuner-si2158-a20-01.fw'
Feb  2 08:39:05 (none) user.info kernel: [   33.470637] si2157 3-0060: firmware version: 2.1.9
Feb  2 08:39:09 (none) auth.info login[1430]: root login on 'tty2'
Feb  2 08:39:09 (none) auth.info login[1431]: root login on 'tty3'
Feb  2 08:39:09 (none) auth.info login[1429]: root login on 'tty1'
Feb  2 08:39:09 (none) auth.info login[1432]: root login on 'tty4'
Feb  2 08:43:34 (none) user.warn kernel: [  302.060162] dvb_ca adapter 0: DVB CAM detected and initialised successfully

Ich hab mir da jetzt eine Schleife zusammengebastelt, die die Initialisierung abwartet: cam_warten.sh
Code: [Select]
#!/bin/sh
# cam_warten.sh
# Warten, bis CAM Modul gefunden wurde
while [ "`cat /var/log/messages | grep -c 'dvb_ca adapter'`" != '1' ]; do
sleep 1
done

Jetzt wäre es toll, wenn unter dem MLD-Logo eine (blinkende?!) Meldung stehen würde, in der Art: "Warte auf CAM Initialisierung".
Frage: Wie mach ich das?
Weil: Wenn ich in /etc/init.d/vdr unter echo "Starting VDR" das script ausführe, ist der Bildschirm schwarz und keiner kenn sich aus, was da so lange dauert.

LG Fr.


MLD-5.4 Stable als Streamdev-server mit 2x NUC6CAYH 5.4 stable Streamdev-clients

Offline clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 20415
    • View Profile
    • ClausMuus.de
vdr start verzögern, wegen CAM Initialisierung
« Reply #1 on: February 02, 2016, 09:48:03 »
Hi,

das geht ganz einfach per "show_step" also so z.B.:
Code: [Select]
echo "Waiting for cam: $(show_step)"in der while schleife.
Und vor der while Schleife am besten noch ein
show_message "Waiting for cam"
und hinter der Schleife ein:
show_message

Claus
MLD 5.5 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 5.5 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 12TB HDD - Lian Li PC-C37B - Samsung LE40A559

Offline Frounts

  • Adv. Member
  • ***
  • Posts: 233
    • View Profile
vdr start verzögern, wegen CAM Initialisierung
« Reply #2 on: February 02, 2016, 10:06:07 »
Perfekt, danke für die Info.
Werde ich heute nachmittag probieren und gebe bescheid.
Fr.
MLD-5.4 Stable als Streamdev-server mit 2x NUC6CAYH 5.4 stable Streamdev-clients

Offline clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 20415
    • View Profile
    • ClausMuus.de
vdr start verzögern, wegen CAM Initialisierung
« Reply #3 on: February 02, 2016, 11:03:00 »
Wenn Du allerdings möchtest, das dies bei einem upgrade nicht wieder gelöscht wird, solltest Du das in ein eigenes init script packen, das vor dem vdr aufgerufen wird. Als Vorlage kannst Du das example init Script verwenden.

Claus
MLD 5.5 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 5.5 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 12TB HDD - Lian Li PC-C37B - Samsung LE40A559

Offline clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 20415
    • View Profile
    • ClausMuus.de
vdr start verzögern, wegen CAM Initialisierung
« Reply #4 on: February 02, 2016, 11:07:27 »
Und noch ne Idee.
Vielleicht kannst Du die Aktivierung beschleunigen, indem Du einen eventuell benötigten Treiber (Kernel Modul) manuell lädst? Oder indem Du udev triggerst, damit noch mal nachgeschaut wird, welche Hardware vorhanden ist?
Und falls der dvb-Treiber dafür mit zustendig ist, vielleicht reicht es ja den nach kurzem warten noch mal zu entladen und neu zu laden?

Claus
MLD 5.5 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 5.5 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 12TB HDD - Lian Li PC-C37B - Samsung LE40A559

Offline Frounts

  • Adv. Member
  • ***
  • Posts: 233
    • View Profile
vdr start verzögern, wegen CAM Initialisierung
« Reply #5 on: February 02, 2016, 15:29:17 »
Zuständig ist das Modul: dvb_usb_dvbsky
Nur bei einem Kaltstart dauert es ~5Min. Sonst ist es innerhalb von 5sek bereit.

Leider schlägt beim Start der watchdog zu:
Code: [Select]
Starting eventlircd
[1A[1000C[10D[1;32mdone[0;39m
cam-check seems to hang! continue now...
Setting video mode
Powering on HDMI with explicit settings (CEA mode 19)

cam-check (in Anlehnung von example):
Code: [Select]
#!/bin/sh

. /etc/init.d/rc.functions

NAME=${0##*/}

case "$1" in
start)
echo "Starting $NAME: "
if [ -n "`lsusb | grep '0b48:3012'`" ] #TechnoTrend TT-connect CT2-4650 CI V1.0
then
show_message "Waiting for DVB CAM detecting"
# Warten, bis CAM Modul gefunden wurde
while [ "`cat /var/log/messages | grep -c 'dvb_ca adapter'`" = '0' ]; do
echo "Waiting for DVB CAM detecting: $(show_step)"
sleep 1
done
show_message "DVB CAM successfully initialized and connected"
fi
check_status
;;
stop)
;;
restart)
$0 stop
$0 start
;;
init)
start=1
before="rpi"
;;
*)
echo "Usage: $0 {start | stop | restart}" >&2
exit 1
esac
MLD-5.4 Stable als Streamdev-server mit 2x NUC6CAYH 5.4 stable Streamdev-clients

Offline clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 20415
    • View Profile
    • ClausMuus.de
vdr start verzögern, wegen CAM Initialisierung
« Reply #6 on: February 02, 2016, 15:45:19 »
trage mal in der init) Section dies ein:
Code: [Select]
start=wait
before=vdr

Außerdem solltest Du die Wartezeit eventuell auf 10 Minuten oder so begrenzen, damit das im Fehlerfall nicht endlos den bootvorgang blockiert. Das ist wegen dem "start=wait" wichtig. Also z.B. einfach eine Variable in der while Schleife hoch zählen und die schleife abbrechen wenn die >600 ist.

Claus
MLD 5.5 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 5.5 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 12TB HDD - Lian Li PC-C37B - Samsung LE40A559

Offline Frounts

  • Adv. Member
  • ***
  • Posts: 233
    • View Profile
[gelöst] vdr start verzögern, wegen CAM Initialisierung
« Reply #7 on: February 02, 2016, 16:57:33 »
Ich bleib lieber bei "before=rpi", weil nur so noch das MLD-Logo zum Sehen ist.  Bei "before=vdr" ist nur mehr schwarzer Bildschirm ohne Logo/Balken.

Vielen Dank für die Unterstützung.
LG Fr.

/etc/init.d/cam-check
Code: [Select]
#!/bin/sh

. /etc/init.d/rc.functions

NAME=${0##*/}
COUNTER=0

case "$1" in
start)
echo "Starting $NAME: "
if [ -n "`lsusb | grep '0b48:3012'`" ] #TechnoTrend TT-connect CT2-4650 CI V1.0
then
show_message "Waiting for DVB CAM detecting"
# Warten, bis CAM Modul gefunden wurde
while [ "`cat /var/log/messages | grep -c 'dvb_ca adapter'`" = '0' ] && [ $COUNTER -le 300 ] ; do
echo "Waiting for DVB CAM detecting: $(show_step)"
show_message $COUNTER"s waiting for DVB CAM detecting"
let COUNTER+=1
sleep 1
done
show_message "DVB CAM successfully initialized and connected"
fi
check_status
;;
stop)
;;
restart)
$0 stop
$0 start
;;
init)
start=wait
before="rpi"
;;
*)
echo "Usage: $0 {start | stop | restart}" >&2
exit 1
esac
MLD-5.4 Stable als Streamdev-server mit 2x NUC6CAYH 5.4 stable Streamdev-clients

Offline clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 20415
    • View Profile
    • ClausMuus.de
vdr start verzögern, wegen CAM Initialisierung
« Reply #8 on: February 02, 2016, 17:12:25 »
OK, Danke für den Hinweis. Das ist natürlich nicht richtig so, dass der Balken so früh weg geschaltet wird. Ich hab auch schon die Ursache gefunden, muss mir aber noch überlegen wie ich das fixen kann.

Claus
MLD 5.5 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 5.5 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 12TB HDD - Lian Li PC-C37B - Samsung LE40A559

[1] MLD-5.x / General / vdr start verzögern, wegen CAM Initialisierung
 



Users Online Users Online

0 Members and 1 Guest are viewing this topic.