[GUIDE][RECOVERY][ROM] Xiaomi/Fengmi/Wemax Mi Led/Laser Projector/TV

Search This thread

SeaMAX!

Member
Aug 8, 2022
10
5
Good day to all. Have a problem. When updating new firmware ( android 9) from USB flash, my projector rebooted without finishing updating. As a result, black screen, impossible enter to bootloader. I made adapter HDMI to UART. Got a log. As I understand it, need to completely flash firmware. But this requires aml_autoscript and recovery.img files. Someone have files for restore ?
Model MJJGYY02FM (International Xiaomi Mi Projector) [anglee].
Someone tried to restore the brick?
Log att.
On USB Flash - one file recovery.img
Code:
▒TXLX:▒`▒▒▒▒▒▒▒2▒▒2U▒▒2Ee▒▒S'▒Q▒(L'Tj▒▒ڒ5▒▒▒▒▒EMMC:0;READ:0;0.0;0.0;CHK:0;
TE: 181461

BL2 Built : 13:06:06, Apr  5 2019. txlx g70741bf - [email protected]

bl21 start
set vcck to 1050 mv
set vddee to 950 mv
set AO 2/10/11 to high
 set test_n to high
 init panel power
bl21 end
Board ID = 0
CPU clk: 1200MHz
DDR enable rdbi
DQS-corr enabled
DDR scramble enabled
DDR4 chl: Rank0 @ 792MHz

bist_test rank: 0 1e 00 3c 36 1a 52 1f 00 3e 37 1c 52 1d 00 3a 36 1a 53 21 02 40 30 12 4f 709
Rank0: 2048MB(auto)-2T-18
AddrBus test pass!
eMMC boot @ 0
sw8 s
emmc switch 3 ok
Authentication key not yet programmed
get rpmb counter error 0x00000007
emmc switch 0 ok
OTP_ARB=00000000
Load FIP HDR from eMMC, src: 0x0000c200, des: 0x01700000, size: 0x00004000, part: 0
Load BL3x from eMMC, src: 0x00010200, des: 0x01704000, size: 0x000f8000, part: 0
NOTICE:  BL31: v1.3(release):19f58df
NOTICE:  BL31: Built : 11:06:00, Mar  5 2019
NOTICE:  BL31: TXLX secure boot!
NOTICE:  BL31: BL33 decompress pass
[Image: txlx_v1.1.3386-0580c50 2019-03-25 18:01:48 [email protected]]
OPS=0x13
TXLX rev-C chip
24 0a 13 00 43 10 89 0f 4f 12 ea b2 77 f6 05 68
[0.013540 Inits done]
secure task start!
high task start!
low task start!
INFO:    BL3-2: ATOS-V2.4-220-g798c0b3 #1 Mon Mar 18 02:22:06 UTC 2019 arm
INFO:    BL3-2: Chip: TXLX Rev: A (24:A - 10:2)
INFO:    BL3-2: crypto engine DMA
INFO:    BL3-2: secure time TEE
INFO:    BL3-2: CONFIG_DEVICE_SECURE 0xb200000e


U-Boot 2015.01-g8025b5b-dirty (Jan 23 2020 - 01:28:59), Build: jenkins-anglee_fm15g_atv_p_release-1911

DRAM:  2 GiB
Relocation Offset is: 76e50000
aml pwm cal init
aml pwm cal adc_val = 255, adc_voltage = 1049, def_voltage = 1050
aml pwm cal adc_val = 21b, adc_voltage = 947, def_voltage = 950
aml board pwm vcck: 0, ee: 0
register usb cfg[0][1] = 0000000077f0e140
gpio: pin GPIODV_10 (gpio 10) value is 0
gpio: pin GPIOH_0 (gpio 27) value is 1
gpio: pin GPIOH_1 (gpio 28) value is 1
gpio: pin GPIOC_0 (gpio 50) value is 1
gpio: pin GPIOAO_13 (gpio 117) value is 1
gpio: pin GPIOZ_14 (gpio 70) value is 0
gpio: pin GPIOZ_13 (gpio 69) value is 0
gpio: pin GPIOZ_10 (gpio 66) value is 0
gpio: pin GPIODV_5 (gpio 5) value is 0
MMC:   aml_priv->desc_buf = 0x0000000073e41160
aml_priv->desc_buf = 0x0000000073e434a0
SDIO Port B: 0, SDIO Port C: 1
co-phase 0x3, tx-dly 0, clock 400000
co-phase 0x3, tx-dly 0, clock 400000
co-phase 0x3, tx-dly 0, clock 400000
emmc/sd response timeout, cmd8, status=0x3ff2800
emmc/sd response timeout, cmd55, status=0x3ff2800
co-phase 0x3, tx-dly 0, clock 400000
co-phase 0x3, tx-dly 0, clock 40000000
[mmc_startup] mmc refix success
init_part() 297: PART_TYPE_AML
[mmc_init] mmc init success
aml log : R2048 check pass!
      Amlogic multi-dtb tool
      Single dtb detected
start dts,buffer=0000000073e45cf0,dt_addr=0000000073e45cf0 fdtmagic:0xd00dfeed
get_partition_from_dts() 71: ret 0
      Amlogic multi-dtb tool
      Single dtb detected
parts: 19
00:      logo   0000000001000000 1
01:    vbmeta   0000000000800000 1
02:  recovery   0000000002000000 1
03:      misc   0000000000800000 1
04:      dtbo   0000000000800000 1
05:     param   0000000008000000 2
06:       tee   0000000002000000 1
07:    vendor   0000000010000000 1
08:       odm   0000000010000000 1
09:     crypt   0000000002000000 1
10:       rsv   0000000001000000 1
11:      boot   0000000002000000 1
set has_boot_slot = 0
12:    system   0000000080000000 1
13:     cache   0000000046000000 2
14:  cri_data   0000000001000000 2
15:    tvinfo   0000000000a00000 2
16:   persist   0000000000800000 4
17:    backup   0000000029e00000 4
18:      data   ffffffffffffffff 4
init_part() 297: PART_TYPE_AML
eMMC/TSD partition table have been checked OK!
crc32_s:0x1577dad == storage crc_pattern:0x1577dad!!!
crc32_s:0xee152b83 == storage crc_pattern:0xee152b83!!!
crc32_s:0x79f50f07 == storage crc_pattern:0x79f50f07!!!
mmc env offset: 0x4d400000
In:    serial
Out:   serial
Err:   serial
board_late_init() upgrade_step=3
board_late_init() reboot_mode=cold_boot
gpio: pin GPIODV_4 (gpio 4) value is 1
gpio: pin GPIOAO_3 (gpio 107) value is 1
[store]To run cmd[emmc dtb_read 0x1000000 0x40000]
_verify_dtb_checksum()-3406: calc 49156515, store 49156515
_verify_dtb_checksum()-3406: calc 49156515, store 49156515
dtb_read()-3623: total valid 2
update_old_dtb()-3604: do nothing
aml log : R2048 check pass!
      Amlogic multi-dtb tool
      Single dtb detected
amlkey_init() enter!
[EFUSE_MSG]keynum is 4
[BL31]: tee size: 0
vpu: clk_level in dts: 7
vpu: vpu_power_on
vpu: set clk: 666667000Hz, readback: 666666667Hz(0x300)
vpu: vpu_module_init_config
vpp: vpp_init
lcd: error: not find /backlight node: FDT_ERR_NOTFOUND
lcd: error: failed to get key_valid
lcd: detect mode: tv, key_valid: 0
lcd: load config from dts
lcd: pinctrl_version: 2
lcd: use panel_type=lvds_0
lcd: bl: not find /backlight node FDT_ERR_NOTFOUND
lcd: bl: invalid backlight config
Net:   dwmac.ff3f0000amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 4
[BL31]: tee size: 0

wipe_data=successful
wipe_cache=successful
upgrade_step=3
[OSD]load fb addr from dts:/meson-fb
[OSD]fb_addr for logo: 0x7f800000
[OSD]load fb addr from dts:/meson-fb
[OSD]fb_addr for logo: 0x7f800000
[OSD]VPP_OFIFO_SIZE:0xfff00fff
[CANVAS]canvas init
[CANVAS]addr=0x7f800000 width=3840, height=2160
[OSD]osd_hw.free_dst_data: 0,1919,0,1079
vpp: vpp_matrix_update: 0
lcd: enable: 1080p-vfreq_anglee, lvds, [email protected]
lcd: tv driver init(ver 20190308): lvds
lcd: lcd_pll_wait_lock: pll_lock=1, wait_loop=1
lcd: set pll spread spectrum: 1, +/-0.3%
vpp: vpp_init_lcd_gamma_table
lcd: clear mute
amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 4
[BL31]: tee size: 0
[KM]Error:f[key_manage_query_size]L507:key[deviceid] not programed yet
InUsbBurn
noSof
(Re)start USB...
USB0:   USB3.0 XHCI init start
Register 4000140 NbrPorts 4
Starting the controller
USB XHCI 1.00
scanning bus 0 for devices... 3 USB Device(s) found
       scanning usb for storage devices... init_part() 282: PART_TYPE_DOS
1 Storage Device(s) found
reading aml_autoscript
** Unable to read file aml_autoscript **
reading recovery.img
15503360 bytes read in 582 ms (25.4 MiB/s)
reading dtb.img
** Unable to read file dtb.img **

aml log : Sig Check 1738
[imgread]szTimeStamp[2020012301523962]
[imgread]secureKernelImgSz=0xf31800
aml log : R~2048 check pass!
aml log : R2048 check pass!
aml log : R2048 check pass!
aml log : R2048 check pass!
avb2: 1
active_slot is normal
ab_suffix is
avb_slot_verify.c:526: DEBUG: Loading vbmeta struct from partition 'vbmeta'.
Verified using testkey
avb_slot_verify.c:286: DEBUG: boot: Loading entire partition.
active_slot is normal
avb: rootfs is /dev/mmcblk0p17,factory_mode=0
active_slot is normal
active_slot is normal
avb verification: locked = 1, result = 0
ee_gate_off ...
avb2: 1
## Booting Android Image at 0x01080000 ...
Kernel command line: androidboot.dtbo_idx=0 buildvariant=user
active_slot is normal
load dtb from 0x1000000 ......
      Amlogic multi-dtb tool
      Single dtb detected
find 2 dtbos
dtbos to be applied: 0
Apply dtbo 0
   Loading Kernel Image(COMP_NONE) ... OK
   kernel loaded at 0x01080000, end = 0x0198d000
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
[rsvmem] fdt addr error.
   Loading Ramdisk to 099f0000, end 0a000000 ... OK
ERROR: image is not a fdt - must RESET the board to recover.
FDT creation failed! hanging...### ERROR ### Please RESET the board ###
 
Last edited:

NeoConker

Member
May 22, 2013
10
0
I guess you would be able to install the launcher perfectly. Not sure about rooting it.

BTW: I see that now Fengmi has Android 9 for the T972H, but I also assume they will not make it available for the rest of their projectors :)

Thanks. I will give it a try.

Wemax announced on the official blog an update for Android TV with Widevine L1 for august, but they have already admitted that there will be a delay, so I'm looking for alternatives.
 

Geli1976

Member
Aug 14, 2022
15
2
Hello everyone! there are already possibilities for the fengmi 4k l176fcn, but the device failed when trying to root on my device no idea he has now deleted the whole ROM. Now the projector will not turn on. Tried to get into recovery mode to no avail. When you plug it in, blink three times and turn it off. When attempting to enter recovery mode, the power stays on but the laser does not turn on. Is there already a solution? ADB with port :5555 connection fails. Please Help me
 

Geli1976

Member
Aug 14, 2022
15
2
Hi @spocky12,

the fengmi 4k l176fcn, but the device failed when trying to root on my device no idea he has now deleted the whole ROM. Now the projector will not turn on. Tried to get into recovery mode to no avail. When you plug it in, blink three times and turn it off. When attempting to enter recovery mode, the power stays on but the laser does not turn on. Is there already a solution? ADB with port :5555 connection fails. Please Help me
 

Geli1976

Member
Aug 14, 2022
15
2
Hello everyone! I thought I wanted to be helped and that's why I'm writing my processes and experiences on this topic here. Maybe it will help someone else later. I've tried 4 different USB sticks and nothing happens, still no picture. I have now ordered the UART adapter and it is expected to arrive on Thursday from Amazon. I will then report further and also send my video here of what it does when it is switched on. Greetings to everyone and thanks to @spocky12 and @servo386 for the great work and instructions.
 

Attachments

  • Normal Start.mp4
    184.8 MB · Views: 0
  • Download ROM.jpg
    Download ROM.jpg
    27.3 KB · Views: 36
  • USB.jpg
    USB.jpg
    2.2 MB · Views: 37
  • zip file to the root of a USB thumb device.jpg
    zip file to the root of a USB thumb device.jpg
    76.8 KB · Views: 36
  • Recovery Modus.mp4
    1,022.9 MB · Views: 0
  • Like
Reactions: SeaMAX!

djwingy

New member
Dec 19, 2016
2
0
Hi,

I have a Xiaomi projector 2 Chinese version and looking for ATV firmware and institutions how to install it.

Any help much appreciated, thanks 😀
 

Bcummings15

New member
Aug 23, 2022
1
0
@spocky12

Vava Chroma owner here. I noticed the TWRP for Vava projectors is untested and I wanted to make sure it’s for the original Vava projector, the Vava Chroma, or both before I dive into testing. Thanks.
 

Geli1976

Member
Aug 14, 2022
15
2
Hello everyone, as you can see, not so much is written here in the forum. Support is becoming less and less
 

Bilnaad

Member
Nov 7, 2013
17
3
Hello everyone. I've got a stupid question but is there a way to reboot a MJJGYY02FM projector into recovery without the remote? My projector won't boot (it shows the mi logo and after a couple seconds it shuts down). I've tried the enter - home/back key thing over and over but it never shows me a recovery menu. I haven't rooted the device or messed with it in any way.
 

SeaMAX!

Member
Aug 8, 2022
10
5
Hello everyone! I thought I wanted to be helped and that's why I'm writing my processes and experiences on this topic here. Maybe it will help someone else later. I've tried 4 different USB sticks and nothing happens, still no picture. I have now ordered the UART adapter and it is expected to arrive on Thursday from Amazon. I will then report further and also send my video here of what it does when it is switched on. Greetings to everyone and thanks to @spocky12 and @servo386 for the great work and instructions.
How is progress? Got a uart log ?
 
  • Like
Reactions: Geli1976

Geli1976

Member
Aug 14, 2022
15
2
Yes i have Uart Logs:

100 we ignore!!
[ [email protected]] monitor_sensor proj_event LEFT value=1
[ [email protected]] monitor_sensor proj_event RIGHT value=0
[ [email protected]] monitor_sensor proj_event RIGHT value=1
[ [email protected]] monitor_sensor proj_event LEFT value=0
[ [email protected]] monitor_sensor proj_event RIGHT value=0
[ [email protected]] init: powerctl cmd: dead0002, target:
[ [email protected]] SysRq : Emergency Remount R/O
[ [email protected]] binder: transaction release 324713 bad handle 12, ret = -22
[ [email protected]] saradc c8100600.saradc: busy, 94024041
[ [email protected]] saradc c8100600.saradc: busy, 94034041
[ [email protected]] saradc c8100600.saradc: busy, 94024041
[ [email protected]] saradc c8100600.saradc: busy, 94024041
[ [email protected]] saradc c8100600.saradc: busy, 94024041
[ [email protected]] saradc c8100600.saradc: busy, 94024041
[ [email protected]] saradc c8100600.saradc: busy, 94034041
[ [email protected]] free_rdev: ffffffc035d60000 73104 saved to rdev_buf
[ [email protected]] saradc c8100600.saradc: busy, 94024041
[ [email protected]] saradc c8100600.saradc: busy, 94024041
[ [email protected]] saradc c8100600.saradc: busy, 94024041
[ [email protected]] saradc c8100600.saradc: busy, 94024041
[ [email protected]] saradc c8100600.saradc: busy, 94034041
[ [email protected]] saradc c8100600.saradc: busy, 94024041
[ [email protected]] saradc c8100600.saradc: busy, 94024041
[ [email protected]] saradc c8100600.saradc: busy, 94024041
[ [email protected]] saradc c8100600.saradc: busy, 94024041
[ [email protected]] reboot: Power down
[ [email protected]] do_aml_poweroff()
INFO: PSCI Affinity Map:
INFO: AffInst: Level 0, MPID 0x0, State ON
INFO: AffInst: Level 0, MPID 0x1, State ON
INFO: AffInst: Level 0, MPID 0x2, State ON
INFO: AffInst: Level 0, MPID 0x3, State ON
bl31 reboot reason: 0x1
bl31 reboot reason: 0xe
system cmd 1.
▒ҺROR: gxbb System R▒GXTVBB:[email protected]
Œ▒▒▒2U▒▒*Ee▒▒S&▒▒'Tj▒▒ڒ5▒▒▒▒▒EMMC:0;READ:0;CHK:0;
no sdio debug board detected
TE: 96597

BL2 Built : 17:57:38, Apr 1 2016.
gxtvbb gb30adc1 - [email protected]

set vcck to 1100 mv
set vddee to 1130 mv
DRAM reset...
Board ID = 0
CPU clk: 1536MHz
STICKY_REG0: 0x00000000
STICKY_REG1: 0x00000000
DDR channel: DDR0+1 two channel @ 720MHz
DQS-corr enabled
DDR0: 1024MB-2T-11
DDR1: 1024MB-2T-11
DataBus test pass!
AddrBus test pass!
-s
Load fip header from eMMC, src: 0x0000c000, des: 0x01400000, size: 0x00004000
Load bl30 from eMMC, src: 0x00010000, des: 0x01000000, size: 0x0000d460
Sending bl30......................................................OK.
Run bl30...
Load bl31 from eMMC, src: 0x00020000, des: 0x101b0000, size: 0x00013140
l30: check_permit, count is 1
bl30: check_permit: ok!
efuse_pw_en: 0x3
Load bl33 from eMMC, src: 0x00034000, des: 0x01000000, size: 0x000dbd50

[Image: gxtvb_v1.1.3109-f651ed3 2016-05-05 19:38:44 [email protected]]
efuse_setup() 223: OPS=0x12
bl30: check_permit, count is 1
bl30: check_permit: ok!
chipid: ef be ad de d f0 ad ba ef be ad de not ES chip
[0.454032 Inits done]
secure task start!
high task start!
low task start!
low task NOTICE: BL3-1: v1.0(debug):d1ef098
NOTICE: BL3-1: Built : 10:34:39, Mar 22 2016
bl30: check_permit, count is 1
bl30: check_permit: ok!
bl30: check_permit, count is 1
bl30: check_permit: ok!
bl30: check_permit, count is 1
bl30: check_permit: ok!
INFO: BL3-1: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader
ERROR: Error initializing runtime service opteed_fast
INFO: BL3-1: Preparing for EL3 exit to normal world
INFO: BL3-1: Next image address = 0x1000000
INFO: BL3-1: Next image spsr = 0x3c9


U-Boot 2015.01-gc014362 (Apr 30 2019 - 09:54:36), Build: jenkins-Batman_release- 494

DRAM: 2 GiB
Relocation Offset is: 76e93000
board_init pwm_misc = 8000
register usb cfg[0][1] = 0000000077f5edd0
###### g9bb board_i2c_set_pinmux end
aml_i2c_init g_aml_i2c_plat_num: 2
aml_i2c_init 3 init.
aml_i2c_init 2 init.
gpio: pin GPIOX_23 (gpio 117) value is 1
gpio: pin GPIOW_3 (gpio 3) value is 1
gpio: pin GPIOX_3 (gpio 97) value is 1
MMC: aml_priv->desc_buf = 0x0000000073e93ea0
aml_priv->desc_buf = 0x0000000073e95eb0
SDIO Port B: 0, SDIO Port C: 1
emmc/sd response timeout, cmd8, status=0x1ff2800
emmc/sd response timeout, cmd55, status=0x1ff2800
[mmc_init] mmc init success
mmc read lba=0x14000, blocks=0x400
Amlogic multi-dtb tool
Multi dtb detected
checkhw: hardware_id = 0x1
Multi dtb tool version: v2 .
Support 4 dtbs.
aml_dt soc: gxtvbb platform: batman variant: fm10
dtb 0 soc: gxtvbb plat: batman vari: fm10
dtb 1 soc: gxtvbb plat: batman vari: fm154k
dtb 2 soc: gxtvbb plat: batman vari: l166
dtb 3 soc: gxtvbb plat: batman vari: l246
Find match dtb: 0
start dts,buffer=0000000073e98570,dt_addr=0000000073e98d70
parts: 14
00: logo 0000000000400000 1
01: recovery 0000000001000000 1
02: param 0000000002000000 2
03: crypt 0000000001000000 1
04: misc 0000000001000000 1
05: boot 0000000001400000 1
06: system 0000000040000000 1
07: cache 0000000010000000 2
08: cri_data 0000000000800000 2
09: tvinfo 0000000000a00000 4
10: panic 0000000000400000 4
11: persist 0000000000800000 4
12: backup 0000000024000000 4
13: data ffffffffffffffff 4
get_dtb_struct: Get emmc dtb OK!
overide_emmc_partition_table: overide cache
[mmc_get_partition_table] skip partition cache.
Partition table get from SPL is :
name offset size flag
================================================================================ ===
0: bootloader 0 400000 0
1: reserved 2400000 4000000 0
2: cache 6c00000 10000000 2
3: env 17400000 800000 0
4: logo 18400000 400000 1
5: recovery 19000000 1000000 1
6: param 1a800000 2000000 2
7: crypt 1d000000 1000000 1
8: misc 1e800000 1000000 1
9: boot 20000000 1400000 1
10: system 21c00000 40000000 1
11: cri_data 62400000 800000 2
12: tvinfo 63400000 a00000 4
13: panic 64600000 400000 4
14: persist 65200000 800000 4
15: backup 66200000 24000000 4
16: data 8aa00000 e04e00000 4
mmc read lba=0x12000, blocks=0x2
mmc read lba=0x12002, blocks=0x2
mmc_read_partition_tbl: mmc read partition OK!
eMMC/TSD partition table have been checked OK!
mmc env offset: 0x17400000
In: serial
Out: serial
Err: serial
board_late_init() reboot_mode=reset_poweroff
dlp:: threeDim_status 0!
board_late_init upgrade_step = 0
board_late_init wipe_backenv = 0
board_late_init() reboot_mode=reset_poweroff
Disable cec poweron
[store]To run cmd[emmc dtb_read 0x1000000 0x40000]
read emmc dtb
Amlogic multi-dtb tool
Multi dtb detected
checkhw: hardware_id = 0x1
Multi dtb tool version: v2 .
Support 4 dtbs.
aml_dt soc: gxtvbb platform: batman variant: fm10
dtb 0 soc: gxtvbb plat: batman vari: fm10
dtb 1 soc: gxtvbb plat: batman vari: fm154k
dtb 2 soc: gxtvbb plat: batman vari: l166
dtb 3 soc: gxtvbb plat: batman vari: l246
Find match dtb: 0
vpu: clk_level in dts: 7
vpu: set clk: 666667000Hz, readback: 666660000Hz(0x300)
amlkey_init() enter!
bl30: check_permit, count is 1
bl30: check_permit: ok!
bl30: check_permit, count is 1
bl30: check_permit: ok!
bl30: check_permit, count is 1
bl30: check_permit: ok!
bl30: check_permit, count is 1
bl30: check_permit: ok!
[EFUSE_MSG]keynum is 4
factory_power_mode: secondary
product_id: 17101
hardware_version: fm10_0
brand_name: xiaoming
panel_detect: get_adc_value(0) = 510
panel_detect: panel_id = 1, panel_type = lvds_0
Saving Environment to aml-storage...
mmc env offset: 0x17400000
Writing to MMC(1)... done
lcd: no lcd_debug_print flag
lcd: no lcd_debug_test flag
lcd: detect mode: tv, key_valid: 0
lcd: failed to get lcd_cpu_gpio_names
lcd: load config from dts
lcd: use panel_type=lvds_0
lcd: set phy vswing=3, preemphasis=0
lcd: bl: no backlight exist
vpp: vpp_init
Net: No ethernet found.
bl30: check_permit, count is 1
bl30: check_permit: ok!
efuse_pw_en: 0x3
WARNING! efuse bits is disabled
Enable A53 JTAG to EE
wipe_data=successful
wipe_cache=successful
upgrade_step=0
low task comd=0x00060100
into process_low_task
into LOW_TASK_Saving Environment to aml-storage...
mmc env offset: 0x17400000
Writing to MMC(1)... done
amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 4
[KM]Error:f[key_manage_query_size]L507:key[usid] not programed yet
[KM]Error:f[key_manage_query_size]L507:key[deviceid] not programed yet
gpio: pin GPIOAO_3 (gpio 125) value is 1
reboot_mode=reset_poweroff
IR init done!
do_monitor_bt_cmdline
gpio: pin GPIOY_5 (gpio 37) value is 1
gpio: pin GPIOAO_13 (gpio 135) value is 1
gpio: pin GPIOAO_4 (gpio 126) value is 1
gpio: pin GPIOAO_4 (gpio 126) value is 0
bt_vendor_name = Broadcom,bt_vendor_id= 0xf00
fw_patchfile:BCM43569A2.hcd
cmd=ext4size mmc 1:c BCM43569A2.hcd 73e824c0
vfs_getsize size = 0x9db9
cmd=ext4load mmc 1:c 73e99840 BCM43569A2.hcd 9db9
40377 bytes read in 3 ms (12.8 MiB/s)
OK
start
run_dl_fw() -- hci send update baute rate
run_dl_fw() -- hci send update baute rate complete
run_dl_fw() -- start to dl fw
run_dl_fw() - download FW done
Now is reset_poweroff,skip entry recovery!
BT_MAC:d0:d9:4f:ef:07:01
cmd=ext4size mmc 1:c wake_on_ble.conf 73e82450
vfs_getsize size = 0x77
cmd=ext4load mmc 1:c 73ea3de0 wake_on_ble.conf 77
119 bytes read in 2 ms (57.6 KiB/s)
OK
27 4c fc 24 00 20 00 ff c2 76 cf 29 eb 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 02 01 05 03 ff 00 01
configure rc address:
0x01, 0x4c, 0xfc, 0x24, 0x00, 0x20, 0x00, 0xff, 0xc2, 0x76, 0xcf, 0x29, 0xeb, 0x 08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 , 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x01, 0x05, 0x03, 0xff, 0x00, 0x01,
gpio: pin GPIOAO_13 (gpio 135) value is 1
enter wake on ble!
INFO: PSCI Affinity Map:
INFO: AffInst: Level 0, MPID 0x0, State ON
INFO: AffInst: Level 0, MPID 0x1, State OFF
INFO: AffInst: Level 0, MPID 0x2, State OFF
INFO: AffInst: Level 0, MPID 0x3, State OFF
bl31 reboot reason: 0x101
bl31 reboot reason: 0x101
system cmd 0.
process command 00000006
bl30 enter suspend!
store restore gp0 pll
cpu clk suspend rate 1536000000
process command 00000001
CEC cfg:0x0000
te008915d0000000000x035
 

Geli1976

Member
Aug 14, 2022
15
2
that was how I made the log for the first time. Now I think I have a bigger problem new log is in a loop
 

Geli1976

Member
Aug 14, 2022
15
2
New Log Today:


▒ҺTVBB:[email protected]
Œ▒▒▒2U▒▒*Ee▒▒S&▒▒'Tj▒▒ڒ5▒▒▒▒▒EMMC:0;READ:0;CHK:0;
no sdio debug board detected
TE: 58179

BL2 Built : 17:57:38, Apr 1 2016.
gxtvbb gb30adc1 - [email protected]

set vcck to 1100 mv
set vddee to 1130 mv
DRAM reset...
Board ID = 0
CPU clk: 1536MHz
STICKY_REG0: 0x00000000
STICKY_REG1: 0x00000000
DDR channel: DDR0+1 two channel @ 720MHz
DQS-corr enabled
DDR0: 1024MB-2T-11
DDR1: 1024MB-2T-11
DataBus test pass!
AddrBus test pass!
-s
Load fip header from eMMC, src: 0x0000c000, des: 0x01400000, size: 0x00004000
Load bl30 from eMMC, src: 0x00010000, des: 0x01000000, size: 0x0000d460
Sending bl30......................................................OK.
Run bl30...
Load bl31 from eMMC, src: 0x00020000, des: 0x101b00000, size: 0x00013140
l30: check_permit, count is 1
bl30: check_permit: ok!
efuse_pw_en: 0x3
Load bl33 from eMMC, src: 0x00034000, des: 0x01000000, size: 0x000dbd50

[Image: gxtvb_v1.1.3109-f651ed3 2016-05-05 19:38:44 [email protected]]
efuse_setup() 223: OPS=0x12
bl30: check_permit, count is 1
bl30: check_permit: ok!
chipid: ef be ad de d f0 ad ba ef be ad de not ES chip
[0.415690 Inits done]
secure task start!
high task start!
low task start!
low task NOTICE: BL3-1: v1.0(debug):d1ef098
NOTICE: BL3-1: Built : 10:34:39, Mar 22 2016
bl30: check_permit, count is 1
bl30: check_permit: ok!
bl30: check_permit, count is 1
bl30: check_permit: ok!
bl30: check_permit, count is 1
bl30: check_permit: ok!
INFO: BL3-1: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader
ERROR: Error initializing runtime service opteed_fast
INFO: BL3-1: Preparing for EL3 exit to normal world
INFO: BL3-1: Next image address = 0x1000000
INFO: BL3-1: Next image spsr = 0x3c9


U-Boot 2015.01-gc014362 (Apr 30 2019 - 09:54:36), Build: jenkins-Batman_release-494

DRAM: 2 GiB
Relocation Offset is: 76e93000
board_init pwm_misc = 8000
register usb cfg[0][1] = 0000000077f5edd0
###### g9bb board_i2c_set_pinmux end
aml_i2c_init g_aml_i2c_plat_num: 2
aml_i2c_init 3 init.
aml_i2c_init 2 init.
gpio: pin GPIOX_23 (gpio 117) value is 1
gpio: pin GPIOW_3 (gpio 3) value is 1
gpio: pin GPIOX_3 (gpio 97) value is 1
MMC: aml_priv->desc_buf = 0x0000000073e93ea0
aml_priv->desc_buf = 0x0000000073e95eb0
SDIO Port B: 0, SDIO Port C: 1
emmc/sd response timeout, cmd8, status=0x1ff2800
emmc/sd response timeout, cmd55, status=0x1ff2800
[mmc_init] mmc init success
mmc read lba=0x14000, blocks=0x400
Amlogic multi-dtb tool
Cannot find legal dtb!
start dts,buffer=0000000073e98570,dt_addr=0000000073e98570
get_partition_from_dts: FDT_ERR_BADMAGIC
!!!!get dts FAILED
mmc get partition error!
get partition info failed !!
Using default environment

In: serial
Out: serial
Err: serial
board_late_init() reboot_mode=cold_boot
dlp:: threeDim_status 0!
board_late_init upgrade_step = 0
board_late_init wipe_backenv = 0
itest - return true/false on integer compare

Usage:
itest [.b, .w, .l, .s] [*]value1 <op> [*]value2
board_late_init() reboot_mode=cold_boot
[store]To run cmd[emmc dtb_read 0x1000000 0x40000]
read emmc dtb
Amlogic multi-dtb tool
Cannot find legal dtb!
[store]Err:do_store_dtb_ops,L231:Fail in fdt check header
board_late_init(): [store dtb read $dtb_mem_addr] fail
load dtb to 1000000
[store]To run cmd[emmc dtb_read 1000000 0x40000]
read emmc dtb
Amlogic multi-dtb tool
Cannot find legal dtb!
[store]Err:do_store_dtb_ops,L231:Fail in fdt check header
board_late_init(): store dtb read 1000000 fail
vpu: error: vpu: check dts: FDT_ERR_BADMAGIC, load default parameters
vpu: clk_level = 7
vpu: set clk: 666667000Hz, readback: 666660000Hz(0x300)
[KM]Error:f[keymanage_dts_parse]L282:not a fdt at 0x0000000001000000
[KM]Error:f[keymanage_dts_get_key_device]L80:/unify not parsed yet!
[KM]Error:f[_get_km_ops_by_name]L231:key factory_power_mode not know device 4
[KM]Error:f[key_manage_query_exist]L546:There isn't dts cfg for key[factory_power_mode]
[KM]Error:f[key_manage_query_size]L503:Fail in query key exist
[KM]Error:f[keymanage_dts_get_key_device]L80:/unify not parsed yet!
[KM]Error:f[_get_km_ops_by_name]L231:key product_id not know device 4
[KM]Error:f[key_manage_query_exist]L546:There isn't dts cfg for key[product_id]
[KM]Error:f[key_manage_query_size]L503:Fail in query key exist
factory_power_mode: <NULL>
product_id: <NULL>
hardware_version: fm10_0
brand_name: xiaoming
panel_detect: get_adc_value(0) = 512
panel_detect: panel_id = 1, panel_type = lvds_0
Saving Environment to aml-storage...
get partition info failed !!
lcd: no lcd_debug_print flag
lcd: error: check dts: FDT_ERR_BADMAGIC, load default lcd parameters
lcd: no lcd_debug_test flag
lcd: detect mode: tablet, key_valid: 0
lcd: load config from lcd.c
lcd: error: can't find lvds_0, use default lcd config
lcd: error: Out of clock range, reset to default setting
lcd: error: bl: can't find lvds_0, use default backlight config
lcd: bl: name: default, method: 5
vpp: vpp_init
Net: No ethernet found.
bl30: check_permit, count is 1
bl30: check_permit: ok!
efuse_pw_en: 0x3
WARNING! efuse bits is disabled
Enable A53 JTAG to EE
wipe_data=successful
wipe_cache=successful
upgrade_step=0
low task comd=0x00060100
into process_low_task
into LOW_TASK_Saving Environment to aml-storage...
get partition info failed !!
[KM]Error:f[keymanage_dts_parse]L282:not a fdt at 0x0000000001000000
gpio: pin GPIOAO_3 (gpio 125) value is 1
reboot_mode=cold_boot
InUsbBurn
noSof
IR init done!
do_monitor_bt_cmdline
gpio: pin GPIOY_5 (gpio 37) value is 1
gpio: pin GPIOAO_13 (gpio 135) value is 1
gpio: pin GPIOAO_4 (gpio 126) value is 1
gpio: pin GPIOAO_4 (gpio 126) value is 0
bt_vendor_name = Broadcom,bt_vendor_id= 0xf00
fw_patchfile:BCM43569A2.hcd
cmd=ext4size mmc ffffffff:ffffffff BCM43569A2.hcd 73e82590
MMC Device -1 not found
** Bad device mmc ffffffff **
vfs_getsize size = 0x0
ReadFile: BCM43569A2.hcd get size failed
start
set scan parameters
set scan enable
no recovery mod!
error:get mac_bt failed!
gpio: pin GPIOAO_13 (gpio 135) value is 1
[KM]Error:f[keymanage_dts_get_key_device]L80:/unify not parsed yet!
[KM]Error:f[_get_km_ops_by_name]L231:key factory_power_mode not know device 4
[KM]Error:f[key_manage_query_exist]L546:There isn't dts cfg for key[factory_power_mode]
[KM]Error:f[key_manage_query_size]L503:Fail in query key exist
[OSD]check dts: FDT_ERR_BADMAGIC, load default fb_addr parameters
[OSD]fb_addr for logo: 0x3b000000
[OSD]check dts: FDT_ERR_BADMAGIC, load default fb_addr parameters
[OSD]fb_addr for logo: 0x3b000000
[CANVAS]canvas init
[CANVAS]addr=0x3b000000 width=5760, height=2160
lcd: error: outputmode[1080p60hz] is not support
lcd: error: init exit
We use xiaoming logo!
Cannot find dev.
amlmmc cmd <NULL> failed

store - STORE sub-system

Usage:
store store init flag
store read name addr off|partition size
read 'size' bytes starting at offset 'off'
to/from memory address 'addr', skipping bad blocks.
store write name addr off|partition size
write 'size' bytes starting at offset 'off'
to/from memory address 'addr', skipping bad blocks.
store rom_write add off size.
write uboot to the boot device
store erase boot/data:
erase the area which is uboot or data
store erase dtb
store erase key
store rom_protect on/off
store scrub off|partition size
scrub the area from offset and size
store dtb iread/read/write addr <size>
read/write dtb, size is optional
store key read/write addr <size>
read/write key, size is optional

cmd store failed
Err imgread(L333):Fail to read 0x2000B from part[logo] at offset 0
Error: Bad gzipped data
There is no valid bmp file at the given address
[KM]Error:f[keymanage_dts_get_key_device]L80:/unify not parsed yet!
[KM]Error:f[_get_km_ops_by_name]L231:key product_id not know device 4
[KM]Error:f[key_manage_query_exist]L546:There isn't dts cfg for key[product_id]
[KM]Error:f[key_manage_query_size]L503:Fail in query key exist
We use default product_id!
[KM]Error:f[keymanage_dts_get_key_device]L80:/unify not parsed yet!
[KM]Error:f[_get_km_ops_by_name]L231:key product_id_fact not know device 4
[KM]Error:f[key_manage_query_exist]L546:There isn't dts cfg for key[product_id_fact]
[KM]Error:f[key_manage_query_size]L503:Fail in query key exist
We use default product_id_fact!
###### wait for power on, projector
######ready to enable projector!
Hit Enter or space or Ctrl+C key to stop autoboot -- : 0
mwm 0xc8836800:[0x8002023c] with [0x8002023c] ok
mwm 0xc8836800:[0x8002023c] with [0x8c02023c] ok
mwm 0xc8836804:[0x69c80000] with [0x69c8c000] ok
Cannot find dev.
amlmmc cmd <NULL> failed

store - STORE sub-system

Usage:
store store init flag
store read name addr off|partition size
read 'size' bytes starting at offset 'off'
to/from memory address 'addr', skipping bad blocks.
store write name addr off|partition size
write 'size' bytes starting at offset 'off'
to/from memory address 'addr', skipping bad blocks.
store rom_write add off size.
write uboot to the boot device
store erase boot/data:
erase the area which is uboot or data
store erase dtb
store erase key
store rom_protect on/off
store scrub off|partition size
scrub the area from offset and size
store dtb iread/read/write addr <size>
read/write dtb, size is optional
store key read/write addr <size>
read/write key, size is optional

cmd store failed
Err imgread(L132):Fail to read 0x100000B from part[boot] at offset 0
InUsbBurn
noSof
ret = 1 .emmc/sd response timeout, cmd8, status=0x1ff2800
emmc/sd response timeout, cmd55, status=0x1ff2800
emmc/sd response timeout, cmd1, status=0x1ff2800
[MSG]mmcinfo failed!
emmc/sd response timeout, cmd8, status=0x1ff2800
emmc/sd response timeout, cmd55, status=0x1ff2800
emmc/sd response timeout, cmd1, status=0x1ff2800
(Re)start USB...
USB0: USB3.0 XHCI init start
Register 5000140 NbrPorts 5
Starting the controller
USB XHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
** Bad device usb 0 **
** Bad device usb 0 **
Cannot find dev.
amlmmc cmd <NULL> failed

store - STORE sub-system

Usage:
store store init flag
store read name addr off|partition size
read 'size' bytes starting at offset 'off'
to/from memory address 'addr', skipping bad blocks.
store write name addr off|partition size
write 'size' bytes starting at offset 'off'
to/from memory address 'addr', skipping bad blocks.
store rom_write add off size.
write uboot to the boot device
store erase boot/data:
erase the area which is uboot or data
store erase dtb
store erase key
store rom_protect on/off
store scrub off|partition size
scrub the area from offset and size
store dtb iread/read/write addr <size>
read/write dtb, size is optional
store key read/write addr <size>
read/write key, size is optional

cmd store failed
Err imgread(L132):Fail to read 0x100000B from part[recovery] at offset 0
gxtvbb_p451_v1_batman#
 

SeaMAX!

Member
Aug 8, 2022
10
5
You projector doesn't see usb flash or you not plugging usb flash ?:
"
(Re)start USB...
USB0: USB3.0 XHCI init start
Register 5000140 NbrPorts 5
Starting the controller
USB XHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
** Bad device usb 0 **
** Bad device usb 0 **
Cannot find dev."
 
  • Like
Reactions: Geli1976

Geli1976

Member
Aug 14, 2022
15
2
You projector doesn't see usb flash or you not plugging usb flash ?:
"
(Re)start USB...
USB0: USB3.0 XHCI init start
Register 5000140 NbrPorts 5
Starting the controller
USB XHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
** Bad device usb 0 **
** Bad device usb 0 **
Cannot find dev."
Yes this is The Problem. that's when I entered the command in the menu: LOADB. since then it's been in a loop I don't know how to reverse it.
1: cmd store failed
Err imgread(L132):Fail to read 0x100000B from part[recovery] at offset 0

2:
[mmc_init] mmc init success
mmc read lba=0x14000, blocks=0x400
Amlogic multi-dtb tool
Cannot find legal dtb!
start dts,buffer=0000000073e98570,dt_addr=0000000073e98570
get_partition_from_dts: FDT_ERR_BADMAGIC
!!!!get dts FAILED
mmc get partition error!
get partition info failed !!


3:
Usage:
itest [.b, .w, .l, .s] [*]value1 <op> [*]value2
board_late_init() reboot_mode=cold_boot
[store]To run cmd[emmc dtb_read 0x1000000 0x40000]
read emmc dtb
Amlogic multi-dtb tool
Cannot find legal dtb!
[store]Err:do_store_dtb_ops,L231:Fail in fdt check header

I Think Boadloader is delited or crashed
 
Last edited:

Geli1976

Member
Aug 14, 2022
15
2
Can you import everything again via UART? because it only takes the commands from the menu that are in Help.
and here is LOADB : loadb - load binary file over serial line (kermit mode)

aml_sysrecovery- Burning with amlogic format package from partition sysrecovery
amlmmc - AMLMMC sub system
autoscr - run script from memory
base - print or set address offset
bmp - manipulate BMP image data
booti - boot arm64 Linux Image image from memory
bootm - boot application image from memory
bootp - boot image via network using BOOTP/TFTP protocol
cbusreg - cbus register read/write
clkmsr - measure PLL clock
cmp - memory compare
cp - memory copy
crc32 - checksum calculation
d2pll - DDR set PLL function
dcache - enable or disable data cache
ddr_sram_tune- DDR sram tune dqs
ddrtest - DDR test function
defenv_reserv- reserve some specified envs after defaulting env
dhcp - boot image via network using DHCP/TFTP protocol
echo - echo args to console
efuse - efuse read/write data commands
efuse_user- efuse user space read write ops
emmc - EMMC sub system
env - environment handling commands
exit - exit script
ext4load- load binary file from a Ext4 filesystem
ext4ls - list files in a directory (default /)
ext4size- determine a file's size
false - do nothing, unsuccessfully
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls - list files in a directory (default /)
fatsize - determine a file's size
fdt - flattened device tree utility commands
forceupdate- forceupdate
get_rebootmode- get reboot mode
go - start application at address 'addr'
gpio - query and control gpio pins
hardware_version_init- Init hardware version from GPIO pin configuration
help - print command description/usage
i2c - I2C sub-system
icache - enable or disable instruction cache
imgread - Read the image from internal flash with actual size
init_proj- Init projector
irdetect- Detect IR Key to start recovery system
irkey - irkey key_value1 key_value2 time_value
itest - return true/false on integer compare
jtagoff - disable jtag
jtagon - enable jtag
keyman - Unify key ops interfaces based dts cfg
keyunify- key unify sub-system
lcd - lcd sub-system
led - [0|all] [on|off|toggle]
loadb - load binary file over serial line (kermit mode)
loadx - load binary file over serial line (xmodem mode)
loady - load binary file over serial line (ymodem mode)
loop - infinite loop on address range
macreg - ethernet mac register read/write/dump
md - memory display
mm - memory modify (auto-incrementing address)
mmc - MMC sub system
mmcinfo - display MMC info
monitor_bt_cmdline- monitor_bt_cmdline
mw - memory write (fill)
mwm - mw mask function
nm - memory modify (constant address)
open_scp_log- print SCP messgage
osd - osd sub-system
panel_detect- Detect panel type from GPIO pin configuration
phyreg - ethernet phy register read/write/dump
ping - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
rarpboot- boot image via network using RARP/TFTP protocol
read_temp- cpu temp-system
reboot - set reboot mode and reboot system
reset - Perform RESET of the CPU
run - run commands in an environment variable
saradc - saradc sub-system
saveenv - save environment variables to persistent storage
sdc_burn- Burning with amlogic format package in sdmmc
sdc_update- Burning a partition with image file in sdmmc card
set_trim_base- cpu temp-system
set_usb_boot- set usb boot mode
setenv - set environment variables
sf - SPI flash sub-system
showvar - print local hushshell variables
silent - silent
sleep - delay execution for some time
store - STORE sub-system
systemoff- system off
temp_triming- cpu temp-system
test - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
true - do nothing, successfully
unpackimg- un pack logo image into pictures
update - Enter v2 usbburning mode
usb - USB sub-system
usb_burn- Burning with amlogic format package in usb
usb_update- Burning a partition with image file in usb host
usbboot - boot from USB device
version - print monitor, compiler and linker version
vout - VOUT sub-system
vpu - vpu sub-system
wipeisb - wipeisb
write_trim- cpu temp-system
write_version- cpu temp-system
 

SeaMAX!

Member
Aug 8, 2022
10
5
Try to format you usb flash via "HP USB Disk Storage Format Tool" to fat32. I try 4 usb flash - only one works .
before:
USB0: USB3.0 XHCI init start
Register 4000140 NbrPorts 4
Starting the controller
USB XHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
** Bad device usb 0 **
** Bad device usb 0 **
AFTER:
USB0: USB3.0 XHCI init start
Register 4000140 NbrPorts 4
Starting the controller
USB XHCI 1.00
scanning bus 0 for devices... 3 USB Device(s) found
scanning usb for storage devices... init_part() 282: PART_TYPE_DOS
1 Storage Device(s) found
reading aml_autoscript
** Unable to read file aml_autoscript **
reading recovery.img
15503360 bytes read in 582 ms (25.4 MiB/s)
reading dtb.img
** Unable to read file dtb.img **

I found aml_autoscript from same processor , update . Now my projector lost all USB ports.

My LOG :

Code:
TXLX:▒`▒▒▒▒▒▒▒2▒▒2U▒▒2Ee▒▒S'▒Q▒(L'Tj▒▒ڒ5▒▒▒▒▒EMMC:0;READ:0;0.0;0.0;CHK:0;
TE: 178922

BL2 Built : 13:06:06, Apr  5 2019. txlx g70741bf - [email protected]

bl21 start
set vcck to 1050 mv
set vddee to 950 mv
set AO 2/10/11 to high
 set test_n to high
 init panel power
bl21 end
Board ID = 0
CPU clk: 1200MHz
DDR enable rdbi
DQS-corr enabled
DDR scramble enabled
DDR4 chl: Rank0 @ 792MHz

bist_test rank: 0 1e 00 3c 37 1b 54 1f 00 3f 36 1c 51 1d 00 3b 34 19 50 21 03 3f 30 12 4e 709
Rank0: 2048MB(auto)-2T-18
AddrBus test pass!
eMMC boot @ 0
sw8 s
emmc switch 3 ok
Authentication key not yet programmed
get rpmb counter error 0x00000007
emmc switch 0 ok
OTP_ARB=00000000
Load FIP HDR from eMMC, src: 0x0000c200, des: 0x01700000, size: 0x00004000, part: 0
Load BL3x from eMMC, src: 0x00010200, des: 0x01704000, size: 0x000f8000, part: 0
NOTICE:  BL31: v1.3(release):19f58df
NOTICE:  BL31: Built : 11:06:00, Mar  5 2019
NOTICE:  BL31: TXLX secure boot!
NOTICE:  BL31: BL33 decompress pass
[Image: txlx_v1.1.3386-0580c50 2019-03-25 18:01:48 [email protected]]
OPS=0x13
TXLX rev-C chip
24 0a 13 00 43 10 89 0f 4f 12 ea b2 77 f6 05 68
[0.013534 Inits done]
secure task start!
high task start!
low task start!
INFO:    BL3-2: ATOS-V2.4-220-g798c0b3 #1 Mon Mar 18 02:22:06 UTC 2019 arm
INFO:    BL3-2: Chip: TXLX Rev: A (24:A - 10:2)
INFO:    BL3-2: crypto engine DMA
INFO:    BL3-2: secure time TEE
INFO:    BL3-2: CONFIG_DEVICE_SECURE 0xb200000e


U-Boot 2015.01-g8025b5b-dirty (Jan 23 2020 - 01:28:59), Build: jenkins-anglee_fm15g_atv_p_release-1911

DRAM:  2 GiB
Relocation Offset is: 76e50000
aml pwm cal init
aml pwm cal adc_val = 255, adc_voltage = 1049, def_voltage = 1050
aml pwm cal adc_val = 21c, adc_voltage = 949, def_voltage = 950
aml board pwm vcck: 0, ee: 0
register usb cfg[0][1] = 0000000077f0e140
gpio: pin GPIODV_10 (gpio 10) value is 0
gpio: pin GPIOH_0 (gpio 27) value is 1
gpio: pin GPIOH_1 (gpio 28) value is 1
gpio: pin GPIOC_0 (gpio 50) value is 1
gpio: pin GPIOAO_13 (gpio 117) value is 1
gpio: pin GPIOZ_14 (gpio 70) value is 0
gpio: pin GPIOZ_13 (gpio 69) value is 0
gpio: pin GPIOZ_10 (gpio 66) value is 0
gpio: pin GPIODV_5 (gpio 5) value is 0
MMC:   aml_priv->desc_buf = 0x0000000073e41160
aml_priv->desc_buf = 0x0000000073e434a0
SDIO Port B: 0, SDIO Port C: 1
co-phase 0x3, tx-dly 0, clock 400000
co-phase 0x3, tx-dly 0, clock 400000
co-phase 0x3, tx-dly 0, clock 400000
emmc/sd response timeout, cmd8, status=0x3ff2800
emmc/sd response timeout, cmd55, status=0x3ff2800
co-phase 0x3, tx-dly 0, clock 400000
co-phase 0x3, tx-dly 0, clock 40000000
[mmc_startup] mmc refix success
init_part() 297: PART_TYPE_AML
[mmc_init] mmc init success
aml log : R2048 check pass!
      Amlogic multi-dtb tool
      Single dtb detected
start dts,buffer=0000000073e45cf0,dt_addr=0000000073e45cf0 fdtmagic:0xd00dfeed
get_partition_from_dts() 71: ret 0
      Amlogic multi-dtb tool
      Single dtb detected
parts: 19
00:      logo   0000000001000000 1
01:    vbmeta   0000000000800000 1
02:  recovery   0000000002000000 1
03:      misc   0000000000800000 1
04:      dtbo   0000000000800000 1
05:     param   0000000008000000 2
06:       tee   0000000002000000 1
07:    vendor   0000000010000000 1
08:       odm   0000000010000000 1
09:     crypt   0000000002000000 1
10:       rsv   0000000001000000 1
11:      boot   0000000002000000 1
set has_boot_slot = 0
12:    system   0000000080000000 1
13:     cache   0000000046000000 2
14:  cri_data   0000000001000000 2
15:    tvinfo   0000000000a00000 2
16:   persist   0000000000800000 4
17:    backup   0000000029e00000 4
18:      data   ffffffffffffffff 4
init_part() 297: PART_TYPE_AML
eMMC/TSD partition table have been checked OK!
crc32_s:0x1577dad == storage crc_pattern:0x1577dad!!!
crc32_s:0xee152b83 == storage crc_pattern:0xee152b83!!!
crc32_s:0x79f50f07 == storage crc_pattern:0x79f50f07!!!
mmc env offset: 0x4d400000
In:    serial
Out:   serial
Err:   serial
board_late_init() upgrade_step=2
board_late_init() reboot_mode=cold_boot
gpio: pin GPIODV_4 (gpio 4) value is 1
gpio: pin GPIOAO_3 (gpio 107) value is 1
[store]To run cmd[emmc dtb_read 0x1000000 0x40000]
_verify_dtb_checksum()-3406: calc 49156515, store 49156515
_verify_dtb_checksum()-3406: calc 49156515, store 49156515
dtb_read()-3623: total valid 2
update_old_dtb()-3604: do nothing
aml log : R2048 check pass!
      Amlogic multi-dtb tool
      Single dtb detected
amlkey_init() enter!
[EFUSE_MSG]keynum is 4
[BL31]: tee size: 0
vpu: clk_level in dts: 7
vpu: vpu_power_on
vpu: set clk: 666667000Hz, readback: 666666667Hz(0x300)
vpu: vpu_module_init_config
vpp: vpp_init
lcd: error: not find /backlight node: FDT_ERR_NOTFOUND
lcd: error: failed to get key_valid
lcd: detect mode: tv, key_valid: 0
lcd: load config from dts
lcd: pinctrl_version: 2
lcd: use panel_type=lvds_0
lcd: bl: not find /backlight node FDT_ERR_NOTFOUND
lcd: bl: invalid backlight config
Net:   dwmac.ff3f0000amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 4
[BL31]: tee size: 0

wipe_data=successful
wipe_cache=successful
upgrade_step=2
reboot_mode:::: cold_boot
amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 4
[BL31]: tee size: 0
[KM]Error:f[key_manage_query_size]L507:key[deviceid] not programed yet
[OSD]load fb addr from dts:/meson-fb
[OSD]fb_addr for logo: 0x7f800000
[OSD]load fb addr from dts:/meson-fb
[OSD]fb_addr for logo: 0x7f800000
[OSD]VPP_OFIFO_SIZE:0xfff00fff
[CANVAS]canvas init
[CANVAS]addr=0x7f800000 width=3840, height=2160
[OSD]osd_hw.free_dst_data: 0,1919,0,1079
vpp: vpp_matrix_update: 0
lcd: enable: 1080p-vfreq_anglee, lvds, [email protected]
lcd: tv driver init(ver 20190308): lvds
lcd: lcd_pll_wait_lock: pll_lock=1, wait_loop=1
lcd: set pll spread spectrum: 1, +/-0.3%
vpp: vpp_init_lcd_gamma_table
lcd: clear mute
amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 4
[BL31]: tee size: 0
[KM]Error:f[key_manage_query_size]L507:key[deviceid] not programed yet
Command: bcb uboot-command
Start read misc partition datas!
get bootloader message from misc partition:
[commannd:boot-recovery]
[status:]
[recovery:recovery
--update_package=/udisk/update-anglee.zip
--wipe_data
]
active_slot: normal
[imgread]szTimeStamp[2020012301523962]
[imgread]secureKernelImgSz=0xf31800
Unknown command 'wipeisb' - try 'help'
aml log : R~2048 check pass!
aml log : R2048 check pass!
aml log : R2048 check pass!
aml log : R2048 check pass!
avb2: 1
active_slot is normal
ab_suffix is
avb_slot_verify.c:526: DEBUG: Loading vbmeta struct from partition 'vbmeta'.
Verified using testkey
active_slot is normal
avb: rootfs is /dev/mmcblk0p17,factory_mode=0
active_slot is normal
active_slot is normal
avb verification: locked = 1, result = 0
ee_gate_off ...
avb2: 1
## Booting Android Image at 0x01080000 ...
Kernel command line: androidboot.dtbo_idx=0 buildvariant=user
active_slot is normal
load dtb from 0x1000000 ......
      Amlogic multi-dtb tool
      Single dtb detected
find 2 dtbos
dtbos to be applied: 0
Apply dtbo 0
   Loading Kernel Image(COMP_NONE) ... OK
   kernel loaded at 0x01080000, end = 0x0198d000
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
[rsvmem] fdt addr error.
   Loading Ramdisk to 099f0000, end 0a000000 ... OK
ERROR: image is not a fdt - must RESET the board to recover.
FDT creation failed! hanging...### ERROR ### Please RESET the board ###

I think need send projector to oficcial xiaomi service :(
 
  • Like
Reactions: Geli1976

Geli1976

Member
Aug 14, 2022
15
2
Try to format you usb flash via "HP USB Disk Storage Format Tool" to fat32. I try 4 usb flash - only one works .
before:
USB0: USB3.0 XHCI init start
Register 4000140 NbrPorts 4
Starting the controller
USB XHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
** Bad device usb 0 **
** Bad device usb 0 **
AFTER:
USB0: USB3.0 XHCI init start
Register 4000140 NbrPorts 4
Starting the controller
USB XHCI 1.00
scanning bus 0 for devices... 3 USB Device(s) found
scanning usb for storage devices... init_part() 282: PART_TYPE_DOS
1 Storage Device(s) found
reading aml_autoscript
** Unable to read file aml_autoscript **
reading recovery.img
15503360 bytes read in 582 ms (25.4 MiB/s)
reading dtb.img
** Unable to read file dtb.img **

I found aml_autoscript from same processor , update . Now my projector lost all USB ports.

My LOG :

Code:
TXLX:▒`▒▒▒▒▒▒▒2▒▒2U▒▒2Ee▒▒S'▒Q▒(L'Tj▒▒ڒ5▒▒▒▒▒EMMC:0;READ:0;0.0;0.0;CHK:0;
TE: 178922

BL2 Built : 13:06:06, Apr  5 2019. txlx g70741bf - [email protected]

bl21 start
set vcck to 1050 mv
set vddee to 950 mv
set AO 2/10/11 to high
 set test_n to high
 init panel power
bl21 end
Board ID = 0
CPU clk: 1200MHz
DDR enable rdbi
DQS-corr enabled
DDR scramble enabled
DDR4 chl: Rank0 @ 792MHz

bist_test rank: 0 1e 00 3c 37 1b 54 1f 00 3f 36 1c 51 1d 00 3b 34 19 50 21 03 3f 30 12 4e 709
Rank0: 2048MB(auto)-2T-18
AddrBus test pass!
eMMC boot @ 0
sw8 s
emmc switch 3 ok
Authentication key not yet programmed
get rpmb counter error 0x00000007
emmc switch 0 ok
OTP_ARB=00000000
Load FIP HDR from eMMC, src: 0x0000c200, des: 0x01700000, size: 0x00004000, part: 0
Load BL3x from eMMC, src: 0x00010200, des: 0x01704000, size: 0x000f8000, part: 0
NOTICE:  BL31: v1.3(release):19f58df
NOTICE:  BL31: Built : 11:06:00, Mar  5 2019
NOTICE:  BL31: TXLX secure boot!
NOTICE:  BL31: BL33 decompress pass
[Image: txlx_v1.1.3386-0580c50 2019-03-25 18:01:48 [email protected]]
OPS=0x13
TXLX rev-C chip
24 0a 13 00 43 10 89 0f 4f 12 ea b2 77 f6 05 68
[0.013534 Inits done]
secure task start!
high task start!
low task start!
INFO:    BL3-2: ATOS-V2.4-220-g798c0b3 #1 Mon Mar 18 02:22:06 UTC 2019 arm
INFO:    BL3-2: Chip: TXLX Rev: A (24:A - 10:2)
INFO:    BL3-2: crypto engine DMA
INFO:    BL3-2: secure time TEE
INFO:    BL3-2: CONFIG_DEVICE_SECURE 0xb200000e


U-Boot 2015.01-g8025b5b-dirty (Jan 23 2020 - 01:28:59), Build: jenkins-anglee_fm15g_atv_p_release-1911

DRAM:  2 GiB
Relocation Offset is: 76e50000
aml pwm cal init
aml pwm cal adc_val = 255, adc_voltage = 1049, def_voltage = 1050
aml pwm cal adc_val = 21c, adc_voltage = 949, def_voltage = 950
aml board pwm vcck: 0, ee: 0
register usb cfg[0][1] = 0000000077f0e140
gpio: pin GPIODV_10 (gpio 10) value is 0
gpio: pin GPIOH_0 (gpio 27) value is 1
gpio: pin GPIOH_1 (gpio 28) value is 1
gpio: pin GPIOC_0 (gpio 50) value is 1
gpio: pin GPIOAO_13 (gpio 117) value is 1
gpio: pin GPIOZ_14 (gpio 70) value is 0
gpio: pin GPIOZ_13 (gpio 69) value is 0
gpio: pin GPIOZ_10 (gpio 66) value is 0
gpio: pin GPIODV_5 (gpio 5) value is 0
MMC:   aml_priv->desc_buf = 0x0000000073e41160
aml_priv->desc_buf = 0x0000000073e434a0
SDIO Port B: 0, SDIO Port C: 1
co-phase 0x3, tx-dly 0, clock 400000
co-phase 0x3, tx-dly 0, clock 400000
co-phase 0x3, tx-dly 0, clock 400000
emmc/sd response timeout, cmd8, status=0x3ff2800
emmc/sd response timeout, cmd55, status=0x3ff2800
co-phase 0x3, tx-dly 0, clock 400000
co-phase 0x3, tx-dly 0, clock 40000000
[mmc_startup] mmc refix success
init_part() 297: PART_TYPE_AML
[mmc_init] mmc init success
aml log : R2048 check pass!
      Amlogic multi-dtb tool
      Single dtb detected
start dts,buffer=0000000073e45cf0,dt_addr=0000000073e45cf0 fdtmagic:0xd00dfeed
get_partition_from_dts() 71: ret 0
      Amlogic multi-dtb tool
      Single dtb detected
parts: 19
00:      logo   0000000001000000 1
01:    vbmeta   0000000000800000 1
02:  recovery   0000000002000000 1
03:      misc   0000000000800000 1
04:      dtbo   0000000000800000 1
05:     param   0000000008000000 2
06:       tee   0000000002000000 1
07:    vendor   0000000010000000 1
08:       odm   0000000010000000 1
09:     crypt   0000000002000000 1
10:       rsv   0000000001000000 1
11:      boot   0000000002000000 1
set has_boot_slot = 0
12:    system   0000000080000000 1
13:     cache   0000000046000000 2
14:  cri_data   0000000001000000 2
15:    tvinfo   0000000000a00000 2
16:   persist   0000000000800000 4
17:    backup   0000000029e00000 4
18:      data   ffffffffffffffff 4
init_part() 297: PART_TYPE_AML
eMMC/TSD partition table have been checked OK!
crc32_s:0x1577dad == storage crc_pattern:0x1577dad!!!
crc32_s:0xee152b83 == storage crc_pattern:0xee152b83!!!
crc32_s:0x79f50f07 == storage crc_pattern:0x79f50f07!!!
mmc env offset: 0x4d400000
In:    serial
Out:   serial
Err:   serial
board_late_init() upgrade_step=2
board_late_init() reboot_mode=cold_boot
gpio: pin GPIODV_4 (gpio 4) value is 1
gpio: pin GPIOAO_3 (gpio 107) value is 1
[store]To run cmd[emmc dtb_read 0x1000000 0x40000]
_verify_dtb_checksum()-3406: calc 49156515, store 49156515
_verify_dtb_checksum()-3406: calc 49156515, store 49156515
dtb_read()-3623: total valid 2
update_old_dtb()-3604: do nothing
aml log : R2048 check pass!
      Amlogic multi-dtb tool
      Single dtb detected
amlkey_init() enter!
[EFUSE_MSG]keynum is 4
[BL31]: tee size: 0
vpu: clk_level in dts: 7
vpu: vpu_power_on
vpu: set clk: 666667000Hz, readback: 666666667Hz(0x300)
vpu: vpu_module_init_config
vpp: vpp_init
lcd: error: not find /backlight node: FDT_ERR_NOTFOUND
lcd: error: failed to get key_valid
lcd: detect mode: tv, key_valid: 0
lcd: load config from dts
lcd: pinctrl_version: 2
lcd: use panel_type=lvds_0
lcd: bl: not find /backlight node FDT_ERR_NOTFOUND
lcd: bl: invalid backlight config
Net:   dwmac.ff3f0000amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 4
[BL31]: tee size: 0

wipe_data=successful
wipe_cache=successful
upgrade_step=2
reboot_mode:::: cold_boot
amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 4
[BL31]: tee size: 0
[KM]Error:f[key_manage_query_size]L507:key[deviceid] not programed yet
[OSD]load fb addr from dts:/meson-fb
[OSD]fb_addr for logo: 0x7f800000
[OSD]load fb addr from dts:/meson-fb
[OSD]fb_addr for logo: 0x7f800000
[OSD]VPP_OFIFO_SIZE:0xfff00fff
[CANVAS]canvas init
[CANVAS]addr=0x7f800000 width=3840, height=2160
[OSD]osd_hw.free_dst_data: 0,1919,0,1079
vpp: vpp_matrix_update: 0
lcd: enable: 1080p-vfreq_anglee, lvds, [email protected]
lcd: tv driver init(ver 20190308): lvds
lcd: lcd_pll_wait_lock: pll_lock=1, wait_loop=1
lcd: set pll spread spectrum: 1, +/-0.3%
vpp: vpp_init_lcd_gamma_table
lcd: clear mute
amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 4
[BL31]: tee size: 0
[KM]Error:f[key_manage_query_size]L507:key[deviceid] not programed yet
Command: bcb uboot-command
Start read misc partition datas!
get bootloader message from misc partition:
[commannd:boot-recovery]
[status:]
[recovery:recovery
--update_package=/udisk/update-anglee.zip
--wipe_data
]
active_slot: normal
[imgread]szTimeStamp[2020012301523962]
[imgread]secureKernelImgSz=0xf31800
Unknown command 'wipeisb' - try 'help'
aml log : R~2048 check pass!
aml log : R2048 check pass!
aml log : R2048 check pass!
aml log : R2048 check pass!
avb2: 1
active_slot is normal
ab_suffix is
avb_slot_verify.c:526: DEBUG: Loading vbmeta struct from partition 'vbmeta'.
Verified using testkey
active_slot is normal
avb: rootfs is /dev/mmcblk0p17,factory_mode=0
active_slot is normal
active_slot is normal
avb verification: locked = 1, result = 0
ee_gate_off ...
avb2: 1
## Booting Android Image at 0x01080000 ...
Kernel command line: androidboot.dtbo_idx=0 buildvariant=user
active_slot is normal
load dtb from 0x1000000 ......
      Amlogic multi-dtb tool
      Single dtb detected
find 2 dtbos
dtbos to be applied: 0
Apply dtbo 0
   Loading Kernel Image(COMP_NONE) ... OK
   kernel loaded at 0x01080000, end = 0x0198d000
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
[rsvmem] fdt addr error.
   Loading Ramdisk to 099f0000, end 0a000000 ... OK
ERROR: image is not a fdt - must RESET the board to recover.
FDT creation failed! hanging...### ERROR ### Please RESET the board ###

I think need send projector to oficcial xiaomi service :(
I have now sent an email to Formovie and asked that I can buy a new board from them and am waiting for an answer. But I really believe that there is a possibility to flash it again only if you know exactly how! Maybe JTAG
 
  • Like
Reactions: SeaMAX!

Top Liked Posts

  • There are no posts matching your filters.
  • 59
    Projectivy Launcher (formerly ProjecTivy Tools) now has its own dedicated thread located here.

    Intro

    There's so much information here that a new user could probably feel lost without the courage to read everything. So let's keep things simple : as the thread's title says, the primary aimed devices are projectors produced by Xiaomi related brands (xiaomi/fengmi/wemax), though it could probably be useful to other Android Tv models and other brands, so you might want to keep reading until the end of the introduction.

    What you can find here :
    • Full tutorial to Googlize your chinese device with my custom made Google Apps package dedicated to Android Tv 6 (only tested on MiUi Tv, root required)
    • General FAQ related to these devices [post #2]
    • Information on how to root xiaomi/wemax/fengmi/vava projectors (and custom made TWRP for many chinese models) [post #2]
    • Full firmware and OTA for many models [post #2]

    Google Apps / Services instructions

    Here's a full tutorial to root and install Google services on your Android 6 MiUi device (ie: chinese xiaomi/fengmi/wemax).
    This has been tested successfully on all devices where a custom TWRP is available below. If anything goes wrong for you, try to factory reset / clean flash
    Except for "AndroidMediaShell" (Google Cast server), most (all?) features are working fine including :
    • Tv settings
    • Google Play (to let it install/update apps, please enable the Accessibility Service)
    • ATV remote service : if you install Google ATV remote on your smartphone, everything (including speech recognition) will work
    • Google Assistant : with the Accessibility Service enabled, a short press on the mic button on your stock remote control will launch Google Assistant. Then, when it's listening, press and hold the mic button while speaking and release it when done. According you've used More Locale to change to your mother tongue, this will even work in your language.

    Installation steps:
    • root your device (see post #2) (you don't need to flash any firmware)
    • if not already done, install the latest version of ProjecTivy Launcher and launch it
    • execute Applications / install 3rd party apps, then install :
      • Aptoide Tv Store
      • ATV launcher [optional] (alternative launcher)
      • Youtube [optional]
      • MoreLocale [optional] (in case your mother tongue is not english, it will let you choose more than what's listed in Android settings)
      • Google Apps/services (don't forget it :D)
    • execute Applications / Freeze Stock launcher (to disable your stock home screen)
    • execute Applications / Freeze Stock apps (to disable most Xiaomi apps and services)
    • execute System / Custom Props override (to pass safetynet checks, enable more stock behavior and fix black screen with non-stock launcher)
    • execute System / Accessibility Service, enable the service in accessibility settings (to fix "Google Play" ability to install/update apps and to link the stock remote control "Voice recognition" button to Google Assistant as well as many other features)
    • [Optional] Install magisk module "Nexus Media" to change the stock bootanimation (go to Shortcuts / Magisk Manager to execute it, and then in the left menu, "Downloads" section, just install "Nexus Media")
    • Reboot and complete the Welcome app to setup your Google account (first and second boot will be longer than usual)
    • Note that an Android accessibility setting might get enabled after the first reboot when Google Apps have been installed. It'll cause green borders around buttons. Just go to settings / accessibility and disable "talkback".
    • Launch Google Play to update Google apps and let the update finish before exiting Google Play (if the app's accessibility service is running as it should, it will display a message when launching/exiting Google Play)
    • [Optional] start MoreLocale to change your language
    • Disable the "smart update" in the projector settings so that it doesn't try to download and install OTAs (which would just display an "error" message after each boot, when it fails to install it)
    • Enjoy your Google Tv device !

    Important :
    Once installed, don't change the device resolution in the Android Tv settings. This is not supported by the video drivers that will then only display a checkerboard. The only known solution as of now is to factory reset and start again.


    Engineering Menu App Translation

    Here you'll find information about xiaomi's engineering menu app.
    After a bit of google translate and reverse engineering, here's a translation of the different menus, along with my own values (1st one is for "rainman", second one for "batman")
    1. Projector information
      • - Brightness [1541][1610]
      • - DLP vendor name [APPO][APPO]
      • - Production Week [1812][1921]
      • - Contrast ratio [3828][3370]
      • - Brightness Uniformity [940][856]
      • - Serial Number
      • - Color coordinates [r:860 g:860 b:860 x:283 y:302][r:860 g:860 b:860 x:2720 y:2790]
    2. Solid color (android) -> displays a solid color (using android system)
    3. Solid color (projector) -> displays a solid color (native)
    4. Other image test (android) -> displays a gradient (using android system)
    5. Other image test (projector) -> displays a gradient (native)
    6. Color wheel delay -> when incorrectly set, this can lead to posterization issues (gradients become unnatural and tend to display large uniform areas) [490][420]
    7. Save color wheel delay to Android
    8. Image mode: change the screen light intensity
      • - Standard
      • - Highlight
      • - Energy saving
    9. Temperature monitoring
      • - ambient temperature [31][43]
      • - color wheel [52][63]
      • - Laser temperature channel 1 [60][74]
      • - Laser temperature channel 2 [61][74]
      • - DMD temperature [-][0]
    10. Model name [MiProjA1][MiProjLAS2]
    11. Human body induction -> enables/disables IR sensor that disable image when coming close to the laser
    12. Save information to projector
    13. DLP version [major:1, minor:2, patch:5][major:7, minor:3, patch:7]
    14. 3D (when modified, need to restart to take effect) -> enable/disable 3d support

    Devices list

    For reference, here's a list of devices where ProjecTivy (and several of its special features) has been tested working fine.
    Only models using Android 6 can be rooted yet.
    • 1080p Laser Projectors:
      • Xiaomi Mi Laser UST Projector 150" (chinese) / MiProjA1 / model: MJJGYY01FM / codename: rainman
      • Wemax One 7000 / MiProjA1 / model: FMWS01C / codename: rainman (thanks rockpaperscissors)
      • Wemax One Pro / MiProjA1 / model: FMWS02C / codename: rainman
      • Xiaomi Mi laser UST Projector 150" (international) / MiProjA1 / model: MJJGYY02FM / codename: anglee (thanks Nathan0121) (no root supported yet)
      • Xiaomi Mijia ALPD 3.0 (rear throw laser) / model: L185JCN / codename: franky (no feedback concerning twrp yet, try rainman and report if it works)
    • 4k Laser Projectors:
      • Xiaomi Mi Laser UST Projector 150" 4k (chinese) / MiProjLas2 / model: MJJGTYDS01FM / codename: batman
      • Xiaomi Mijia 1S 4k (chinese) / MiProjLas2 / model: MJJGTYDS04FM/ codename: batman
      • Wemax A300 / MiProjLas2 / model: L1668FCF / codename: batman
      • Fengmi 4K cinema laser / MiProjLas2 / model: L176FCN / codename: batman
      • probably not released yet / MiProjLas2 / model: L246 / codename: batman
      • Fengmi 4K cinema pro laser / FMProjA2 / model: L176FCNPro / codename: jerry (no root supported yet)
      • Fengmi 4K C2 (cinema 2) / ? / model: L166FCN / codename: jerry (no root supported yet)
      • Fengmi 4k Max / model: L406FCN / codename: jerry (no root supported yet)
      • Xiaomi Mi 4K laser UST Projector 150" (international) / model: XMJGTYDS01FM / codename: angleeUHD (no root supported yet)
    • Led projectors:
      • Xiaomi Mi Home Projector Lite / Mijia DLP Projector Youth edition / MiProjLED1 / model: MJJGTYDS02FM / codename: conan (root using rainman twrp below)
      • Mi Smart Compact Projector (international) / Mijia DLP Projector Youth Global edition / model: M055MGN / MiProjM05 / SJL4014GL / codename: ?
      • Fengmi M055FCN / model: M055FCN / MiProjLED1 / codename: doraemon (root using rainman twrp below)
      • Xiaomi Mijia Mi / ZMiProj / model: TYY01ZM / codename: zodiac
    • Tvs:
      • Xiaomi Mi TV 3s / codename: mission impossible
      • Xiaomi Mi TV 4 / codename: pulpfiction
      • Xiaomi Mi TV 4a/4c/4s/4x / codename: matrix/xmen
      • to be completed


    More in post #2 below 👇
    36
    FAQ and more resources related to these devices

    Differences between projector devices

    Wemax One / Chinese Xiaomi Mi Laser:

    They are (almost ?) the same.
    • Software-wise :
      • They are exactly the same (exaclty same codename, firmware, etc...)
    • Hardware-wise :
      • Wemax is black, Xiaomi Mi is white
      • Wemax is described to be 7000 lumens (1688 ansi lumens), Xiaomi mi 5000 lumens (1600 ansi lumens) (not sure if hardware is different or it's only a software parameter that changes its laser power)

    Chinese Xiaomi Mi Laser/ International Xiaomi Mi Laser:
    • Software-wise :
      • Chinese one comes with android 6.0.1 and MiUI Tv (a Xiaomi UI dedicated to chinese users), International one comes with android 8.1 (more details below)
    • Hardware-wise :
      • Chinese one is equipped with DDR3 ram, International version DDR4
      • Chinese one has Amlogic T968 with onboard Mali T830 gpu, International one has Amlogic T962 with onboard Mali 450 gpu (somewhat less powerful, not sure it has any real world impact)
    • Also note than more often than not, International version will probably come with a warranty. It might be important, as few people complaining about dead white pixels seem to have a hard time getting their chinese projector repaired.

    Pros/Cons of 8.1 international device / firmware (as of 10/10/2018)
    This might help people choose between 02 international version and 01/wemax devices. Most of the information below come from this test. This is however subject to change as I believe Xiaomi will probably enhance their drivers in the coming monthes.

    Pros
    • Complete software translations (no more chinese ressources)
    • Better user interface
    • Google Play Store availability
    • Better support of media apps that hardly work on 6.01 (Netflix, Prime Video...)
    • Better default colorimetry (but less configurable)
    • Less input lag (75,6 ms vs 126,6 ms) fixed on 1218+ firmwares
    Cons
    • No 3d support
    • Less options related to display settings (missing RGB levels)
    • Worse image quality as noise reduction and sharpness seem to be less effective than on the 01 version
    • Judder and image tearing during media playback

    Can devices international firmware be flashed on chinese models
    No :
    - devices hardware is not exactly the same
    - partition layout is different (android 8.x requires a vendor partition)
    - we don't have access to any international firmware

    Supported video modes
    EDID data here for "rainman" (1080p version) : View attachment edid-rainman-report.txt
    EDID data here for "batman" (2160p version) : View attachment edid-batman-report.txt
    EDID data here for "jerry" (2160p version) : View attachment edid-jerry-report.txt
    EDID data extracted with HDMI 2.0 enabled from /sys/devices/hdmirx.28/hdmirx/hdmirx0/edid and analyzed with Advantiv EDID Editor 1.01.0268

    Is my 4K device really displaying in 2160p ? Why does YouTube refuse to stream 4k ?
    - Yes.
    - Blame it on Google. Or AmLogic.
    More details here.
    Note : more recent devices such as Fengmi Cinema 4k pro (codename Jerry) based on Amlogic T972 soc don't have this limitation (they support VP9 hardware accelerated decoding)(but seem to lack 3D support)

    ALR Screens
    Interesting post from @servo386 regarding Ambient Light Rejection screens dedicated to UST devices.

    Rainbow effect
    I see many questions regarding rainbow effect (due to the DLP technology used). What I can say is that I never saw anybody complaining about it on the Mi laser projectors. A previous projector I owned (an Optoma) was also using DLP technology and I could see this rainbow effect from time to time. In the case of rainman/batman, I've never been able to see it.

    Input lag
    The Mi laser projectors have relatively high input lag (150/175 ms). Firmware updates sometimes help. As of september 2019, the lowest input lag can be obtained on "Monitor" or "Game" mode (approximately 100ms on batman, 75ms on rainman). If your device is rooted and you're using the ProjecTivy Tools, you can also use the "User" mode, and long press the "back" button to get down to the same input lag as "Monitor" mode, with the benefits of keeping your calibration settings.

    Dead/black/white pixels
    One owner of the chinese version here (french) who had a dead pixel managed to fix it by increasing RGB custom settings above 1500 for some time (don't know how long). When reverting to previous values, the white pixel had disappeared. Didn't work out for another user, but it might be worth a try.
    This might change in the future (in this case, please keep me informed), but trying to manually repair by changing the chip is a dead end. It's not the usual Texas Instrument DLP4710FQL, but the DLP4711FQL (source), which is not compatible(source) and can't be bought online.

    Display issues with MJJGTYDS01FM (Xiaomi branded 4k model)
    Many display issues can affect this device : taking time (minutes) to start displaying something, displaying only half image or white lines/bands... Most issues appear when the device is cold and get fixed when it has heat up.
    Seems like a hardware design issue that can be fixed by removing a few screws. More information here. After this, like your projector, you won't be screwed anymore :D
    More details can be found here as well.

    HDMI input ports don't work anymore in International devices after upgrade
    Install the tools, launch engineering menu and select "HDCP key reset" (thanks @xthing)

    Cross platform Remote Control
    I also developped a simple web based remote control for MiUI TV (Xiaomi with chinese interface) based android devices (such as projectors, boxes, TVs).
    No need to install anything special on your controlled device, this website/webapp communicates with the MiUI TV internal web server to send events to your device.
    It should be compatible with anything running a web browser (provided it's quite up to date): Android, iPhone/iPad, PC/Mac computers...
    Just head to http://mireco.hopto.org, configure your device local IP address and you're good to go.
    More details on GitHub.

    Other Tools
    MiiInfo from 4PDA user Loly, shows various details concerning your projector.

    Firmware updates after rooting and/or installing Google Apps
    Firmware updates won't install if files on your system or kernel partition are modified. Using the ProjecTivy Tools and installing the Google apps won't modify existing system files, but rooting with magisk will modify the kernel. So before any update, you have to restore your kernel (aka "boot") partition using TWRP, and then reapply Magisk once update is done.

    Google Apps Issues / not yet working
    • Amazon Prime video : it's been reported that Amazon purposefully blocks the app on projectors. The app loads, but refuses to stream videos. Some previous versions (requiring mouse for some features) work fine though. You can install the most recent compatible one using the ProjecTivy Tools.
    • Netflix : No recent Tv version seems to work. Some previous versions (requiring mouse for some features) work fine though. You can install the most recent compatible one using the ProjecTivy Tools. Anyway, due to missing full widevine support, full hd / 4k will probably never work.
    • Chromecast framework (Google Cast Server, aka AndroidMediaShell) isn't supported (devices need to be approved by Google to be supported)

    Recovery
    To go into recovery, turn off your projector, unplug it, hold down OK and BACK buttons simultaneously (OK and HOME for anglee) on your remote and plug back your projector while still holding them down.
    Warning : don't "hot-unplug" it, turn it off before, or it won't work.
    If you're looking for TWRP, have a look a few points below :D

    Unroot
    Start the Magisk Manager app and select uninstall
    OR
    Boot Twrp and reflash the Boot (kernel) backup you made just before installing Magisk

    Factory Reset
    Reflash the full stock firmware available below in this post. This doesn't require any intervention on your part so it should work even if you can't see the display
    OR
    Boot the stock recovery and select the "reset device" (not sure of the exact terms) option

    Root
    Note : both methods below work for rainman as well as batman (4k) devices.
    Easy Method:
    This method doesn't require any special hardware, only the TWRP I made (3.2.2.0, based on stock recovery files), along with another config file.
    Thanks to @cr4zyw3ld3r who made a video tutorial based on the following instructions.
    For french people, here you can find a tutorial made by Pierre. Thanks to him.

    • Extract this file View attachment batman_twrp_3.2.2.0b.zip (for "batman" 4k), this file View attachment zodiac_twrp_3.2.2.0.zip (for "zodiac"), or this file View attachment rainman_twrp_3.2.2.0.zip (for "rainman" 1080p and most other devices such as conan) at the root of your (FAT32 formatted) USB drive, where you also place the latest magisk version (magisk 20+ version support has been added on tools v3.5+), and plug it into your projector (I used the right USB port)
      I also built (but not tested) a twrp for Vava projectors here : View attachment vava_twrp_3.2.2.0b.zip (please report if it works).
    • Download ADB for your computer (check here)
    • Start command line (terminal)
    • Enable USB debugging in Android settings / developer options (you can access them from the projectivy tools)
    • Type "adb connect IP_OF_YOUR_DEVICE:5555" to connect through the network
    • Type "adb reboot update" (This will restart your device and make it boot the TWRP on the USB drive.)
    • Once in TWRP a mouse will be required. Make backups if you wish (at least "boot" partition that you'll need to restore before applying any OTA update), and then mount SYSTEM, and install magisk in order to root the device (it will be in "/udisk" and will be called Magisk-......zip)
    Note : to thank the donors, I also developed an application that installs on your Android smartphone, which automates steps 1 to 6. There is no need for computer or custom command lines in this case. Once the app is connected to your projector, you're only one button click away from TWRP.
    Note : if it still boots to stock recovery and not twrp, make sure you extracted the zip and not only copied it to your usb drive. If it's extracted correctly but still doesn't work, try another usb drive, a few people reported that this fixed their issue (some users had to try 3 or 4 usb devices before finding one the works).

    Old Method:
    With the correct hardware, you can root your device, following this tutorial from @servo386
    To simplifiy the rooting process described in the link above :
    • Extract this file View attachment twrp-files.zip at the root of your USB drive, where you also place the latest magisk version (as of now 19.3), and plug it into your projector
    • Follow the steps described in the tutorial, up to the point where you have a root console access in recovery
    • Then, according you've plugged your USB drive before starting your device, just type ". /udisk/twrp.sh" in the root console. This will copy the necessary files and automatically run twrp, reducing the number of steps (and potential mistakes) to root your device.
    • Once in TWRP, make backups if you wish, and then mount SYSTEM, and install magisk in order to root the device (it will be in "/udisk" and will be called Magisk-.....zip)

    Roms / Dumps

    Due to issues on the new XDA 2021 website (preventing edition of long posts containing many links), full firmwares and OTA have been (temporarily ?) moved to post #4.
    You'll have to scroll down by yourself, I can't even add a link to it 🤔
    9
    Xiaomi Mi Laser Root Procedure

    This is a long one. Also it was originally written for an audience who may have not been as familiar with Android/Linux commands so it has lots of explanation that might feel out of place on XDA.

    So first and foremost ALL CREDIT BELONGS TO @loly ON THE 4PDA.RU FORUM WHO ACTUALLY DISCOVERED THIS PROCESS

    https://4pda.ru/forum/index.php?showtopic=810785&st=3260#entry75802829

    I definitely am just a copy cat who guessed that his process would also work on this device since their both Xiaomi TV devices with Amlogic T96* boards.

    So if you read his post (which you definitely should in addition to this post in order to get the full picture of how this is done), you'll see that this is quite complicated and a kind of high level hack. I hope I'll be able to explain it enough and walk through it enough for it be fairly accessible for less technically inclined people who want to root their Xiaomi projectors.

    What is required:

    1. HDMI cable you can chop up or an HDMI breakout cable like this one: https://www.amazon.com/Adapter-signals-Terminal-Breakout-Connector/dp/B01CU9SHOO/

    2. UART to USB adapter cable/board like this one: https://www.amazon.com/Adapter-Serial-Converter-Development-Projects/dp/B075N82CDL though there are cheaper options available

    3. Cables/wires to connect both things. The USB UART package above comes with some, though you'll have to strip the ends to screw them into the terminals of the HDMI breakout board.

    4. A spare USB drive

    5. A computer to use the USB to UART adapter and a terminal program, i am using Putty.

    So the basic idea behind this is that one of the HDMI ports (HDMI 1 in this case, the one closest to the edge) also serves as a diagnostic/UART port via 3 of the 19 pins of the HDMI. When this HDMI port is properly wired to the UART adapter, and you have a terminal open observing said port, upon boot the machine reads out all its startup stuff and when booting into recovery, gives you a completely liberated UNIX terminal that accepts input from the UART terminal, with full root privileges and busybox! As @loly says in his post, here we thank the people at Xiaomi for not bothering to secure this section and giving us full diagnostic root access with busybox. This is almost surely the way the developers of this machine would interact with this machine and developed for it. So let me try to explain how this works and how we get to TWRP and root.

    Steps:

    1. We need to properly connect the correct pins on the HDMI cable to the correct pins on the UART.

    Here I am going to re-post some of @loly's images from the original thread, so all credit goes to him.
    hdmi.jpg

    Here we see the pins we need. Pin 14 is our VCC, which in this 5v (the UART adapter im using has a switch for 3.3v or 5v, this switch needs to be set to 5v!) Pin 15 is the receive pin and Pin 16 is the transmit pin

    The fourth lead we need is the GND (ground), which in the case of an HDMI cable is usually an un-shielded wire that connects to the the case of the connector itself.

    I'm going to stop here for a sec and say this is why it's alot easier to use the HDMI breakout board over trying strip an HDMI cable and finding which wire corresponds to which pin (you need a multi-meter to do that)

    its a small investment but it makes everything ALOT easier. On the HDMI breakout board, the ground terminal is pin 20.

    the corresponding pins on the UART are pretty straightforward. VCC goes to VCC on the UART, pretty straightforward, on the other hand the RX pin of the HDMI (pin 15) goes on the TX OF THE UART makes sense right? the receiever of the HDMI should be listening to the transmitter of the UART and vice versa, so the TX pin of the HDMI goes on the RX pin of the UART. The GND pin (pin 20 on breakout board) goes to the GND on the UART.

    IMG_20181008_095739.jpg

    Here's my setup. Sorry for the not very great picture. The terminal blocks on the HDMI breakout board work basically like you were connecting speakers to an amp, you unscrew the terminal till you see a little metal hole and you stick the stripped tip of the cable into the hole and screw the terminal back up till its snuggly holding onto the cable. You can use a multi-meter if you have one to make sure the wire is making contact with the terminal and even test the exact pin with the cable to make sure the connection goes all the way. If you're cable is making contact with the metal of the terminal, it is almost certainly correctly making contact with the actual HDMI pin, barring maybe a badly manufactured breakout board. I used spare MALE end pin connector cables to strip the ends and stick in the terminals, and connected them to the FEMALE connectors that came with the UART adapter. You don't necessarily have to do it this way, you can directly strip one of the female ends of the cable and connect the other female end to the pins on the UART, but you'll have a pretty short cable from HDMI to USB and you'll probably need a USB extension to comfortably use it with a computer.

    So now you have you're HDMI diagnostic cable!

    2. Setup your computer for UART and Putty.

    Connect your UART to USB adapter to your computer. In Windows 10, it should automatically install drivers, but if it doesn't, your device should come with a link or something to download the drivers. I'm not going to get into the specific of how to install drivers on Windows computers but needless to say, you need to get the computer to recognize the device and properly utilize it via the drivers. Once you have it properly installed on the machine, it should show up in your device manager under Ports (COM & LPT) or something similar.

    mcb9xx_devicemanager.png

    this is important because we need to 1. determine what COM port you're device is on and 2. change the baud setting.

    So in the photo you see that it tells you what COM port is, which we need for later.

    Now you need to go into the settings of the device and go into Port Settings tab

    FT231X_Metro_BaudList.jpg

    WE NEED TO SET THE BITS PER SECOND TO 115200!

    Very important!


    Setting up putty:

    putty3.png

    Basically open up putty and put the button on Serial, set the speed to 115200 and in the SERIAL LINE put the correct COM port number (COM1, COM2, COM3, ect)

    Pressing enter on this should open a big blank black terminal with no activity. Thats good because its working. If it wasn't, you'd get an error about not reaching COM port or something.

    3. Testing out our diagnostic cable with UART and Putty

    Unplug your projector. Plug your HDMI into HDMI port 1 and connect your USB to computer. Open up a Putty terminal session as outlined above. If you get a big black screen with no errors upon launching the terminal, youre in a good spot.

    Plug in the Projector. If you've done everything right you should get a big long readout of text scrolling by as it boots. If you get this, congratulations, you've accessed the diagnostic correctly!

    b260a408-4334-4ca7-826e-16870191136c.jpg

    The final step for actually accessing the usable terminal is doing the same but while booting into recovery.

    4. Booting into recovery

    Turn off your projector. Unplug it. Take your remote and hold down THE OK BUTTON and the BACK BUTTON at the same time. While still holding this, plug in the projector. It should start booting up. You're terminal Putty should be going crazy with text readout like last time. After a few seconds, let go of the buttons. Your projector should eventually end up on the Recovery menu, which is just some big buttons in english and chinese with a black background.

    IMG_20181011_100542.jpg
    image courtesy of jaberwocky on AVS

    After the readout in the terminal has stopped, press enter. It should skip to a new line with

    Code:
    ~#

    Tada, root! You're officially in a fully privileged root terminal in the underlying unix system of the projector.

    This is the hard part of all this. If you've successfully reached this part, you've won the battle. Everything from here on out is just a couple of commands and some files being downloaded and transferred.

    Launching TWRP, making a Nand dump, flashing Magisk, getting Root

    So if you indeed have reached the point where, from recovery, you can enter commands into the terminal session, now the question what to with it. The answer is basically anything you want, but let's launch TWRP and go from there.

    So here is where you need to download this zip file, also courtesy of @loly from the original russian thread. He went to the trouble of (I'm assuming) compiling his own TWRP for Xiaomi Mi TV 4A which, which as I've mentioned before it's chip (Amlogic T962) is the in the same family as the chip in our projector (Amlogic T968) so it works. That said I would say right now this is not a full TWRP specially made for our projectors, so we aren't going to flash it. We are going to launch it from the terminal (as per @loly's instructions) and use it, but not flash it to our recovery partition. This is for the best right now because a. it's not for our device and b. stock recovery allows us to install OTA updates if they come in the future

    View attachment TWRP.zip
    my attached version has only the twrp folders, no recovery image, no magisk included.
    https://yadi.sk/d/uTUrwdAl3ZyUcN <---- original zip

    Download that zip file and unzip its contents right into your USB drive, so that the folder `twrp` (lowercase) is in the root of your drive . This will make it easier to type the commands exactly as they appear later. Ignore the recovery.img, we're not flashing this onto this device.

    The magisk included in the TWRP.zip is old by this point. I flashed Magisk 17.1 flashable zip, the latest stable as of this writing. Get it here https://github.com/topjohnwu/Magisk/releases/download/v17.1/Magisk-v17.1.zip and put it on the flash drive.

    A quick primer, this terminal instance has Busybox installed. Busybox is a "swiss army knife" of unix command like binaries because it packages all the standard linux commands into one single binary, so instead of calling
    Code:
    ls
    to see the contents of the directory you instead would type
    Code:
    busybox ls
    and it would work.

    One last thing before I continue: while doing terminal stuff, I quickly learned that occasionally the terminal would throw up all kinds of gibberish which, as far as I can tell, had no rhyme or reason to it and more important had no discernible effect on what i was doing. Its a weird bug that maybe only ill experience because of my setup, I don't know. It would take two forms, one where it would throw up a bunch of lines of technical sounding text which included references to errors and such, but would ever actually affect anything. the other is when it would randomly spit out something like "hotplug_9" and again, id just press enter to get to the new line and nothing would have been affected. Don't be alarmed.

    1. Insert USB drive into projector
    Take your USB and plug it in. On your terminal, you should a small flurry of activity and references to a new device located at
    Code:
    /dev/block/sda1
    or
    Code:
    /dev/block/sda2
    take note of this, because this is the physical address of your USB drive thats going to have to be mounted. sda1 is the typical one, in my experience.

    2. Mount USB and copy over files
    This is just a series of commands, type them in precisely as I have them here, assuming you've maintained the same file structure on your USB stick as I did, unzipped the TWRP.zip straight onto the root of the USB.

    Code:
    busybox mount /dev/block/sda1 /sdcard
    This mounts your USB device to the folder `/sdcard' if you're usb is at a different device location, change it appropriately.

    Code:
    busybox ls /sdcard
    Just do a quick readout of the contents of `/sdcard` to make sure it properly mounted. you should see the contents of your USB drive listed here

    Code:
    busybox cp -r /sdcard/twrp/twres /
    Copy the folder `twres` from the USB to the root of your projector

    Code:
    busybox cp -r /sdcard/twrp/license /
    Copy the folder `license` to the root of your projector

    Code:
    busybox cp -rf /sdcard/twrp/etc/* /etc
    Copy the contents of the folder `etc` to the etc directory on your projector

    Code:
    busybox cp -rf /sdcard/twrp/sbin/* /sbin
    Copy the contents of the folder `sbin` to the sbin directory on your projector

    Code:
    busybox chmod -R 0750 /sbin
    Change the permissions of the sbin folder to its all executable

    So thats all the copying, now the moment of truth

    3. Launch TWRP

    YOU NEED A MOUSE PLUGGED INTO THE PROJECTOR TO NAVIGATE TWRP!

    Code:
    /sbin/run.sh
    after hitting enter on this command, TWRP should boot up on your screen (and a bit of readout in your terminal

    IF TWRP DOESN'T LAUNCH, YOU'VE DONE SOMETHING WRONG. GO BACK AND CHECK EVERYTHING.

    I hope if you're doing this you're somewhat familiar with TWRP, but I will try to walk through the 2 most important things to do

    4. Rom backup
    One of the big buttons is BACKUP, go there and you'll see a series of check boxes for each of your partitions (boot, bootloader, recovery, system, ect). Select the ones you want (I selected all but I know for a fact this is unnecessary but I did't want to overlook anything and I didn't want to guess which I could ignore). It should ask you where to save the backup, select either the USB drive or internal memory and pick a folder. Slide over the thing to begin backup. It'll take a bit but eventually it should finish. Tada, you have a backup of your entire device.

    5. Flash Magisk (ie get root)
    This is the big kahuna, the one that unlocks everything OS-wide. Before trying to flash Magisk, we need to mount the system partition. This was big headache for me cause I didn't know why all the commands in the install scripts for failing and it was because /system/bin contains all the commands/binaries that Magisk installer script uses to do its stuff, so thats why we need to mount it first before trying anything. Go to the big MOUNT button and you should see checks next to USB and INTERNAL MEMORY or something to that effect, i can't remember off the top of my head. Almost certainly SYSTEM does not have a check next to it, meaning its not mounted. Click the check mark next to SYSTEM and that should be it, it is now mounted.

    There is a quick way to check this, which is to go to ADVANCED>TERMINAL and in the terminal type

    Code:
    mount
    if you get any sort of read out of device partitions, you're good, that means the mount command is working meaning the /system/bin is being made available to TWRP to execute commands.

    With that done, go over to the INSTALL button on the home screen and navigate over to your USB stick and find the Magisk 17.1.zip. Select it. Check the check mark to reboot after install. Slide over the slider to begin the install. Moment of truth, you'll likely get to errors in big red text something like MOUNT -O BIND /SDCARD FAILED or something, thats fine, ignore it. It should go onto to say

    Code:
    |----Magisk Installer Script 17.1----|
    or something like that, that means its doing its thing. Everything should go well and it should ask to reboot.

    6. Verify root
    Once you boot into the Xiaomi home screen after flashing Magisk, you should get some kind of thing asking to confirm that you want to install the application. That application is the Magisk Manager, which means you did it, Magisk installed successfully!

    Go ahead and install some app that you know asks for superuser and it should prompt you for superuser access, grant it. You did it, you're root!
    View attachment 4617430
    5
    Apologies mmmalas for taking ages to respond - I've had some other issues going on lol
    I could find specific examples - but as you go though here you will find more people with issues
    https://www.avsforum.com/forum/68-d...tor-4k-version-4k-resolution-launched-50.html

    as for the hours - I've only had the projector for a few months, and yes it just got progressivly worse.
    its not an overheating issue (in terms of how hot Australia is at the moment) as I've had the projector during our winter - so it was only getting up to 20 or so degrees C.

    Good Point you noted mmalas on your comments on sending the projector back to get fixed.

    you would have to trust they would actually repair it, and if they sent it back to you would have to pay import tax again.

    I purchased mine off Gearbest - and using their support helpdesk they were pushing for ME to contact the manufacture to get it repaired - and weren't very helpful.
    but once I used paypal to contact them, they changed their tune pretty quick - and were either going to give a piss weak refund ($650 AUD) or let me send it to Hong Kong to repair.

    I sat on that thinking about the best decision, but for the reasons you indicated I'm not going to waste my time.

    I'm quite happy to crack my projector open and have a look at reflowing the solder - might have a look on the weekend.

    Same here, the time to start up is getting longer and longer every day. I can confirm it's no overheating issue. I opened up an issue today, but after reading your experiences I'm not really optimistic right now. I should open a PayPal issue as soon as they aren't helpful. I'm from Germany so i also do not want to send it back to Hong Kong because if I do that I might never see my projector again.

    I would really appreciate it if you could provide me information as soon as you found out how to fix it.
    I can't understand why it only has problems when it starts up, but then it works fine for 10 + hours without a problem. It seems to have something to to with the laser unit gettin power or something like that.

    If in can help in any way, just let me know how, and I try my best.

    I had myself offered from reseller (I bought from mainland china) to send to Xiaomi, and really do not want to go that route.

    thanks, I had gone through tihsamikah, and this confirms my theory on the reflow issue.

    there was a video on youtube, sadly its removed now as the owner account was closed. where he opened the projector. it was fairly simple process:

    1- remove the screws, I think those are hidden under the feets all accessed from the buttom
    for screw locations, check the first image in this and notice the long white screw holes

    https://fccid.io/2AO2D-MJJGYY02FM/Internal-Photos/Internal-Photos-3920969

    2- the projector lifts up, and speaker grill can be removed, and you will end up with the whole projector

    3- under the L shaped black thing, there are 3 Lyers of PCBs connected to each others with cables.
    those are
    a) power Delivery (PSU)
    b) android logic board, which also host the connections at the back (I think this is the only difference between the international and Chinese model but this is just a theory)
    c) Video controller \ driver to the DMD chip

    3- the board where the video controller chip, is the most likely candidate, since DMD failure would be very different from what you saw.

    4- on the right side (this is for your info, please do not touch it ) is the laser assembly, do not open, as its sealed system.
    its laser source then shines toward the DMD chip, (DMD imagine tiny mirrors instead of pixels, those switch direction to reproduce black \ white)
    this light is reflected off the DMD (when its white) and pass through the color wheel, which constructs a full image, but with a single color,
    DMD switch again, syncronized with the color wheel, and thus construct the second color, etc until full image is formed.
    there is massive heatsink to cool the laser and the back of the DMD chip itself. but as I mentioned, this

    5- rest of the stuff, is fans\ speakers, modules could be wifi \ bluetooth etc. but there is not need to remove those.

    when you open it up, take res photos of the boards, and remember which side the DMD chip plug to, trace the PCB to check where most of the lines are going, this would be the faulty chip that needs reflowing.
    Google the part number and it should match my description.

    best way to reflow is to remove the chip, clean it, and resoldier it again. it's not a hard process in the right hands.

    I will send you my phone number privately so you can talk on what's app if you need more details during the disassembly.
    5
    Solved now

    Sorry one thing I also looked at, is the heatsink here, is affixed by nothing but tape, and I pulled it off and no thermal paste to hold it down.
    I removed this too, and replaced it.
    I wonder - if this became dislodged, and was shorting something on the PCB??

    Thank you so much tihsamikah, you pointed me to the right direction.

    Check my video here : https://youtu.be/geVQZxHYTXM
    The ribbon cable seems to be the source of our problem.
    **edit: in fact, it's what you meant by 'pushing the DLP black cable in a bit further'**

    As you told : The box is too tight when the projector is closed.
    When the box is closed, the ribbon cable get compressed

    The video I took is from a cold start (after not using it during 2 days).
    Previously I had to wait at least 2 minutes before seeing any display.

    Now, I have to find a way to avoid the case touching this cable.
    As you told : keeping the case not fully closed should do the trick.

    For those who need it, opening the case is identical than on the video posted by wire_less :
    Here is the original teardown video from China:
    https://xw.qq.com/cmsid/20170721A038NA

    The differences are :
    -There is no screw behing the sticker on the back (SKU sticker).
    -There is no screw at the center of the card on the back (the card with the hdmi slots)
    -There are yellow warranty stickers on the sides of the card with the hdmi slots, theses stickers are hiding screws.
    Please note that the side of the case where the power cable go is difficult to open, use a credit card or a mediator to unclip all the small plastic hooks.

    *EDIT: There are some grooves lines inside the top case cover,
    theses lines was pressing on the ribbon cable and the metal plate (farraday cage on the top right).
    On the 2 last photos, I can see the horizontal lines marks made from the upper case design compressing the metal cage and the dlp ribbon cable.
    Using sand paper to remove those lines inside the plastic cover can maybe avoid the case compressing too much the hardware.*

    *EDIT2: Did a cold boot without the metal plate while projector was closed: it's not solving the problem (long boot time).
    Back part of the projector was loosened, but front part was fully closed. will try to loosen the front part too in some hours.*


    **FINAL EDIT:
    Now, it's fixed for me too. \O/
    I removed the side of the rubber sticked on the top of the DLP (the part under the red square of my 1st pic).
    Then, I sticked it back but less tighten (so the black ribbon cable is more free).

    In order to be sure that the projector top case will not touch the ribbon cable when it's closed :
    I sticked 2~3mm of 3M Coated Tissue Tape on the top of this rubber (still on the DLP side).

    I closed the projector case (just clipsed, no screw), started the projector and got no problem (fast display on a cold boot).
    The only screws I put back are the ones at the back side of the projector (to maintain the card with the hdmi ports).

    So my problem was not only the cover touching the black DLP ribbon cable, but also the grey rubber tape tightening it too strongly.
    And the front part can't be tightly closed or late display on a cold boot appears again.

    **