Xiaomi Mi Box Streaming Android TV Device

Looking for a JP1 upgrade that's not present in the file section, or just looking for a code for your remote, post your request here. But PLEASE read the sticky announcement thread first!!!

Moderator: Moderators

yaworski
Posts: 454
Joined: Sun Jun 22, 2014 4:06 am
Location: Warsaw, Poland

Post by yaworski »

I've tried looking for the remote.conf file on the MiBox with Oreo and I've found one: /vendor/etc/remote.conf (/vendor is a new partition related to Google's Project Treble). Unfortunately I don't think it is used by the system, as it's content looks like a default amlogic one (for software NEC decoder) and as we know, the MiBox uses hardware decoder.

To be sure I've tried making an upgrade for both factory codes in the file, but it doesn't work (well, good for me, as my LG TV uses NEC1 dev=4).

I've checked dmesg after pressing some buttons with these NEC upgrades and I get:

Code: Select all

[70123.757401@1] meson-remote: parity check error code=0x3003c
[70123.757442@1] meson-remote c8100580.rc: invalid custom:0x0
[70123.762770@1] meson-remote c8100580.rc: cur_custom is nulll
[70123.768293@1] meson-remote c8100580.rc: no valid key to handle
everytime I press a button on the remote. Only the error code value changes between few different values.

Here's a content of the file:

Code: Select all

#*********************************************************************************************************
#this file is configuration for each factory remote device
# 	work_mode	  0 :software mode  1 :hardware mode
#	repeat_enable	  0 :disable repeat 1 :enable repeat
#
#	factory_code      each device has it's unique factory code.
#			  pattern:custom_code(16bit)+index_code(16bit)
#			  examble: 0xff000001 = 0xff00(custom cod)  0001 (index)
#
#	release_delay	  unit:ms.release will report from kernel to user layer after this period of time
#			  from press or repeat triggered.
#
#	debug_enable      0 :debug disable  1 :debug disable
#
# SW MODE:
#	bit_count	  how many bits in each frame
#	tw_leader_act	  time window for leader active
#	tw_bit0		  time window for bit0 time.
#	tw_bit1		  time window for bit1 time
#	tw_repeat_leader  time window for repeat leader
# REG
#	reg_base_gen	  set value for PREG_IR_DEC_BASE_GEN
#	reg_control	  set value for PREG_IR_DEC_CONTROL
#	reg_leader_act	  set value for PREG_IR_DEC_LEADER_ACTIVE
#	reg_leader_idle	  set value for PREG_IR_DEC_LEADER_IDLE
#	reg_repeat_leader set value for PREG_IR_DEC_REPEAT_IDLE
#	reg_bit0_time	  set value for PREG_IR_DEC_BIT0_TIME
#*************************************************************************************************************
#amlogic NEC remote
work_mode  		= 0
repeat_enable = 1
repeat_delay = 130
repeat_peroid = 120
release_delay   =       20
debug_enable 	= 1

fn_key_scancode    = 0x15
left_key_scancode  = 0x1c
right_key_scancode = 0x48
up_key_scancode    = 0x44
down_key_scancode  = 0x1d
ok_key_scancode    = 0x5c
pageup_key_scancode = 0x04
pagedown_key_scancode = 0x1b

custom_begin
		factory_infcode = 0
		factory_code	= 0xfb040001

		mouse_begin
				0 0x1c
				1 0x48
				2 0x44
				3 0x1d
		mouse_end
		key_begin
				0x47 11
				0x13 2
				0x10 3
				0x11 4
				0x0F 5
				0x0C 6
				0x0D 7
				0x0B 8
				0x08 9
				0x09 10
				0x5C 97
				0x51 65
				0x49 14
				0x06 130
				0x14 131
				0x44 103
				0x1D 108
				0x1C 105
				0x48 106
				0x53 125
				0x45 104
				0x19 109
				0x16 102
				0x52 119
				0x05 122
				0x59 123
				0x1b 120
				0x04 121
				0x1A 116
				0x0A 15
				0x0e 113
				0x15 63
				0x1F 102
				0x1e 132
				0x07 133
				0x12 134
				0x54 135
				0x02 136
				0x4f 30
				0x42 48
				0x5d 46
				0x4c 32
				0x58 137
				0x55 140
		key_end
		repeat_key_begin
				0x47 11
				0x13 2
				0x10 3
				0x11 4
				0x0F 5
				0x0C 6
				0x0D 7
				0x0B 8
				0x08 9
				0x09 10
				0x5C 97
				0x51 65
				0x49 14
				0x06 130
				0x14 131
				0x44 103
				0x1D 108
				0x1C 105
				0x48 106
				0x53 125
				0x45 104
				0x19 109
				0x16 102
				0x52 119
				0x05 122
				0x59 123
				0x1b 120
				0x04 121
				0x1A 116
				0x0A 15
				0x0e 113
				0x15 63
				0x1F 102
				0x1e 132
				0x07 133
				0x12 134
				0x54 135
				0x02 136
				0x4f 30
				0x42 48
				0x5d 46
				0x4c 32
				0x58 137
				0x55 140
		repeat_key_end
custom_end

custom_begin
		factory_infcode = 1
		factory_code	= 0xbd020001
		key_begin
				0xca 103
				0xd2 108
				0x99 105
				0xc1 106
				0xce 97
				0x45 116
				0xc5 133
				0x80 113
				0xd0 15
				0xd6 125
				0x95 102
				0xdd 104
				0x8c 109
				0x89 131
				0x9c 130
				0x9a 120
				0xcd 121
		key_end
custom_end
I don't know if the remote control is now hardcoded and doesn't use the remote.conf file anymore or if the file is now located in some inaccessible directory.

Maybe it could be a good idea to check now if there are some new OBCs recognised.
Marcin
yaworski
Posts: 454
Joined: Sun Jun 22, 2014 4:06 am
Location: Warsaw, Poland

Post by yaworski »

Ok, I've now went through all 255 OBCs with dev=134 (Xiaomi protocol).

I've run dmesg in a loop on the terminal. When the OBC is not recognised, an entry like this shows up in the dmesg:

Code: Select all

[75925.744160@1] meson-remote c8100580.rc: scancode 242 undefined
(the scancode is equal to the OBC)

All OBCs for directional buttons, OK, menu, exit, home and volume buttons are still supported and work correctly. In addition only OBCs 3 and 17 don't generate this error, but I don't see any reaction on the MiBox. All other OBCs generate a log message like the one above.

When I change dev from 134 to something else then I get a log entry like this:

Code: Select all

[76011.066114@1] meson-remote c8100580.rc: invalid custom:0x85049
The 0x85 in the code above is equal to the dev value.
Marcin
Jeff2525
Posts: 26
Joined: Wed Feb 01, 2017 9:28 pm

Post by Jeff2525 »

Hi all.

First off, sorry for the long delay in uploading the file. It wasn't until I came back here to refresh my memory, with looking to see if I can update the commands, that I saw a message about uploading the file.

I just came back again and noticed that there is now a few people interested in getting IR codes for Mi Box, so thought I would chime in.

I can say that there are still 2 buttons that register with the Mi Box, that are unknown.

I installed ButtonMapper on Oreo (Accessibility has a bug in it, so I don't use it permanently) and that will read the buttons. There was 3 previously unknown buttons, but with the old MM OS. They were showen as F keys. I believe F10, F11, and F12.

With Oreo, I looked at the 2 unknown buttons that will still work and that will flash the light on the Mi Box, but ButtonMapper cannot identify them.

I also looked for the remote.conf file. It is the same exact one that was posted yaworski. It oddly shows Page Up, Page Down, Etc but none appears to work. It also is quite a bit longer than the old MM version, but Oreo seems to have less commands.

I hope it is something to do with the Remote.Conf file, but am worried that that file is meaningless.
nerom86
Posts: 5
Joined: Thu Oct 02, 2014 3:07 am

Post by nerom86 »

Hi, i just want you to know that im doing some investigation about codes on xiaomi 4s tv and some info in this thread might be useful to you as well:

http://www.hifi-remote.com/forums/viewt ... p?t=102671

for example you could try if buttons forward and rewind work on mi box as well. (And if you'd like to take a look to help me find the other buttons for my mi tv, id be happy as well :D)
Post Reply