PCZONE 討論區

PCZONE 討論區 (https://www.pczone.com.tw/vbb3/)
-   -- 網 路 硬 體 版 (https://www.pczone.com.tw/vbb3/forum/16/)
-   -   【問題】mzk-w04nu? ttl? (https://www.pczone.com.tw/vbb3/thread/16/152241/)

pc054999 2010-11-26 01:50 PM

回覆: 【問題】mzk-w04nu? ttl?
 
我今天刷了
[URL="http://downloads.openwrt.org/snapshots/trunk/ar71xx/"]/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-mzk-w04nu-squashfs-factory.bin[/URL]7680kb
[URL="http://downloads.openwrt.org/backfire/10.03.1-rc4/ar71xx/"]/backfire/10.03.1-rc4/ar71xx/openwrt-ar71xx-mzk-w04nu-squashfs-factory.bin[/URL]7680kb
用下面這些指令
[CODE]ar7100> erase 0xbf050000 +0x790000
ar7100> setenv serverip 192.168.1.11; setenv ipaddr 192.168.1.1
ar7100> tftp 0xa0800000 openwrt-ar71xx-mzk-w04nu-squashfs.bin
ar7100> cp.b 0xa0800000 0xbf050000 0x780000
ar7100> reset[/CODE]
reset後,都是出現Bad Magic Number

請問一下trunk版指的是[URL="http://downloads.openwrt.org/snapshots/trunk/ar71xx/"]http://downloads.openwrt.org/snapshots/trunk/ar71xx/[/URL]這種?
還是凡是7680kb的都算trunk版?

7616kb的backfire10.03-rc3用
[CODE]ar7100> erase 0xbf050000 +0x790000
ar7100> setenv serverip 192.168.1.11; setenv ipaddr 192.168.1.1
ar7100> tftp 0xa0800000 openwrt-ar71xx-mzk-w04nu-squashfs.bin
ar7100> cp.b 0xa0800000 0xbf050000 0x770000
ar7100> reset[/CODE]
可以過
[CODE]### main_loop: bootcmd="bootm 0xbf050000"
Hit any key to stop autoboot: 0
## Booting image at bf050000 ...[/CODE]
還是ping不到機器
wan部分設定好 opkg update可以連出

FYI 2010-11-26 07:22 PM

[QUOTE=pc054999;1098506]我今天刷了
[URL="http://downloads.openwrt.org/snapshots/trunk/ar71xx/"]/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-mzk-w04nu-squashfs-factory.bin[/URL]7680kb
[URL="http://downloads.openwrt.org/backfire/10.03.1-rc4/ar71xx/"]/backfire/10.03.1-rc4/ar71xx/openwrt-ar71xx-mzk-w04nu-squashfs-factory.bin[/URL]7680kb
用下面這些指令
[CODE]ar7100> erase 0xbf050000 +0x790000
ar7100> setenv serverip 192.168.1.11; setenv ipaddr 192.168.1.1
ar7100> tftp 0xa0800000 openwrt-ar71xx-mzk-w04nu-squashfs.bin
ar7100> cp.b 0xa0800000 0xbf050000 0x780000
ar7100> reset[/CODE]
reset後,都是出現Bad Magic Number[/QUOTE]
tftp 之後的檔名有隨著更改嗎?
[CODE]ar7100> erase 0xbf050000 +0x790000
ar7100> setenv serverip 192.168.1.11; setenv ipaddr 192.168.1.1
ar7100> tftp 0xa0800000 檔名
ar7100> cp.b 0xa0800000 0xbf050000 ${filesize}
ar7100> iminfo 0xa0800000 0xbf050000[/CODE]
請比較iminfo 結果有無不同

也有可能是沒修改partition table 的原因, 請於U-Boot 執行以下指令, 並貼出結果:
[CODE]ar7100> printenv
ar7100> printenv partition
ar7100> printenv mtdids
ar7100> printenv mtdparts
ar7100> mtdparts[/CODE]
[URL="http://www.denx.de/wiki/DULG/Manual"]U-Boot Manual < DULG < DENX[/URL]
[QUOTE=pc054999;1098506]還是ping不到機器
wan部分設定好 opkg update可以連出[/QUOTE]
請提供/etc/config/network

[url]http://downloads.openwrt.org/snapshots/trunk/[/url] 這是隨時更新的測試版 (trunk)

pc054999 2010-11-26 09:04 PM

回覆: 【問題】mzk-w04nu? ttl?
 
tftp我是把下載好的檔案分別放不同資料夾
再用tftpd64指定資料夾

[CODE]ar7100> cp.b 0xa0800000 0xbf050000 ${filesize}[/CODE]
filesize的部分
我照著tftp上去後
所顯示 (780000 hex)或著(770000 hex)
來做更改 0x780000 或者 0x770000
晚一點我重新刷truck版,我會利用iminfo 0xa0800000 0xbf050000來檢查tftp的檔案和cb過去的檔案是不是相符

下面是我目前的u-boot
[CODE]ar7100> printenv
bootargs=console=ttyS0,115200 root=31:03 rootfstype=jffs2 init=/sbin/init mtdparts=ar7100-nor0:256k(u-boot),64k(u-boot-env),1408k(uImage),6208k(rootfs),128k(config),128k(ART)
bootcmd=bootm 0xbf050000
bootdelay=4
baudrate=115200
ethaddr=0x00:0xaa:0xbb:0xcc:0xdd:0xee
ipaddr=192.168.1.10
serverip=192.168.1.230
stdin=serial
stdout=serial
stderr=serial
ethact=eth0

Environment size: 362/65532 bytes
ar7100> printenv partition
## Error: "partition" not defined
ar7100> printenv mtdids
## Error: "mtdids" not defined
ar7100> printenv mtdparts
## Error: "mtdparts" not defined

ar7100> mtdparts
mtdparts variable not set, see 'help mtdparts'
no partitions defined

defaults:
mtdids : nor0=ar7100-nor0
mtdparts: mtdparts=ar7100-nor0:256k(u-boot),64k(u-boot-env),1408k(uImage),6208k(rootfs),128k(config),128k(ART)
[/CODE]
我大概看了一下[URL="http://www.denx.de/wiki/view/DULG/UBootCmdGroupEnvironment#Section_5.9.6.1."]5.9.6.1. printenv- print environment variables[/URL]
我需要用setenv這個指令定義什麼嗎?

/etc/config/network 晚一點我在補上

謝謝 麻煩了

FYI 2010-11-27 12:48 AM

[QUOTE=pc054999;1098525][CODE]ar7100> cp.b 0xa0800000 0xbf050000 ${filesize}[/CODE][/QUOTE]
"${filesize}" 是指令的一部分, 隨tftp 檔案長度而改變

以tftp 載入韌體之後, 請立即以 "iminfo" 檢查格式, 而 "Bad Magic Number" 解決方法請看 "[URL="https://forum.openwrt.org/viewtopic.php?pid=111857#p111857"]OpenWrt / MZK-W04NU with 10.03[/URL]"

不過小弟並未下載韌體, 所以謹提供另一則修改Magic Number 和計算CRC32 的方法, "[URL="https://forum.openwrt.org/viewtopic.php?pid=96454#p96454"]OpenWrt / WNDR3700 exploration[/URL]", 只是小弟不確定Planex & Linksys 韌體檔頭長度是否相同, 但Magic Number 應該是不同的

pc054999 2010-11-27 03:41 AM

回覆: 【問題】mzk-w04nu? ttl?
 
/etc/config/network,ifconfig 部分
我只有設定下面這些其他都是預設
option proto static
option ipaddr xx.xx.xx.xx
option netmask 255.255.255.0
option gateway xx.xx.xx.xx
option dns 61.64.127.1 61.64.127.2
[CODE]root@OpenWrt:~# cat /etc/config/network
config interface loopback
option ifname lo
option proto static
option ipaddr 127.0.0.1
option netmask 255.0.0.0

config interface lan
option ifname eth0
option type bridge
option proto static
option ipaddr 192.168.1.1
option netmask 255.255.255.0

config interface wan
option ifname eth1
option proto static
option ipaddr xx.xx.xx.xx
option netmask 255.255.255.0
option gateway xx.xx.xx.xx
option dns 61.64.127.1 61.64.127.2

root@OpenWrt:~# opkg update
Downloading http://downloads.openwrt.org/backfire/10.03-rc3/ar71xx/packages/Packages.gz.
Inflating http://downloads.openwrt.org/backfire/10.03-rc3/ar71xx/packages/Packages.gz.
Updated list of available packages in /var/opkg-lists/packages.

root@OpenWrt:/# ifconfig
br-lan Link encap:Ethernet HWaddr 00:22:CF:04:DF:57
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:402 (402.0 B)

eth0 Link encap:Ethernet HWaddr 00:22:CF:04:DF:57
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:179 errors:0 dropped:0 overruns:0 frame:0
TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:28955 (28.2 KiB) TX bytes:1449 (1.4 KiB)
Interrupt:4

eth1 Link encap:Ethernet HWaddr 00:22:CF:04:DF:58
inet addr:xx.xx.xx.xx Bcast:xx.xx.xx.xx Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:256 errors:0 dropped:0 overruns:0 frame:0
TX packets:198 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:232438 (226.9 KiB) TX bytes:23342 (22.7 KiB)
Interrupt:5

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:17 errors:0 dropped:0 overruns:0 frame:0
TX packets:17 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1659 (1.6 KiB) TX bytes:1659 (1.6 KiB)
[/CODE]

[QUOTE]以tftp 載入韌體之後, 請立即以 "iminfo" 檢查格式, 而 "Bad Magic Number" 解決方法請看 "OpenWrt / MZK-W04NU with 10.03"[/QUOTE]
我用UltraEdit開啟trunk版,刪除27 05 19 56前面的東西
現在換Bad Header Checksum了,這兩個方法,我在研究看看
我現在應該要找出正確的Header CRC 修改上去才會通過

FYI 2010-11-27 05:34 PM

[QUOTE=pc054999;1098536]我用UltraEdit開啟trunk版,刪除27 05 19 56前面的東西
現在換Bad Header Checksum了,這兩個方法,我在研究看看
我現在應該要找出正確的Header CRC 修改上去才會通過[/QUOTE]
由於小弟沒空研究檔頭, 請比較7616KB & 7680KB 兩者有何不同? Magic Number 是否27 05 19 56? 檔頭是否64bytes? 另外小弟懷疑檔案長度可能必須是64KB 的倍數, 所以你刪除多少, 可能也得補上多少
[QUOTE=pc054999;1098506]wan部分設定好 opkg update可以連出[/QUOTE]
既然eth1 (wan) 正常, 那就和eth0 (lan) 對調 (/etc/config/network), 先設法sysupgrade, 以便測試其他版本

pc054999 2010-11-28 04:39 AM

回覆: 【問題】mzk-w04nu? ttl?
 
正常了,謝謝啦
剛剛試驗我把wan lan對調也沒辦法抓我電腦裡面的upgrade.bin
後來我就直接wget抓網路上的

第一次測試
先從u-boot刷成10.03rc3 7616kb
再用ttl連接openwrt介面wget抓trunk版upgrade.bin
刷上trunk版
設定好wan
可以ping telnet的到,從telnet設定好密碼
ssh連接正常
web介面連接失敗
無法上網---------------------->這點我明天會在試一次
再從ssh 抓10.03.1-rc4 upgrade刷上去
結果機器掛掉

第二次測試
照樣從u-boot刷10.03rc3
抓10.03.1-rc4 upgrade 刷上
ping正常,網路設定完,可以正常連上網

正常的機器(包括其他的機種)可不可以刷trunk版 又刷回舊版?

FYI 2010-11-28 06:37 AM

[QUOTE=pc054999;1098458]原廠的和新版的openwrt都不行
(檔案大小關係? erase cp.b範圍要改?)
openwrt-ar71xx-mzk-m04nu-squashfs-factory.bin 7680kb
mzkw04nu_v10323.bin 7680kb

後來我抓舊的的Backfire 10.03 Released
openwrt-ar71xx-mzk-w04nu-squashfs.bin 7616kb
reset後就通過[/QUOTE]
沒仔細看, 原來是你搞錯了, OpenWrt 韌體有以下之分, 舉例來說:[LIST][*]-squashfs.bin 7798784[*]-squashfs.webui 7798818[*]-factory.bin 7864320[*]-sysupgrade.bin 3670020[/LIST]"-squashfs.webui" 比 "-squashfs.bin" 多了[B]0x22[/B] ([B]34[/B]) Bytes, 而 "-factory.bin" 第0x22 Bytes 開始正是Magic Number "27 05 19 56", 也就是說 "webui" 和 "factory" 都是用來直接從原廠韌體更新網頁升級到OpenWrt 用的, 並非直接用在U-Boot, 難怪你連原廠韌體都刷不過, 而sysupgrade 則是用於已安裝OpenWrt 升級使用
[QUOTE=pc054999;1098536]我用UltraEdit開啟trunk版,刪除27 05 19 56前面的東西
現在換Bad Header Checksum了,這兩個方法,我在研究看看
我現在應該要找出正確的Header CRC 修改上去才會通過[/QUOTE]
小弟以[B][U]未經修改[/U][/B]的10.03.1-rc4 版factory.bin 實驗, 從第0x22 Bytes 開始0x40 Bytes 為檔頭, 其後0x12d85f Bytes 為Image Data (Kernel), 計算其中 "Image Header CRC Checksum" 和 "Image Data CRC Checksum", 兩者都沒有問題, 所以小弟懷疑是否[B][COLOR="Red"]LAN Port (eth0) 或網路線有問題[/COLOR][/B], 導致tftp 載入時出錯:
[CODE]ar7100> setenv serverip 192.168.1.2; setenv ipaddr 192.168.1.1
ar7100> tftp 0x80800000 openwrt-ar71xx-mzk-w04nu-squashfs-factory.bin
ar7100> printenv filesize[/CODE]
請檢查檔案長度 (變數filesize) 是否 "[B]0x770000[/B]/[B]0x780000[/B]/[B]0x790000[/B]" 之一? 正確才繼續, 否則出問題小弟概不負責
[CODE]ar7100> cp.b 0x80800000 0x807fffde ${filesize}
ar7100> iminfo 0x80800000
ar7100> crc32 0x80800000 ${filesize}
ar7100> erase 0xbf050000 +${filesize}
ar7100> cp.b 0x80800000 0xbf050000 ${filesize}
ar7100> iminfo 0xbf050000
ar7100> crc32 0xbf050000 ${filesize}[/CODE]
以下為針對檔案長度為0x780000 的更新方法:
[code]ar7100> setenv serverip 192.168.1.2; setenv ipaddr 192.168.1.1
ar7100> tftp 0x80800000 openwrt-ar71xx-mzk-w04nu-squashfs-factory.bin
ar7100> cp.b 0x80800000 0x807fffde 0x780000
ar7100> iminfo 0x80800000
ar7100> crc32 0x80800000 0x780000
ar7100> erase 0xbf050000 +0x780000
ar7100> cp.b 0x80800000 0xbf050000 0x780000
ar7100> iminfo 0xbf050000
ar7100> crc32 0xbf050000 0x780000[/code]
以上相當於移除factory.bin 前0x22 Bytes, 最後再補上0x22 Bytes 0xff, 若iminfo 出現錯誤就代表tftp (網路) 有問題, 不用浪費時間刷韌體, 以下是驗證步驟, "[B][COLOR="Red"]#[/COLOR][/B]" 之後為註解, 請勿輸入:
[CODE]ar7100> md 0x80800000 0x18
ar7100> crc32 0x80800040 0x12d85f
ar7100> mw 0x80800018 0x???????? #代入以上crc32
ar7100> mw 0x80800004 0
ar7100> crc32 0x80800000 0x40
ar7100> mw 0x80800004 0x???????? #代入以上crc32
ar7100> iminfo 0x80800000 #應該會正確[/CODE]
如果你看懂以上修改方法的話, 不妨恢復原廠韌體, 以便驗證是否網路埠 (LAN1-4) 有問題, 建議先更換網路線, 以免白費工夫
[CODE][FONT="細明體"]#define IH_MAGIC 0x27051956 /* Image Magic Number */
#define IH_NMLEN 32 /* Image Name Length */
typedef struct image_header {
uint32_t ih_magic; /* Image Header Magic Number */
uint32_t ih_hcrc; /* Image Header CRC Checksum */
uint32_t ih_time; /* Image Creation Timestamp */
uint32_t ih_size; /* Image Data Size */
uint32_t ih_load; /* Data Load Address */
uint32_t ih_ep; /* Entry Point Address */
uint32_t ih_dcrc; /* Image Data CRC Checksum */
uint8_t ih_os; /* Operating System */
uint8_t ih_arch; /* CPU architecture */
uint8_t ih_type; /* Image Type */
uint8_t ih_comp; /* Compression Type */
uint8_t ih_name[IH_NMLEN]; /* Image Name */
} image_header_t;[/FONT][/CODE]

FYI 2010-11-28 06:51 AM

[QUOTE=pc054999;1098551]第二次測試
照樣從u-boot刷10.03rc3
抓10.03.1-rc4 upgrade 刷上
ping正常,網路設定完,可以正常連上網

正常的機器(包括其他的機種)可不可以刷trunk版 又刷回舊版?[/QUOTE]
通常只牽涉是否保存上一次的設定, 建議不要保存, 請自行以WinSCP 備份設定

既然確定10.03.1-rc4 堪用, 能否請你按照小弟的方法修改factory.bin, 然後從U-Boot 更新? 小弟想瞭解方法是否正確, 刷機前請記得以iminfo 驗證

此外請勿使用${filesize} 參數, 以策安全

pc054999 2010-11-28 03:32 PM

回覆: 【問題】mzk-w04nu? ttl?
 
[QUOTE]此外請勿使用${filesize} 參數, 以策安全[/QUOTE]
請問一下這句話意思是?
[CODE]ar7100> cp.b 0xa0800000 0xbf050000 ${filesize}[/CODE]
不使用這指令?

[CODE]====check reset button function====
### main_loop entered: bootdelay=4

### main_loop: bootcmd="bootm 0xbf050000"
Hit any key to stop autoboot: 0
ar7100> setenv serverip 192.168.1.11; setenv ipaddr 192.168.1.1
ar7100> tftp 0xa0800000 openwrt.bin
Using eth0 device
TFTP from server 192.168.1.11; our IP address is 192.168.1.1
Filename 'openwrt.bin'.
Load address: 0xa0800000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
##########################################
done
Bytes transferred = 7864320 (780000 hex)
ar7100> iminfo

## Checking Image at a0800000 ...
Bad Magic Number
ar7100> cp.b 0xa0800022 0xa0800000 0x12d95f
ar7100> iminfo

## Checking Image at a0800000 ...
Image Name: MIPS OpenWrt Linux-2.6.32.25
Created: 2010-11-20 4:30:32 UTC
Image Type: MIPS Linux Kernel Image (gzip compressed)
Data Size: 1235039 Bytes = 1.2 MB
Load Address: 80060000
Entry Point: 80060000
Verifying Checksum ... OK

[/CODE]
上面是我剛剛測試的
兩個crc32部分都是正確的
刷上去之後
出現一堆
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000024: 0x7173 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00220024: 0xc0de instead

而原廠的韌體是bad data crc
[CODE]Checking Image at a0800000 ...
Image Name: Linux Kernel Image
Created: 2009-06-16 6:57:48 UTC
Image Type: MIPS Linux Kernel Image (gzip compressed)
Data Size: 1435411 Bytes = 1.4 MB
Load Address: 80002000
Entry Point: 802c9000
Verifying Checksum ... Bad Data CRC[/CODE]


所有時間均為 +8。現在的時間是 01:39 PM



 XML   RSS 2.0   RSS 
本站使用 vBulletin 合法版權程式
站務信箱 : [email protected]

本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。