{"action":"created","issue":{"url":"https://api.github.com/repos/Pulse-Eight/libcec/issues/80","labels_url":"https://api.github.com/repos/Pulse-Eight/libcec/issues/80/labels{/name}","comments_url":"https://api.github.com/repos/Pulse-Eight/libcec/issues/80/comments","events_url":"https://api.github.com/repos/Pulse-Eight/libcec/issues/80/events","html_url":"https://github.com/Pulse-Eight/libcec/issues/80","id":67744040,"number":80,"title":"libcec stops getting input after source change & switch back","user":{"login":"LongChair","id":2814651,"avatar_url":"https://avatars.githubusercontent.com/u/2814651?v=3","gravatar_id":"","url":"https://api.github.com/users/LongChair","html_url":"https://github.com/LongChair","followers_url":"https://api.github.com/users/LongChair/followers","following_url":"https://api.github.com/users/LongChair/following{/other_user}","gists_url":"https://api.github.com/users/LongChair/gists{/gist_id}","starred_url":"https://api.github.com/users/LongChair/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LongChair/subscriptions","organizations_url":"https://api.github.com/users/LongChair/orgs","repos_url":"https://api.github.com/users/LongChair/repos","events_url":"https://api.github.com/users/LongChair/events{/privacy}","received_events_url":"https://api.github.com/users/LongChair/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-04-11T06:42:33Z","updated_at":"2015-05-03T17:46:09Z","closed_at":null,"body":"I am running an RPI2 directly connected to a TV thru an HDMI cable.\r\nThe RPi runs Openelec with libcec 3\r\n\r\nHe is what happens:\r\n* Boot up and start cecc-client\r\n* press a few keys : everything works as expected\r\n* switch sources from HDMI1 (connected to RPI) to HDM2 (connected to nothing)\r\n* switch back to HDMI1\r\n* Press remote keys, nothing happens anymore\r\n\r\nat the latter point cecc-client still seems to see the switch, but pressing any key will seem to trigger any key event.\r\n\r\nHere is a log of cecc-client with the sequence above :\r\n\r\n```\r\n\r\nNo device type given. Using 'recording device'\r\nCEC Parser created - libCEC version 3.0.0\r\nno serial port given. trying autodetect:\r\n path:     Raspberry Pi\r\n com port: RPI\r\n\r\nopening a connection to the CEC adapter...\r\nDEBUG:   [              62]\tBroadcast (F): osd name set to 'Broadcast'\r\nDEBUG:   [              62]\tInitHostCEC - vchiq_initialise succeeded\r\nDEBUG:   [              62]\tInitHostCEC - vchi_initialise succeeded\r\nDEBUG:   [              62]\tInitHostCEC - vchi_connect succeeded\r\nDEBUG:   [              62]\tOpen - vc_cec initialised\r\nDEBUG:   [              63]\tlogical address changed to Free use (e)\r\nNOTICE:  [              63]\tconnection opened\r\nDEBUG:   [              63]\t<< Broadcast (F) -> TV (0): POLL\r\nDEBUG:   [              63]\tinitiator 'Broadcast' is not supported by the CEC adapter. using 'Free use' instead\r\nTRAFFIC: [              63]\t<< e0\r\nDEBUG:   [              63]\tprocessor thread started\r\nDEBUG:   [             124]\t>> POLL sent\r\nDEBUG:   [             124]\tTV (0): device status changed into 'present'\r\nDEBUG:   [             124]\t<< requesting vendor ID of 'TV' (0)\r\nTRAFFIC: [             124]\t<< e0:8c\r\nTRAFFIC: [             318]\t>> 0f:87:00:10:39\r\nDEBUG:   [             319]\t>> TV (0) -> Broadcast (F): device vendor id (87)\r\nDEBUG:   [             319]\tTV (0): vendor = Unknown (001039)\r\nDEBUG:   [             319]\texpected response received (87: device vendor id)\r\nNOTICE:  [             319]\tregistering new CEC client - v3.0.0\r\nDEBUG:   [             319]\tdetecting logical address for type 'recording device'\r\nDEBUG:   [             319]\ttrying logical address 'Recorder 1'\r\nDEBUG:   [             319]\t<< Recorder 1 (1) -> Recorder 1 (1): POLL\r\nTRAFFIC: [             319]\t<< 11\r\nTRAFFIC: [             410]\t<< 11\r\nDEBUG:   [             500]\t>> POLL not sent\r\nDEBUG:   [             500]\tusing logical address 'Recorder 1'\r\nDEBUG:   [             500]\tRecorder 1 (1): device status changed into 'handled by libCEC'\r\nDEBUG:   [             500]\tRecorder 1 (1): power status changed from 'unknown' to 'on'\r\nDEBUG:   [             500]\tRecorder 1 (1): vendor = Pulse Eight (001582)\r\nDEBUG:   [             501]\tRecorder 1 (1): CEC version 1.4\r\nDEBUG:   [             501]\tAllocateLogicalAddresses - device '0', type 'recording device', LA '1'\r\nDEBUG:   [             501]\tlogical address changed to Recorder 1 (1)\r\nDEBUG:   [             501]\tRecorder 1 (1): osd name set to 'CEC tester'\r\nDEBUG:   [             502]\tRecorder 1 (1): menu language set to 'eng'\r\nDEBUG:   [             502]\tGetPhysicalAddress - physical address = 1000\r\nDEBUG:   [             502]\tAutodetectPhysicalAddress - autodetected physical address '1000'\r\nDEBUG:   [             502]\tRecorder 1 (1): physical address changed from ffff to 1000\r\nDEBUG:   [             502]\t<< Recorder 1 (1) -> broadcast (F): physical adddress 1000\r\nTRAFFIC: [             502]\t<< 1f:84:10:00:01\r\nNOTICE:  [             683]\tCEC client registered: libCEC version = 3.0.0, client version = 3.0.0, firmware version = 1, logical address(es) = Recorder 1 (1) , physical address: 1.0.0.0, compiled on Linux-3.13.0-32-generic, features: P8_USB, P8_detect, randr, 'RPi'\r\nDEBUG:   [             683]\t<< Recorder 1 (1) -> TV (0): OSD name 'CEC tester'\r\nTRAFFIC: [             683]\t<< 10:47:43:45:43:20:74:65:73:74:65:72\r\nTRAFFIC: [             684]\t>> 01:83\r\nDEBUG:   [             684]\t>> TV (0) -> Recorder 1 (1): give physical address (83)\r\nDEBUG:   [            1014]\t<< requesting power status of 'TV' (0)\r\nTRAFFIC: [            1014]\t<< 10:8f\r\nDEBUG:   [            1135]\t<< Recorder 1 (1) -> broadcast (F): physical adddress 1000\r\nTRAFFIC: [            1135]\t<< 1f:84:10:00:01\r\nTRAFFIC: [            1285]\t>> 01:46\r\nDEBUG:   [            1285]\t<< Recorder 1 (1) -> TV (0): OSD name 'CEC tester'\r\nDEBUG:   [            1285]\t>> TV (0) -> Recorder 1 (1): give osd name (46)\r\nTRAFFIC: [            1285]\t<< 10:47:43:45:43:20:74:65:73:74:65:72\r\nTRAFFIC: [            1840]\t>> 01:90:00\r\nDEBUG:   [            1841]\tTV (0): power status changed from 'unknown' to 'on'\r\nDEBUG:   [            1841]\t>> TV (0) -> Recorder 1 (1): report power status (90)\r\nwaiting for input\r\nDEBUG:   [            1841]\texpected response received (90: report power status)\r\nTRAFFIC: [            2083]\t>> 01:46\r\nDEBUG:   [            2083]\t<< Recorder 1 (1) -> TV (0): OSD name 'CEC tester'\r\nDEBUG:   [            2083]\t>> TV (0) -> Recorder 1 (1): give osd name (46)\r\nTRAFFIC: [            2083]\t<< 10:47:43:45:43:20:74:65:73:74:65:72\r\nTRAFFIC: [            9193]\t>> 01:44:04\r\nDEBUG:   [            9193]\tkey pressed: right (4)\r\nDEBUG:   [            9193]\tmaking Recorder 1 (1) the active source\r\nNOTICE:  [            9193]\t>> source activated: Recorder 1 (1)\r\nDEBUG:   [            9193]\t>> TV (0) -> Recorder 1 (1): user control pressed (44)\r\nTRAFFIC: [            9264]\t>> 01:8b:04\r\nDEBUG:   [            9264]\tkey released: right (4)\r\nDEBUG:   [            9264]\t>> TV (0) -> Recorder 1 (1): vendor remote button up (8B)\r\nTRAFFIC: [           10183]\t>> 01:44:04\r\nDEBUG:   [           10183]\tkey pressed: right (4)\r\nDEBUG:   [           10183]\t>> TV (0) -> Recorder 1 (1): user control pressed (44)\r\nTRAFFIC: [           10254]\t>> 01:8b:04\r\nDEBUG:   [           10254]\tkey released: right (4)\r\nDEBUG:   [           10254]\t>> TV (0) -> Recorder 1 (1): vendor remote button up (8B)\r\nTRAFFIC: [           10843]\t>> 01:44:04\r\nDEBUG:   [           10843]\tkey pressed: right (4)\r\nDEBUG:   [           10844]\t>> TV (0) -> Recorder 1 (1): user control pressed (44)\r\nTRAFFIC: [           10914]\t>> 01:8b:04\r\nDEBUG:   [           10914]\tkey released: right (4)\r\nDEBUG:   [           10914]\t>> TV (0) -> Recorder 1 (1): vendor remote button up (8B)\r\nTRAFFIC: [           11470]\t>> 01:83\r\nDEBUG:   [           11470]\t<< Recorder 1 (1) -> broadcast (F): physical adddress 1000\r\nTRAFFIC: [           11470]\t<< 1f:84:10:00:01\r\nDEBUG:   [           11470]\t>> TV (0) -> Recorder 1 (1): give physical address (83)\r\nTRAFFIC: [           11675]\t>> 01:46\r\nDEBUG:   [           11675]\t<< Recorder 1 (1) -> TV (0): OSD name 'CEC tester'\r\nTRAFFIC: [           11675]\t<< 10:47:43:45:43:20:74:65:73:74:65:72\r\nDEBUG:   [           11675]\t>> TV (0) -> Recorder 1 (1): give osd name (46)\r\nTRAFFIC: [           14603]\t>> 01:44:04\r\nDEBUG:   [           14604]\tkey pressed: right (4)\r\nDEBUG:   [           14604]\t>> TV (0) -> Recorder 1 (1): user control pressed (44)\r\nTRAFFIC: [           14674]\t>> 01:8b:04\r\nDEBUG:   [           14674]\tkey released: right (4)\r\nDEBUG:   [           14675]\t>> TV (0) -> Recorder 1 (1): vendor remote button up (8B)\r\nTRAFFIC: [           14773]\t>> 01:44:04\r\nDEBUG:   [           14773]\tkey pressed: right (4)\r\nDEBUG:   [           14773]\t>> TV (0) -> Recorder 1 (1): user control pressed (44)\r\nTRAFFIC: [           14844]\t>> 01:8b:04\r\nDEBUG:   [           14844]\tkey released: right (4)\r\nDEBUG:   [           14844]\t>> TV (0) -> Recorder 1 (1): vendor remote button up (8B)\r\nTRAFFIC: [           18737]\t>> 0f:80:10:00:20:00\r\nDEBUG:   [           18737]\t>> TV (0) -> Broadcast (F): routing change (80)\r\nTRAFFIC: [           18856]\t>> 0f:86:20:00\r\nDEBUG:   [           18856]\t>> TV (0) sets stream path to physical address 2000\r\nDEBUG:   [           18856]\t>> TV (0) -> Broadcast (F): set stream path (86)\r\nTRAFFIC: [           22402]\t>> 01:83\r\nDEBUG:   [           22402]\t<< Recorder 1 (1) -> broadcast (F): physical adddress 1000\r\nTRAFFIC: [           22402]\t<< 1f:84:10:00:01\r\nDEBUG:   [           22402]\t>> TV (0) -> Recorder 1 (1): give physical address (83)\r\nTRAFFIC: [           22607]\t>> 01:46\r\nDEBUG:   [           22607]\t<< Recorder 1 (1) -> TV (0): OSD name 'CEC tester'\r\nTRAFFIC: [           22607]\t<< 10:47:43:45:43:20:74:65:73:74:65:72\r\nDEBUG:   [           22608]\t>> TV (0) -> Recorder 1 (1): give osd name (46)\r\nTRAFFIC: [           27909]\t>> 0f:80:20:00:10:00\r\nDEBUG:   [           27909]\tRecorder 1 (1) was already marked as active source\r\nNOTICE:  [           27909]\t>> source activated: Recorder 1 (1)\r\nDEBUG:   [           27909]\tsending active source message for 'Recorder 1'\r\nNOTICE:  [           27909]\t<< powering on 'TV' (0)\r\nTRAFFIC: [           27909]\t<< 10:04\r\nDEBUG:   [           27909]\t>> TV (0) -> Broadcast (F): routing change (80)\r\nNOTICE:  [           28000]\t<< Recorder 1 (1) -> broadcast (F): active source (1000)\r\nTRAFFIC: [           28000]\t<< 1f:82:10:00\r\nDEBUG:   [           28211]\t<< Recorder 1 (1) -> TV (0): menu state 'activated'\r\nTRAFFIC: [           28211]\t<< 10:8e:00\r\nTRAFFIC: [           28302]\t>> 0f:86:10:00\r\nDEBUG:   [           28302]\t>> TV (0) sets stream path to physical address 1000\r\nDEBUG:   [           28302]\tRecorder 1 (1) was already marked as active source\r\nNOTICE:  [           28302]\t>> source activated: Recorder 1 (1)\r\nNOTICE:  [           28302]\t<< Recorder 1 (1) -> broadcast (F): active source (1000)\r\nTRAFFIC: [           28302]\t<< 1f:82:10:00\r\nDEBUG:   [           28302]\t>> TV (0) -> Broadcast (F): set stream path (86)\r\nTRAFFIC: [           28504]\t>> 01:8d:02\r\nDEBUG:   [           28504]\t<< Recorder 1 (1) -> TV (0): menu state 'activated'\r\nTRAFFIC: [           28504]\t<< 10:8e:00\r\nDEBUG:   [           28504]\t>> TV (0) -> Recorder 1 (1): menu request (8D)\r\nTRAFFIC: [           28660]\t>> 01:46\r\nDEBUG:   [           28660]\t<< Recorder 1 (1) -> TV (0): OSD name 'CEC tester'\r\nTRAFFIC: [           28660]\t<< 10:47:43:45:43:20:74:65:73:74:65:72\r\nDEBUG:   [           28660]\t>> TV (0) -> Recorder 1 (1): give osd name (46)\r\nTRAFFIC: [           29061]\t>> 01:8d:02\r\nDEBUG:   [           29061]\t<< Recorder 1 (1) -> TV (0): menu state 'activated'\r\nTRAFFIC: [           29061]\t<< 10:8e:00\r\nDEBUG:   [           29061]\t>> TV (0) -> Recorder 1 (1): menu request (8D)\r\nTRAFFIC: [           29217]\t>> 01:46\r\nDEBUG:   [           29217]\t<< Recorder 1 (1) -> TV (0): OSD name 'CEC tester'\r\nTRAFFIC: [           29218]\t<< 10:47:43:45:43:20:74:65:73:74:65:72\r\nDEBUG:   [           29218]\t>> TV (0) -> Recorder 1 (1): give osd name (46)\r\nTRAFFIC: [           29618]\t>> 01:8d:02\r\nDEBUG:   [           29619]\t<< Recorder 1 (1) -> TV (0): menu state 'activated'\r\nTRAFFIC: [           29619]\t<< 10:8e:00\r\nDEBUG:   [           29619]\t>> TV (0) -> Recorder 1 (1): menu request (8D)\r\nDEBUG:   [           29972]\tGetPhysicalAddress - physical address = 1000\r\nNOTICE:  [           29972]\tphysical address changed to 1000\r\nDEBUG:   [           29972]\tphysical address unchanged (1000)\r\nDEBUG:   [           32472]\tGetPhysicalAddress - physical address = 1000\r\nNOTICE:  [           32472]\tphysical address changed to 1000\r\nDEBUG:   [           32472]\tphysical address unchanged (1000)\r\nTRAFFIC: [           32472]\t>> 01:83\r\nDEBUG:   [           32473]\t<< Recorder 1 (1) -> broadcast (F): physical adddress 1000\r\nTRAFFIC: [           32473]\t<< 1f:84:10:00:01\r\nDEBUG:   [           32473]\t>> TV (0) -> Recorder 1 (1): give physical address (83)\r\nTRAFFIC: [           32668]\t>> 01:46\r\nDEBUG:   [           32668]\t<< Recorder 1 (1) -> TV (0): OSD name 'CEC tester'\r\nDEBUG:   [           32668]\t>> TV (0) -> Recorder 1 (1): give osd name (46)\r\nTRAFFIC: [           32668]\t<< 10:47:43:45:43:20:74:65:73:74:65:72\r\nsignal caught: 2 - exiting\r\nDEBUG:   [           47818]\tunregistering all CEC clients\r\nNOTICE:  [           47818]\tunregistering client: libCEC version = 3.0.0, client version = 3.0.0, firmware version = 1, logical address(es) = Recorder 1 (1) , physical address: 1.0.0.0, compiled on Linux-3.13.0-32-generic, features: P8_USB, P8_detect, randr, 'RPi'\r\nDEBUG:   [           47818]\tRecorder 1 (1): power status changed from 'on' to 'unknown'\r\nDEBUG:   [           47818]\tRecorder 1 (1): vendor = Unknown (000000)\r\nDEBUG:   [           47818]\tRecorder 1 (1): CEC version unknown\r\nDEBUG:   [           47818]\tRecorder 1 (1): osd name set to 'Recorder 1'\r\nDEBUG:   [           47818]\tmarking Recorder 1 (1) as inactive source\r\nDEBUG:   [           47818]\tRecorder 1 (1): device status changed into 'unknown'\r\nDEBUG:   [           47818]\tunregistering all CEC clients\r\nDEBUG:   [           48069]\tUnregisterLogicalAddress - releasing previous logical address\r\nDEBUG:   [           48071]\tlogical address changed to Broadcast (f)\r\n```\r\n\r\nLet me know if you need anything else for troubleshooting"},"comment":{"url":"https://api.github.com/repos/Pulse-Eight/libcec/issues/comments/98514119","html_url":"https://github.com/Pulse-Eight/libcec/issues/80#issuecomment-98514119","issue_url":"https://api.github.com/repos/Pulse-Eight/libcec/issues/80","id":98514119,"user":{"login":"noben78","id":12223411,"avatar_url":"https://avatars.githubusercontent.com/u/12223411?v=3","gravatar_id":"","url":"https://api.github.com/users/noben78","html_url":"https://github.com/noben78","followers_url":"https://api.github.com/users/noben78/followers","following_url":"https://api.github.com/users/noben78/following{/other_user}","gists_url":"https://api.github.com/users/noben78/gists{/gist_id}","starred_url":"https://api.github.com/users/noben78/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/noben78/subscriptions","organizations_url":"https://api.github.com/users/noben78/orgs","repos_url":"https://api.github.com/users/noben78/repos","events_url":"https://api.github.com/users/noben78/events{/privacy}","received_events_url":"https://api.github.com/users/noben78/received_events","type":"User","site_admin":false},"created_at":"2015-05-03T17:46:09Z","updated_at":"2015-05-03T17:46:09Z","body":"Same issue here, but it started with libcec 2.2.0. (Using Openelec 5.0.7 os Pi 2, TV: LG 42LH3000)\r\nWorked great on libcec 2.1.4!"}}