pop-up error box at the exact moment I press an arrow key on my Pioneer LX-76 AVR.
Running /usr/osmc/bin/cec-client from ssh shows that it fails to to find a free logical address for the client:
osmc@osmc:~$ /usr/osmc/bin/cec-client
No device type given. Using ‘recording device’
CEC Parser created - libCEC version 4.0.2
no serial port given. trying autodetect:
path: /dev/aocec
com port: AOCEC
opening a connection to the CEC adapter…
DEBUG: [ 29] Broadcast (F): osd name set to ‘Broadcast’
NOTICE: [ 29] connection opened
DEBUG: [ 30] << Broadcast (F) -> TV (0): POLL
DEBUG: [ 29] processor thread started
TRAFFIC: [ 30] << f0
DEBUG: [ 2066] >> POLL sent
DEBUG: [ 2066] TV (0): device status changed into ‘present’
DEBUG: [ 2066] << requesting vendor ID of ‘TV’ (0)
TRAFFIC: [ 2066] << f0:8c
DEBUG: [ 5106] expected response not received (87: device vendo r id)
TRAFFIC: [ 5106] << f0:8c
DEBUG: [ 8146] expected response not received (87: device vendor id)
NOTICE: [ 8146] registering new CEC client - v4.0.2
DEBUG: [ 8146] detecting logical address for type ‘recording device’
DEBUG: [ 8146] trying logical address ‘Recorder 1’
DEBUG: [ 8146] << Recorder 1 (1) -> Recorder 1 (1): POLL
TRAFFIC: [ 8146] << 11
DEBUG: [ 10186] >> POLL sent
DEBUG: [ 10186] logical address ‘Recorder 1’ already taken
DEBUG: [ 10186] Recorder 1 (1): device status changed into ‘present’
DEBUG: [ 10186] trying logical address ‘Recorder 2’
DEBUG: [ 10186] << Recorder 2 (2) -> Recorder 2 (2): POLL
TRAFFIC: [ 10186] << 22
DEBUG: [ 12226] >> POLL sent
DEBUG: [ 12226] logical address ‘Recorder 2’ already taken
DEBUG: [ 12226] Recorder 2 (2): device status changed into ‘present’
DEBUG: [ 12226] trying logical address ‘Recorder 3’
DEBUG: [ 12226] << Recorder 3 (9) -> Recorder 3 (9): POLL
TRAFFIC: [ 12226] << 99
DEBUG: [ 14266] >> POLL sent
DEBUG: [ 14266] logical address ‘Recorder 3’ already taken
DEBUG: [ 14266] Recorder 3 (9): device status changed into ‘present’
ERROR: [ 14266] AllocateLogicalAddresses - failed to allocate device ‘0’, type ‘recording device’
ERROR: [ 14266] failed to find a free logical address for the client
ERROR: [ 14266] failed to register the new CEC client - cannot allocate the requested device types
unable to open the device on port AOCEC
ERROR: [ 14267] failed to register a CEC client
DEBUG: [ 14267] unregistering all CEC clients
osmc@osmc:~$
Any ideas?
Also it would be nice to know which cable (markings) was included with the Vero 4k as I only later discovered that they wouldn’t work with CEC and it’s in a pile with my other HDMI cables.
No, I hadn’t stopped Kodi, but I just did and now I get what looks like an identical error:
osmc@osmc:~$ sudo systemctl stop mediacenter
osmc@osmc:~$ /usr/osmc/bin/cec-client
No device type given. Using 'recording device'
CEC Parser created - libCEC version 4.0.2
no serial port given. trying autodetect:
path: /dev/aocec
com port: AOCEC
opening a connection to the CEC adapter...
DEBUG: [ 76] Broadcast (F): osd name set to 'Broadcast'
NOTICE: [ 76] connection opened
DEBUG: [ 77] processor thread started
DEBUG: [ 77] << Broadcast (F) -> TV (0): POLL
TRAFFIC: [ 77] << f0
DEBUG: [ 2110] >> POLL sent
DEBUG: [ 2110] TV (0): device status changed into 'present'
DEBUG: [ 2110] << requesting vendor ID of 'TV' (0)
TRAFFIC: [ 2110] << f0:8c
DEBUG: [ 5150] expected response not received (87: device vendo r id)
TRAFFIC: [ 5151] << f0:8c
DEBUG: [ 8190] expected response not received (87: device vendo r id)
NOTICE: [ 8192] registering new CEC client - v4.0.2
DEBUG: [ 8192] detecting logical address for type 'recording de vice'
DEBUG: [ 8192] trying logical address 'Recorder 1'
DEBUG: [ 8192] << Recorder 1 (1) -> Recorder 1 (1): POLL
TRAFFIC: [ 8192] << 11
DEBUG: [ 10230] >> POLL sent
DEBUG: [ 10231] logical address 'Recorder 1' already taken
DEBUG: [ 10232] Recorder 1 (1): device status changed into 'present'
DEBUG: [ 10233] trying logical address 'Recorder 2'
DEBUG: [ 10234] << Recorder 2 (2) -> Recorder 2 (2): POLL
TRAFFIC: [ 10234] << 22
DEBUG: [ 12270] >> POLL sent
DEBUG: [ 12271] logical address 'Recorder 2' already taken
DEBUG: [ 12272] Recorder 2 (2): device status changed into 'present'
DEBUG: [ 12273] trying logical address 'Recorder 3'
DEBUG: [ 12274] << Recorder 3 (9) -> Recorder 3 (9): POLL
TRAFFIC: [ 12275] << 99
DEBUG: [ 14310] >> POLL sent
unable to open the device on port AOCEC
DEBUG: [ 14310] logical address 'Recorder 3' already taken
DEBUG: [ 14310] Recorder 3 (9): device status changed into 'present'
ERROR: [ 14310] AllocateLogicalAddresses - failed to allocate device '0', type 'recording device'
ERROR: [ 14310] failed to find a free logical address for the client
ERROR: [ 14311] failed to register the new CEC client - cannot allocate the requested device types
ERROR: [ 14312] failed to register a CEC client
DEBUG: [ 14314] unregistering all CEC clients
osmc@osmc:~$
What can I look for in the system log?
Make sure all cables (between Vero 4K; AVR and TV) support CEC.
My Pioneer LX-76 AVR supports CEC so I’m assuming I only need a compatible cable between that and the Vero 4k. Which HDMI cable was included with the Vero 4k? Are they ‘Ching Tai High Speed’ with ‘jce’ on the connector? I only found out later they don’t support CEC and I’d like to label it as such.
The CEC bus only supports a limited number of roles within the CEC bus, and only a limited number of devices can take each role. If this is correct, then disconnecting other peripherals from the TV / AVR should resolve the problem. I understand this isn’t a fix but it would be good to test that.
Finally fixed this problem! I changed my cables out for CEC compatible ones (from Audioquest, who tell me all their cables are CEC compatible, although many other cheaper cables are too of course). After the latest update the pop-up:
stopped appearing. I still had some trouble getting CEC control working as it turns out my Pioneer LX-76 receiver doesn’t fully support CEC.
Reading the ‘Control with HDMI function’ part of the manual (same passage as for LX-86), it sounds like it can be controlled by a CEC component but not control another CEC component, which is what I wanted.
Thankfully my TV is CEC compatible and so I ended up associating the TVs remote codes with the Vero and now I’m happily -1 remote.
Here’s my current output for reference (including one tv right cursor press that arrives at the Vero via CEC):
osmc@osmc:~$ sudo systemctl stop mediacenter
osmc@osmc:~$ /usr/osmc/bin/cec-client
No device type given. Using 'recording device'
CEC Parser created - libCEC version 4.0.2
no serial port given. trying autodetect:
path: /dev/aocec
com port: AOCEC
opening a connection to the CEC adapter...
DEBUG: [ 123] Broadcast (F): osd name set to 'Broadcast'
NOTICE: [ 123] connection opened
DEBUG: [ 123] processor thread started
DEBUG: [ 123] << Broadcast (F) -> TV (0): POLL
TRAFFIC: [ 123] << f0
DEBUG: [ 189] >> POLL sent
DEBUG: [ 189] TV (0): device status changed into 'present'
DEBUG: [ 189] << requesting vendor ID of 'TV' (0)
TRAFFIC: [ 189] << f0:8c
TRAFFIC: [ 391] >> 0f:87:00:90:3e
DEBUG: [ 391] TV (0): vendor = Philips (00903e)
DEBUG: [ 391] expected response received (87: device vendor id)
DEBUG: [ 391] replacing the command handler for device 'TV' (0)
NOTICE: [ 391] registering new CEC client - v4.0.2
DEBUG: [ 391] detecting logical address for type 'recording device'
DEBUG: [ 391] trying logical address 'Recorder 1'
DEBUG: [ 391] << Recorder 1 (1) -> Recorder 1 (1): POLL
TRAFFIC: [ 391] << 11
DEBUG: [ 392] >> TV (0) -> Broadcast (F): device vendor id (87)
TRAFFIC: [ 605] >> 5f:87:00:e0:36
DEBUG: [ 605] Audio (5): vendor = Pioneer (00e036)
DEBUG: [ 605] device Audio (5) status changed to present after command device vendor id
DEBUG: [ 605] >> Audio (5) -> Broadcast (F): device vendor id (87)
WARNING: [ 819] Write: write failed
TRAFFIC: [ 819] << 11
WARNING: [ 1019] Write: write failed
DEBUG: [ 1019] >> POLL not sent
DEBUG: [ 1019] using logical address 'Recorder 1'
DEBUG: [ 1019] Recorder 1 (1): device status changed into 'handled by libCEC'
DEBUG: [ 1019] Recorder 1 (1): power status changed from 'unknown' to 'on'
DEBUG: [ 1019] Recorder 1 (1): vendor = Pulse Eight (001582)
DEBUG: [ 1019] Recorder 1 (1): CEC version 1.4
DEBUG: [ 1019] AllocateLogicalAddresses - device '0', type 'recording device', LA '1'
DEBUG: [ 1020] Recorder 1 (1): osd name set to 'CECTester'
DEBUG: [ 1020] Recorder 1 (1): menu language set to 'eng'
DEBUG: [ 1020] AutodetectPhysicalAddress - autodetected physical address '1400'
DEBUG: [ 1020] Recorder 1 (1): physical address changed from ffff to 1400
DEBUG: [ 1020] << Recorder 1 (1) -> broadcast (F): physical address 1400
TRAFFIC: [ 1020] << 1f:84:14:00:01
NOTICE: [ 1179] CEC client registered: libCEC version = 4.0.2, client version = 4.0.2, firmware version = 5, logical address(es) = Recorder 1 (1) , physical address: 1.4.0.0, compiled on Wed Nov 22 02:45:53 UTC 2017 by root@compiler2 on Linux 4.9.0-3-amd64 (armv7l), features: P8_USB, DRM, P8_detect, AOCEC
DEBUG: [ 1179] Recorder 1 (1): vendor = Philips (00903e)
DEBUG: [ 1179] replacing the command handler for device 'Recorder 1' (1)
DEBUG: [ 1179] << Recorder 1 (1) -> TV (0): OSD name 'CECTester'
TRAFFIC: [ 1179] << 10:47:43:45:43:54:65:73:74:65:72
TRAFFIC: [ 1217] >> 51:8c
DEBUG: [ 1217] >> Audio (5) -> Recorder 1 (1): give device vendor id (8C)
DEBUG: [ 1539] << requesting power status of 'TV' (0)
TRAFFIC: [ 1539] << 10:8f
DEBUG: [ 1699] << Recorder 1 (1) -> Audio (5): vendor id Philips (903e)
TRAFFIC: [ 1699] << 1f:87:00:15:82
TRAFFIC: [ 1909] >> 01:8c
DEBUG: [ 1909] << Recorder 1 (1) -> TV (0): vendor id Philips (903e)
TRAFFIC: [ 1909] << 1f:87:00:15:82
DEBUG: [ 1910] >> TV (0) -> Recorder 1 (1): give device vendor id (8C)
TRAFFIC: [ 2109] >> 01:8c
DEBUG: [ 2109] << Recorder 1 (1) -> TV (0): vendor id Philips (903e)
TRAFFIC: [ 2109] << 1f:87:00:15:82
DEBUG: [ 2110] >> TV (0) -> Recorder 1 (1): give device vendor id (8C)
TRAFFIC: [ 2269] >> 51:46
DEBUG: [ 2269] >> Audio (5) -> Recorder 1 (1): give osd name (46)
DEBUG: [ 2269] << Recorder 1 (1) -> Audio (5): OSD name 'CECTester'
TRAFFIC: [ 2269] << 15:47:43:45:43:54:65:73:74:65:72
TRAFFIC: [ 2649] >> 01:90:00
DEBUG: [ 2650] >> TV (0) -> Recorder 1 (1): report power status (90)
DEBUG: [ 2651] TV (0): power status changed from 'unknown' to 'on'
waiting for input
DEBUG: [ 2652] expected response received (90: report power status)
TRAFFIC: [ 14206] >> 01:44:04
DEBUG: [ 14206] SetCurrentButton right (4) D:0ms cur:4
DEBUG: [ 14206] key pressed: right (4) current(ff) duration(0)
DEBUG: [ 14206] Changed key right (4) D:0ms cur:ff
DEBUG: [ 14206] key pressed: right (4, 0)
DEBUG: [ 14206] making Recorder 1 (1) the active source
NOTICE: [ 14207] >> source activated: Recorder 1 (1)
DEBUG: [ 14207] CheckKeypressTimeout T:83.708
DEBUG: [ 14207] Key right: idle (duration:0) (4) timeout:875838001ms (rel:499,rep:0,prs:499,rel:0)
DEBUG: [ 14207] >> TV (0) -> Recorder 1 (1): user control pressed (44)
DEBUG: [ 14706] CheckKeypressTimeout T:84.207
DEBUG: [ 14707] Key unknown: idle (duration:500) (ff) timeout:2ms (rel:1000,rep:0,prs:0,rel:0)
TRAFFIC: [ 14745] >> 01:45
DEBUG: [ 14746] >> TV (0) -> Recorder 1 (1): user control release (45)