Hallo Claus,
ich habe mal wieder ein kleines Problem.
Nachdem die Steuerung von GPIO27 funktioniert, taucht ein neues Problem auf.
Wird die MLD mit der Powertaste auf der FB ohne Steuerung über GPIO27 heruntergefahren, die Stromversorgung des RPI bleibt eingeschaltet, schaltet sich mein TV (Samsung UE32C600) nach 15 Min. selbständig aus. Bis dahin erscheint auf dem TV die Meldung:
Kein Signal
Überprüfen Sie die Stromvers. des angeschl. Geräts sowie
die Kabelverb. und gewählte Signalquelle.
Mit GPIO27-Steuerung, die Stromversorgung des RPI wird 20 Sek. nach dem letzten Geblinker der ACT-LED ausgeschaltet, erscheint zusätzlich zu der obrigen Meldung:
Signalkabel überprüfen
Das Problem ist, der TV wird nicht mehr ausgeschaltet.
Ich konnte mich erinnern, daß wir in Zusammenhang mit suspend CEC-Befehle getestet hatten. #234 und 236.
Zunächst mußte ich libcec2 installieren:
MLD> opkg install libcec2
Installing libcec2 (2.1.4-6) on root.
Downloading http://www.minidvblinux.de/download/4.0.1-rpi/files/libs/libcec2_2.1.4-6.opk.
Installing liblockdev1 (1.0.3-1) on root.
Downloading http://www.minidvblinux.de/download/4.0.1-rpi/files/libs/liblockdev1_1.0.3-1.opk.
Configuring liblockdev1.
Configuring libcec2.
WARNING: could not open /lib/modules/3.15.1.62/modules.order: No such file or directory
WARNING: could not open /lib/modules/3.15.1.62/modules.builtin: No such file or directory
Bemerkung: Bei einer Installation auf die MLD ...07.10-69 vom 10.7. 18.13h, gab es die "WARNING"´s nicht.
Trotzdem, TV per Hand ausgeschaltet und "echo "on 0" | cec-client -s" über die Konsole gesendet.
Siehe da, der TV schaltet ein.
Ich kann mich nicht mehr erinnern ob damals dem Kommando auch so viele Meldungen folgten.
MLD> echo "on 0" | cec-client -s
opening a connection to the CEC adapter...
DEBUG: [ 221] unregistering all CEC clients
DEBUG: [ 225] Broadcast (F): osd name set to 'Broadcast'
DEBUG: [ 228] InitHostCEC - vchiq_initialise succeeded
DEBUG: [ 229] InitHostCEC - vchi_initialise succeeded
DEBUG: [ 232] InitHostCEC - vchi_connect succeeded
DEBUG: [ 234] logical address changed to Broadcast (f)
DEBUG: [ 238] RegisterLogicalAddress - registering address e
DEBUG: [ 421] logical address changed to Recorder 1 (1)
DEBUG: [ 422] logical address changed to Free use (e)
DEBUG: [ 423] Open - vc_cec initialised
NOTICE: [ 425] connection opened
DEBUG: [ 428] << Broadcast (F) -> TV (0): POLL
DEBUG: [ 430] initiator 'Broadcast' is not supported by the CEC adapter. using 'Free use' instead
TRAFFIC: [ 432] << e0
DEBUG: [ 434] processor thread started
DEBUG: [ 466] >> POLL sent
DEBUG: [ 467] TV (0): device status changed into 'present'
DEBUG: [ 467] << requesting vendor ID of 'TV' (0)
TRAFFIC: [ 467] << e0:8c
TRAFFIC: [ 671] >> 0f:87:00:00:f0
DEBUG: [ 671] >> TV (0) -> Broadcast (F): device vendor id (87)
DEBUG: [ 671] TV (0): vendor = Samsung (0000f0)
DEBUG: [ 673] expected response received (87: device vendor id)
DEBUG: [ 675] replacing the command handler for device 'TV' (0)
NOTICE: [ 676] registering new CEC client - v2.1.4
DEBUG: [ 678] detecting logical address for type 'recording device'
DEBUG: [ 679] trying logical address 'Recorder 1'
DEBUG: [ 681] << Recorder 1 (1) -> Recorder 1 (1): POLL
TRAFFIC: [ 681] << 11
DEBUG: [ 683] UnregisterLogicalAddress - releasing previous logical address
DEBUG: [ 686] logical address changed to Broadcast (f)
DEBUG: [ 686] RegisterLogicalAddress - registering address 1
DEBUG: [ 869] logical address changed to Free use (e)
DEBUG: [ 869] logical address changed to Recorder 1 (1)
TRAFFIC: [ 870] << 11
DEBUG: [ 871] >> POLL not sent
DEBUG: [ 872] using logical address 'Recorder 1'
DEBUG: [ 873] Recorder 1 (1): device status changed into 'handled by libCEC'
DEBUG: [ 874] Recorder 1 (1): power status changed from 'unknown' to 'on'
DEBUG: [ 874] Recorder 1 (1): vendor = Pulse Eight (001582)
DEBUG: [ 876] Recorder 1 (1): CEC version 1.4
DEBUG: [ 877] AllocateLogicalAddresses - device '0', type 'recording device', LA '1'
DEBUG: [ 877] Recorder 1 (1): osd name set to 'CECTester'
DEBUG: [ 879] Recorder 1 (1): menu language set to 'eng'
DEBUG: [ 881] GetPhysicalAddress - physical address = 4000
DEBUG: [ 882] AutodetectPhysicalAddress - autodetected physical address '4000'
DEBUG: [ 883] Recorder 1 (1): physical address changed from ffff to 4000
DEBUG: [ 884] << Recorder 1 (1) -> broadcast (F): physical adddress 4000
TRAFFIC: [ 885] << 1f:84:40:00:01
NOTICE: [ 1038] CEC client registered: libCEC version = 2.1.4, client version = 2.1.4, firmware version = 1, logical address(es) = Recorder 1 (1) , physical address: 4.0.0.0, host: armv6l-unknown-linux-gnueabihf, features: 'P8 USB' 'P8 USB detect' 'RPi', git revision: c370d52, compiled on: Fri Jun 6 22:51:04 UTC 2014 by nightbuild@raspberrypi on Linux 3.10.26+ (armv6l)
DEBUG: [ 1039] << Recorder 1 (1) -> TV (0): OSD name 'CECTester'
TRAFFIC: [ 1039] << 10:47:43:45:43:54:65:73:74:65:72
DEBUG: [ 1340] << requesting power status of 'TV' (0)
TRAFFIC: [ 1341] << 10:8f
TRAFFIC: [ 1485] >> 01:90:01
DEBUG: [ 1485] >> TV (0) -> Recorder 1 (1): report power status (90)
DEBUG: [ 1485] TV (0): power status changed from 'unknown' to 'standby'
DEBUG: [ 1487] expected response received (90: report power status)
NOTICE: [ 1490] << powering on 'TV' (0)
TRAFFIC: [ 1492] << 10:04
DEBUG: [ 1555] TV (0): power status changed from 'standby' to 'in transition from standby to on'
DEBUG: [ 1555] unregistering all CEC clients
NOTICE: [ 1555] unregistering client: libCEC version = 2.1.4, client version = 2.1.4, firmware version = 1, logical address(es) = Recorder 1 (1) , physical address: 4.0.0.0, host: armv6l-unknown-linux-gnueabihf, features: 'P8 USB' 'P8 USB detect' 'RPi', git revision: c370d52, compiled on: Fri Jun 6 22:51:04 UTC 2014 by nightbuild@raspberrypi on Linux 3.10.26+ (armv6l)
DEBUG: [ 1555] Recorder 1 (1): power status changed from 'on' to 'unknown'
DEBUG: [ 1556] Recorder 1 (1): vendor = Unknown (000000)
DEBUG: [ 1559] Recorder 1 (1): CEC version unknown
DEBUG: [ 1560] Recorder 1 (1): osd name set to 'Recorder 1'
DEBUG: [ 1561] Recorder 1 (1): device status changed into 'unknown'
DEBUG: [ 1561] unregistering all CEC clients
DEBUG: [ 2444] UnregisterLogicalAddress - releasing previous logical address
DEBUG: [ 2445] logical address changed to Broadcast (f)
MLD>
Nun wollte ich den TV per "echo "off 0" | cec-client -s" ausschalten.
Leider, es passiert nichts.
Wie ist das korrekte Kommando für das TV-Ausschalten.
Sollte es keine Lösung für das Ausschalten des TV geben, muß ich wohl oder übel das Projekt "WakeUp-Controller" begraben.
Bisher ist es mir nicht gelungen den TV per CEC auszuschalten. Egal ob Linvdr, easyVDR oder MLD.
Gruß Gerhard