├── README.md ├── tv_poweron.sh ├── tv_poweroff.sh ├── traffic ├── xms ├── xxms ├── cecserver.sh ├── cecsimple.sh ├── outtt ├── output-cec ├── remote.bak └── remote /README.md: -------------------------------------------------------------------------------- 1 | HDMI CEC Tools 2 | -------------------------------------------------------------------------------- /tv_poweron.sh: -------------------------------------------------------------------------------- 1 | !#/bin/bash 2 | echo "tx 10 44 6d" | cec-client -s 3 | -------------------------------------------------------------------------------- /tv_poweroff.sh: -------------------------------------------------------------------------------- 1 | !#/bin/bash 2 | echo "tx 10 44 6c" | cec-client -s 3 | -------------------------------------------------------------------------------- /traffic: -------------------------------------------------------------------------------- 1 | TRAFFIC: [ 302] << e0 2 | TRAFFIC: [ 333] << e0:8c 3 | TRAFFIC: [ 546] >> 0f:87:00:80:45 4 | TRAFFIC: [ 553] << 44 5 | TRAFFIC: [ 736] << 44 6 | TRAFFIC: [ 740] << 4f:84:10:00:04 7 | TRAFFIC: [ 892] << 40:47:43:45:43:54:65:73:74:65:72 8 | TRAFFIC: [ 1193] << 40:8f 9 | TRAFFIC: [ 1374] >> 04:00:47:00 10 | TRAFFIC: [ 1452] >> 04:90:00 11 | TRAFFIC: [ 1455] << 50:44:41 12 | -------------------------------------------------------------------------------- /xms: -------------------------------------------------------------------------------- 1 | 2 | # Please make this file available to others 3 | # by sending it to 4 | # 5 | # this config file was automatically generated 6 | # using lirc-0.9.0-pre1(uirt2_raw) on Thu Dec 6 11:10:43 2012 7 | # 8 | # contributed by 9 | # 10 | # brand: xms 11 | # model no. of remote control: 12 | # devices being controlled by this remote: 13 | # 14 | 15 | begin remote 16 | 17 | name xms 18 | bits 16 19 | flags SPACE_ENC|CONST_LENGTH 20 | eps 30 21 | aeps 100 22 | 23 | header 8817 4365 24 | one 553 1600 25 | zero 553 506 26 | ptrail 546 27 | repeat 8816 2163 28 | pre_data_bits 16 29 | pre_data 0x4FB 30 | gap 104424 31 | toggle_bit_mask 0x0 32 | 33 | begin codes 34 | KEY_MUTE 0xD827 35 | KEY_VOLUMEDOWN 0x807F 36 | KEY_VOLUMEUP 0x40BF 37 | KEY_AUDIO 0x20DF 38 | end codes 39 | 40 | end remote 41 | 42 | 43 | -------------------------------------------------------------------------------- /xxms: -------------------------------------------------------------------------------- 1 | 2 | # Please make this file available to others 3 | # by sending it to 4 | # 5 | # this config file was automatically generated 6 | # using lirc-0.9.0-pre1(uirt2_raw) on Sun Dec 9 06:08:08 2012 7 | # 8 | # contributed by 9 | # 10 | # brand: xxms 11 | # model no. of remote control: 12 | # devices being controlled by this remote: 13 | # 14 | 15 | begin remote 16 | 17 | name xxms 18 | bits 16 19 | flags SPACE_ENC|CONST_LENGTH 20 | eps 30 21 | aeps 100 22 | 23 | header 8826 4337 24 | one 564 1600 25 | zero 564 481 26 | ptrail 564 27 | repeat 8827 2147 28 | pre_data_bits 16 29 | pre_data 0x4FB 30 | gap 104422 31 | toggle_bit_mask 0x0 32 | 33 | begin codes 34 | KEY_MUTE 0xD827 35 | KEY_VOLUMEUP 0x40BF 36 | KEY_VOLUMEDOWN 0x807F 37 | KEY_AUDIO 0x20DF 38 | end codes 39 | 40 | end remote 41 | 42 | 43 | -------------------------------------------------------------------------------- /cecserver.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Set up a fifo and connect cec-client to it 4 | # 5 | # By Will Cooke. http://www.whizzy.org 6 | # It's a very hacky solution, but it seems to just about work. 7 | # 8 | # Version 1. Does the job. November 2012 9 | # 10 | 11 | CECLOG=/tmp/cec.log 12 | CECDEV=/dev/ttyACM0 13 | CECFIFO=/tmp/cec.fifo 14 | CECCLIENT="/usr/local/bin/cec-client -d 8 -p 1 -b 5 -t p -o MythTV -f $CECLOG $CECDEV" 15 | 16 | log(){ 17 | echo "SERVER: $1" >> $CECLOG 18 | } 19 | 20 | 21 | stop(){ 22 | # Kill the right proceses 23 | log "Begin shutting down..." 24 | # Using this hacky grep so that we only match those tail processes looking 25 | # at /dev/null rather than, say, syslog 26 | declare -a TAILPIDS=(`ps aux | grep 'tailf /dev/null' | egrep -v grep | awk '{print $2}'`) 27 | declare -a CATPIDS=(`ps aux | grep 'cat $CECFIFO' | egrep -v grep | awk '{print $2}'`) 28 | if [ ${#TAILPIDS[@]} -gt 0 ] 29 | then 30 | # Found some old tail processes to kill 31 | log "Found some tail processes..." 32 | for i in "${TAILPIDS[@]}" 33 | do 34 | log "Killing $i" 35 | kill $i 36 | done 37 | fi 38 | 39 | if [ ${#CATPIDS[@]} -gt 0 ] 40 | then 41 | # Found some old cat processes to kill 42 | # It's unlikely we will ever get in here, because the previous tail 43 | # processes have been killed and so shut down this end of the pipe 44 | # already. 45 | log "Found some cat processes..." 46 | for i in "${CATPIDS[@]}" 47 | do 48 | log "Killing $i" 49 | kill $i 50 | done 51 | fi 52 | 53 | log "Asking cec-client to stop if it's running..." 54 | # Using signal 2, the same as a ctrl-c 55 | killall -s 2 cec-client 2> $CECLOG 56 | log "Trying to remove FIFO..." 57 | rm $CECFIFO 2> $CECLOG 58 | log "Done shutting down." 59 | } 60 | 61 | case "${1}" in 62 | start|restart) 63 | log "Starting server. Since only one server can run at a time, stopping first." 64 | stop 65 | log "Done stopping, now starting..." 66 | log "Setting up FIFOs..." 67 | # We use a FIFO to pass in CEC commands to the cec-client which comes 68 | # with libcec. 69 | mkfifo $CECFIFO 70 | log "Open pipe for writing..." 71 | # We use tailf /dev/null because it doesn't disconnect from stdin when 72 | # put in the background and it doesn't cause any load when running. 73 | tailf /dev/null > $CECFIFO & 74 | log "Opening pipe for reading and start cec-client..." 75 | # Since we're writing to a log file anyway we don't need the output from 76 | # cec-client. Put the whole thing in brackets to background the lot. 77 | (cat $CECFIFO | $CECCLIENT &) > /dev/null 78 | log "Start up complete." 79 | ;; 80 | 81 | stop) 82 | stop 83 | ;; 84 | 85 | *) 86 | echo $"Usage: $0 {start|stop|restart}" 87 | exit 1 88 | esac 89 | 90 | exit 0 91 | 92 | -------------------------------------------------------------------------------- /cecsimple.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Execute some fairly simple CEC commands 4 | # Can use the "server" if its already running for faster execution 5 | # or will fall back to starting the cec-client in "single pass" mode. 6 | # 7 | # Another terrible hack from Will Cooke. http://www.whizzy.org 8 | # 9 | # Handy site: http://www.cec-o-matic.com/ 10 | # 11 | # Version 1. Seems to work. Nov. 2012 12 | # 13 | 14 | CECLOG=/tmp/cec.log 15 | CECDEV=/dev/ttyACM0 16 | CECFIFO=/tmp/cec.fifo 17 | CECCLIENT="/usr/local/bin/cec-client -s -d 8 -p 1 -b 5 -t p -o MythTV $CECDEV" 18 | 19 | 20 | log(){ 21 | echo "SIMPLE CLIENT: $1" >> $CECLOG 22 | } 23 | 24 | send_command(){ 25 | if [ $CECCLIENTAVAIL == true ] 26 | then 27 | # We've tested for the "server", and it seems to be running 28 | # Basically we dont have to start cec-client from scratch which 29 | # saves about 4 seconds, so things like volume control are a bit 30 | # more responsive. 31 | log "Using server to send CEC packets $1 ..." 32 | echo $1 > $CECFIFO 33 | else 34 | # Server wasn't found to be running, so start cec-client 35 | # just for this one command. 36 | # Why is this here? Well, sometimes when you come out of suspend 37 | # the cec-client, and so the "server" drops the connection to the 38 | # USB CEC device and so quits. This means that we can always send 39 | # commands regarless of the state of the server. 40 | log "Using single run cec-client to send packets ( $1 ) ..." 41 | echo $1 | $CECCLIENT 42 | fi 43 | } 44 | 45 | # We should check if the server is running, because if it is we should use it. 46 | CECCLIENTPID=`pidof cec-client` 47 | if [ $? -lt 1 ] 48 | then 49 | # cec-client is /probably/ running ok 50 | CECCLIENTAVAIL=true 51 | log "Main server seems to be alive. We will use that instead." 52 | else 53 | CECCLIENTAVAIL=false 54 | fi 55 | 56 | 57 | # Here are the commands we know how to support 58 | 59 | case "${1}" in 60 | tvon) 61 | # "on" is supported by cec-client, it's a kind of short cut to the 62 | # hex codes. 0 is always the destination address of the TV. 63 | send_command "on 0" 64 | # Make sure something appears on the TV we've just switched on 65 | xscreensaver-command -deactivate 66 | ;; 67 | 68 | tvoff) 69 | # "standby" is also supported by cec-client 70 | send_command "standby 0" 71 | ;; 72 | 73 | ampon) 74 | #address 5 is the "audio system" in an HDMI network 75 | send_command "on 5" 76 | ;; 77 | 78 | ampoff) 79 | # My Sony Amp doesn't support "standby" for some reason, so instead 80 | # I poke it like this... 81 | send_command "tx 45 44 6C" 82 | # 45 means from 4 (me, the playback device) to 5(amp) 83 | # 44 6C means "the user pressed the power off button, nap time" 84 | ;; 85 | 86 | allon) 87 | # address f is the broadcast address. Haven't actually tested this. 88 | send_command "on f" 89 | ;; 90 | 91 | alloff) 92 | # same 93 | send_command "standby f" 94 | ;; 95 | 96 | activesrc) 97 | # Me (4) to broadcast (f) -> I am now the active source, switch to me. 98 | # 82 "switch to", 1100 = address 1.1.0.0 the first device on dev 1 (amp) 99 | # 1.2.0.0 would be the 2nd sub device on device 1 100 | # 2.1.0.0 would be the 1st sub device on device 2 101 | send_command "tx 4F 82 11 00" 102 | ;; 103 | 104 | mute) 105 | # Me to TV -> user pressed mute 106 | send_command "tx 40 44 43" 107 | ;; 108 | 109 | volup) 110 | # Me to TV -> user pressed vol up 111 | send_command "tx 40 44 41" 112 | ;; 113 | 114 | voldown) 115 | # Me to TV -> user pressed vol down 116 | send_command "tx 40 44 42" 117 | ;; 118 | 119 | *) 120 | echo $"Usage: $0 {tvon|tvoff|ampon|ampoff|allon|alloff|activesrc|mute|volup|voldown}" 121 | exit 1 122 | ;; 123 | esac 124 | 125 | exit 0 126 | 127 | -------------------------------------------------------------------------------- /outtt: -------------------------------------------------------------------------------- 1 | opening a connection to the CEC adapter... 2 | DEBUG: [ 81] unregistering all CEC clients 3 | DEBUG: [ 81] Broadcast (F): osd name set to 'Broadcast' 4 | DEBUG: [ 82] InitHostCEC - vchiq_initialise succeeded 5 | DEBUG: [ 82] InitHostCEC - vchi_initialise succeeded 6 | DEBUG: [ 83] InitHostCEC - vchi_connect succeeded 7 | DEBUG: [ 83] logical address changed to Broadcast (f) 8 | DEBUG: [ 84] RegisterLogicalAddress - registering address e 9 | DEBUG: [ 264] logical address changed to Audio (5) 10 | DEBUG: [ 265] logical address changed to Free use (e) 11 | DEBUG: [ 265] Open - vc_cec initialised 12 | NOTICE: [ 265] connection opened 13 | DEBUG: [ 266] << Broadcast (F) -> TV (0): POLL 14 | DEBUG: [ 266] initiator 'Broadcast' is not supported by the CEC adapter. using 'Free use' instead 15 | TRAFFIC: [ 266] << e0 16 | DEBUG: [ 267] processor thread started 17 | DEBUG: [ 297] >> POLL sent 18 | DEBUG: [ 297] TV (0): device status changed into 'present' 19 | DEBUG: [ 298] << requesting vendor ID of 'TV' (0) 20 | TRAFFIC: [ 298] << e0:8c 21 | TRAFFIC: [ 510] >> 0f:87:00:80:45 22 | DEBUG: [ 511] >> TV (0) -> Broadcast (F): device vendor id (87) 23 | DEBUG: [ 511] TV (0): vendor = Panasonic (008045) 24 | DEBUG: [ 511] expected response received (87: device vendor id) 25 | DEBUG: [ 511] replacing the command handler for device 'TV' (0) 26 | NOTICE: [ 516] registering new CEC client - v2.0.5 27 | DEBUG: [ 517] detecting logical address for type 'playback device' 28 | DEBUG: [ 517] trying logical address 'Playback 1' 29 | DEBUG: [ 517] << Playback 1 (4) -> Playback 1 (4): POLL 30 | TRAFFIC: [ 517] << 44 31 | DEBUG: [ 518] UnregisterLogicalAddress - releasing previous logical address 32 | DEBUG: [ 518] logical address changed to Broadcast (f) 33 | DEBUG: [ 518] RegisterLogicalAddress - registering address 4 34 | DEBUG: [ 699] logical address changed to Free use (e) 35 | DEBUG: [ 699] logical address changed to Playback 1 (4) 36 | TRAFFIC: [ 700] << 44 37 | DEBUG: [ 700] >> POLL not sent 38 | DEBUG: [ 700] using logical address 'Playback 1' 39 | DEBUG: [ 700] Playback 1 (4): device status changed into 'handled by libCEC' 40 | DEBUG: [ 700] Playback 1 (4): power status changed from 'unknown' to 'on' 41 | DEBUG: [ 700] Playback 1 (4): CEC version 1.4 42 | DEBUG: [ 701] AllocateLogicalAddresses - device '0', type 'playback device', LA '4' 43 | DEBUG: [ 701] Playback 1 (4): osd name set to 'CECTester' 44 | DEBUG: [ 701] Playback 1 (4): menu language set to 'eng' 45 | DEBUG: [ 702] GetPhysicalAddress - physical address = 1000 46 | DEBUG: [ 702] AutodetectPhysicalAddress - autodetected physical address '1000' 47 | DEBUG: [ 702] Playback 1 (4): physical address changed from ffff to 1000 48 | DEBUG: [ 702] << Playback 1 (4) -> broadcast (F): physical adddress 1000 49 | TRAFFIC: [ 702] << 4f:84:10:00:04 50 | NOTICE: [ 853] CEC client registered: libCEC version = 2.0.5, client version = 2.0.5, firmware version = 1, logical address(es) = Playback 1 (4) , physical address: 1.0.0.0, host: armv6l-unknown-linux-gnueabihf, features: 'P8 USB' 'P8 USB detect' 'RPi', git revision: 576bebd, compiled on: Fri Dec 28 12:45:36 UTC 2012 by pi@raspberrypi on Linux 3.2.27+ (armv6l) 51 | DEBUG: [ 854] Playback 1 (4): vendor = Panasonic (008045) 52 | DEBUG: [ 854] replacing the command handler for device 'Playback 1' (4) 53 | DEBUG: [ 854] << Playback 1 (4) -> TV (0): OSD name 'CECTester' 54 | TRAFFIC: [ 854] << 40:47:43:45:43:54:65:73:74:65:72 55 | DEBUG: [ 1155] << requesting power status of 'TV' (0) 56 | TRAFFIC: [ 1156] << 40:8f 57 | TRAFFIC: [ 1336] >> 04:00:47:00 58 | DEBUG: [ 1337] >> TV (0) -> Playback 1 (4): feature abort ( 0) 59 | DEBUG: [ 1337] marking opcode 'set osd name' as unsupported feature for device 'TV' 60 | TRAFFIC: [ 1413] >> 04:90:00 61 | DEBUG: [ 1414] >> TV (0) -> Playback 1 (4): report power status (90) 62 | DEBUG: [ 1414] TV (0): power status changed from 'unknown' to 'on' 63 | DEBUG: [ 1414] expected response received (90: report power status) 64 | TRAFFIC: [ 1416] << 10:44:6c 65 | DEBUG: [ 1416] UnregisterLogicalAddress - releasing previous logical address 66 | DEBUG: [ 1416] logical address changed to Broadcast (f) 67 | DEBUG: [ 1417] RegisterLogicalAddress - registering address 1 68 | DEBUG: [ 1597] logical address changed to Playback 1 (4) 69 | DEBUG: [ 1598] logical address changed to Recorder 1 (1) 70 | DEBUG: [ 1688] unregistering all CEC clients 71 | NOTICE: [ 1689] unregistering client: libCEC version = 2.0.5, client version = 2.0.5, firmware version = 1, logical address(es) = Playback 1 (4) , physical address: 1.0.0.0, host: armv6l-unknown-linux-gnueabihf, features: 'P8 USB' 'P8 USB detect' 'RPi', git revision: 576bebd, compiled on: Fri Dec 28 12:45:36 UTC 2012 by pi@raspberrypi on Linux 3.2.27+ (armv6l) 72 | DEBUG: [ 1689] Playback 1 (4): power status changed from 'on' to 'unknown' 73 | DEBUG: [ 1689] Playback 1 (4): vendor = Unknown (000000) 74 | DEBUG: [ 1689] Playback 1 (4): CEC version unknown 75 | DEBUG: [ 1689] Playback 1 (4): osd name set to 'Playback 1' 76 | DEBUG: [ 1690] Playback 1 (4): device status changed into 'unknown' 77 | DEBUG: [ 1690] unregistering all CEC clients 78 | DEBUG: [ 1691] UnregisterLogicalAddress - releasing previous logical address 79 | DEBUG: [ 1691] logical address changed to Broadcast (f) 80 | -------------------------------------------------------------------------------- /output-cec: -------------------------------------------------------------------------------- 1 | opening a connection to the CEC adapter... 2 | DEBUG: [ 96] unregistering all CEC clients 3 | DEBUG: [ 97] Broadcast (F): osd name set to 'Broadcast' 4 | DEBUG: [ 97] InitHostCEC - vchiq_initialise succeeded 5 | DEBUG: [ 98] InitHostCEC - vchi_initialise succeeded 6 | DEBUG: [ 98] InitHostCEC - vchi_connect succeeded 7 | DEBUG: [ 98] logical address changed to Broadcast (f) 8 | DEBUG: [ 99] RegisterLogicalAddress - registering address e 9 | DEBUG: [ 280] logical address changed to Audio (5) 10 | DEBUG: [ 280] logical address changed to Free use (e) 11 | DEBUG: [ 280] Open - vc_cec initialised 12 | NOTICE: [ 280] connection opened 13 | DEBUG: [ 281] << Broadcast (F) -> TV (0): POLL 14 | DEBUG: [ 281] initiator 'Broadcast' is not supported by the CEC adapter. using 'Free use' instead 15 | TRAFFIC: [ 282] << e0 16 | DEBUG: [ 282] processor thread started 17 | DEBUG: [ 372] command 'POLL' was not acked by the controller 18 | DEBUG: [ 373] initiator 'Broadcast' is not supported by the CEC adapter. using 'Free use' instead 19 | TRAFFIC: [ 373] << e0 20 | DEBUG: [ 464] command 'POLL' was not acked by the controller 21 | DEBUG: [ 464] >> POLL not sent 22 | DEBUG: [ 464] TV (0): device status changed into 'not present' 23 | NOTICE: [ 464] registering new CEC client - v2.0.5 24 | DEBUG: [ 465] detecting logical address for type 'recording device' 25 | DEBUG: [ 465] trying logical address 'Recorder 1' 26 | DEBUG: [ 465] << Recorder 1 (1) -> Recorder 1 (1): POLL 27 | TRAFFIC: [ 465] << 11 28 | DEBUG: [ 465] UnregisterLogicalAddress - releasing previous logical address 29 | DEBUG: [ 466] logical address changed to Broadcast (f) 30 | DEBUG: [ 466] RegisterLogicalAddress - registering address 1 31 | DEBUG: [ 647] logical address changed to Free use (e) 32 | DEBUG: [ 647] logical address changed to Recorder 1 (1) 33 | TRAFFIC: [ 647] << 11 34 | DEBUG: [ 647] >> POLL not sent 35 | DEBUG: [ 647] using logical address 'Recorder 1' 36 | DEBUG: [ 648] Recorder 1 (1): device status changed into 'handled by libCEC' 37 | DEBUG: [ 648] Recorder 1 (1): power status changed from 'unknown' to 'on' 38 | DEBUG: [ 648] Recorder 1 (1): CEC version 1.4 39 | DEBUG: [ 648] AllocateLogicalAddresses - device '0', type 'recording device', LA '1' 40 | DEBUG: [ 648] Recorder 1 (1): osd name set to 'CECTester' 41 | DEBUG: [ 648] Recorder 1 (1): menu language set to 'eng' 42 | DEBUG: [ 649] GetPhysicalAddress - physical address = 1000 43 | DEBUG: [ 649] AutodetectPhysicalAddress - autodetected physical address '1000' 44 | DEBUG: [ 649] Recorder 1 (1): physical address changed from ffff to 1000 45 | DEBUG: [ 649] << Recorder 1 (1) -> broadcast (F): physical adddress 1000 46 | TRAFFIC: [ 650] << 1f:84:10:00:01 47 | NOTICE: [ 801] CEC client registered: libCEC version = 2.0.5, client version = 2.0.5, firmware version = 1, logical address(es) = Recorder 1 (1) , physical address: 1.0.0.0, host: armv6l-unknown-linux-gnueabihf, features: 'P8 USB' 'P8 USB detect' 'RPi', git revision: 576bebd, compiled on: Fri Dec 28 12:45:36 UTC 2012 by pi@raspberrypi on Linux 3.2.27+ (armv6l) 48 | DEBUG: [ 801] << Recorder 1 (1) -> TV (0): OSD name 'CECTester' 49 | DEBUG: [ 801] << Recorder 1 (1) -> TV (0): POLL 50 | TRAFFIC: [ 801] << 10 51 | DEBUG: [ 892] command 'POLL' was not acked by the controller 52 | TRAFFIC: [ 892] << 10 53 | DEBUG: [ 983] command 'POLL' was not acked by the controller 54 | DEBUG: [ 983] >> POLL not sent 55 | DEBUG: [ 983] not sending command 'set osd name': destination device 'TV' marked as not present 56 | DEBUG: [ 984] << requesting power status of 'TV' (0) 57 | DEBUG: [ 984] << Recorder 1 (1) -> TV (0): POLL 58 | TRAFFIC: [ 984] << 10 59 | DEBUG: [ 1075] command 'POLL' was not acked by the controller 60 | TRAFFIC: [ 1075] << 10 61 | DEBUG: [ 1166] command 'POLL' was not acked by the controller 62 | DEBUG: [ 1166] >> POLL not sent 63 | DEBUG: [ 1166] not sending command 'give device power status': destination device 'TV' marked as not present 64 | TRAFFIC: [ 1167] << 50:44:6c:00 65 | DEBUG: [ 1168] UnregisterLogicalAddress - releasing previous logical address 66 | DEBUG: [ 1168] logical address changed to Broadcast (f) 67 | DEBUG: [ 1168] RegisterLogicalAddress - registering address 5 68 | DEBUG: [ 1349] logical address changed to Recorder 1 (1) 69 | DEBUG: [ 1349] logical address changed to Audio (5) 70 | DEBUG: [ 1440] command 'user control pressed' was not acked by the controller 71 | DEBUG: [ 1440] unregistering all CEC clients 72 | NOTICE: [ 1440] unregistering client: libCEC version = 2.0.5, client version = 2.0.5, firmware version = 1, logical address(es) = Recorder 1 (1) , physical address: 1.0.0.0, host: armv6l-unknown-linux-gnueabihf, features: 'P8 USB' 'P8 USB detect' 'RPi', git revision: 576bebd, compiled on: Fri Dec 28 12:45:36 UTC 2012 by pi@raspberrypi on Linux 3.2.27+ (armv6l) 73 | DEBUG: [ 1441] Recorder 1 (1): power status changed from 'on' to 'unknown' 74 | DEBUG: [ 1441] Recorder 1 (1): CEC version unknown 75 | DEBUG: [ 1441] Recorder 1 (1): osd name set to 'Recorder 1' 76 | DEBUG: [ 1441] Recorder 1 (1): device status changed into 'unknown' 77 | DEBUG: [ 1441] unregistering all CEC clients 78 | DEBUG: [ 1442] UnregisterLogicalAddress - releasing previous logical address 79 | DEBUG: [ 1442] logical address changed to Broadcast (f) 80 | -------------------------------------------------------------------------------- /remote.bak: -------------------------------------------------------------------------------- 1 | 2 | # Please make this file available to others 3 | # by sending it to 4 | # 5 | # this config file was automatically generated 6 | # using lirc-0.9.0-pre1(uirt2_raw) on Thu Dec 6 11:10:43 2012 7 | # 8 | # contributed by 9 | # 10 | # brand: xms 11 | # model no. of remote control: 12 | # devices being controlled by this remote: 13 | # 14 | 15 | begin remote 16 | 17 | name xms 18 | bits 16 19 | flags SPACE_ENC|CONST_LENGTH 20 | eps 30 21 | aeps 100 22 | 23 | header 8817 4365 24 | one 553 1600 25 | zero 553 506 26 | ptrail 546 27 | repeat 8816 2163 28 | pre_data_bits 16 29 | pre_data 0x4FB 30 | gap 104424 31 | toggle_bit_mask 0x0 32 | 33 | begin codes 34 | KEY_MUTE 0xD827 35 | KEY_VOLUMEDOWN 0x807F 36 | KEY_VOLUMEUP 0x40BF 37 | KEY_AUDIO 0x20DF 38 | end codes 39 | 40 | end remote 41 | 42 | 43 | 44 | # Please make this file available to others 45 | # by sending it to 46 | # 47 | # this config file was automatically generated 48 | # using lirc-0.9.0-pre1(uirt2_raw) on Thu Dec 6 12:08:42 2012 49 | # 50 | # contributed by 51 | # 52 | # brand: panasonic 53 | # model no. of remote control: 54 | # devices being controlled by this remote: 55 | # 56 | 57 | begin remote 58 | 59 | name panasonic 60 | bits 16 61 | flags SPACE_ENC 62 | eps 30 63 | aeps 100 64 | 65 | header 3400 1650 66 | one 439 1210 67 | zero 439 360 68 | ptrail 438 69 | pre_data_bits 32 70 | pre_data 0x40040100 71 | gap 72100 72 | min_repeat 1 73 | # suppress_repeat 1 74 | # uncomment to suppress unwanted repeats 75 | toggle_bit_mask 0x0 76 | 77 | begin codes 78 | KEY_MUTE 0x4C4D 79 | KEY_VOLUMEUP 0x0405 80 | KEY_VOLUMEDOWN 0x8485 81 | KEY_CHANNELUP 0x2C2D 82 | KEY_CHANNELDOWN 0xACAD 83 | KEY_POWER 0xBCBD 84 | KEY_TV 0xA0A1 85 | end codes 86 | 87 | end remote 88 | 89 | # 90 | # this config file was automatically generated 91 | # using lirc-0.8.3pre1(default) on Wed Sep 10 00:14:36 2008 92 | # 93 | # contributed by Tim Davis 94 | # 95 | # brand: Panasonic 96 | # model no. of remote control: N2QAYB000239 97 | # devices being controlled by this remote: 98 | # Viera TX-32LZD80 LCD TV 99 | # 100 | # Notes 101 | # 102 | # 'Vcr' prefixed codes are generated when the switch is in the VCR position, 103 | # 'Dvd' codes when in the DVD position. 104 | # 105 | # VcrRewind and VcrFFwd are generated instead of VcrSkipBack 106 | # and VcrSkipFwd when holding the buttons down. Similarly for 107 | # the DvdSkip buttons. 108 | # 109 | # Holding down VcrPause generates VcrFFwd. 110 | # Holding down DvdPause generates DvdSkipFwd. 111 | # 112 | # name Panasonic_N2QAYB000239 113 | # 114 | 115 | begin remote 116 | 117 | name pan 118 | bits 32 119 | flags SPACE_ENC 120 | eps 30 121 | aeps 100 122 | 123 | header 3571 1634 124 | one 497 1239 125 | zero 497 366 126 | ptrail 479 127 | pre_data_bits 16 128 | pre_data 0x4004 129 | gap 73900 130 | toggle_bit_mask 0x0 131 | 132 | begin codes 133 | Power 0x0100BCBD 134 | TV 0x01400C4D 135 | AV 0x0100A0A1 136 | Aspect 0x01207B5A 137 | Link 0x01908D1C 138 | Option 0x0190E574 139 | SDCard 0x0190D544 140 | Guide 0x0190E170 141 | Exit 0x0100CBCA 142 | Up 0x01005253 143 | Down 0x0100D2D3 144 | Left 0x01007273 145 | Right 0x0100F2F3 146 | Ok 0x01009293 147 | Menu 0x01004A4B 148 | Return 0x01002B2A 149 | Red 0x01000E0F 150 | Green 0x01008E8F 151 | Yellow 0x01004E4F 152 | Blue 0x0100CECF 153 | Text 0x0180C041 154 | Sttl 0x0180A021 155 | Index 0x01801091 156 | Hold 0x01809011 157 | 1 0x01000809 158 | 2 0x01008889 159 | 3 0x01004849 160 | 4 0x0100C8C9 161 | 5 0x01002829 162 | 6 0x0100A8A9 163 | 7 0x01006869 164 | 8 0x0100E8E9 165 | 9 0x01001819 166 | 0 0x01009899 167 | Info 0x01009C9D 168 | Mute 0x01004C4D 169 | ProgUp 0x01002C2D 170 | ProgDown 0x0100ACAD 171 | VolUp 0x01000405 172 | VolDown 0x01008485 173 | VcrProgDown 0x0900ACA5 174 | VcrProgUp 0x09002C25 175 | VcrSkipBack 0x09004049 176 | VcrSkipFwd 0x0900C0C9 177 | VcrRewind 0x0900929B 178 | VcrFFwd 0x0900525B 179 | VcrStop 0x09000009 180 | VcrPause 0x09006069 181 | VcrPlay 0x09005059 182 | VcrPower 0x0900BCB5 183 | VcrRec 0x09001019 184 | DvdProgDown 0x0D00ACA1 185 | DvdProgUp 0x0D002C21 186 | DvdSkipBack 0x0D00929F 187 | DvdSkipFwd 0x0D00525F 188 | DvdRewind 0x0D00202D 189 | DvdFFwd 0x0D00A0AD 190 | DvdStop 0x0D00000D 191 | DvdPause 0x0D00606D 192 | DvdPlay 0x0D00505D 193 | DvdPower 0x0D00BCB1 194 | DvdRec 0x0D00101D 195 | N 0x01003031 196 | Audio 0x01008C8D 197 | DirectTvRec 0x01909100 198 | end codes 199 | 200 | end remote 201 | 202 | -------------------------------------------------------------------------------- /remote: -------------------------------------------------------------------------------- 1 | 2 | # Please make this file available to others 3 | # by sending it to 4 | # 5 | # this config file was automatically generated 6 | # using lirc-0.9.0-pre1(uirt2_raw) on Thu Dec 6 11:10:43 2012 7 | # 8 | # contributed by 9 | # 10 | # brand: xms 11 | # model no. of remote control: 12 | # devices being controlled by this remote: 13 | # 14 | 15 | begin remote 16 | 17 | name xms 18 | bits 16 19 | flags SPACE_ENC|CONST_LENGTH 20 | eps 30 21 | aeps 100 22 | 23 | header 8817 4365 24 | one 553 1600 25 | zero 553 506 26 | ptrail 546 27 | repeat 8816 2163 28 | pre_data_bits 16 29 | pre_data 0x4FB 30 | gap 104424 31 | toggle_bit_mask 0x0 32 | 33 | begin codes 34 | KEY_MUTE 0xD827 35 | KEY_VOLUMEDOWN 0x807F 36 | KEY_VOLUMEUP 0x40BF 37 | KEY_AUDIO 0x20DF 38 | end codes 39 | 40 | end remote 41 | 42 | 43 | 44 | # Please make this file available to others 45 | # by sending it to 46 | # 47 | # this config file was automatically generated 48 | # using lirc-0.9.0-pre1(uirt2_raw) on Thu Dec 6 12:08:42 2012 49 | # 50 | # contributed by 51 | # 52 | # brand: panasonic 53 | # model no. of remote control: 54 | # devices being controlled by this remote: 55 | # 56 | 57 | begin remote 58 | 59 | name panasonic 60 | bits 16 61 | flags SPACE_ENC 62 | eps 30 63 | aeps 100 64 | 65 | header 3400 1650 66 | one 439 1210 67 | zero 439 360 68 | ptrail 438 69 | pre_data_bits 32 70 | pre_data 0x40040100 71 | gap 72100 72 | min_repeat 1 73 | # suppress_repeat 1 74 | # uncomment to suppress unwanted repeats 75 | toggle_bit_mask 0x0 76 | 77 | begin codes 78 | KEY_MUTE 0x4C4D 79 | KEY_VOLUMEUP 0x0405 80 | KEY_VOLUMEDOWN 0x8485 81 | KEY_CHANNELUP 0x2C2D 82 | KEY_CHANNELDOWN 0xACAD 83 | KEY_POWER 0xBCBD 84 | KEY_TV 0xA0A1 85 | end codes 86 | 87 | end remote 88 | 89 | # 90 | # this config file was automatically generated 91 | # using lirc-0.8.3pre1(default) on Wed Sep 10 00:14:36 2008 92 | # 93 | # contributed by Tim Davis 94 | # 95 | # brand: Panasonic 96 | # model no. of remote control: N2QAYB000239 97 | # devices being controlled by this remote: 98 | # Viera TX-32LZD80 LCD TV 99 | # 100 | # Notes 101 | # 102 | # 'Vcr' prefixed codes are generated when the switch is in the VCR position, 103 | # 'Dvd' codes when in the DVD position. 104 | # 105 | # VcrRewind and VcrFFwd are generated instead of VcrSkipBack 106 | # and VcrSkipFwd when holding the buttons down. Similarly for 107 | # the DvdSkip buttons. 108 | # 109 | # Holding down VcrPause generates VcrFFwd. 110 | # Holding down DvdPause generates DvdSkipFwd. 111 | # 112 | # name Panasonic_N2QAYB000239 113 | # 114 | 115 | begin remote 116 | 117 | name pan 118 | bits 32 119 | flags SPACE_ENC 120 | eps 30 121 | aeps 100 122 | 123 | header 3571 1634 124 | one 497 1239 125 | zero 497 366 126 | ptrail 479 127 | pre_data_bits 16 128 | pre_data 0x4004 129 | gap 73900 130 | toggle_bit_mask 0x0 131 | 132 | begin codes 133 | Power 0x0100BCBD 134 | TV 0x01400C4D 135 | AV 0x0100A0A1 136 | Aspect 0x01207B5A 137 | Link 0x01908D1C 138 | Option 0x0190E574 139 | SDCard 0x0190D544 140 | Guide 0x0190E170 141 | Exit 0x0100CBCA 142 | Up 0x01005253 143 | Down 0x0100D2D3 144 | Left 0x01007273 145 | Right 0x0100F2F3 146 | Ok 0x01009293 147 | Menu 0x01004A4B 148 | Return 0x01002B2A 149 | Red 0x01000E0F 150 | Green 0x01008E8F 151 | Yellow 0x01004E4F 152 | Blue 0x0100CECF 153 | Text 0x0180C041 154 | Sttl 0x0180A021 155 | Index 0x01801091 156 | Hold 0x01809011 157 | 1 0x01000809 158 | 2 0x01008889 159 | 3 0x01004849 160 | 4 0x0100C8C9 161 | 5 0x01002829 162 | 6 0x0100A8A9 163 | 7 0x01006869 164 | 8 0x0100E8E9 165 | 9 0x01001819 166 | 0 0x01009899 167 | Info 0x01009C9D 168 | Mute 0x01004C4D 169 | ProgUp 0x01002C2D 170 | ProgDown 0x0100ACAD 171 | VolUp 0x01000405 172 | VolDown 0x01008485 173 | VcrProgDown 0x0900ACA5 174 | VcrProgUp 0x09002C25 175 | VcrSkipBack 0x09004049 176 | VcrSkipFwd 0x0900C0C9 177 | VcrRewind 0x0900929B 178 | VcrFFwd 0x0900525B 179 | VcrStop 0x09000009 180 | VcrPause 0x09006069 181 | VcrPlay 0x09005059 182 | VcrPower 0x0900BCB5 183 | VcrRec 0x09001019 184 | DvdProgDown 0x0D00ACA1 185 | DvdProgUp 0x0D002C21 186 | DvdSkipBack 0x0D00929F 187 | DvdSkipFwd 0x0D00525F 188 | DvdRewind 0x0D00202D 189 | DvdFFwd 0x0D00A0AD 190 | DvdStop 0x0D00000D 191 | DvdPause 0x0D00606D 192 | DvdPlay 0x0D00505D 193 | DvdPower 0x0D00BCB1 194 | DvdRec 0x0D00101D 195 | N 0x01003031 196 | Audio 0x01008C8D 197 | DirectTvRec 0x01909100 198 | end codes 199 | 200 | end remote 201 | 202 | 203 | # Please make this file available to others 204 | # by sending it to 205 | # 206 | # this config file was automatically generated 207 | # using lirc-0.9.0-pre1(uirt2_raw) on Sun Dec 9 06:08:08 2012 208 | # 209 | # contributed by 210 | # 211 | # brand: xxms 212 | # model no. of remote control: 213 | # devices being controlled by this remote: 214 | # 215 | 216 | begin remote 217 | 218 | name xxms 219 | bits 16 220 | flags SPACE_ENC|CONST_LENGTH 221 | eps 30 222 | aeps 100 223 | 224 | header 8826 4337 225 | one 564 1600 226 | zero 564 481 227 | ptrail 564 228 | repeat 8827 2147 229 | pre_data_bits 16 230 | pre_data 0x4FB 231 | gap 104422 232 | toggle_bit_mask 0x0 233 | 234 | begin codes 235 | KEY_MUTE 0xD827 236 | KEY_VOLUMEUP 0x40BF 237 | KEY_VOLUMEDOWN 0x807F 238 | KEY_AUDIO 0x20DF 239 | end codes 240 | 241 | end remote 242 | 243 | 244 | --------------------------------------------------------------------------------