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

mdavej
Expert
Posts: 4636
Joined: Wed Oct 08, 2003 7:08 am

Post by mdavej »

Convert to pronto hex with help from us and email to datasupport@logitech.com to add to your account.
cdvreede
Posts: 2
Joined: Wed May 24, 2017 5:13 pm

Post by cdvreede »

understand the last bit - no idea how to convert what however....

thnx
The Robman
Site Owner
Posts: 21944
Joined: Fri Aug 01, 2003 9:37 am
Location: Chicago, IL
Contact:

Post by The Robman »

All the Pronto hex for the buttons are contained in the following file:
https://www.hifi-remote.com/forums/dload ... e_id=14381
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
chuliu
Posts: 454
Joined: Sat Dec 04, 2010 10:44 am
Location: Hong Kong

Post by chuliu »

I am trying to program a nevo c2 and mail to my friend for controlling his mi box. Before I do that, I want to make sure I got everything right. So, I downloaded the rmdu here:
https://www.hifi-remote.com/forums/dload ... e_id=14383

replaced protocols.ini here:
https://sourceforge.net/p/controlremote ... tocols.ini

and then I loaded the rmdu file to nevo c2. Then, I captured it with my other nevo c2 and downloaded from nevo c2 with rmir. However, the protocol is missing, meaning rmir doesn't recognise the signal.

Am I doing something wrong?

I also checked harmony database with myharmony, and there were 3 entries.
I don't know if the three entries are the same, because rmir doesn't know its protocol.

I don't have the remote of my friend's mi box on hand, and thus I can't capture from the real remote. Are there indeed 3 versions of mi box?

Thanks.
vickyg2003
Site Admin
Posts: 7109
Joined: Sat Mar 20, 2004 12:19 pm
Location: Florida
Contact:

Post by vickyg2003 »

Can you load your RMIR file in the diagnosis section and post a link here so I can look at the output from my Nevo C2? Also I'd like to see the learns.

Oh and what version of the Nevo C2 firmware is in the remote?
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
yaworski
Posts: 454
Joined: Sun Jun 22, 2014 4:06 am
Location: Warsaw, Poland

Post by yaworski »

Jeff2525 have you tried all the "unknown" codes when the device is turned off? Maybe one of them is a discrete wake/power on.

--edit--

I'm getting the Mi Box for myself (should have it tomorrow) so I'll do some more testing.

I think the power has different dev id because it's not being passed to the system, but it's handled in the hardware - it wakes the device when it sleeps (or is turned off). So if there's a discrete power on, it should also have the same dev id as the power button.

Unfortunately, from what I've read, there's no easy way to define more remote buttons without having access to the root on the device and that's not easy to do on the Mi Box (requires some really old, pre-release firmware).
Marcin
chuliu
Posts: 454
Joined: Sat Dec 04, 2010 10:44 am
Location: Hong Kong

Post by chuliu »

vickyg2003 wrote:Can you load your RMIR file in the diagnosis section and post a link here so I can look at the output from my Nevo C2? Also I'd like to see the learns.

Oh and what version of the Nevo C2 firmware is in the remote?
Sorry for the late reply.
This is the c2 rmir with mi box rmdu loaded
https://www.hifi-remote.com/forums/dload ... e_id=25018

Here is the rmir with the lerans
https://www.hifi-remote.com/forums/dload ... e_id=25019

I am running the latest firmware on my c2s.
1.3.33

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

Post by yaworski »

chuliu, having the original remote wouldn't be helpful to you as the original remote is a bluetooth one, not IR. There's nothing to learn from.

RMIR probably won't recognise this protocol from the learns at the moment. Experts here didn't even know it existed and was supported by the UEI before this thread (we all learn new things everyday). It would need to be implemented in DecodeIR library to be recognised and decoded by RMIR. This doesn't mean that the learns themselves are bad.
Marcin
alfi33
Posts: 14
Joined: Fri Oct 31, 2008 3:53 pm

Post by alfi33 »

I'm trying to get this device upgrade to work on my URC-8820N Extender A:
https://www.hifi-remote.com/forums/dload ... e_id=14383

But when I open it up in RemoteMaster and select my remote I get an error:
The selected protocol "Xiaomi" (02 3B) is not compatible with the selected remote. This upgrade will NOT function correctly. Please choose a different protocol.

Am I out of luck with my trusty URC-8820Ns?
The Robman
Site Owner
Posts: 21944
Joined: Fri Aug 01, 2003 9:37 am
Location: Chicago, IL
Contact:

Post by The Robman »

Anybody up for writing an HCS08 version of this executor?
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
binky123
Expert
Posts: 1292
Joined: Sat Feb 14, 2004 3:35 am

Post by binky123 »

This has not been tested and was put together to get a general idea of what was needed. It is a port of the S3C80 code to HCS08 and it may include things that are not really needed in HCS08. There are sections that are guesses as well.

I have a 10820 OFA, 1025 Atlas(JP1.2) and a 3002 Vizio(JP1.3) remote that I'll try testing with at some point. Not sure when I can get to it at this time.

Code: Select all

			ORG	$0100	Byte count = 117
		DCBUF:	EQU	$60	
		PD0A:	EQU	$74	
		PD0B:	EQU	$75	
		PD10:	EQU	$7A	
		PD14:	EQU	$7E	
		PD15:	EQU	$7F	
		TestRptReqd:	EQU	$FF92	
		IRMarkSpaceByPtr:	EQU	$FF65	
		IRSpaceByReg:	EQU	$FF74	
		CMTMSC:	EQU	$25	
		Checksum:	EQU	$53	
		LoopIndex:	EQU	$54	
		BitsToSend:	EQU	$55	
0100	20 1B		BRA	L0	
0102	23		DB	$23	;Carrier ON: 8.750uSec
0103	47		DB	$47	;Carrier OFF: 17.750uSec
0104	02		DB	$02	;dev 0, cmd 2 bytes
0105	C0		DB	$C0	;pf0: $A2
0106	00		DB	$00	;pf1: $A3
0107	01 2F		DW	$012F	;pd00/pd01: $6A/$6B
0109	01 26		DW	$0126	;pd02/pd03: $6C/$6D
010B	01 2F		DW	$012F	;pd04/pd05: $6E/$6F
010D	01 B7		DW	$01B7	;pd06/pd07: $70/$71
010F	01 2F		DW	$012F	;pd08/pd09: $72/$73
0111	02 4A		DW	$024A	;pd0A/pd0B: $74/$75
0113	01 2F		DW	$012F	;pd0C/pd0D: $76/$77
0115	02 DB		DW	$02DB	;pd0E/pd0F: $78/$79
0117	02 02		DW	$0202	;pd10/pd11: $7A/$7B
0119	01 26		DW	$0126	;pd12/pd13: $7C/$7D
011B	18 82		DW	$1882	;pd14/pd15; $7E/$7F

011D	B6 60	L0:	LDA	DCBUF	
011F	62		NSA		
0120	B8 60		EOR	DCBUF	
0122	B8 61		EOR	DCBUF+1	
0124	62		NSA		
0125	B8 61		EOR	DCBUF+1	
0127	B7 53		STA	Checksum	

0129	AD 08		BSR	L2	

012B	AD 06	L1:	BSR	L2	
012D	CD FF 92	JSR	TestRptReqd	
0130	25 F9		BCS	L1	
0132	81		RTS		;return to protocol caller

0133	55 7E	L2:	LDHX	PD14	
0135	CD FF 74	JSR	IRSpaceByReg	;send LeadOut
0138	AD 04		BSR	L3	;send out bitpairs for cmd1 cmd2 checksum-nibble
013A	CD FF 56	JSR	$FF56	Wait for last burst pair to finish
013D	81		RTS		;return to L2 caller

013E	AE 7A	L3:	LDX	#PD10	;Set 0:X to PD10 for leadin burst pair times
0140	CD FF 65		JSR	IRMarkSpaceByPtr	

0143	4E 60 55		MOV	DCBUF,BitsToSend	;Use cmd1
0146	AD 0F		BSR	L4	;Use index=4

0148	4E 61 55		MOV	DCBUF+1,BitsToSend	;Use cmd2
014B	AD 0A		BSR	L4	;Use index=4

014D	4E 53 55		MOV	Checksum,BitsToSend	
0150	AD 0A		BSR	L5	;Use index=2

0152	AE 6A		LDX	#PD00	;Set 0:X to PD00 for burst pair times
0154	CC FF 65		JMP	IRMarkSpaceByPtr	;send bitpair 00 and return to L3 caller

0157	6E 04 54	L4:	MOV	#04,LoopIndex	;Use index=4
015A	20 03		BRA	L6	

015C	6E 02 54	L5:	MOV	#02, LoopIndex	;Use index=2

015F	B6 55	L6:	LDA	BitsToSend	;load bits into A and shift top 2 bits to send out
0161	49		ROLA		;rotate left A through Carry C<- bit7
0162	49		ROLA		;rotate left A through Carry bit1<-C bit0<-bit7
0163	B7 55		STA	BitsToSend	;save top bits for next iteration
0165	49		ROLA		;rotate left A through Carry bit1<-bit7, bit0<-bit6
0166	A4 03		AND	#03	;keep first 2 bits
0168	AE 04		LDX	#04	;load 4 into X
016A	42		MUL		;X:A <- X*A
016B	AB 6A		ADD	#PD00	;A <- A+PD00($6A), relative to PD00
016D	97		TAX		;X <- A
016E	CD FF 65		JSR	IRMarkSpaceByPtr	
0171	3B 54 EB		DBNZ	LoopIndex, L6	
0174	81		RTS		;return to L4/L5 caller

Upgrade protocol 0 = 01 3B (HCS08) Xiaomi (RMPB v2.06 build 5)
20 1B 23 47 02 C0 00 01 2F 01 26 01 2F 01 B7 01
2F 02 4A 01 2F 02 DB 02 02 01 26 18 82 B6 60 62
B8 60 B8 61 62 B8 61 B7 53 AD 08 AD 06 CD FF 92
25 F9 81 55 7E CD FF 74 AD 04 CD FF 56 81 AE 7A
CD FF 65 4E 60 55 AD 0F 4E 61 55 AD 0A 4E 53 55
AD 0A AE 6A CC FF 65 6E 04 54 20 03 6E 02 54 B6
55 49 49 B7 55 49 A4 03 AE 04 42 AB 6A 97 CD FF
65 3B 54 EB 81
End
Last edited by binky123 on Wed May 02, 2018 6:36 pm, edited 5 times in total.
The Robman
Site Owner
Posts: 21944
Joined: Fri Aug 01, 2003 9:37 am
Location: Chicago, IL
Contact:

Post by The Robman »

Do you have it in a format that others can use to also test it?
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
The Robman
Site Owner
Posts: 21944
Joined: Fri Aug 01, 2003 9:37 am
Location: Chicago, IL
Contact:

Post by The Robman »

I have extracted the code data from Binky's post, so if others want to test this, just add the red line below in protocols.ini

[Xiaomi]
PID=02 3B
CmdParms=Dev:8, OBC:8
CmdTranslator=Translator(0,8,0) Translator(1,8,8)
DefaultCmd=00 00
Code.S3C80=43 8D 02 8B 18 C0 00 01 2F 01 12 01 2F 01 A3 01 2F 02 36 01 2F 02 C7 02 02 01 12 3B 10 E4 1C 0B E4 1D 0C 68 03 F0 C6 B4 03 C6 B4 04 C6 F0 C6 B4 04 C6 F6 FF 3E F6 FF 3E F6 01 0A 7B F8 AF E4 26 1C E4 27 1D F6 01 76 F6 FF 54 E4 26 1C E4 27 1D F6 01 82 AF E4 0B 1C E4 0C 1D 1C 22 F6 01 4C 38 03 F6 FF 73 38 04 F6 FF 73 38 C6 F6 FF 77 1C 12 8D 01 4C 5C 04 8B 02 5C 02 90 C3 90 C3 08 C3 56 C0 03 86 04 C0 06 C1 12 F6 01 4C 5A EC AF
Code.MAXQ610=33 69 02 96 00 05 17 00 16 00 17 00 21 00 17 00 2C 00 17 00 37 00 73 04 27 00 16 00 00 84 00 00 00 01 0C 07 D2 D0 D1 51 D3 D2 00 07 D2 D3 D2 63 54 03 01 70 71 32
Code.TI2541=01 07 01 21 02 96 00 05 17 00 16 00 17 00 21 00 17 00 2C 00 17 00 37 00 73 04 27 00 16 00 00 84 00 00 00 01 0C 07 04 02 03 51 05 04 00 07 04 05 04 63 54 03 01 70 71 32
Code.HCS08=20 1B 23 47 02 C0 00 01 2F 01 12 01 43 01 A3 01 43 02 36 01 2F 02 C7 02 02 01 12 3B 10 4E 74 68 4E 75 69 B6 60 62 B8 60 B8 61 62 B8 61 B7 53 AD 08 AD 06 CD FF 92 25 F9 81 4E 7E 74 4E 7F 75 CD FF 56 AD 0A 4E 7E 74 4E 7F 75 CD FF 56 81 4E 68 74 4E 69 75 BE 7A CD FF 65 B6 60 AD 0D B6 61 AD 09 B6 53 AD 0A BE 6A CC FF 65 6E 04 54 20 03 6E 02 54 49 49 A4 03 AE 04 42 AB 7A 97 CD FF 65 3B 54 F0 81
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
alfi33
Posts: 14
Joined: Fri Oct 31, 2008 3:53 pm

Post by alfi33 »

I tried it but I don't think it works.

Once I copied the line into my protocols.ini, I could open the upgrade in RM and select the URC-8820N without getting an error. I uploaded it to my remote but when I press any of the mapped buttons, the Power button lights up for 4 seconds or so and nothing happens on the Xiaomi Mi Box.
The Robman
Site Owner
Posts: 21944
Joined: Fri Aug 01, 2003 9:37 am
Location: Chicago, IL
Contact:

Post by The Robman »

Thanks for trying, what we need now is one of the experts to try it by capturing the generated signals and seeing what's wrong with them, which is probably what Binky was planning to do.
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Post Reply