20170828_jeffrey - silenceuncrio/diary GitHub Wiki

0915

先釐清一下來自 CXR 的抱怨

Jeffrey,為何cxr的GPS板子可以燒不是GPS的image呢?他寫信抱怨燒錯Image導致GPS畫面不見了。我一頭霧水,我們不是有卡mscv嗎?

拿一片利用 mfgtool M310_GPS_v1.54_0136000015429B48_mfgtools.rar 做燒錄

開機先設定 hw_mcsv

=> printenv hw_mcsv
## Error: "hw_mcsv" not defined
=> setenv hw_mcsv 0136000000000000
=> save
Saving Environment to NAND...
Erasing NAND...
Erasing at 0x3e0000 -- 100% complete.
Writing to NAND... OK
=> printenv hw_mcsv
hw_mcsv=0136000000000000

1000

透過 WEB UI 試著 upgrade 成沒有 GPS 的 M300_v1.54_012C000015429B48.img

一看到 /tmp/FirmwareUpgrade.log 我呆掉了

bash-4.3# cat /tmp/FirmwareUpgrade.log
firmware upgrade shell script start...

Extract the tared firmware
Extract all files from /tmp/firmware.upload
tar -C /tmp -xf /tmp/firmware.upload succeeded

MD5 sums check...
firmware.md5 exist, read MD5 sums from it and check them
MD5 sums check succeeded

MCSV check...
mcsv.enc exist, decrypt it and check with hardware MCSV
decrypt mcsv.en
software MCSV: 012C000015429B48
software MCSV-MMMM: 012C
software MCSV-CCCC: 0000
hardware MCSV: 012C000000000000
hardware MCSV-MMMM: 012C
hardware MCSV-CCCC: 0000
Hardware customer ID is '0000' or '0001'
Software Customer ID is '0000' or '0001'
allow to upgrade

hardware MCSV-MMMM: 012C - 很明顯的 bug ㄚ

1020

再次重開機先進 uboot

發現 hw_mcsv 被改掉了

=> printenv hw_mcsv
hw_mcsv=012C000000000000

哪個環節被改掉的呢?

先改回來

=> setenv hw_mcsv 0136000000000000
=> save
Saving Environment to NAND...
Erasing NAND...
Erasing at 0x3e0000 -- 100% complete.
Writing to NAND... OK
=> printenv hw_mcsv
hw_mcsv=0136000000000000

開機進 linux

再透過 WEB UI 來 upgrade 成沒有 GPS 的 M300_v1.54_012C000015429B48.img

bash-4.3# cat /tmp/FirmwareUpgrade.log
firmware upgrade shell script start...

Extract the tared firmware
Extract all files from /tmp/firmware.upload
tar -C /tmp -xf /tmp/firmware.upload succeeded

MD5 sums check...
firmware.md5 exist, read MD5 sums from it and check them
MD5 sums check succeeded

MCSV check...
mcsv.enc exist, decrypt it and check with hardware MCSV
decrypt mcsv.en
software MCSV: 012C000015429B48
software MCSV-MMMM: 012C
software MCSV-CCCC: 0000
hardware MCSV: 0136000000000000
hardware MCSV-MMMM: 0136
hardware MCSV-CCCC: 0000
Error: Model ID not match, MCSV check failed
bash-4.3# timed out waiting for input: auto-logout
Mobile Router#

這次就對了

所以應該是寫 hw_mcsv 的時間點

故意把 uboot env 的 uboot_env_ver 清掉

bash-4.3# fw_setenv uboot_env_ver

確定重開機有觸發 patching for the current applicaiton

Running local boot scripts (/etc/rc.local)## Error: "uboot_env_ver" not defined
uboot_env_ver not match, patching for the current applicaiton

找到是哪個環節去修改 hw_mcsv

bash-4.3# fw_printenv hw_mcsv
hw_mcsv=012C000000000000

uboot_env.sh 只要一被觸發就會做下述的事情

# set default hardware MCSV and serial number

fw_setenv hw_mcsv '012C000000000000'
fw_setenv serialno 'NA'

所以整個生產的環節

決定 hw_mcsv 的時間點要在 uboot_env.sh 被觸發之後

1135

目前已經跟 JB 確認他們設定 hw_mcsv 都是在 linux 做的

uboot_env.sh 先保持不動

已經告知生產單位該設備的序號讓他們去盤一下是哪邊漏了

1320

進行 OSPF

1440

ospf 這個 protocol 比起 rip 來的複雜很多

看來這個禮拜視作不完了

索性就規規矩矩的理解該 protocol 吧

1600

目前在看 OSPF Design Guide

內容真的是多到蠻難消化的

而且我覺得之前的 RIP WEB UI 還要調整過

不應該從 RIP 為一個單位去看事情

而是 M300 的每個 interface 是否要開啟 RIP 服務

另一個問題是 - 同一個 interface 上我可以又啟動 RIP 又啟動 OSPF 嗎 ?

目前從 OSPF Design Guide 得到的趕寫是不行的

1635

參考 http://www.racom.eu/eng/products/m/midge1/web_conf.html 可以得到 OSPF 的設計靈感

這個 產品 跟我們的 M300 很類似

1710

monkeyjj time

再看 ospf 會頭昏