WR720N硬改16M flash
flash分割槽結構
-
通過命令列
dmesg |grep spi |grep Kbytes
可檢視flash型號及容量[ 0.760591] m25p80 spi0.0: w25q128 (16384 Kbytes)
-
通過
dmesg
命令檢視系統啟動log,找到有如下提示# 16M flash op系統分割槽結構 [ 0.775662] 0x000000000000-0x000000020000 : "u-boot" [ 0.782384] 0x000000020000-0x000000153404 : "kernel" [ 0.787855] 0x000000153404-0x000000ff0000 : "rootfs" [ 0.803829] 0x000000390000-0x000000ff0000 : "rootfs_data" [ 0.811128] 0x000000ff0000-0x000001000000 : "art" [ 0.816478] 0x000000020000-0x000000ff0000 : "firmware" # 8M flash op系統分割槽結構 [ 0.710000] 0x000000000000-0x000000020000 : "u-boot" [ 0.720000] 0x000000020000-0x00000012e620 : "kernel" [ 0.730000] 0x00000012e620-0x0000003f0000 : "rootfs" [ 0.760000] 0x000000350000-0x0000003f0000 : "rootfs_data" [ 0.770000] 0x0000003f0000-0x000000400000 : "art" [ 0.770000] 0x000000020000-0x0000003f0000 : "firmware"
-
通過
cat /proc/mtd
也可以檢視(mtd是一個openwrt管理flash的工具,erasesize 為單位擦除的最小單位)# 16M flash op dev: size erasesize name mtd0: 00020000 00010000 "u-boot" #bootloader載入程式,可以用bread代替 mtd1: 00133404 00010000 "kernel" #韌體核心 mtd2: 00e9cbfc 00010000 "rootfs" #韌體分割槽檔案系統子集 mtd3: 00c60000 00010000 "rootfs_data" #韌體分割槽檔案系統子集 可寫分割槽子集 mtd4: 00010000 00010000 "art" #無線校準引數 發揮無線最佳工作效果 mtd5: 00fd0000 00010000 "firmware" #韌體分割槽
-
分割槽結構示意圖
rootfs區域掛載
/
系統根目錄;rootfs_data區域掛載/overlay
目錄,作為系統啟動後系統檔案修改時的記錄區,以便恢復系統;中間的區域掛載系統的其他部分即/rom
目錄 -
使用dd命令備份flash
通過命令列
ls /dev/mtd*
可以檢視到掛載的mtd裝置,與命令列cat /proc/mtd
中的mtd對應,其中的mtd*ro就是供flash讀取的dd if=/dev/mtd0ro of=/tmp/uboot.bin dd if=/dev/mtd5ro of=/tmp/firmware.bin
-
還原flash(貌似還原art不行)
mtd -r write rootfs_data.bin rootfs_data
-
總結
更換flash晶片時,需要先備份原系統的art區無線校驗資料,先使用程式設計器將uboot.bin(bread.bin)刷入flash晶片,最後使用uboot.bin升級系統韌體以及刷入備份的art檔案
最初,路由器將其無線校驗資料儲存於eeprom中,因此網上eeprom的叫法也即是無線校驗區,art、factory只是其中的一種,因為晶片型號不一樣,因此叫法不一樣,該區還儲存了路由器的mac地址等資料,刷機後最好使用uboot將mac地址還原為原地址,否則有可能造成無線的不正常工作
-
參考文件
flash晶片
-
SPI FLASH與NOR FLASH
- SPI FLASH是NOR FLASH的一種
- NOR FLASH根據資料傳輸的位數可以分為並行(Parallel)NOR Flash和序列(SPI)NOR Flash
- SPI Nor Flash比parallel便宜,介面簡單點,但速度慢
- 路由器的Flash即是spi nor flash,WQ25系列在路由器上用的較多
-
參考文件
串列埠控制檯
WR720N的電路板上有兩個焊點,TP_IN和TP_OUT,將USB-TTL的RX焊接到TP_IN,TX焊接到TP_OUT,即可通過串列埠終端檢視系統的啟動過程,刷磚備用
刷機過程
-
使用TP原裝的web刷入op系統,openwrt-ar71xx-generic-tl-wr720n-v3-squashfs-factory.bin
-
利用
dd if=/dev/mtd4ro of=/tmp/art.bin
備份出art無線校驗資料,然後使用scp工具匯出 -
使用程式設計器將bread寫入新的flash,bread下載地址為breed-ar9331-wr710n_wr720n-r1163.bin
-
焊接換上新的flash,長按恢復物理鍵,上電啟動bread,如果led閃爍則啟動正常
-
通過bread的web刷入新的op系統以及art備份
Openwrt針對每種路由器提供兩個韌體檔案,factory.bin用於路由器原廠韌體初次改刷為Openwrt使用,sysupgrade.bin用於從舊版本Openwrt升級到新版使用
參考連結
TP-LINK WR720N v3 刷OpenWrt 完美翻牆