2014-09-15 10 views
6

Ho RPi B + che esegue Raspbian collegato al mio TV LG tramite HDMI. I succefully compilato ed installato CEC-client e posso facilmente accendere il televisore utilizzando il comando echo "on 0" | cec-client -s, tuttavia quando provo a girare televisore utilizzando il comando echo "standby 0" | cec-client -s ottengo questo output:Spegni la TV utilizzando cec-client su RPI

opening a connection to the CEC adapter... 
DEBUG: [    316]  unregistering all CEC clients 
DEBUG: [    318]  Broadcast (F): osd name set to 'Broadcast' 
DEBUG: [    324]  InitHostCEC - vchiq_initialise succeeded 
DEBUG: [    325]  InitHostCEC - vchi_initialise succeeded 
DEBUG: [    326]  InitHostCEC - vchi_connect succeeded 
DEBUG: [    330]  logical address changed to Broadcast (f) 
DEBUG: [    333]  RegisterLogicalAddress - registering address e 
DEBUG: [    605]  logical address changed to Recorder 1 (1) 
DEBUG: [    605]  logical address changed to Free use (e) 
DEBUG: [    605]  Open - vc_cec initialised 
NOTICE: [    605]  connection opened 
DEBUG: [    607]  processor thread started 
DEBUG: [    608]  << Broadcast (F) -> TV (0): POLL 
DEBUG: [    611]  initiator 'Broadcast' is not supported by the CEC adapter. using 'Free use' instead 
TRAFFIC: [    612]  << e0 
DEBUG: [    647]  >> POLL sent 
DEBUG: [    647]  TV (0): device status changed into 'present' 
DEBUG: [    647]  << requesting vendor ID of 'TV' (0) 
TRAFFIC: [    647]  << e0:8c 
DEBUG: [   1858]  expected response not received (87: device vendor id) 
TRAFFIC: [   1859]  << e0:8c 
DEBUG: [   3070]  expected response not received (87: device vendor id) 
NOTICE: [   3070]  registering new CEC client - v2.1.4 
DEBUG: [   3070]  detecting logical address for type 'recording device' 
DEBUG: [   3070]  trying logical address 'Recorder 1' 
DEBUG: [   3070]  << Recorder 1 (1) -> Recorder 1 (1): POLL 
TRAFFIC: [   3071]  << 11 
DEBUG: [   3071]  UnregisterLogicalAddress - releasing previous logical address 
DEBUG: [   3072]  logical address changed to Broadcast (f) 
DEBUG: [   3073]  RegisterLogicalAddress - registering address 1 
DEBUG: [   3255]  logical address changed to Free use (e) 
DEBUG: [   3255]  logical address changed to Recorder 1 (1) 
TRAFFIC: [   3255]  << 11 
DEBUG: [   3255]  >> POLL not sent 
DEBUG: [   3256]  using logical address 'Recorder 1' 
DEBUG: [   3256]  Recorder 1 (1): device status changed into 'handled by libCEC' 
DEBUG: [   3256]  Recorder 1 (1): power status changed from 'unknown' to 'on' 
DEBUG: [   3256]  Recorder 1 (1): vendor = Pulse Eight (001582) 
DEBUG: [   3256]  Recorder 1 (1): CEC version 1.4 
DEBUG: [   3256]  AllocateLogicalAddresses - device '0', type 'recording device', LA '1' 
DEBUG: [   3256]  Recorder 1 (1): osd name set to 'CECTester' 
DEBUG: [   3256]  Recorder 1 (1): menu language set to 'eng' 
DEBUG: [   3258]  GetPhysicalAddress - physical address = 3000 
DEBUG: [   3258]  AutodetectPhysicalAddress - autodetected physical address '3000' 
DEBUG: [   3260]  Recorder 1 (1): physical address changed from ffff to 3000 
DEBUG: [   3262]  << Recorder 1 (1) -> broadcast (F): physical adddress 3000 
TRAFFIC: [   3263]  << 1f:84:30:00:01 
NOTICE: [   3415]  CEC client registered: libCEC version = 2.1.4, client version = 2.1.4, firmware version = 1, logical address(es) = Recorder 1 (1) , physical address: 3.0.0.0, host: armv6l-unknown-linux-gnueabihf, features: 'P8 USB' 'P8 USB detect' 'RPi', git revision: a560d24, compiled on: Sun Sep 14 17:49:41 UTC 2014 by [email protected] on Linux 3.12.28+ (armv6l) 
DEBUG: [   3415]  << Recorder 1 (1) -> TV (0): OSD name 'CECTester' 
TRAFFIC: [   3415]  << 10:47:43:45:43:54:65:73:74:65:72 
DEBUG: [   3716]  << requesting power status of 'TV' (0) 
TRAFFIC: [   3716]  << 10:8f 
TRAFFIC: [   3868]  >> 01:8c 
DEBUG: [   3868]  >> TV (0) -> Recorder 1 (1): give device vendor id (8C) 
DEBUG: [   3871]  << Recorder 1 (1) -> TV (0): vendor id Pulse Eight (1582) 
TRAFFIC: [   3873]  << 1f:87:00:15:82 
TRAFFIC: [   4087]  >> 01:90:00 
DEBUG: [   4087]  >> TV (0) -> Recorder 1 (1): report power status (90) 
DEBUG: [   4088]  TV (0): power status changed from 'unknown' to 'on' 
DEBUG: [   4089]  expected response received (90: report power status) 
DEBUG: [   4091]  << requesting vendor ID of 'TV' (0) 
TRAFFIC: [   4091]  << 10:8c 
TRAFFIC: [   4323]  >> 0f:87:00:e0:91 
DEBUG: [   4323]  >> TV (0) -> Broadcast (F): device vendor id (87) 
DEBUG: [   4323]  TV (0): vendor = LG (00e091) 
DEBUG: [   4323]  << Recorder 1 (1) -> Broadcast (F): vendor id Pulse Eight (1582) 
TRAFFIC: [   4323]  << 1f:87:00:15:82 
DEBUG: [   4474]  expected response received (87: device vendor id) 
DEBUG: [   4475]  replacing the command handler for device 'TV' (0) 
DEBUG: [   4478]  TV (0): CEC version 1.3a 
DEBUG: [   4479]  TV (0): menu language set to 'eng' 
DEBUG: [   4481]  Recorder 1 (1): vendor = LG (00e091) 
DEBUG: [   4485]  replacing the command handler for device 'Recorder 1' (1) 
DEBUG: [   4485]  Recorder 1 (1): CEC version 1.3a 
NOTICE: [   4487]  << putting 'TV' (0) in standby mode 
TRAFFIC: [   4488]  << 10:36 
DEBUG: [   4552]  unregistering all CEC clients 
NOTICE: [   4555]  unregistering client: libCEC version = 2.1.4, client version = 2.1.4, firmware version = 1, logical address(es) = Recorder 1 (1) , physical address: 3.0.0.0, host: armv6l-unknown-linux-gnueabihf, features: 'P8 USB' 'P8 USB detect' 'RPi', git revision: a560d24, compiled on: Sun Sep 14 17:49:41 UTC 2014 by [email protected] on Linux 3.12.28+ (armv6l) 
DEBUG: [   4559]  Recorder 1 (1): power status changed from 'on' to 'unknown' 
DEBUG: [   4561]  Recorder 1 (1): vendor = Unknown (000000) 
DEBUG: [   4564]  Recorder 1 (1): CEC version unknown 
DEBUG: [   4565]  Recorder 1 (1): osd name set to 'Recorder 1' 
DEBUG: [   4567]  Recorder 1 (1): device status changed into 'unknown' 
DEBUG: [   4567]  unregistering all CEC clients 
DEBUG: [   4624]  UnregisterLogicalAddress - releasing previous logical address 
DEBUG: [   4630]  logical address changed to Broadcast (f) 

e non succede nulla. Inoltre sto usando solo la CLI, e dopo qualche tempo RPi mette la TV in uno screensaver vuoto, ma non riesco a capire come farlo immidamente al mio comando.

+0

Anche io ho lo stesso problema e vorrei avere una risposta. – jomille

risposta

1

Sembra che non vi sia nulla di sbagliato in libCEC. Tuttavia, l'implementazione HDMI-CEC del modello LG TV potrebbe semplicemente ignorare il comando standby. Dovresti testare il tuo Raspberry Pi con qualche altro dispositivo compatibile HDMI-CEC per verificare se il comando di standby funzioni correttamente.

0

Utilizzare questa:

sudo apt-get update; 
sudo apt-get install gcc; 
sudo apt-get install autoconf; 
sudo apt-get install libtool; 
sudo apt-get install pkg-config; 
sudo apt-get install libselinux1-dev; 
sudo apt-get install liblockdev1-dev; 
sudo apt-get install gawk; 
sudo apt-get install g++; 
sudo apt-get install c++; 
sudo apt-get install libgudev-1.0-dev; 
sudo apt-get install libudev-dev; 

mkdir -p $HOME/distr/libcec; 
wget -P $HOME/distr/libcec https://github.com/Pulse-Eight/libcec/archive/master.zip; 
unzip $HOME/distr/libcec/master.zip -d $HOME/distr/libcec/; 
cd $HOME/distr/libcec/libcec-master ./bootstrap;" 
./configure --with-rpi-include-path=/opt/vc/include --with-rpi-lib-path=/opt/vc/lib --enable-rpi; 
make; 
sudo make install; 
sudo apt-get install cec-utils; 

Allora questo:

sudo apt-get update 
sudo apt-get dist-upgrade 
sudo rpi-update 
sudo reboot 
+1

al termine dell'uso: echo 'standby 0' | cec-client -s – Stagiar

1

televisori LG (e solo televisori) non supportano CEC Standby command.See here. Non so se si tratta dell'implementazione di libcec o è la limitazione della TV

+0

Rinforzato da [questa risposta] (https://raspberrypi.stackexchange.com/a/37638/7909) anche se spero che qualcuno possa ancora trovare un modo per disattivare i televisori LG tramite HDMI-CEC – cwd