『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: Midm1aK

[基础教程] 试了下新的小米智能多模网关的降级方案

[复制链接]

0

主题

14

帖子

82

积分

注册会员

Rank: 2

积分
82
金钱
68
HASS币
0
发表于 2022-3-12 21:58:40 | 显示全部楼层
mgl03_xxxxx.uart 这个是啥固件?没有找到
回复

使用道具 举报

0

主题

39

帖子

167

积分

注册会员

Rank: 2

积分
167
金钱
128
HASS币
0
发表于 2022-7-6 18:56:45 | 显示全部楼层
楼主好 链接已经失效 可否分享下 mgl03_uart_recovery.ttl脚本文件 和固件 谢谢  邮箱[email protected]
回复

使用道具 举报

0

主题

7

帖子

32

积分

新手上路

Rank: 1

积分
32
金钱
25
HASS币
0
发表于 2022-10-11 12:44:33 | 显示全部楼层
xiefengdan 发表于 2022-3-12 21:58
mgl03_xxxxx.uart 这个是啥固件?没有找到

ver='231120_01'
setsync 0
show -1
enablekeyb 0
setspeed 38400
yesnobox 'Whould you like to try automatic bootloader interrupt?\n                (choose "No" if it fails for you)' 'Bootloader' 1
if result then
  messagebox '1. Connect Gateway to UART\n2. Disconnect Gateway from power\n3. Press OK' 'Start' 1
  showtt -1
  showtt 1
  mpause 100
  dispstr #$1B"[2J" #$1B"[H"
  dispstr '==MGL03 UART Recovery v' ver '==' 10 10 13
  dispstr '   >>ower ON Gateway NOW!<<' 10 10 13
  mtimeout=1
  while 1
    wait 'uart ok'
    if result break
  endwhile
  send 'u'
  mtimeout=0
  wait '<RealTek>' 'init IP ok'
else
  messagebox '1. Connect Gateway to UART\n2. Disconnect Gateway from power\n3. Press OK' 'Start' 1
  showtt -1
  showtt 1
  mpause 100
  dispstr #$1B"[2J" #$1B"[H"
  dispstr '          ==MGL03 UART Recovery v' ver '==' 10 10 13
  dispstr '>>ress and hold "u" on keyboard and power ON Gateway<<' 10 10 13
  enablekeyb 1
  wait '<RealTek>' 'init IP ok'
  enablekeyb 0
  if result=1 messagebox 'Release "u" and peress OK to continue' 'Success!'
endif
if result=2 then
messagebox 'Enter bootloader failed! Switch OFF gateway and run this macro again' 'Fail'
end
endif
setsync 1
sendln ''
wait '<RealTek>'
sendln 'dbgmsg 3'
wait '<RealTek>'
sendln 'ri 0 1 1'
wait '<RealTek>'
dispstr #$1B"[2J" #$1B"[H"
sendln ''
wait '<RealTek>'
sendln 'xmrx 80000000'
messagebox 'Please choose corresponding bootloader (rtkboot_XXXXXX.bin)' 'Bootloader'
filenamebox 'Choose bootloader' 0
strsplit inputstr '_'
strsplit groupmatchstr1 '.'
str2int blspeed groupmatchstr1
xmodemsend inputstr 1
strscan inputstr 'rtkboot_'
strremove inputstr 1 result+7
strsplit inputstr '.'
str2int blspeed groupmatchstr1
wait '<RealTek>'
sendln 'j 80000000'
wait ''
setspeed blspeed
while 1
  clearscreen  1
  wait '<RealTek>'
  dispstr #$1B"[2J" #$1B"[H"
  sendln ''
  wait '<RealTek>'
  sendln 'xmod a0a00000'
  messagebox 'Please choose corresponding firmware( mgl03_xxxxxxxxx.uart )' 'Firmware'
  filenamebox 'Choose firmware' 0
  fw_file=inputstr
  fileopen fhandle fw_file 0 1
  fileread fhandle 2 str
  str2code val str
  sprintf '%x' val
  strcompare inputstr '7c91'
  if result then
    messagebox 'Wrong firmware file header!' 'Error'
    fileclose fhandle
    end
  else
    ;getting kernel size
    fileseek fhandle 10 0
    fileread fhandle 4 str
    str2code val str
    if val == 0 then
      fileseek fhandle 11 0
      fileread fhandle 3 str
      str2code val str
    endif
    kernsize=val
    sprintf '%x' kernsize
    kernsize_hex=inputstr
    ;getting rootfs size
    fileseek fhandle 24 0
    fileread fhandle 4 str
    str2code val str
    if val == 0 then
      fileseek fhandle 25 0
      fileread fhandle 3 str
      str2code val str
    endif
    rootsize=val
    sprintf '%x' rootsize
    rootsize_hex=inputstr
  endif
  fileclose fhandle
  ;rootoffset
  rootoffset=2694840320+54+kernsize
  sprintf '%x' rootoffset
  rootoffset_hex=inputstr
  xmodemsend fw_file 1
  if result=1 then
    sendln ''
    wait '<RealTek>'
    ;write boot_info
    sendln 'nandw a0000 a0a00000 36'
    wait '(Y)es, (N)o->'
    sendln 'y'
    wait '<RealTek>'
    ;write kernel
    sendln 'nandw 200000 a0a00036 ' kernsize_hex
    wait '(Y)es, (N)o->'
    sendln 'y'
    mpause 50
    dispstr #$1B"[1E" '=== Flashing kernel, please wait===' #$1B"[1E"
    wait '<RealTek>'
    ;write rootfs
    sendln 'nandw 500000 ' rootoffset_hex ' ' rootsize_hex
    wait '(Y)es, (N)o->'
    sendln 'y'
    mpause 50
    dispstr #$1B"[1E" '=== Flashing rootfs, please wait ===' #$1B"[1E"
    wait '<RealTek>'
    messagebox 'Gateway flash complete, it will be rebooted!' 'Done'
    sendln 'reboot'
    setspeed 38400
    enablekeyb 1
    setsync 0   
    yesnobox 'If this project helped you, you can treat me with a cup of coffee ' 'Thank you!'
      if result exec 'rundll32 url.dll,FileProtocolHandler https://buymeacoff.ee/serrj'
    end
  else
    messagebox 'Firmware upload failed, try again or choose slower bootloader speed!' 'Fail!'
    sendln
  endif
endwhile
回复

使用道具 举报

0

主题

7

帖子

32

积分

新手上路

Rank: 1

积分
32
金钱
25
HASS币
0
发表于 2022-10-11 13:14:43 | 显示全部楼层
mgl03_xxxxx.uart文件哪位大哥有?给小弟发一个 [email protected]
回复

使用道具 举报

0

主题

7

帖子

32

积分

新手上路

Rank: 1

积分
32
金钱
25
HASS币
0
发表于 2022-10-11 13:16:09 | 显示全部楼层
固件版本1.5.4只能焊串口刷了吗?
回复

使用道具 举报

46

主题

329

帖子

3192

积分

论坛元老

Rank: 8Rank: 8

积分
3192
金钱
2863
HASS币
0
发表于 2023-2-12 19:41:36 | 显示全部楼层
free80i 发表于 2022-10-11 13:14
mgl03_xxxxx.uart文件哪位大哥有?给小弟发一个

你还有这个固件吗?
回复

使用道具 举报

0

主题

6

帖子

42

积分

新手上路

Rank: 1

积分
42
金钱
36
HASS币
0
发表于 2023-4-8 21:11:07 | 显示全部楼层
为什么宏操作都不能进入BootLoader ,一直宏错误,提示不能进入, 有木有手动操作的方法,现在知道可以 用tp17接地 进入bootloader ,后续传入rtkboot不了,有窗口,但没有走进度条,然后一会儿就闪退了。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-16 13:53 , Processed in 0.150745 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表