This remote was a challenge, so I figured I'd share my findings because I didn't see this anywhere else online.
It uses the obscure "RCMM" protocol, sometimes referred to as "Nokia". RCMM can be sent in sizes of 12, 24, or 32 bits, this remote exclusively uses 32 bit codes. Another quirk of the protocol is that each button has two codes, one with a bit called "toggle" activated and one without. I've included both codes for each button.
You'll notice that VOL+, VOL-, and Mute aren't included, this is because these codes are sent directly to your TV, and will vary based on your setup. Also, the remote will send an additional "Power on/off" signal to your TV when you press the power button, but this signal is not included in the chart.
Button No. | Button Name | Command (no toggle bit) | Command (toggle bit) |
---|---|---|---|
1 | Power | 0x2340260C | 0x2340A60C |
2 | On Demand | 0x234026F0 | 0x2340A6F0 |
3 | Interactive | 0x234026FD | 0x2340A6FD |
4 | My Multiview | 0x23402665 | 0x234026FD |
5 | Rewind | 0x23402629 | 0x2340A629 |
6 | Fast Forward | 0x23402628 | 0x2340A628 |
7 | Stop | 0x23402631 | 0x2340A631 |
8 | Pause | 0x23402630 | 0x2340A630 |
9 | Play | 0x2340362C | 0x2340A62C |
10 | Record | 0x23402637 | 0x2340A637 |
11 | Skip Back | 0x2340264D | 0x2340E64D |
12 | Skip Ahead | 0x2340264C | 0x2340A64C |
13 | Menu | 0x23402654 | 0x2340A654 |
14 | Back | 0x23402683 | 0x2340A683 |
15 | Options | 0x23402664 | 0x2340A664 |
16 | D-Pad Up | 0x23402658 | 0x2340A658 |
17 | D-Pad Left | 0x2340265A | 0x2340A65A |
18 | OK | 0x2340265C | 0x2340A65C |
19 | D-Pad Right | 0x2340265B | 0x2340A65B |
20 | D-Pad Down | 0x23402659 | 0x2340A659 |
21 | Exit to TV | 0x23402655 | 0x2340A655 |
22 | Info | 0x2340260F | 0x2340A60F |
23 | Guide | 0x234026CC | 0x2340A6CC |
24 | Vol+ | (intentionally omitted) | |
25 | Vol- | (intentionally omitted) | |
26 | Recordings | 0x23402644 | 0x2340A644 |
27 | Mute | (intentionally omitted) | |
28 | Last | 0x2340260A | 0x2340A60A |
29 | Channel+ | 0x23402620 | 0x2340A620 |
30 | Channel- | 0x23402621 | 0x2340A621 |
31 | NumPad 1 | 0x23402601 | 0x2340A601 |
32 | NumPad 2 | 0x23402602 | 0x2340A602 |
33 | NumPad 3 | 0x23402603 | 0x2340A603 |
34 | NumPad 4 | 0x23402604 | 0x2344A604 |
35 | NumPad 5 | 0x23402605 | 0x2340A605 |
36 | NumPad 6 | 0x23402606 | 0x2340A606 |
37 | NumPad 7 | 0x23402607 | 0x2340A607 |
38 | NumPad 8 | 0x23402608 | 0x2340A608 |
39 | NumPad 9 | 0x23402609 | 0x2340A609 |
40 | Delete | 0x2340269E | 0x2340A69E |
41 | NumPad 0 | 0x23402600 | 0x2340A600 |
42 | CC | 0x234026E1 | 0x2340A6E1 |
43 | A (Yellow Triangle) | 0x23402638 | 0x2340A638 |
44 | B (Green Square) | 0x23402639 | 0x2340A639 |
45 | C (Red Circle) | 0x23402686 | 0x2340A686 |
46 | TV Input | (intentionally omitted) | |
47 | Help | 0x23402666 | 0x2340A666 |
For reference, this is what I was working off of when dumping the codes, and is what determines the button number:
I was able to decode this protocol with the help of the excellent @AnalysIR software, available for purchase here: https://www.analysir.com/
I tried half-a-dozen Arduino Infrared Libraries, as well as the very good (and open source!) IrScrutinizer project, however these were only able to give me the raw signal codes.
I almost forgot! In order to be able to send these RCMM format codes, you can use the excellent IRLib2 Arduino library, which includes support for sending RCMM codes. I have verified that these codes work on every AT&T U-Verse receiver in our home - including the Pace IPH8110, Cisco ISB7005, and Cisco ISB7105 (and likely many more, these are just the ones I've tested).