小米路由器Pro R3p 刷機(jī) Breed Padavan OpenWrt UART/TTL 救援
- date: 2022-10-08
- lastmod: 2022-10-29
一般過(guò)程:
- 小米路由器開(kāi)發(fā)版ROM+小米路由器開(kāi)啟SSH工具文件:rom官網(wǎng)直接下載,含ssh的則需要小米賬號(hào)在小米WiFi中綁定路由器
- 刷引導(dǎo)(可跳過(guò)
- 刷固件(系統(tǒng))
rom-dev ssh
這一步首先是給路由器刷入開(kāi)發(fā)板的 rom,然后開(kāi)啟 ssh。開(kāi)啟無(wú)線 ssh 有官方辦法,漏洞辦法,實(shí)在不行就拆機(jī) TTL 跳線辦法。
獲取官方 ssh 開(kāi)啟固件需要現(xiàn)在小米 WIFI app 中綁定路由器,我重置路由器的時(shí)候 app 可以識(shí)別到路由器,讓我設(shè)置,我設(shè)置完名稱密碼后重啟就識(shí)別不到了,最后發(fā)現(xiàn)是因?yàn)槲揖W(wǎng)線沒(méi)到,所以路由器沒(méi)聯(lián)網(wǎng),連上沒(méi)有網(wǎng)絡(luò)的網(wǎng)導(dǎo)致 app 無(wú)法識(shí)別綁定,我的解決辦法另外一個(gè)設(shè)備開(kāi)熱點(diǎn),小米路由器中繼模式,這樣 app 就可以識(shí)別出來(lái)了。
也就是說(shuō)這個(gè) app 需要在有網(wǎng)的時(shí)候才能識(shí)別出來(lái)路由器進(jìn)行設(shè)置,但這個(gè)邏輯是反常的,完全可以不使用互聯(lián)網(wǎng)就可以識(shí)別路由器并在 app 里面進(jìn)行控制、讀取。有個(gè)小心眼的猜測(cè)是小米偷跑服務(wù)了。舉個(gè)例子,我可以建立一個(gè)和互聯(lián)網(wǎng)斷絕的子網(wǎng),子網(wǎng)內(nèi)部完全是互通的,但是小米路由器默認(rèn)不行。。。
【路由刷機(jī)教程】適用于帶USB的小米路由:我用的是 vfat 格式的U盤(pán)也行(以前用ventory處理過(guò)的)
FAT或FAT32的U盤(pán);
3.將下載的ROM包復(fù)制到U盤(pán)的根目錄,并重命名為miwifi.bin ,同時(shí)確保該目錄下不存在其它“.bin”文件,若存在會(huì)導(dǎo)致刷機(jī)失?。?4.斷開(kāi)小米路由器的電源,將U盤(pán)插入路由器USB接口
5.按住reset鍵,接通電源,等待指示燈變?yōu)辄S色閃爍狀態(tài)后松開(kāi)reset鍵,路由器開(kāi)始刷機(jī);
6.等待刷機(jī)完成,整個(gè)過(guò)程約為3-5分鐘,完成后系統(tǒng)會(huì)自動(dòng)重啟。路由器指示燈變藍(lán)刷機(jī)完成;如果出現(xiàn)異常、失敗、U盤(pán)無(wú)法讀取的狀況,會(huì)進(jìn)入紅燈狀態(tài),建議重試或更換U盤(pán)再試。
小米路由器官方固件/app下載,從固件更新日期可以看出產(chǎn)品最后維護(hù)的時(shí)間
工具包使用方法:小米路由器需升級(jí)到開(kāi)發(fā)版0.5.28及以上,小米路由器mini需升級(jí)到開(kāi)發(fā)版0.3.84及以上,小米路由器3即將支持。注意:穩(wěn)定版不支持。
請(qǐng)將下載的工具包bin文件復(fù)制到U盤(pán)(FAT/FAT32格式)的根目錄下,保證文件名為miwifi_ssh.bin;
斷開(kāi)小米路由器的電源,將U盤(pán)插入U(xiǎn)SB接口;
按住reset按鈕之后重新接入電源,指示燈變?yōu)辄S色閃爍狀態(tài)即可松開(kāi)reset鍵;
等待3-5秒后安裝完成之后,小米路由器會(huì)自動(dòng)重啟,之后您就可以盡情折騰啦 :)
tomsiwik/xiaomi-router-patch:利用 CVE-2019-18370 漏洞開(kāi)啟小米路由器R3G的ssh,漏洞在 2019-03-09 被發(fā)現(xiàn),可以實(shí)現(xiàn)無(wú)需登錄,任意遠(yuǎn)程命令執(zhí)行。我測(cè)試失敗,更換為 dev rom 后成功
acecilia/OpenWRTInvasion :小米路由器 root shell 漏洞。我測(cè)試失敗,更換為 dev rom 后成功
小米路由器 Pro 刷機(jī)教程 Powersee 2022-05-02 :通過(guò)py腳本開(kāi)啟ssh、breed、Padavan,一個(gè)dd備份命令
小米路由器Pro刷OpenWrt固件 lambdacalculus 2019.10.07:官刷ssh、OpenWrt,沒(méi)做備份
小米路由器Pro(R3P)刷Padavan固件 2021-08-21 華-爾特 :不一樣的 py 代碼,檢查后發(fā)現(xiàn)是bat腳本帶動(dòng)py,原理和手敲代碼一樣,自動(dòng)化處理
刷機(jī)備份工具 鏈接:https://pan.baidu.com/s/1jSWhNduNLXH63IRJjrg8CA 提取碼:atf8
padavan固件 https://opt.cn2qq.com/padavan/MI-R3P_3.4.3.9-099.trx
檢查閃存與備份
先檢查閃存品牌和有無(wú)壞塊
mi 3pro openwrt:盡量使用ESMT的閃存,Micron(鎂光)的容易因?yàn)閴目熳兇u
dmesg | grep "Manufacturer ID: "
ESMT chip will have a “Manufacturer ID” of 0xc8, while a Micron chip will have 0x2c
# dmesg | grep "Manufacturer ID: "
[ 3.420000] NAND device: Manufacturer ID: 0xc8, Chip ID: 0xda (ESMT NAND 256MiB 3,3V 8-bit), 256MiB, page size: 2048, OOB size: 64
備份
慎重一點(diǎn),備份以防萬(wàn)一。全備份,看到兩種方式 dd、nanddump ,也都嘗試。原廠uboot、eeprom
ALL.bin(255.5M) 和 mtd0.bak (263.5M)經(jīng)過(guò) sha1 校驗(yàn)是不同的文件,盡管兩者都是 mtd0 的備份;eeprom.bin 是 mtd4 的備份,看了 createbackup.py 中的代碼,全部備份只備份了 mtd0,要么是代碼問(wèn)題,要么是 mtd0 就是全盤(pán)備份
備份詳細(xì)記錄建立文件夾 xmr3p,使用 dd 命令備份到 u 盤(pán) xmr3p/dd;為了對(duì)比,也使用 nanddump 備份到 xmr3p/nd.因此 u 盤(pán)要留有 1G 的空閑空間存放備份
# cat /proc/mtd # 讀取MTD分區(qū)表
dev: size erasesize name
mtd0: 0ff80000 00020000 "ALL"
mtd1: 00040000 00020000 "Bootloader"
mtd2: 00040000 00020000 "Config"
mtd3: 00040000 00020000 "Bdata"
mtd4: 00040000 00020000 "Factory"
mtd5: 00040000 00020000 "crash"
mtd6: 00080000 00020000 "crash_syslog"
mtd7: 00040000 00020000 "reserved0"
mtd8: 00400000 00020000 "kernel0"
mtd9: 00400000 00020000 "kernel1"
mtd10: 02800000 00020000 "rootfs0"
mtd11: 02800000 00020000 "rootfs1"
mtd12: 0a580000 00020000 "overlay"
# df -h # 根據(jù)大小查找 u 盤(pán)路徑
Filesystem Size Used Available Use% Mounted on
rootfs 19.3M 19.3M 0 100% /
none 249.1M 0 249.1M 0% /dev
tmpfs 249.9M 3.6M 246.3M 1% /tmp
/dev/ram0 19.3M 19.3M 0 100% /
tmpfs 249.9M 3.6M 246.3M 1% /tmp
tmpfs 249.9M 3.6M 246.3M 1% /extdisks
ubi1_0 141.3M 6.7M 129.9M 5% /data
ubi1_0 141.3M 6.7M 129.9M 5% /userdisk
/dev/ram0 19.3M 19.3M 0 100% /userdisk/data
ubi1_0 141.3M 6.7M 129.9M 5% /etc
/dev/sda1 7.5G 3.5G 4.0G 47% /extdisks/sda1
/dev/sda2 31.9M 20.3M 11.6M 64% /extdisks/sda2
# cd /extdisks/sda1
# ls
miwifi-dev.bin breed-mt7621-xiaomi-r3g-r3p.bin
# mkdir -p xmr3p/dd
# mkdir -p xmr3p/nd
# ls xmr3p/
dd nd
# cd xmr3p/dd/
# dd if=/dev/mtd0 of=ALL.bin
523264+0 records in
523264+0 records out
267911168 bytes (255.5MB) copied, 90.880289 seconds, 2.8MB/s
# dd if=/dev/mtd1 of=Bootloader.bin
512+0 records in
512+0 records out
262144 bytes (256.0KB) copied, 0.086554 seconds, 2.9MB/s
# dd if=/dev/mtd2 of=Config.bin
512+0 records in
512+0 records out
262144 bytes (256.0KB) copied, 0.086277 seconds, 2.9MB/s
# dd if=/dev/mtd3 of=Bdata.bin
512+0 records in
512+0 records out
262144 bytes (256.0KB) copied, 0.086819 seconds, 2.9MB/s
# dd if=/dev/mtd4 of=Factory.bin
512+0 records in
512+0 records out
262144 bytes (256.0KB) copied, 0.086280 seconds, 2.9MB/s
# dd if=/dev/mtd5 of=crash.bin
512+0 records in
512+0 records out
262144 bytes (256.0KB) copied, 0.086380 seconds, 2.9MB/s
# dd if=/dev/mtd6 of=crash_syslog.bin
1024+0 records in
1024+0 records out
524288 bytes (512.0KB) copied, 0.168056 seconds, 3.0MB/s
# dd if=/dev/mtd7 of=reserved0.bin
512+0 records in
512+0 records out
262144 bytes (256.0KB) copied, 0.086529 seconds, 2.9MB/s
# dd if=/dev/mtd8 of=kernel0.bin
8192+0 records in
8192+0 records out
4194304 bytes (4.0MB) copied, 1.312416 seconds, 3.0MB/s
# dd if=/dev/mtd9 of=kernel1.bin
8192+0 records in
8192+0 records out
4194304 bytes (4.0MB) copied, 1.331081 seconds, 3.0MB/s
# dd if=/dev/mtd10 of=rootfs0.bin
81920+0 records in
81920+0 records out
41943040 bytes (40.0MB) copied, 13.526462 seconds, 3.0MB/s
# dd if=/dev/mtd11 of=rootfs1.bin
81920+0 records in
81920+0 records out
41943040 bytes (40.0MB) copied, 13.473753 seconds, 3.0MB/s
# dd if=/dev/mtd12 of=overlay.bin
338944+0 records in
338944+0 records out
173539328 bytes (165.5MB) copied, 57.000779 seconds, 2.9MB/s
# ls
ALL.bin Bootloader.bin Factory.bin crash_syslog.bin kernel1.bin reserved0.bin rootfs1.bin
Bdata.bin Config.bin crash.bin kernel0.bin overlay.bin rootfs0.bin
# cd ../nd
# ls
# nanddump -f mtd0.bak /dev/mtd0
nanddump: warning!: you did not specify a default bad-block handling
method. In future versions, the default will change to
--bb=skipbad. Use "nanddump --help" for more information.
nanddump: warning!: in next release, nanddump will not dump OOB
by default. Use `nanddump --oob' explicitly to ensure
it is dumped.
ECC failed: 0
ECC corrected: 0
Number of bad blocks: 0
Number of bbt blocks: 0
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x0ff80000...
# nanddump -f mtd1.bak /dev/mtd1
ECC failed: 0
ECC corrected: 0
Number of bad blocks: 0
Number of bbt blocks: 0
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x00040000...
r# nanddump -f mtd2.bak /dev/mtd2
ECC failed: 0
ECC corrected: 0
Number of bad blocks: 0
Number of bbt blocks: 0
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x00040000...
# nanddump -f mtd3.bak /dev/mtd3
ECC failed: 0
ECC corrected: 0
Number of bad blocks: 0
Number of bbt blocks: 0
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x00040000...
# nanddump -f mtd4.bak /dev/mtd4
ECC failed: 0
ECC corrected: 0
Number of bad blocks: 0
Number of bbt blocks: 0
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x00040000...
# nanddump -f mtd5.bak /dev/mtd5
ECC failed: 0
ECC corrected: 0
Number of bad blocks: 0
Number of bbt blocks: 0
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x00040000...
# nanddump -f mtd6.bak /dev/mtd6
ECC failed: 0
ECC corrected: 0
Number of bad blocks: 0
Number of bbt blocks: 0
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x00080000...
# nanddump -f mtd7.bak /dev/mtd7
ECC failed: 0
ECC corrected: 0
Number of bad blocks: 0
Number of bbt blocks: 0
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x00040000...
# nanddump -f mtd8.bak /dev/mtd8
ECC failed: 0
ECC corrected: 0
Number of bad blocks: 0
Number of bbt blocks: 0
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x00400000...
# nanddump -f mtd9.bak /dev/mtd9
ECC failed: 0
ECC corrected: 0
Number of bad blocks: 0
Number of bbt blocks: 0
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x00400000...
# nanddump -f mtd10.bak /dev/mtd10
ECC failed: 0
ECC corrected: 0
Number of bad blocks: 0
Number of bbt blocks: 0
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x02800000...
# nanddump -f mtd11.bak /dev/mtd11
ECC failed: 0
ECC corrected: 0
Number of bad blocks: 0
Number of bbt blocks: 0
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x02800000...
# nanddump -f mtd12.bak /dev/mtd12
ECC failed: 0
ECC corrected: 0
Number of bad blocks: 0
Number of bbt blocks: 0
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x0a580000...
# ls
mtd0.bak mtd1.bak mtd10.bak mtd11.bak mtd12.bak mtd2.bak mtd3.bak mtd4.bak mtd5.bak mtd6.bak mtd7.bak mtd8.bak mtd9.bak
# dmesg>dmesg.log
# dmesg | grep "bad block"
[ 3.440000] Scanning device for bad blocks
# dmesg | less
[AC2100(RM2100)] 適配RM2100的pb-boot正式版(大雕) 2020-5-26 BI4TMS
想要備份路由原廠分區(qū)的,可以先在電腦以管理員權(quán)限運(yùn)行/rm2100中的 ftpdmin.exe,之后回到telnet命令行
例如:想備份mtd1分區(qū),就在命令行輸入
./busybox nanddump -f mtd1.bak /dev/mtd1 # 備份到文件
./busybox ftpput 192.168.31.177 mtd1.bak ./mtd1.bak #
備存文件存在你rm2100文件所在的硬盤(pán)根目錄。不想備份也可以,我給的文件中有mtd1和eeprom的備份。
注意:保險(xiǎn)起見(jiàn),暫時(shí)不要通過(guò)pb-boot"固件更新"功能直接刷回官方boot,官方的u-boot有毒!!!刷錯(cuò)鎖了串口即使能開(kāi)機(jī)也只能編程器!!!
小米路由器刷入Padavan系統(tǒng) 程屁凹 2018.11.04:官刷ssh、breed、Padavan,14個(gè)dd備份命令
nanddump讀出nandflash包括壞塊 bewinged 2017-11-23
How is erasing MTD with “dd if=/dev/zero” different from “flash_eraseall”? 2016-4-4:MTD 設(shè)備不該使用 dd
MTD - openwrt doc
The differences between dd and mtd are … TODO
刷引導(dǎo)
breed
刷 breed 前確認(rèn)有網(wǎng)線和路由器進(jìn)行連接,breed 刷固件時(shí)不能通過(guò)無(wú)線連接!??!
把 breed 拷貝到 U 盤(pán),插到路由器上,通過(guò) df -h
查看掛載位置,并進(jìn)入 U 盤(pán)的掛載位置
# ls
System Volume Information
TDDOWNLOAD miwifi-dev.bin xmr3p breed-mt7621-xiaomi-r3g-r3p.bin
# mtd write breed-mt7621-xiaomi-r3g-r3p.bin Bootloader # 寫(xiě)入breed.bin
Unlocking Bootloader ...
Writing from breed-mt7621-xiaomi-r3g-r3p.bin to Bootloader ...
# reboot # 重啟命令
# 刷 bl 失敗,還是原裝管理界面
# mtd write breed-mt7621-xiaomi-r3g-r3p.bin Bootloader -r # 寫(xiě)入breed.bin 后重啟
# 刷 bl 二失敗,還是原裝管理界面
# cp breed-mt7621-xiaomi-r3g-r3p.bin /tmp/breed.bin
# mtd -r write /tmp/breed.bin Bootloader
# 刷 bl 三失敗,還是原裝管理界面
# 使用 OpenWRTInvasion 再破 ssh
# cd /extdisks/sda1/
# mtd write breed-mt7621-xiaomi-r3g-r3p.bin Bootloader -r
# 刷 bl 四失敗,還是原裝管理界面
# cp /extdisks/sda1/xmr3p/breed-mt7621-xiaomi-r3g-r3p.bin /tmp/breed.bin
# mtd -e Bootloader write /tmp/breed.bin Bootloader # 先擦除?。。≡偎⒃O(shè)備
# 刷 bl 第五次失敗,還是原裝管理界面
經(jīng)歷了五次失敗,決定今天直接刷 openwrt,反正不是鎂光的閃存。然而當(dāng)我刷完 ow,路由器重啟后,熱點(diǎn)沒(méi)看到,插網(wǎng)線(今天剛到)沒(méi)有出現(xiàn) ow 的界面,ip 也不通,于是按住 reset 斷電重啟重置,這回 ip ping 通了,打開(kāi)卻是 breed 的界面。
當(dāng)終端輸出Rebooting … 5-10s后,將路由器斷電重啟,等到路由器出現(xiàn)藍(lán)色燈閃爍時(shí),在瀏覽器輸入 192.168.1.1 后回車(chē),即可進(jìn)入breed的管理頁(yè)面。選擇固件更新時(shí),可以更新 Bootloader、固件、EEPROM,不過(guò)固件備份只支持備份EEPROM和編程器固件。(ps,,為了避免變磚,請(qǐng)勿更新編程器固件)
Breed 更新 Bootloader 有大小限制,超過(guò) 512 KB 會(huì)提示錯(cuò)誤。
當(dāng)刷入固件之后,再輸入這個(gè)網(wǎng)址不能進(jìn)入 breed 了,需要按住 reset 斷電重啟重置后才能由該網(wǎng)址進(jìn)入 breed。至于如何卸載 breed 恢復(fù)官方固件,在 Powersee 的視頻里說(shuō)的是 由 breed 刷 pb-boot 的 bootloader,然后按住 reset 斷電重啟進(jìn)入 pb-boot(192.168.1.1), 選擇官方引導(dǎo),然后將官方開(kāi)發(fā)板固件拷貝 u 盤(pán),重命名,按住 reset 斷電重啟刷回官方開(kāi)發(fā)固件的(和開(kāi)頭的刷 rom-dev 一樣)。
pb-boot
在 Breed 更新 Bootloader 時(shí),上傳 pb-boot 固件,更新后斷電,按住 reset 重啟,5s 后松開(kāi),在瀏覽器輸入 192.168.1.1 后回車(chē),即可進(jìn)入 pb-boot 的管理頁(yè)面(頁(yè)面顯示的是 PandoraBox)。
這里的選擇固件可以是 bootloader. 奇怪的是我上傳自己備份的 kernel0.bin、openwrt 下載的 kernel0.bin(和我備份的校驗(yàn)是一樣的)、Powersee 提供的 kernel0.bin(和我的校驗(yàn)不一樣,但是 Powersee 的閃存和我的是一樣的)??偸蔷褪撬⒘?kernel0, u盤(pán)格式化 fat32 復(fù)制好 miwifi.bin,斷電reset之后也還是 pb-boot。反倒是現(xiàn)在可以在 pb-boot 和 breed 之前反復(fù)橫跳。然后又根據(jù) pb、breed 的文件大小,我嘗試把dd備份時(shí)一些體積相似的 bin 也刷過(guò)但也無(wú)疾而終
相關(guān)閱讀
Breed 首發(fā)地址 breed 引導(dǎo)固件下載地址: Weijie Gao 作品
這是樓主從去年年中自行設(shè)計(jì)開(kāi)發(fā)的一個(gè)全新的 Bootloader,并用于取代 U-Boot。
此 Bootloader 暫取名為 Breed,不是 U-Boot,也不是 U-Boot 的改進(jìn)版,是全新、獨(dú)立的、跟 U-Boot 平級(jí)的 Bootloader
科普一下:
Bootloader 意思為引導(dǎo)加載器,即為用于加載操作系統(tǒng)的程序。它是一大類(lèi)此類(lèi)功能程序的統(tǒng)稱。現(xiàn)在的 BIOS、UEFI、GRUB、RedBoot、U-Boot、CFE、Breed 等都是 Bootloader。
因此,還是上面那句話,Breed 不是由什么東西改名出來(lái)的,這就是一個(gè)新的東西??粗行┤说脑捨艺娴挠X(jué)得很搞笑。
此外,由上面兩句話,如果想從 Breed 刷到其他任何 Bootloader,例如 U-Boot,請(qǐng)?jiān)?Breed 固件更新頁(yè)面選擇更新 Bootloader。。。。。。。。。。。。
免費(fèi)、無(wú)限制、不開(kāi)源
【路由器】Breed 介紹、刷入和使用 ywang_wnlo 2022-04-06
Breed 是國(guó)內(nèi)個(gè)人 hackpascal 開(kāi)發(fā)的閉源 Bootloader,也被稱為“不死鳥(niǎo)”
因?yàn)橛行┕俜缴?jí)固件自帶 bootloader,如果從官方固件升級(jí),會(huì)導(dǎo)致現(xiàn)有 bootloader 被覆蓋。而當(dāng) Breed 更新固件時(shí),它會(huì)自動(dòng)刪除固件附帶的引導(dǎo)加載程序,因此可以防止 Breed 被覆蓋
[R3G] 基于r3g的r3p breed RedLeaves 2020-3-10
根據(jù) https://www.right.com.cn/forum/thread-2590989-1-1.html guo4qing 提供的思路
理論上拿breed-mt7621-hiwifi-hc5962.bin作為本體修改內(nèi)存參數(shù)即可
測(cè)試發(fā)現(xiàn)r3p刷breed-mt7621-r6220.bin也是可以啟動(dòng)的 波特率57600
pbr-m1的內(nèi)存參數(shù)有5個(gè) 確定是哪一個(gè)太麻煩了 直接從breed-mt7621-r6220.bin提取ddr3的參數(shù)
我的r3p改的雙啟動(dòng),測(cè)試應(yīng)該是沒(méi)有問(wèn)題的,但是現(xiàn)在引導(dǎo)pandorabox、openwrt之類(lèi)啟動(dòng)還有問(wèn)題
經(jīng)樓下fyi2000指點(diǎn),以r3b breed為本體,重新制作了breed-mt7621-xiaomi-r3g-r3p.bin用于r3p
基于r3g魔改breed好處是大部分現(xiàn)有的固件就都可以刷了,無(wú)需重新編譯
breed-mt7621-xiaomi-r3g-r3p.zip sha1:092082b544a00b47d051c5c4b109edc59ad492dd
不過(guò)由于openwrt分區(qū)布局的原因,該breed并無(wú)法直接刷如固件,需要使用特殊手法刷入
可以參考https://www.right.com.cn/forum/thread-987254-1-1.html
簡(jiǎn)單的說(shuō)就在breed刷如內(nèi)存版的openwrt(刷入kernel0)
重啟后進(jìn)入內(nèi)存版的openwrt更新固件(更新會(huì)被刷入kernel1)
設(shè)置breed環(huán)境變量xiaomi.r3g.bootfw值為2從kernel1啟動(dòng)
小白請(qǐng)勿輕易嘗試哈,全磚之后必須拆機(jī)才能救,除非你具備救磚能力,改SPI和鎂光NAND雙啟動(dòng)的可以隨便刷
[R3G] 小米路由器R3G用Breed安裝原生OpenWrt詳解 MIRROR-D 2019-9-8
小米路由器R3P從潘多拉刷回官方,小白帖 2019-7-30 wanghucehng:kernel0.bin 和 powersee 中一致,與我和openwrt不一致(md5sum)
電腦瀏覽器進(jìn)192.168.1.1,上傳kernel0,點(diǎn)恢復(fù)固件,
等一會(huì)兒,大概30秒吧,斷電,上U盤(pán)【u盤(pán)根目錄放入miwifi.bin這個(gè)文件,這個(gè)文件是帶uboot的】,
上電,大概5秒【反正就是大概吧,不用那么精確,我都反復(fù)刷了好幾次】按下reset按鈕,指示燈變?yōu)辄S色閃爍狀態(tài)后松開(kāi)reset鍵;
好像是等個(gè)一兩分鐘,黃燈變藍(lán)【那個(gè)燈我覺(jué)得真的不是藍(lán)色,不過(guò)大家都那么說(shuō)的,那就是藍(lán)色吧】就OK,
fyi2000 2020-4-24
老毛子已經(jīng)可以支持R3P,強(qiáng)烈建議刷老毛子,如果要刷回官方,可參考我的簽名8樓
pb-boot不能直接刷老毛子,必須先刷潘多拉或OpenWrt,再以 mtd 命令刷老毛子,或是按照以下方法制作兼容pb-boot的固件,老毛子不支持RootFS以后分區(qū)有壞塊,所以建議先檢查閃存有無(wú)壞塊以及壞塊的位置
[PRO(R3P)] 6月4日-小米路由器PRO(R3P)刷入PandoraBox 19.02,測(cè)試完美,穩(wěn)定 laomao9000 2019-6-4:12+2 個(gè)dd備份指令。官方開(kāi)發(fā)板刷openwrt以及ow刷回官方的辦法
務(wù)必用這個(gè)PB BOOT,可以支持鎂光Miron Nand和EMST NAND,其他breed會(huì)變磚?。?!
教你簡(jiǎn)單的方法給路由器刷入不死breed u-boot 只需這三條命令 MT7620 2019-06-11 機(jī)電燒賣(mài)
mtd -r write /tmp/breed.bin u-boot
mtd_write write breed.bin u-boot
mtd_write write breed.bin Bootloader
mtd -r write /tmp/breed.bin Bootloader
以上四條命令都是刷入breed的,路由器分區(qū)表不同命令不同,我也是一個(gè)個(gè)試出來(lái)
路由器刷了不死breed就可以為所欲為了?維修師:姿勢(shì)不對(duì)照樣變磚!2021-02-25 貓貓無(wú)線
breed 也不是真不死,針對(duì)不同閃存芯片效果不一樣,也能掛
breed 后刷 openwrt 后升級(jí) ow 在 ow 里面操作,千萬(wàn)不要在 breed 里升級(jí) ow,
不要在 breed 搞編程器固件,變磚警告
主要是NAND有ECC區(qū)域,這個(gè)也就是不同于NOR閃存的區(qū)別。(不懂,看起來(lái)很高級(jí))
嘗試 scp 上傳文件到路由器,失敗
```bash
$ scp breed-mt7621-xiaomi-r3g-r3p.bin root@192.168.31.1:/tmp/breed.bin # 將 breedFile.bin 上傳到路由器中的 /tmp/breed.bin
root@192.168.31.1's password:
ash: /usr/libexec/sftp-server: not found
scp: Connection closed
```
小米路由器3刷機(jī)教程:刷入潘多拉 和 刷回官方。2020-02-04 蚣蛭艾閩蛛也艾髭鼬
刷回官方
將小米路由器官方固件重命名為miwifi.bin放入fat32格式的u盤(pán)
還是需要進(jìn)入pb-boot界面,在這里刷入Kernel0(潘多拉官方有備份,也可以是個(gè)人備份的),系統(tǒng)自動(dòng)重啟后指示燈會(huì)閃滅一次,指示燈藍(lán)色閃過(guò)后變?yōu)辄S色常亮,此時(shí)斷電。或者干脆重啟后多喝杯茶,再斷電
路由器斷電狀態(tài)下,將u盤(pán)插入usb接口
長(zhǎng)按重置按鈕,通電開(kāi)機(jī),直至指示燈黃色快速閃爍。
幾分鐘后你就可以在手機(jī)上看到那個(gè)消失很久的wifi名稱 作者:蚣蛭艾閩蛛也艾髭鼬 https://www.bilibili.com/read/cv4570903/ 出處:bilibili
刷固件
openwrt
由 breed 引導(dǎo)刷 openwrt 有不少麻煩,還容易變磚,先刷回官方開(kāi)發(fā)固件
cd /extdisks/sda1 #(can be different if you remove and reinsert the usb stick)
mv openwrt-ramips-mt7621-xiaomi_mir3p-squashfs-factory.bin factory.bin # give it a shorter name
nvram set flag_try_sys1_failed=1
nvram set flag_try_sys2_failed=0
nvram set flag_boot_success=0
nvram commit
dd if=factory.bin bs=1M count=4 | mtd write - kernel1
mtd erase rootfs0
mtd erase rootfs1
mtd erase overlay
dd if=factory.bin bs=1M skip=4 | mtd write - rootfs0
reboot
實(shí)操
# cd /extdisks/sda1
root@XiaoQiang:/extdisks/sda1# ls
System Volume Information factory.bin software ?? ???.txt
TDDOWNLOAD music uc2-tkinter ??????????????.doc ??
ThunderDB os xiaomi_config ??
root@XiaoQiang:/extdisks/sda1# nvram set flag_try_sys1_failed=1
root@XiaoQiang:/extdisks/sda1# nvram set flag_try_sys2_failed=0
root@XiaoQiang:/extdisks/sda1# nvram set flag_boot_success=0
root@XiaoQiang:/extdisks/sda1# nvram commit
root@XiaoQiang:/extdisks/sda1# dd if=factory.bin bs=1M count=4 | mtd write - kernel1
Unlocking kernel1 ...
Writing from <stdin> to kernel1 ... [e]4+0 records in
4+0 records out
4194304 bytes (4.0MB) copied, 1.867296 seconds, 2.1MB/s
root@XiaoQiang:/extdisks/sda1# mtd erase rootfs0
Unlocking rootfs0 ...
Erasing rootfs0 ...
root@XiaoQiang:/extdisks/sda1# mtd erase rootfs1
Unlocking rootfs1 ...
Erasing rootfs1 ...
root@XiaoQiang:/extdisks/sda1# mtd erase overlay
Unlocking overlay ...
Erasing overlay ...
root@XiaoQiang:/extdisks/sda1# dd if=factory.bin bs=1M skip=4 | mtd write - rootfs0
Unlocking rootfs0 ...
Writing from <stdin> to rootfs0 ... [e]5+1 records in
5+1 records out
5505024 bytes (5.3MB) copied, 2.381508 seconds, 2.2MB/s
root@XiaoQiang:/extdisks/sda1# reboot
root@XiaoQiang:/extdisks/sda1# Connection to 192.168.31.1 closed by remote host.
Connection to 192.168.31.1 closed.
第一次刷ow,是刷完 breed 多次失敗后直接刷 ow,刷完 ow 固件后很尷尬,用朋友的電腦插上網(wǎng)線發(fā)現(xiàn)重置之后是 breed 的引導(dǎo),ow 沒(méi)刷上。
刷回官方時(shí)候再刷 openwrt 一氣呵成,看回簡(jiǎn)書(shū)上的帖子進(jìn)入 192.168.1.1,root 密碼是啥,不知道啊,我以為我蒙root對(duì)了,結(jié)果是輸入啥都可以,沒(méi)有密碼。默認(rèn)也不開(kāi)啟 wifi,也沒(méi)有中文語(yǔ)言可選。開(kāi) ssh 更新鏡像 更新系統(tǒng) 配置無(wú)線熱點(diǎn)。
網(wǎng)速測(cè)試
和 padavan 的測(cè)試結(jié)果不分伯仲
中國(guó)科學(xué)技術(shù)大學(xué)測(cè)速網(wǎng)站
內(nèi)網(wǎng)測(cè)試MI R3P Padavan 3.4.3.9-099_22-10-1 2022-10-09 16:12:29 下載51.82 Mbps 上傳55.30 Mbps
一臺(tái)筆記本(RTL8822CE)連接路由器 5G wifi, 作為 iperf 的服務(wù)端。一臺(tái)臺(tái)式機(jī)(RTL8111/8168/8411)通過(guò)一米超五類(lèi)網(wǎng)線連接路由器,雙方防火墻測(cè)試時(shí)關(guān)閉。ip 信息已經(jīng)剔除??梢?ping 通。TCP 雙向可以有 230~560Mbps,UDP 只有 1Mbps。
$ ping ip
PING ip (ip) 56(84) 字節(jié)的數(shù)據(jù)。
64 字節(jié),來(lái)自 ip: icmp_seq=1 ttl=64 時(shí)間=19.7 毫秒
64 字節(jié),來(lái)自 ip: icmp_seq=2 ttl=64 時(shí)間=4.85 毫秒
64 字節(jié),來(lái)自 ip: icmp_seq=3 ttl=64 時(shí)間=126 毫秒
64 字節(jié),來(lái)自 ip: icmp_seq=4 ttl=64 時(shí)間=148 毫秒
64 字節(jié),來(lái)自 ip: icmp_seq=5 ttl=64 時(shí)間=172 毫秒
64 字節(jié),來(lái)自 ip: icmp_seq=6 ttl=64 時(shí)間=54.3 毫秒
64 字節(jié),來(lái)自 ip: icmp_seq=7 ttl=64 時(shí)間=4.47 毫秒
64 字節(jié),來(lái)自 ip: icmp_seq=8 ttl=64 時(shí)間=36.5 毫秒
^C
--- ip ping 統(tǒng)計(jì) ---
已發(fā)送 8 個(gè)包, 已接收 8 個(gè)包, 0% packet loss, time 7007ms
rtt min/avg/max/mdev = 4.466/70.718/171.855/63.314 ms
$ iperf -c ip
[ ID] Interval Transfer Bandwidth
[ 1] 0.0000-10.0589 sec 672 MBytes 561 Mbits/sec
$ iperf -c ip -d
[ ID] Interval Transfer Bandwidth
[ 2] 0.0000-10.0477 sec 394 MBytes 329 Mbits/sec
[ 1] 0.0000-10.0991 sec 286 MBytes 237 Mbits/sec
$ iperf -c ip -u
[ ID] Interval Transfer Bandwidth
[ 1] 0.0000-10.0155 sec 1.25 MBytes 1.05 Mbits/sec
[ 1] Server Report:
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 1] 0.0000-9.9865 sec 1.25 MBytes 1.05 Mbits/sec 0.339 ms 0/895 (0%)
$ iperf -c ip -u -d
[ ID] Interval Transfer Bandwidth
[ 1] 0.0000-10.0153 sec 1.25 MBytes 1.05 Mbits/sec
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 2] 0.0000-10.0152 sec 1.25 MBytes 1.05 Mbits/sec 0.052 ms 0/894 (0%)
[ 1] Server Report:
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 1] 0.0000-9.9977 sec 1.25 MBytes 1.05 Mbits/sec 0.277 ms 0/895 (0%)
Padavan
安裝了 breed 后,進(jìn)入 breed 控制臺(tái)把潘多拉固件上傳即可完成安裝。然后連接網(wǎng)絡(luò)(有線可,無(wú)線默認(rèn)wifi是PDCN,密碼1234567890)進(jìn)入管理頁(yè)面:http://192.168.123.1/,默認(rèn)賬號(hào):admin,默認(rèn)密碼:admin。(刷機(jī)不恢復(fù)默認(rèn)值)
我第二次刷 Padavan 的時(shí)候密碼就不是默認(rèn)值了,而是我上一次刷機(jī)存的密碼,盡管我已經(jīng)把引導(dǎo)反復(fù)刷了好幾次
7620老毛子Padavan固件 恩山無(wú)線論壇 Padavan固件下載
PandoraBox下載地址,含pb-boot
中國(guó)科學(xué)技術(shù)大學(xué)測(cè)速網(wǎng)站
內(nèi)網(wǎng)測(cè)試MI R3P Padavan 3.4.3.9-099_22-10-1 2022-10-09 16:12:29 下載51.63 Mbps 上傳56.23 Mbps
一臺(tái)筆記本(RTL8822CE)連接路由器 5G wifi, 作為 iperf 的服務(wù)端。一臺(tái)臺(tái)式機(jī)(RTL8111/8168/8411)通過(guò)一米超五類(lèi)網(wǎng)線連接路由器,雙方防火墻測(cè)試時(shí)關(guān)閉。ip 信息已經(jīng)剔除??梢?ping 通,服務(wù)端開(kāi)啟 web 服務(wù)端,客戶端可以訪問(wèn)。TCP 雙向可以有 220~500Mbps,UDP 只有 1Mbps??磥?lái)路由器默認(rèn)封殺 UDP,但是封殺的話不就是沒(méi)有速度了嘛
$ ping ip
PING ip (ip) 56(84) 字節(jié)的數(shù)據(jù)。
64 字節(jié),來(lái)自 ip: icmp_seq=1 ttl=64 時(shí)間=78.2 毫秒
64 字節(jié),來(lái)自 ip: icmp_seq=2 ttl=64 時(shí)間=101 毫秒
64 字節(jié),來(lái)自 ip: icmp_seq=3 ttl=64 時(shí)間=21.8 毫秒
64 字節(jié),來(lái)自 ip: icmp_seq=4 ttl=64 時(shí)間=43.2 毫秒
64 字節(jié),來(lái)自 ip: icmp_seq=5 ttl=64 時(shí)間=14.5 毫秒
64 字節(jié),來(lái)自 ip: icmp_seq=6 ttl=64 時(shí)間=88.0 毫秒
64 字節(jié),來(lái)自 ip: icmp_seq=7 ttl=64 時(shí)間=107 毫秒
64 字節(jié),來(lái)自 ip: icmp_seq=8 ttl=64 時(shí)間=30.2 毫秒
64 字節(jié),來(lái)自 ip: icmp_seq=9 ttl=64 時(shí)間=9.19 毫秒
64 字節(jié),來(lái)自 ip: icmp_seq=10 ttl=64 時(shí)間=74.8 毫秒
64 字節(jié),來(lái)自 ip: icmp_seq=11 ttl=64 時(shí)間=97.4 毫秒
^C
--- ip ping 統(tǒng)計(jì) ---
已發(fā)送 11 個(gè)包, 已接收 11 個(gè)包, 0% packet loss, time 10016ms
rtt min/avg/max/mdev = 9.185/60.511/107.441/35.596 ms
$ curl ip:8000
.....
<!-- For Internet -->
<!-- <script src="http://cdn.jsdelivr.net/npm/docsify@4"></script>
<script src="http://cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script>
<script src="http://cdn.jsdelivr.net/npm/docsify-copy-code/dist/docsify-copy-code.min.js"></script> -->
</body>
$ wget ip:8000
--2022-10-14 21:39:22-- http://ip:8000/
正在連接 ip:8000... 已連接。
已發(fā)出 HTTP 請(qǐng)求,正在等待回應(yīng)... 200 OK
長(zhǎng)度:1886 (1.8K) [text/html]
正在保存至: “index.html.1”
index.html.1 100%[=====================================================================================================>] 1.84K --.-KB/s 用時(shí) 0s
2022-10-14 21:39:22 (76.3 MB/s) - 已保存 “index.html.1” [1886/1886])
$ iperf -c ip
------------------------------------------------------------
Client connecting to ip, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 1] local ip2 port 41804 connected with ip port 5001 (icwnd/mss/irtt=14/1448/55286)
[ ID] Interval Transfer Bandwidth
[ 1] 0.0000-10.0532 sec 666 MBytes 556 Mbits/sec
$ iperf -c ip -d
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 128 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to ip, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 1] local ip2 port 48748 connected with ip port 5001 (icwnd/mss/irtt=14/1448/3630)
[ 2] local ip2 port 5001 connected with ip port 56066
[ ID] Interval Transfer Bandwidth
[ 1] 0.0000-10.0614 sec 422 MBytes 351 Mbits/sec
[ 2] 0.0000-10.0662 sec 268 MBytes 223 Mbits/sec
$ iperf -c ip -u
-----------------------------------------------------------
Client connecting to ip, UDP port 5001
Sending 1470 byte datagrams, IPG target: 11215.21 us (kalman adjust)
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 1] local ip2 port 49869 connected with ip port 5001
[ ID] Interval Transfer Bandwidth
[ 1] 0.0000-10.0154 sec 1.25 MBytes 1.05 Mbits/sec
[ 1] Sent 896 datagrams
[ 1] Server Report:
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 1] 0.0000-9.9964 sec 1.25 MBytes 1.05 Mbits/sec 0.585 ms 0/895 (0%)
$ iperf -c ip -u -d
------------------------------------------------------------
Server listening on UDP port 5001
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to ip, UDP port 5001
Sending 1470 byte datagrams, IPG target: 11215.21 us (kalman adjust)
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 1] local ip2 port 42857 connected with ip port 5001
[ 2] local ip2 port 5001 connected with ip port 53089
[ ID] Interval Transfer Bandwidth
[ 1] 0.0000-10.0155 sec 1.25 MBytes 1.05 Mbits/sec
[ 1] Sent 896 datagrams
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 2] 0.0000-10.0155 sec 1.25 MBytes 1.05 Mbits/sec 0.103 ms 0/894 (0%)
[ 1] Server Report:
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 1] 0.0000-9.9944 sec 1.25 MBytes 1.05 Mbits/sec 0.460 ms 0/895 (0%)
搞事情
ssh
高級(jí)設(shè)置 - 系統(tǒng)管理 - 服務(wù) - 啟用 ssh 服務(wù)??梢赃x擇密碼或者公鑰來(lái)進(jìn)行登陸認(rèn)證
FTP
能夠管理用戶權(quán)限(讀/寫(xiě)/禁止),測(cè)試了下 sata2usb3.0 通過(guò) 5G wifi 傳輸速度是 40M,還行,比我 bt 下載快多了。
ipv6
我是網(wǎng)線連接上級(jí)路由和小米路由,本想著是把 v6 下方,這樣子連接 r3p 的設(shè)備也有 v6 地址,按照貼吧的進(jìn)行設(shè)置后發(fā)現(xiàn)只能路由器有 v6,沒(méi)法下播,要么就是 r3p 也沒(méi)有 v6。最后就讓 r3p 自己有 v6 就行,能掛 bt 也算達(dá)成目的了
在 高級(jí)設(shè)置-系統(tǒng)管理-服務(wù)-其它服務(wù)中,可以選擇開(kāi)啟natp66來(lái)進(jìn)行v6轉(zhuǎn)發(fā)
- 老毛子PADAVAN固件IPV6設(shè)置&上海聯(lián)通獲取PD前綴讓局域網(wǎng)設(shè)備獲取全球唯一IPV6地址 admin 10月 12, 2021:pppoe-nd-01與pppoe-pd-01模式.NAPT66
- [AC2100(RM2100)] 開(kāi)啟IPv6及老毛子padavan開(kāi)啟IPV6設(shè)置 xcl52130 2020-11-17
- h大老毛子ipv6的wan口地址獲取不到 p86391753 2019-2-28
bt 下載
transmission:首先在硬盤(pán)新建一個(gè)文件夾 transmission,然后到 “USB 應(yīng)用程序 - 其他設(shè)置 - 磁力鏈接 Transmission”進(jìn)行開(kāi)啟,然后控制面板在9091端口
# transmission.sh restart
Stopping Transmission:..[ OK ]
Starting Transmission:.sed: can't move '/mnt/transmission/config/settings.jsonPJwZCh' to '/mnt/transmission/config/settings.json': Permission denied
sed: /mnt/transmission/config/settings.json: Input/output error
[FAILED]
權(quán)限不足,那就手動(dòng)重命名,發(fā)現(xiàn)兩個(gè)都是空文件夾,直接刪除
# ls
ls: ./settings.json.tmp.FR7eFB: Input/output error
app etc settings.json28vRZi stats.json
bin o_p_t.img settings.jsontKY8FC
# rm settings.json28vRZi/ -r
# rm settings.jsontKY8FC/ -r
# transmission.sh restart
Starting Transmission:.mv: can't stat '/mnt/transmission/config/settings.json': Input/output error
chown: /mnt/transmission/config/settings.json.tmp.FR7eFB: Input/output error
sed: /mnt/transmission/config/settings.json: Input/output error
sed: /mnt/transmission/config/settings.json: Input/output error
[FAILED]
硬盤(pán)沒(méi)有問(wèn)題啊,ntfs 2T 還能通過(guò) FTP 拷貝影片呢
# df -h
Filesystem Size Used Available Use% Mounted on
/dev/sda1 1.8T 1.6T 242.0G 87% /media/P300
/dev/sda1 1.8T 1.6T 242.0G 87% /opt
# cd /
[MI-R3P-breed /]# cd /mnt/transmission
[MI-R3P-breed /media/P300/transmission]# pwd
/mnt/transmission
已在 usb 應(yīng)用中關(guān)閉 ftp、transmission,網(wǎng)絡(luò)地圖中的 usb 硬盤(pán)取消掛載好幾次都沒(méi)有效果,一會(huì)變成未掛載,但是硬盤(pán)還在轉(zhuǎn)(正常情況下硬盤(pán)取消掛載狀態(tài)是會(huì)停止轉(zhuǎn)的)
# fsck
-sh: fsck: not found
# debugfs
-sh: debugfs: not found
# fuser -m /dev/sda1
1 421 423 561 563 649 654 671 678 684 686 706 4077 10462 10531 10638 16724 16793 18639 18751 20559 20592 27614
# fuser -km /dev/sda1
Connection to 192.168.123.1 closed by remote host.
Connection to 192.168.123.1 closed.
emm ssh 斷開(kāi)了,管理控制界面也掛掉了。。看來(lái)是這個(gè) k 參數(shù)刪除了太多重要進(jìn)程,重啟路由器吧
# lsof -n | grep delete
# transmission.sh start -h
Starting Transmission:./media/P300/
mkdir: can't create directory '/mnt/transmission/downloads': File exists
sed: can't move '/mnt/transmission/config/settings.jsonROHY0O' to '/mnt/transmission/config/settings.json': Permission denied
sed: /mnt/transmission/config/settings.json: Input/output error
Couldn't (re)open log file "/mnt/transmission/transmission.log": Is a directory
[FAILED]
# ls /mnt/transmission/config
ls: /mnt/transmission/config/settings.json.tmp.FR7eFB: Input/output error
app bin etc o_p_t.img stats.json
# lsof -n | grep delete
# ls /mnt/transmission -ag
lrwxrwxrwx 1 root 25 Oct 9 15:58 /mnt/transmission -> /media/P300//transmission
# rmdir /mnt/transmission/transmission.log
rmdir: '/mnt/transmission/transmission.log': Not a directory
# rm /mnt/transmission/transmission.log -r
rm: can't stat '/mnt/transmission/transmission.log': Input/output error
# transmission.sh stop
看樣子硬盤(pán)多少出了點(diǎn)問(wèn)題,等新硬盤(pán)到手把這個(gè)盤(pán)里的資料挪走先再格式化修復(fù)成 ext4,現(xiàn)在還是ntfs
用U盤(pán)試驗(yàn)一下,第一次下載目錄自動(dòng)識(shí)別到 u 盤(pán),然后下載錯(cuò)誤,啥提示也沒(méi)有,第二次下載保存目錄直接出bug,顯示undefined。
# cat transmission/transmission.log
Unable to create session lock file (89): Function not implemented (session-id.c:96)
sambda
- 老毛子/潘多拉/Padavan路由固件設(shè)置smb/samba indEmpire 2019.08.26:無(wú)法進(jìn)行分組權(quán)限管理
opkg
# opkg.sh
ERROR! Directory "/opt" not mounted!
# mount /media/___е_U__/opt /opt
# opkg.sh
# opkg install iperf
Package iperf (2.1.3-1) installed in root is up to date.
Configuring entware-opt.
ln: /opt/sbin/ifconfig: Operation not permitted
ln: /opt/sbin/route: Operation not permitted
ln: /opt/bin/netstat: Operation not permitted
ln: /opt/bin/sh: Operation not permitted
ln: /opt/bin/ash: Operation not permitted
Collected errors:
* pkg_run_script: package "entware-opt" postinst script returned status 1.
* opkg_configure: entware-opt.postinst returned 1.
# ls -g /opt
drwxrwxrwx 2 root 4096 Oct 9 20:31 bin
drwxrwxrwx 4 root 4096 Oct 9 20:27 etc
drwxrwxrwx 2 root 4096 Mar 19 2021 home
drwxrwxrwx 3 root 4096 Mar 19 2021 lib
drwxrwxrwx 2 root 4096 Oct 9 20:27 root
drwxrwxrwx 2 root 4096 Oct 9 20:28 sbin
drwxrwxrwx 4 root 4096 Mar 19 2021 share
drwxrwxrwx 2 root 4096 Oct 9 20:44 tmp
drwxrwxrwx 4 root 4096 Mar 19 2021 usr
drwxrwxrwx 6 root 4096 Mar 19 2021 var
# su
su: unknown user root
# whoami
admin
查了下 padavan 以及梅林的 faq 中也沒(méi)有類(lèi)似的問(wèn)題,暫時(shí)找不到解決辦法
刷回官方
padavan
看了不少閱讀材料之后發(fā)現(xiàn)原廠的 kernel0 帶了一個(gè)功能就是從 u 盤(pán)恢復(fù),于是在 breed 刷了 padavan 后開(kāi)ssh,想把之間備份的 kernel0 刷回去,刷著返回 Could not open MTD device: kernel0
才發(fā)現(xiàn)刷了 padavan 之后 mtd 分區(qū)表和原廠的不一樣了。kernel0 的 erasesize 和 原廠kernel0 一樣,但是 size 不一樣,這下我就不敢繼續(xù)刷了
# uname -a
Linux MI-R3P-breed 3.4.113 #2 SMP Mon Oct 3 14:07:10 CST 2022 mips GNU/Linux
# mtd_write unlock kernel0
# mtd_write write kernel0ow.bin kernel0
Could not open MTD device: kernel0
# cat /proc/mtd
dev: size erasesize name
mtd0: 00040000 00020000 "Bootloader"
mtd1: 00080000 00020000 "CFG_Bdata"
mtd2: 00040000 00020000 "Factory"
mtd3: 00500000 00020000 "Reserved"
mtd4: 00180000 00020000 "Kernel"
mtd5: 01680000 00020000 "RootFS"
mtd6: 00080000 00020000 "Config"
mtd7: 00400000 00020000 "Storage"
mtd8: 0dd00000 00020000 "RWFS"
mtd9: 01800000 00020000 "Firmware_Stub"
mtd10: 0ff80000 00020000 "ALL"
按住reset斷電重啟發(fā)現(xiàn)沒(méi)出現(xiàn) breed,好幾次都不行,還好 padavan 還在,就通過(guò) ssh 再次刷入 breed 。這下子就又可以進(jìn)入 breed 了。
# mtd_write unlock Bootloader
Unlocking 'Bootloader' ...
# mtd_write write breed-mt7621-xiaomi-r3g-r3p.bin Bootloader
Unlocking 'Bootloader' ...
Writing from 'breed-mt7621-xiaomi-r3g-r3p.bin' to MTD 'Bootloader' ... [ok]
# mtd_write write pb-boot-xiaomi_r3p-20190317-61b6d33.img Bootloader
Unlocking 'Bootloader' ...
Writing from 'pb-boot-xiaomi_r3p-20190317-61b6d33.img' to MTD 'Bootloader' ... [ok]
## padavan 雙清 啟用ssh 開(kāi)啟UART以防萬(wàn)一
# nvram set boot_wait=on
# nvram set uart_en=1
# nvram commit
## 進(jìn)入 pb-boot 刷官方開(kāi)發(fā)固件,黃燈 -> 紅燈閃爍。u 盤(pán)斷電reset重啟,黃燈閃爍,還是 pb-boot. padavan 已不見(jiàn),切換為穩(wěn)定版固件也是。刷kernel0再刷固件也是。
## 刷會(huì) breed 后刷 padavan 開(kāi) ssh 開(kāi) uart 使用全備份進(jìn)行恢復(fù)
# mtd_write write ALL.bin ALL
Unlocking 'ALL' ...
Writing from 'ALL.bin' to MTD 'ALL' ... [ok]
u 盤(pán)斷電reset重啟熟悉的官方回來(lái)了,MAC、SN 和標(biāo)簽上都是一樣的
openwrt
進(jìn)入 ssh 運(yùn)行以下代碼
fw_setenv flag_try_sys1_failed 0
fw_setenv flag_try_sys2_failed 1
fw_setenv flag_boot_success 0
關(guān)閉路由器,u 盤(pán) 固件插上,按住 reset 后插電,直到黃燈閃爍,等待五分鐘,靜候原裝熱點(diǎn)出現(xiàn)
Q&A
- 刷引導(dǎo)時(shí)在刷哪一個(gè)分區(qū)
Bootloader。無(wú)論是刷 breed 還是 pb-boot,刷的都是 Bootloader 分區(qū)
- eeprom 對(duì)應(yīng) mtd 中哪一個(gè)分區(qū)
請(qǐng)教EEPROM是哪個(gè)分區(qū) 李丑男 2017-12-13
di0506 2017-12-13 Factory分區(qū)就是EEPROM
但是我把從 breed 備份出來(lái)的 eeprom 和我用 dd 備份出來(lái)的 Factory 進(jìn)行 md5 校驗(yàn),兩者不一樣。
- 雙清是什么意思?
[PRO(R3P)] 小米路由器Pro 超頻1200Mhz Padavan固件 酸奶+多撥+流控 2022-3-9 無(wú)量天尊:這樣可以重置 padavan 的默認(rèn)密碼。因此在 padavan的基礎(chǔ)上刷機(jī),還是雙清吧。
刷完重啟后記得雙清
系統(tǒng)管理-配置管理,路由器設(shè)置-恢復(fù)出廠模式,路由器內(nèi)部存儲(chǔ)-恢復(fù)出廠模式
- 如何開(kāi)啟 UART/TTL?
小米路由4 拆機(jī) ttl進(jìn)入shell dawnsky 2019-8-23
通過(guò)u-boot修改參數(shù)
MT7621 # setenv uart_en 1
MT7621 # setenv ssh_en 1
MT7621 # setenv telnet_en 1
MT7621 # saveenv
MT7621 # boot
小米路由器3 U-Boot TTL 恢復(fù)及一些注意事項(xiàng) ysc3839 2018-3-5
官方/Padavan 固件下執(zhí)行(boot_wait 開(kāi)啟后會(huì)在 Please choose the operation: 這里等待 5 秒):
nvram set boot_wait=on
nvram set uart_en=1
nvram commit
OpenWRT 固件下執(zhí)行:
fw_setenv boot_wait on
fw_setenv uart_en 1
小米官方固件的恢復(fù)模式
許多教程會(huì)講到小米路由器的恢復(fù)模式。就是路由器紅燈閃爍的時(shí)候,插入 U 盤(pán)按 Reset 鍵可以恢復(fù)官方固件。我以前曾認(rèn)為這是 U-Boot 提供的功能,但是通過(guò) TTL 輸出的信息來(lái)看這是官方固件內(nèi)核中 initramfs 的功能。
也就是說(shuō),如果沒(méi)有官方固件的內(nèi)核的話,就沒(méi)有這個(gè)功能了。這也是為什么 OpenWRT 和 Padavan 都不修改 kernel0,因?yàn)檫@樣可以直接進(jìn)入官方固件的恢復(fù)模式,然后刷回官方固件。
同時(shí)也意味著,用上面 U-Boot 的方法刷入的話,不會(huì)包含官方內(nèi)核,也就無(wú)法使用這個(gè)功能了。
也因?yàn)橛羞@個(gè)功能,如果你一開(kāi)始備份了官方固件中每個(gè) mtd 的數(shù)據(jù),那 U-Boot 刷入 mtd8 或 mtd9 就可以進(jìn)入恢復(fù)模式了。
進(jìn)入恢復(fù)模式還有個(gè)條件: nvram 中 flag_try_sys1_failed flag_try_sys2_failed 的值都為 1。
在前面提到的提示選擇操作的時(shí)候,選擇 4,然后執(zhí)行:
setenv flag_try_sys1_failed 1
setenv flag_try_sys2_failed 1
saveenv
-
TTL 救磚過(guò)程?
在搗鼓ipv6的時(shí)候,路由器有公網(wǎng)v6,內(nèi)網(wǎng)的v6無(wú)法聯(lián)網(wǎng)公網(wǎng),取消 ULA 前綴 還是不行,卸載 odhcp-v6only 安裝 odhcp 也不行,修改了一些接口配置也不行,最后看到某個(gè)帖子說(shuō)的關(guān)掉 lan 的 dhcp,然后我試了一下,發(fā)現(xiàn)涼了,wifi 還在,但是電腦一連接就會(huì)斷開(kāi),手機(jī)的連接上但是并不會(huì)在頂部顯示 wifi 圖標(biāo),自動(dòng)分配的 ipv4 網(wǎng)段十分奇怪,無(wú)法從 192.168.1.1 進(jìn)入后臺(tái),用分配 ip 網(wǎng)段的開(kāi)頭、結(jié)尾、DNS 服務(wù)器的 ip 也沒(méi)法進(jìn)入后臺(tái),arp-scan 也掃不出來(lái)任何結(jié)果。官方固件u盤(pán)重置也無(wú)效,無(wú)論是在黃燈快閃、黃燈慢閃時(shí)松開(kāi)reset都不行,最后要么是紅色閃爍安全模式、要么是藍(lán)色正常運(yùn)行,u盤(pán)換過(guò),兩種固件都試驗(yàn)過(guò)了也都無(wú)效,最后藍(lán)色下 wifi 也不見(jiàn),只能靠 ttl,還好之前裝好就開(kāi)啟了uart。
拆開(kāi)(不太好拆,就不能設(shè)計(jì)一些無(wú)損拆解的嘛),焊接四根排針,用 usb2ttl 接上,重啟沒(méi)有反義,按住重啟也沒(méi)有反應(yīng)。萬(wàn)用表檢查焊接,完美導(dǎo)通。換arduino測(cè)試轉(zhuǎn)接板,正常工作。安裝 putty 選擇 /dev/ttyUSB0 ,也是沒(méi)有反應(yīng)。根據(jù)上次測(cè)試 2.4g 接收器的經(jīng)歷,掃描 /dev 目錄,發(fā)現(xiàn)插上時(shí)新增的設(shè)備壓根不是 /dev/ttyUSBx,而是十分奇怪的 /dev/serial/by-path/pci-000-usb-0-port0. 用
screen /dev/serial/by-path/pci-000-usb-0-port0 115200
連接上了,感動(dòng)小宇宙啊,不過(guò)發(fā)現(xiàn)終端不能上下滾動(dòng)查看上邊輸出了啥。無(wú)所謂,看下菜單項(xiàng),都沒(méi)看完就滾了一大堆,最后不滾了也沒(méi)有啥提示,這時(shí)候一個(gè)漫不經(jīng)心的回車(chē)就進(jìn)入了系統(tǒng)。。。這下子從備份恢復(fù)都省了,直接從 openwrt 開(kāi)啟三行代碼刷回官方之路。 -
刷會(huì)官方時(shí) mac 和 sn 怎么恢復(fù)的?
一般刷機(jī)后再刷回官方,sn 就無(wú)了,而我改了 mac,那么刷回官方之后 mac 不應(yīng)該還是我修改的那個(gè) mac 嗎。但是從官方下的固件包(沒(méi)有獲取用戶身份、判定不含mac、sn)從 usb 恢復(fù)后,mac、sn都恢復(fù)成原樣了,按理說(shuō)從刷機(jī)前的備份恢復(fù)有這種可能性,但是事實(shí)就是如此。推測(cè)是 第三方系統(tǒng)修改 mac 時(shí)并不真正修改 mac,只是做了一個(gè)映射,騙過(guò)上下級(jí)網(wǎng)絡(luò)足矣,而 sn 可能是保留在某個(gè)只讀存儲(chǔ)器里邊。
相關(guān)閱讀
小米R(shí)3P刷入魔改版Breed并刷入Lean最新源碼固件教程 wifi之路 ? 2020年12月9日:其外部鏈接解釋了r3p的breed固件來(lái)源
路由器篇:小白必備小米路由器PRO(R3P)刷機(jī)+避坑教程(OpenWrt&Pandora)2021/03/11
2019-09-13 K3c如何備份MTD分區(qū)
刷前必須備份mtd0-16除data_vol,不備份的我也救不了你
一臺(tái)路由器引發(fā)的血案 2022-06-24:小米路由器PRO 型號(hào)R3P 不刷breed后升級(jí)用 ttl 救磚記錄,起初在酷安看到的,文章日期是 6.28 by 腕豪,但是搜索引擎進(jìn)不去酷安,就找了個(gè)bing能搜到的
[Redmi AX6] [0825:AC2100新固件有效AX6無(wú)效]AX3600/AX1800/AX5/AC2100官方固件開(kāi)啟SSH方法[原創(chuàng)] LonGDikE 2020-5-26:小米路由器Pro 2.16.29 測(cè)試返回的是 No page is registered,此路不通
昨天終于找到漏洞,web注入方式,不過(guò)該漏洞在最新版本應(yīng)該已經(jīng)堵上了
有漏洞固件,AX3600 1.0.17版本/AX1800 1.0.34/1.0.328/1.0.336版本/AX5 1.0.16/1.0.26/AC2100 2.0.722版本,AX1800 1.0.34,1.0.328, 1.0.336仍然有效, 紅米AX5 1.0.16版本
管理密碼登錄管理頁(yè)面: http://192.168.31.1/cgi-bin/luci/;stok=/web/home#router
改nvram設(shè)置ssl_en=1的: http://192.168.31.1/cgi-bin/luci/;stok=/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3Bnvram%20set%20ssh%5Fen%3D1%3B%20nvram%20commit%3B
一步到位代碼: http://192.168.31.1/cgi-bin/luci/;stok=/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3B%20nvram%20set%20ssh_en%3D1%3B%20nvram%20commit%3B%20sed%20-i%20’s%2Fchannel%3D.*%2Fchannel%3D%5C%22debug%5C%22%2Fg’%20%2Fetc%2Finit.d%2Fdropbear%3B%20%2Fetc%2Finit.d%2Fdropbear%20start%3B
改root賬號(hào)密碼為admin: http://192.168.31.1/cgi-bin/luci/;stok=/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3B%20echo%20-e%20’admin%5Cnadmin’%20%7C%20passwd%20root%3B
【小米路由器SSH】小米路由器官方ROM強(qiáng)制打開(kāi)SSH功能并配置靜態(tài)路由(適用于AX1800、AC2100等型號(hào))2022-01-23 404NotFound:和上面恩山的一樣
[PRO(R3P)] 最新R3P從OPENWRT刷回原廠 mingwei123 于 2021-9-7
新方法:
1、從小米下載開(kāi)發(fā)固件,并將其重命名為miwifi.bin放到U盤(pán)(FAT/FAT32)根目錄。
2、打開(kāi)WINSCP,上傳kernel0.bin(原廠固件里備份出來(lái)的)到路由器/tmp目錄下。
然后SSH連接到路由器輸入
cd /tmp
mtd write kernel0.bin kernel
3、拔掉電源將U盤(pán)插到路由器。
4、重新插入電源,按住復(fù)位鍵等待黃燈閃爍再松開(kāi)復(fù)位鍵,等待5分鐘安裝固件。
kernel0.bin文件下載:
鏈接:https://pan.baidu.com/s/1uJWBxTMTHGK1B4eKeTqj-A
提取碼:uu6i
在小米路由器mini上安裝Transmission掛BT/PT 帥氣的胖紙鍋 2016-01-26:opkg
cygnus-x1 08-15-2006 03:55 PM Cannot stat Input/Output error:debugfs
ls 命令出現(xiàn) Input/output error 解決思路 LowCoder 2020-03-11
```bash
解決辦法思路:
1.lsof、fuser命令查找出還在損壞磁盤(pán)進(jìn)行讀寫(xiě)的進(jìn)程,全部殺掉
2.umount -l 卸載磁盤(pán)
3.xfs_repair修復(fù)磁盤(pán)
```
Linux 強(qiáng)制卸載硬盤(pán) (Device is busy)
fuser -m -k -i -v /mnt/hdd0
lsof查看占用高_(dá)lsof解決磁盤(pán)占用過(guò)高,查詢卻無(wú)大文件處理一例!時(shí)常摳腳的隔壁老 2021-01-16
“就是在Linux的文件系統(tǒng)中刪除一個(gè)文件,系統(tǒng)并不會(huì)真的立刻把這個(gè)文件丟棄掉,而只是把它從文件的目錄系統(tǒng)中移除, 只有確保所有使用這個(gè)文件的程序全部都退出后,才會(huì)真的把文件徹底刪除掉?!?/p>
linux磁盤(pán)或內(nèi)存被占用問(wèn)題——lsof -n | grep delete的使用 飛天小老頭 2021-03-25
lsof -n | grep delete kill -9 pid
[lsof]lsof查看哪些設(shè)備/文件被占用或者打開(kāi)
hiboy-padavan使用opkg安裝tmux教程 書(shū)三四 2021-10-07
安裝okpg: opkg.sh升級(jí)opkg: opkg update
新路由3老毛子Padavan固件opkg命令-sh: opkg: Permission denied無(wú)法使用解決方法,Padavan固件opkg.sh無(wú)法使用
能解決問(wèn)題就是看到日志中一直在提示下載 opt.gz文件,但是分區(qū)/opt空間不足,一直報(bào)錯(cuò)
Unable to create session lock file: Invalid argument (session-id.c:96) #1391 9 Aug 2020
Fixed by #2629.
build: use -DHAVE_FLOCK in the macOS Xcode build #2629 15 Feb 2022:半年前解決的問(wèn)題,現(xiàn)在還存在,可能是現(xiàn)在我用的版本太舊了
[PRO(R3P)] 小米PRO普通版,現(xiàn)在刷什么固件最穩(wěn)定?黃先生的賬號(hào) 2022-10-14
[PRO(R3P)] 【2022-06-11】R3P 閉源無(wú)線+SDK硬件加速驅(qū)動(dòng)+多撥 Openwrt,pb boot直刷 2022-6-11 237176253
固件源碼https://github.com/padavanonly/immortalwrt
[PRO(R3P)] 6月4日-小米路由器PRO(R3P)刷入PandoraBox 19.02,測(cè)試完美,穩(wěn)定 2019-6-4 22:16 laomao9000
[PRO(R3P)] R3P-自編譯openwrt R22.5.5 -6.10 一條寂寞的魚(yú) 2022-6-10
https://github.com/coolsnowwolf/lede
[PRO(R3P)] R3P支持PB-boot的基于4.4內(nèi)核padavan來(lái)啦~ :8258252 提到 4.4 upnp有問(wèn)題,打不開(kāi)
[PRO(R3P)] 小米路由器pro r3p 最全最新openwrt固件及全套插件庫(kù) 2021/7/3 openwrtr3p
https://github.com/coolsnowwolf/lede
包含openwrt所有插件300M.無(wú)法識(shí)別USB 如U盤(pán) 硬盤(pán) 是不是沒(méi)有安裝 kmod-usb-storage kmod-usb-storage-extras
[PRO(R3P)] 小米R(shí)3P 魔改Breed 多種內(nèi)存頻率 PandoraBox lyh802 2021-10-21 22:44
pangubox r3p 的備份 2018
[PRO(R3P)] 小米路由器R3P拆機(jī)_NAND改SPI(內(nèi)含高清圖慎入) 2018-11-13 zyguowei
[PRO(R3P)] 【20220701:每周六更新】固件發(fā)布 R3P OP (小米路由 3 Pro) 2020-8-28 然后七年
【教程】親測(cè)小米路由器3成功從padavan刷回原廠固件 ago 2017-5-30 :原廠固件自帶usb恢復(fù)功能
PROMETHEUS 俄羅斯作品:Xiaomi MI-MINI, MI-NANO, MI-3 ASUS…代碼也不是很長(zhǎng)
原理是修改數(shù)據(jù)強(qiáng)制 UBoot 進(jìn)入恢復(fù)模式(小米官方固件自帶的功能),然后插 U 盤(pán)就可以恢復(fù)了。
小米路由器R3G刷回原廠固件 2022-05-24 奔跑的咸魚(yú):512KB 的bl。刷完原廠bl之后還有breed?原廠bl不會(huì)覆蓋掉breed嗎?實(shí)驗(yàn)結(jié)果表面到刷原廠固件的時(shí)候,breed 無(wú)法識(shí)別固件類(lèi)型,沒(méi)法更新固件。原廠 bootloader 和 eeprom 都可以更新。
進(jìn)入breed控制臺(tái) -> 更新固件 -> 常規(guī)固件,勾選Bootloader選擇下載好的小米原廠Bootloader,點(diǎn)擊上傳按鈕
進(jìn)入breed控制臺(tái) -> 更新固件 -> 常規(guī)固件,選擇之前下載好的小米原廠固件,點(diǎn)擊上傳按鈕
[小米其它型號(hào)路由器] 小米路由器3從第三方固件刷回官方固件 醉老仙 2020-5-8:試驗(yàn)了下好像不太行,可能是型號(hào)問(wèn)題
當(dāng)前為pandorabox、X-wrt、openwrt刷回官方,uboot為pb-oot
進(jìn)入pb-boot刷官方固件包
完成后執(zhí)行U盤(pán)刷機(jī)
下載官方固件,放在u盤(pán)根目錄,命名為miwifi.bin
路由器斷電,插入U(xiǎn)盤(pán),插電,按住reset,等待指示橙色慢閃后松開(kāi)文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-484747.html
[UBOOT-TTL]小米路由器救磚或刷機(jī)指南(R3P為例) 不l明l白 2020.07.02文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-484747.html
到了這里,關(guān)于小米路由器Pro R3p 刷機(jī) Breed Padavan OpenWrt UART/TTL 救援的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!