Hi,
i have the issue that my usb cec device moved from libcec 2.1.3 to libcec 2.1.4 which is integrated in openelec has gone for function. first time the cec device is recognized on openelec and few seconds later stopped working. i have to go manually to cec device option to mark it inactive and afterwards reactivate it to bring the cec device back to work.
after reboot and activated cec device it is also gone after a few seconds. so something has to be done on the lib which is now malfunctional.
here some kind of logs:
No device type given. Using 'recording device'
CEC Parser created - libCEC version 2.1.4
no serial port given. trying autodetect:
path: /sys/devices/pci0000:00/0000:00:10.0/usb6/6-2
com port: /dev/ttyACM0
opening a connection to the CEC adapter...
DEBUG: [ 16] unregistering all CEC clients
DEBUG: [ 16] Broadcast (F): osd name set to 'Broadcast'
ERROR: [ 3522] error opening serial port '/dev/ttyACM0': Couldn't lock the serial port
ERROR: [ 3522] could not open a connection (try 1)
ERROR: [ 6356] error opening serial port '/dev/ttyACM0': Couldn't lock the serial port
ERROR: [ 6356] could not open a connection (try 2)
ERROR: [ 8246] error opening serial port '/dev/ttyACM0': Couldn't lock the serial port
ERROR: [ 8246] could not open a connection (try 3)
ERROR: [ 9506] error opening serial port '/dev/ttyACM0': Couldn't lock the serial port
ERROR: [ 9506] could not open a connection (try 4)
NOTICE: [ 10511] connection opened
ERROR: [ 10511] could not start CEC communications
unable to open the device on port /dev/ttyACM0
cec-client -l
ERROR: [ 3518] error opening serial port '/dev/ttyACM0': Couldn't lock the serial port
ERROR: [ 3518] could not open a connection (try 1)
ERROR: [ 6352] error opening serial port '/dev/ttyACM0': Couldn't lock the serial port
ERROR: [ 6352] could not open a connection (try 2)
ERROR: [ 8242] error opening serial port '/dev/ttyACM0': Couldn't lock the serial port
ERROR: [ 8242] could not open a connection (try 3)
ERROR: [ 9502] error opening serial port '/dev/ttyACM0': Couldn't lock the serial port
ERROR: [ 9502] could not open a connection (try 4)
Found devices: 1
device: 1
com port: /dev/ttyACM0
vendor id: 2548
product id: 1002
firmware version: 65535
Found devices: 1
device: 1
com port: /dev/ttyACM0
vendor id: 2548
product id: 1002
firmware version: 4
firmware build date: Thu Dec 6 11:15:20 2012 +0000
type: Pulse-Eight USB-CEC Adapter
No device type given. Using 'recording device'
CEC Parser created - libCEC version 2.1.4
no serial port given. trying autodetect:
path: /sys/devices/pci0000:00/0000:00:12.0/usb3/3-4
com port: /dev/ttyACM1
opening a connection to the CEC adapter...
DEBUG: [ 16] unregistering all CEC clients
DEBUG: [ 16] Broadcast (F): osd name set to 'Broadcast'
DEBUG: [ 19] connection opened, clearing any previous input and waiting for active transmissions to end before starting
DEBUG: [ 19] communication thread started
DEBUG: [ 30] turning controlled mode on
NOTICE: [ 52] connection opened
DEBUG: [ 52] << Broadcast (F) -> TV (0): POLL
TRAFFIC: [ 52] << f0
DEBUG: [ 52] processor thread started
DEBUG: [ 52] setting the line timeout to 3
DEBUG: [ 89] >> POLL sent
DEBUG: [ 89] TV (0): device status changed into 'present'
DEBUG: [ 89] << requesting vendor ID of 'TV' (0)
TRAFFIC: [ 89] << f0:8c
TRAFFIC: [ 292] >> 0f:87:00:80:45
DEBUG: [ 292] >> TV (0) -> Broadcast (F): device vendor id (87)
DEBUG: [ 292] TV (0): vendor = Panasonic (008045)
DEBUG: [ 292] expected response received (87: device vendor id)
DEBUG: [ 292] replacing the command handler for device 'TV' (0)
NOTICE: [ 292] registering new CEC client - v2.1.4
DEBUG: [ 292] detecting logical address for type 'playback device'
DEBUG: [ 292] trying logical address 'Playback 1'
DEBUG: [ 292] << Playback 1 (4) -> Playback 1 (4): POLL
TRAFFIC: [ 292] << 44
DEBUG: [ 329] >> POLL sent
DEBUG: [ 329] logical address 'Playback 1' already taken
DEBUG: [ 329] Playback 1 (4): device status changed into 'present'
DEBUG: [ 329] trying logical address 'Playback 2'
DEBUG: [ 329] << Playback 2 (8) -> Playback 2 (8): POLL
TRAFFIC: [ 329] << 88
DEBUG: [ 360] CEC transmission - received response - TRANSMIT_FAILED_ACK
TRAFFIC: [ 360] << 88
DEBUG: [ 397] CEC transmission - received response - TRANSMIT_FAILED_ACK
DEBUG: [ 398] >> POLL not sent
DEBUG: [ 398] using logical address 'Playback 2'
DEBUG: [ 398] Playback 2 (8): device status changed into 'handled by libCEC'
DEBUG: [ 398] Playback 2 (8): power status changed from 'unknown' to 'on'
DEBUG: [ 398] Playback 2 (8): vendor = Pulse Eight (001582)
DEBUG: [ 398] Playback 2 (8): CEC version 1.4
DEBUG: [ 398] AllocateLogicalAddresses - device '0', type 'playback device', LA '8'
DEBUG: [ 398] setting ackmask to 100
DEBUG: [ 403] Playback 2 (8): osd name set to 'CECTester'
DEBUG: [ 403] Playback 2 (8): menu language set to 'eng'
DEBUG: [ 403] GetPhysicalAddress - trying to get the physical address via ADL
DEBUG: [ 403] GetPhysicalAddress - ADL returned physical address 0000
DEBUG: [ 403] GetPhysicalAddress - trying to get the physical address via nvidia driver
DEBUG: [ 403] GetPhysicalAddress - nvidia driver returned physical address 0000
DEBUG: [ 403] GetPhysicalAddress - trying to get the physical address from the OS
DEBUG: [ 403] GetPhysicalAddress - OS returned physical address 0000
DEBUG: [ 403] SetDevicePhysicalAddress - not setting invalid physical address 0000
NOTICE: [ 403] setting HDMI port to 1 on device TV (0)
DEBUG: [ 403] Playback 2 (8): physical address changed from ffff to 1000
DEBUG: [ 403] << Playback 2 (8) -> broadcast (F): physical adddress 1000
TRAFFIC: [ 403] << 8f:84:10:00:04
DEBUG: [ 542] using persisted autonomous mode setting: 'enabled'
DEBUG: [ 547] using persisted CEC version setting: '1.4'
DEBUG: [ 552] using persisted logical address setting: 'Playback 2'
DEBUG: [ 558] using persisted device type setting: 'playback device'
DEBUG: [ 563] using persisted logical address mask setting: '910'
DEBUG: [ 579] using persisted device name setting: 'CECTester'
DEBUG: [ 584] using persisted physical address setting: '1000'
NOTICE: [ 584] CEC client registered: libCEC version = 2.1.4, client version = 2.1.4, firmware version = 4, firmware build date: Thu Dec 6 11:15:20 2012 +0000, logical address(es) = Playback 2 (8) , base device: TV (0), HDMI port number: 1, physical address: 1.0.0.0, host: x86_64-openelec-linux-gnu, features: 'P8 USB' 'P8 USB detect', git revision: fcafb3b, compiled on: Wed Apr 30 13:52:22 UTC 2014 by [email protected] on Linux 3.2.0-4-amd64 (x86_64)
DEBUG: [ 584] Playback 2 (8): vendor = Panasonic (008045)
DEBUG: [ 584] replacing the command handler for device 'Playback 2' (8)
DEBUG: [ 584] << Playback 2 (8) -> TV (0): OSD name 'CECTester'
TRAFFIC: [ 584] << 80:47:43:45:43:54:65:73:74:65:72
DEBUG: [ 860] << requesting power status of 'TV' (0)
TRAFFIC: [ 860] << 80:8f
TRAFFIC: [ 1036] >> 08:00:47:00
DEBUG: [ 1036] >> TV (0) -> Playback 2 (8): feature abort ( 0)
DEBUG: [ 1036] marking opcode 'set osd name' as unsupported feature for device 'TV'
TRAFFIC: [ 1132] >> 08:90:00
DEBUG: [ 1132] >> TV (0) -> Playback 2 (8): report power status (90)
DEBUG: [ 1132] TV (0): power status changed from 'unknown' to 'on'
DEBUG: [ 1132] expected response received (90: report power status)
waiting for input
TRAFFIC: [ 1600] >> 08:8c
DEBUG: [ 1600] >> TV (0) -> Playback 2 (8): give device vendor id (8C)
DEBUG: [ 1601] << Playback 2 (8) -> TV (0): vendor id Panasonic (8045)
TRAFFIC: [ 1601] << 8f:87:00:80:45
TRAFFIC: [ 1873] >> 08:89:10:01:05
DEBUG: [ 1873] >> TV (0) -> Playback 2 (8): vendor command (89)
TRAFFIC: [ 1873] << 80:89:10:02:ff:ff:00:05:05:45:55:5c:58:32
TRAFFIC: [ 2410] >> 08:a0:00:80:45:06:05
DEBUG: [ 2410] >> TV (0) -> Playback 2 (8): vendor command with id (A0)
TRAFFIC: [ 3594] >> 08:a0:00:80:45:06:05
DEBUG: [ 3594] >> TV (0) -> Playback 2 (8): vendor command with id (A0)
TRAFFIC: [ 4781] >> 08:a0:00:80:45:06:05
DEBUG: [ 4781] >> TV (0) -> Playback 2 (8): vendor command with id (A0)
TRAFFIC: [ 5855] >> 05:7d
TRAFFIC: [ 5946] >> 50:7e:00
DEBUG: [ 5946] >> Audio (5): system audio mode status changed from on to off
DEBUG: [ 5946] device Audio (5) status changed to present after command system audio mode status
^Csignal caught: 2 - exiting
DEBUG: [ 99848] unregistering all CEC clients
NOTICE: [ 99848] unregistering client: libCEC version = 2.1.4, client version = 2.1.4, firmware version = 4, firmware build date: Thu Dec 6 11:15:20 2012 +0000, logical address(es) = Playback 2 (8) , base device: TV (0), HDMI port number: 1, physical address: 1.0.0.0, host: x86_64-openelec-linux-gnu, features: 'P8 USB' 'P8 USB detect', git revision: fcafb3b, compiled on: Wed Apr 30 13:52:22 UTC 2014 by [email protected] on Linux 3.2.0-4-amd64 (x86_64)
DEBUG: [ 99848] Playback 2 (8): power status changed from 'on' to 'unknown'
DEBUG: [ 99848] Playback 2 (8): vendor = Unknown (000000)
DEBUG: [ 99848] Playback 2 (8): CEC version unknown
DEBUG: [ 99848] Playback 2 (8): osd name set to 'Playback 2'
DEBUG: [ 99848] Playback 2 (8): device status changed into 'unknown'
DEBUG: [ 99849] setting ackmask to 0
DEBUG: [ 99855] turning controlled mode off
DEBUG: [ 99860] unregistering all CEC clients
DEBUG: [ 100072] communication thread ended
OpenELEC:~ # reboot
after reboot
OpenELEC:~ # cec-client
No device type given. Using 'recording device'
CEC Parser created - libCEC version 2.1.4
no serial port given. trying autodetect:
path: /sys/devices/pci0000:00/0000:00:12.0/usb3/3-4
com port: /dev/ttyACM0
opening a connection to the CEC adapter...
DEBUG: [ 13] unregistering all CEC clients
DEBUG: [ 13] Broadcast (F): osd name set to 'Broadcast'
ERROR: [ 3518] error opening serial port '/dev/ttyACM0': Couldn't lock the serial port
ERROR: [ 3518] could not open a connection (try 1)
ERROR: [ 6353] error opening serial port '/dev/ttyACM0': Couldn't lock the serial port
ERROR: [ 6353] could not open a connection (try 2)
ERROR: [ 8243] error opening serial port '/dev/ttyACM0': Couldn't lock the serial port
ERROR: [ 8243] could not open a connection (try 3)
ERROR: [ 9503] error opening serial port '/dev/ttyACM0': Couldn't lock the serial port
ERROR: [ 9503] could not open a connection (try 4)
NOTICE: [ 10508] connection opened
ERROR: [ 10508] could not start CEC communications
unable to open the device on port /dev/ttyACM0
unplugging usb port of cec-adapter and put it into the monitor mode.
OpenELEC:~ # cec-client -m
starting a monitor-only client. use 'mon 0' to switch to normal mode
No device type given. Using 'recording device'
CEC Parser created - libCEC version 2.1.4
no serial port given. trying autodetect:
path: /sys/devices/pci0000:00/0000:00:10.0/usb6/6-2
com port: /dev/ttyACM1
opening a connection to the CEC adapter...
DEBUG: [ 13] unregistering all CEC clients
DEBUG: [ 13] Broadcast (F): osd name set to 'Broadcast'
DEBUG: [ 16] connection opened, clearing any previous input and waiting for active transmissions to end before starting
DEBUG: [ 16] communication thread started
DEBUG: [ 27] turning controlled mode on
NOTICE: [ 48] connection opened
waiting for input
OpenELEC:~ # echo "on 0" | cec-client -s
opening a connection to the CEC adapter...
DEBUG: [ 12] unregistering all CEC clients
DEBUG: [ 12] Broadcast (F): osd name set to 'Broadcast'
DEBUG: [ 15] connection opened, clearing any previous input and waiting for active transmissions to end before starting
DEBUG: [ 15] communication thread started
DEBUG: [ 26] turning controlled mode on
NOTICE: [ 48] connection opened
DEBUG: [ 48] << Broadcast (F) -> TV (0): POLL
DEBUG: [ 48] processor thread started
TRAFFIC: [ 48] << f0
DEBUG: [ 48] setting the line timeout to 3
DEBUG: [ 84] >> POLL sent
DEBUG: [ 85] TV (0): device status changed into 'present'
DEBUG: [ 85] << requesting vendor ID of 'TV' (0)
TRAFFIC: [ 85] << f0:8c
TRAFFIC: [ 287] >> 0f:87:00:80:45
DEBUG: [ 287] >> TV (0) -> Broadcast (F): device vendor id (87)
DEBUG: [ 287] TV (0): vendor = Panasonic (008045)
DEBUG: [ 287] expected response received (87: device vendor id)
DEBUG: [ 287] replacing the command handler for device 'TV' (0)
NOTICE: [ 287] registering new CEC client - v2.1.4
DEBUG: [ 287] detecting logical address for type 'playback device'
DEBUG: [ 287] trying logical address 'Playback 1'
DEBUG: [ 287] << Playback 1 (4) -> Playback 1 (4): POLL
TRAFFIC: [ 287] << 44
DEBUG: [ 324] >> POLL sent
DEBUG: [ 324] logical address 'Playback 1' already taken
DEBUG: [ 324] Playback 1 (4): device status changed into 'present'
DEBUG: [ 324] trying logical address 'Playback 2'
DEBUG: [ 324] << Playback 2 (8) -> Playback 2 (8): POLL
TRAFFIC: [ 324] << 88
DEBUG: [ 355] CEC transmission - received response - TRANSMIT_FAILED_ACK
TRAFFIC: [ 356] << 88
DEBUG: [ 392] CEC transmission - received response - TRANSMIT_FAILED_ACK
DEBUG: [ 393] >> POLL not sent
DEBUG: [ 393] using logical address 'Playback 2'
DEBUG: [ 393] Playback 2 (8): device status changed into 'handled by libCEC'
DEBUG: [ 393] Playback 2 (8): power status changed from 'unknown' to 'on'
DEBUG: [ 393] Playback 2 (8): vendor = Pulse Eight (001582)
DEBUG: [ 393] Playback 2 (8): CEC version 1.4
DEBUG: [ 393] AllocateLogicalAddresses - device '0', type 'playback device', LA '8'
DEBUG: [ 393] setting ackmask to 100
DEBUG: [ 398] Playback 2 (8): osd name set to 'CECTester'
DEBUG: [ 398] Playback 2 (8): menu language set to 'eng'
DEBUG: [ 398] GetPhysicalAddress - trying to get the physical address via ADL
DEBUG: [ 398] GetPhysicalAddress - ADL returned physical address 0000
DEBUG: [ 398] GetPhysicalAddress - trying to get the physical address via nvidia driver
DEBUG: [ 398] GetPhysicalAddress - nvidia driver returned physical address 0000
DEBUG: [ 398] GetPhysicalAddress - trying to get the physical address from the OS
DEBUG: [ 398] GetPhysicalAddress - OS returned physical address 0000
DEBUG: [ 398] SetDevicePhysicalAddress - not setting invalid physical address 0000
NOTICE: [ 398] setting HDMI port to 1 on device TV (0)
DEBUG: [ 398] Playback 2 (8): physical address changed from ffff to 1000
DEBUG: [ 398] << Playback 2 (8) -> broadcast (F): physical adddress 1000
TRAFFIC: [ 399] << 8f:84:10:00:04
DEBUG: [ 532] using persisted autonomous mode setting: 'enabled'
DEBUG: [ 537] using persisted CEC version setting: '1.4'
DEBUG: [ 542] using persisted logical address setting: 'Playback 2'
DEBUG: [ 547] using persisted device type setting: 'playback device'
DEBUG: [ 553] using persisted logical address mask setting: '910'
DEBUG: [ 568] using persisted device name setting: 'CECTester'
DEBUG: [ 574] using persisted physical address setting: '1000'
NOTICE: [ 574] CEC client registered: libCEC version = 2.1.4, client version = 2.1.4, firmware version = 4, firmware build date: Thu Dec 6 11:15:20 2012 +0000, logical address(es) = Playback 2 (8) , base device: TV (0), HDMI port number: 1, physical address: 1.0.0.0, host: x86_64-openelec-linux-gnu, features: 'P8 USB' 'P8 USB detect', git revision: fcafb3b, compiled on: Wed Apr 30 13:52:22 UTC 2014 by [email protected] on Linux 3.2.0-4-amd64 (x86_64)
DEBUG: [ 574] Playback 2 (8): vendor = Panasonic (008045)
DEBUG: [ 574] replacing the command handler for device 'Playback 2' (8)
DEBUG: [ 574] << Playback 2 (8) -> TV (0): OSD name 'CECTester'
TRAFFIC: [ 574] << 80:47:43:45:43:54:65:73:74:65:72
DEBUG: [ 849] << requesting power status of 'TV' (0)
TRAFFIC: [ 850] << 80:8f
TRAFFIC: [ 1004] >> 08:90:01
DEBUG: [ 1004] >> TV (0) -> Playback 2 (8): report power status (90)
DEBUG: [ 1004] TV (0): power status changed from 'unknown' to 'standby'
DEBUG: [ 1004] expected response received (90: report power status)
NOTICE: [ 1004] << powering on 'TV' (0)
TRAFFIC: [ 1004] << 80:04
DEBUG: [ 1062] TV (0): power status changed from 'standby' to 'in transition from standby to on'
DEBUG: [ 1062] unregistering all CEC clients
NOTICE: [ 1062] unregistering client: libCEC version = 2.1.4, client version = 2.1.4, firmware version = 4, firmware build date: Thu Dec 6 11:15:20 2012 +0000, logical address(es) = Playback 2 (8) , base device: TV (0), HDMI port number: 1, physical address: 1.0.0.0, host: x86_64-openelec-linux-gnu, features: 'P8 USB' 'P8 USB detect', git revision: fcafb3b, compiled on: Wed Apr 30 13:52:22 UTC 2014 by [email protected] on Linux 3.2.0-4-amd64 (x86_64)
DEBUG: [ 1062] Playback 2 (8): power status changed from 'on' to 'unknown'
DEBUG: [ 1062] Playback 2 (8): vendor = Unknown (000000)
DEBUG: [ 1062] Playback 2 (8): CEC version unknown
DEBUG: [ 1062] Playback 2 (8): osd name set to 'Playback 2'
DEBUG: [ 1062] Playback 2 (8): device status changed into 'unknown'
DEBUG: [ 1062] setting ackmask to 0
DEBUG: [ 1067] turning controlled mode off
DEBUG: [ 1073] unregistering all CEC clients
DEBUG: [ 2057] communication thread ended
OpenELEC:~ # echo scan | cec-client -s -d 1
opening a connection to the CEC adapter...
requesting CEC bus information ...
CEC bus information
device #0: TV
address: 0.0.0.0
active source: yes
vendor: Panasonic
osd string: TV
CEC version: 1.4
power status: on
language: ger
device #4: Playback 1
address: 3.0.0.0
active source: no
vendor: Yamaha
osd string: Blu-ray
CEC version: 1.4
power status: standby
language: ???
device #5: Audio
address: 3.0.0.0
active source: no
vendor: Yamaha
osd string: Blu-ray
CEC version: 1.4
power status: standby
language: ???
device #8: Playback 2
address: 1.0.0.0
active source: no
vendor: Panasonic
osd string: CECTester
CEC version: 1.4
power status: on
language: eng
currently active source: TV (0)