20200220_jeffrey - silenceuncrio/diary GitHub Wiki

0840

review

  • task - M360P - P2 - BGP status for every neighbors
    • 還沒開工
  • issue - 0000922: sometimes when browser issue cgi request, some cgi will response 401 even we already login
    • 全平台都有的問題
    • M300[develop] - done
      • M300[develop] - output information base on different error
      • M300[develop] - web session bug
    • m330 - 待完成
    • m350[develop] - done
      • m350[develop] - output information base on different error
      • m350[develop] - web session bug
    • M360P - 待完成
  • 未上線 issue - firmware upgrade 時 web.log 會被 lighttpd 本身這個 process 塞爆
  • issue - 0000923: change CID and upgrade firmware, the HW MCSV will change to SW MCSV
    • 發生在 M300
    • M300[develop] - fix bug - issue - 0000923: change CID and upgrade firmware, the HW MCSV will change to SW MCSV
    • 下班前有時間記得 build 個完整的 image 再作測試
      • PASS
  • task - Please port Advice Web UI style from M300 into M330.
    • m330 要出貨囉
    • 急件 - 明天要 release
    • m330p[release/v1.00] - customize web ui for profile ADVICE/0_ADVICE_WIFI
  • task - Please help CID=82 is also CTCU web ui style.
    • m330
    • 急件 - 明天要 release
    • m330[release/v1.00] - customize web ui for profile CTCU/2_CTCU-CHT
  • bug - M300 - GPS Track 就算抓到了座標但沒有地圖
    • 已找到 root cause
    • M300[develop] - Include the leaflet-directive dependency on out Angular module

0915

直接修改 PC 端 git checkout 下來的 FirmwareUpgradeAPI.sh

然後 M300 利用 tftp 直接拉 PC 端來蓋掉自己的 /usr/sbin/icos/FirmwareUpgradeAPI.sh

準備好 ICG-2420G-LTE_v2.03_0136008020330E18.img

  • 由 profile M300/11_PLANET2 所產生
    • BRAND_ID_XXX=80 (CID)
  • PLANET 自己的 profile 是 M300/2_PLANET
    • BRAND_ID_XXX=2 (CID)
  • CID 80 是 planet 自己的客戶
    • CID 2 可以 upgrade 成 CID 80
    • CID 80 不可以 upgrade 成 CID 2

修改 M300 上的 /tmp/etc/sysinfo.txt 方便模擬測試

HW_MCSV=0137000200000000

  • Product ID = 311 (M301-G)
  • CID = 0002 - M300/2_PLANET
root@m300:~# cat /tmp/etc/sysinfo.txt
BOOTLOADER_VER=1.0
MAC=random
HW_MCSV=0137000200000000
SERIALNO=NA
APP_PRIMARY=a
DUAL_IMAGE_A_MCSV=0136007120230E1B
DUAL_IMAGE_B_MCSV=0136007120230E1B

記得也要透過 fw_setenv 來修改 uboot env - hw_mcsv

root@m300:/tmp# fw_setenv hw_mcsv 0137000200000000
root@m300:/tmp# fw_printenv | grep hw_mcsv
hw_mcsv=0137000200000000

M300 用 tftp 把 ICG-2420G-LTE_v2.03_0136008020330E18.img 拉到自己的 /tmp

tmp#
root@m300:/tmp# ls -al
drwxrwxrwt    9 root     root           400 Feb 20 01:30 .
drwxrwxrwt    4 root     root            80 Jan  1  1970 ..
-rw-r--r--    1 root     root      42741760 Feb 20 01:29 ICG-2420G-LTE_v2.03_0136008020330E18.img
...

實際用 shell 作一次 firmware upgrade

m300:/tmp# firmwareUpgrade.sh /tmp/ICG-2420G-LTE_v2.03_0136008020330E18.img
azuretec: 0
nandflash: 100
cfile: 0

Upgrading the firmware for 'NAND Flash' storage memory ...

Extract the tared firmware ...
tar -C /tmp -xf /tmp/ICG-2420G-LTE_v2.03_0136008020330E18.img
Extract the tared firmware 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: 0136008020330E18
software MCSV-MMMM: 0136
software MCSV-CCCC: 0080
hardware MCSV: 0137000200000000
hardware MCSV-MMMM: 0137
hardware MCSV-CCCC: 0002
Hardware customer ID is '0002' - PLANET
Software Customer ID is '0002' or '0008'
Allow to upgrade
MCSV check succeeded

Burn the kernel to NAND Flash ...
...

看看 uboot env - hw_mcsv

root@m300:/tmp# fw_printenv | grep hw_mcsv
hw_mcsv=0136008020330E18

果然 Product ID 從 0137 被改成 0136 了

bug!!!

改吧

1315

修改如下

diff --git a/proscend/prosrc/icos/script/FirmwareUpgradeAPI.sh b/proscend/prosrc/icos/script/FirmwareUpgradeAPI.sh
index ea9d9b9..b0d527c 100755
--- a/proscend/prosrc/icos/script/FirmwareUpgradeAPI.sh
+++ b/proscend/prosrc/icos/script/FirmwareUpgradeAPI.sh
@@ -217,6 +217,8 @@ function mcsv_check {
     log "software MCSV-MMMM: ${sw_mcsv_mmmm}"
     sw_mcsv_cccc=$(echo ${sw_mcsv} | cut -c 5-8)
     log "software MCSV-CCCC: ${sw_mcsv_cccc}"
+    sw_mcsv_sssvvvvv=$(echo ${sw_mcsv} | cut -c 9-16)
+    log "software MCSV-SSSVVVVV: ${sw_mcsv_sssvvvvv}"

     hw_mcsv=$(cat /tmp/etc/sysinfo.txt | grep HW_MCSV | cut -c 9-24)
     if [ -z "${hw_mcsv}" ]; then
@@ -231,6 +233,8 @@ function mcsv_check {
     log "hardware MCSV-MMMM: ${hw_mcsv_mmmm}"
     hw_mcsv_cccc=$(echo ${hw_mcsv} | cut -c 5-8)
     log "hardware MCSV-CCCC: ${hw_mcsv_cccc}"
+    hw_mcsv_sssvvvvv=$(echo ${hw_mcsv} | cut -c 9-16)
+    log "hardware MCSV-SSSVVVVV: ${hw_mcsv_sssvvvvv}"



@@ -344,10 +348,14 @@ function mcsv_check {
         else
             log "Software Customer ID is not '0000' or '0001'"
             log "Allow to upgrade"
-            log "Reject other Customer ID"
             log "MCSV check succeeded"
             progress_status "MCSV check succeeded"
-            fw_setenv hw_mcsv ${sw_mcsv}
+
+            new_hw_mcsv="$hw_mcsv_mmmm$sw_mcsv_cccc$hw_mcsv_sssvvvvv"
+            log "The hardware MCSV need to be replaced since the CID changed"
+            log "original hardware MCSV: ${hw_mcsv}"
+            log "new      hardware MCSV: ${new_hw_mcsv}"
+            fw_setenv hw_mcsv ${new_hw_mcsv}
         fi
     elif [ "${hw_mcsv_cccc}" == "0002" ]
     then
@@ -358,7 +366,12 @@ function mcsv_check {
             log "Allow to upgrade"
             log "MCSV check succeeded"
             progress_status "MCSV check succeeded"
-            fw_setenv hw_mcsv ${sw_mcsv}
+
+            new_hw_mcsv="$hw_mcsv_mmmm$sw_mcsv_cccc$hw_mcsv_sssvvvvv"
+            log "The hardware MCSV need to be replaced since the CID maybe changed"
+            log "original hardware MCSV: ${hw_mcsv}"
+            log "new      hardware MCSV: ${new_hw_mcsv}"
+            fw_setenv hw_mcsv ${new_hw_mcsv}
         else
             log "Error: Customer ID not match, MCSV check failed"
             progress_fail "Error: Customer ID not match, MCSV check failed"
(END)

在 hw_mcsv 為 0137000200000000 的情況下 upgrade MCSV 為 0136008020330E18 的 firmware

  • new hardware MCSV: 0137008000000000
  • PASS

相關 log 如下

MCSV check ...
mcsv.enc exist, decrypt it and check with hardware MCSV
decrypt mcsv.en
software MCSV: 0136008020330E18
software MCSV-MMMM: 0136
software MCSV-CCCC: 0080
software MCSV-SSSVVVVV: 20330E18
hardware MCSV: 0137000200000000
hardware MCSV-MMMM: 0137
hardware MCSV-CCCC: 0002
hardware MCSV-SSSVVVVV: 00000000
Hardware customer ID is '0002' - PLANET
Software Customer ID is '0002' or '0008'
Allow to upgrade
MCSV check succeeded
The hardware MCSV need to be replaced since the CID maybe changed
original hardware MCSV: 0137000200000000
new      hardware MCSV: 0137008000000000

在 hw_mcsv 為 0137000000000000 的情況下 upgrade MCSV 為 0136008020330E18 的 firmware

  • new hardware MCSV: 0137008000000000
  • PASS

相關 log 如下

MCSV check ...
mcsv.enc exist, decrypt it and check with hardware MCSV
decrypt mcsv.en
software MCSV: 0136008020330E18
software MCSV-MMMM: 0136
software MCSV-CCCC: 0080
software MCSV-SSSVVVVV: 20330E18
hardware MCSV: 0137000000000000
hardware MCSV-MMMM: 0137
hardware MCSV-CCCC: 0000
hardware MCSV-SSSVVVVV: 00000000
Hardware customer ID is '0000' or '0001'
Software Customer ID is not '0000' or '0001'
Allow to upgrade
MCSV check succeeded
The hardware MCSV need to be replaced since the CID changed
original hardware MCSV: 0137000000000000
new      hardware MCSV: 0137008000000000

可以上 code 了

M300[develop] - fix bug - issue - 0000923: change CID and upgrade firmware, the HW MCSV will change to SW MCSV

commit 1ef5d4d85b89dc9d58078e293cc0ae7ce98f9f42
Refs: [develop], {origin/develop}
Author: jeffrey <[email protected]>
Date:   Thu Feb 20 13:20:06 2020 +0800

    fix bug - issue - 0000923: change CID and upgrade firmware, the HW MCSV will change to SW MCSV

 proscend/prosrc/icos/script/FirmwareUpgradeAPI.sh | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

下班前有時間記得 build 個完整的 image 再作測試

1325

  • task - Please port Advice Web UI style from M300 into M330.

切到 m330 作急件 一樣使用 VMware jbox

m330[release/v1.00]

  • Vendor/Products = ADVICE/0_ADVICE_WIFI

記得要從 generic 來作 upgrade

確認 icon 有換掉

1450

確認無誤 上 code

m330p[release/v1.00] - customize web ui for profile ADVICE/0_ADVICE_WIFI

commit 18b3e17e4249118a1499c67ece871a492af1be79
Refs: [release/v1.00], {origin/release/v1.00}
Author: jeffrey <[email protected]>
Date:   Thu Feb 20 14:54:48 2020 +0800

    customize web ui for profile ADVICE/0_ADVICE_WIFI

 proscend/prosrc/www/Makefile                       |   2 +
 .../www/brand_advice/app/images/signal-0.png       | Bin 0 -> 9503 bytes
 .../www/brand_advice/app/images/signal-1.png       | Bin 0 -> 5878 bytes
 .../www/brand_advice/app/images/signal-2.png       | Bin 0 -> 6176 bytes
 .../www/brand_advice/app/images/signal-3.png       | Bin 0 -> 6493 bytes
 .../www/brand_advice/app/images/signal-4.png       | Bin 0 -> 6548 bytes
 proscend/prosrc/www/brand_advice/brand/bottom.html |   2 +
 proscend/prosrc/www/brand_advice/brand/custom.css  |  53 +++++++++++++++++++++
 proscend/prosrc/www/brand_advice/brand/top.png     | Bin 0 -> 77130 bytes
 .../prosrc/www/brand_advice/src/brand/top.html.src |  53 +++++++++++++++++++++
 10 files changed, 110 insertions(+)

1500

  • task - Please help CID=82 is also CTCU web ui style.

m330[release/v1.00]

  • Vendor/Products = CTCU/2_CTCU-CHT

m330[release/v1.00] - customize web ui for profile CTCU/2_CTCU-CHT

  • same as CTCU/0_CTCU
commit e78ee899e8476cf1ded502f6fd184628591aa2ac
Refs: [release/v1.00], {origin/release/v1.00}
Author: jeffrey <[email protected]>
Date:   Thu Feb 20 15:22:54 2020 +0800

    customize web ui for profile CTCU/2_CTCU-CHT
    - same as CTCU/0_CTCU

 proscend/prosrc/www/Makefile | 2 ++
 1 file changed, 2 insertions(+)

1530

  • bug - M300 - GPS Track 就算抓到了座標但沒有地圖

順利找到問題並修正

不過 index.html 不改的話原本的網頁會失敗在 angular 跟 jquery 相關的 dependency injection

沒去追問題

只是參考 m330 的 index.html 修正了 M300 的 index.html

一切就正常了

重新 build 個 image 試試看


PASS 上 code

M300[develop] - Include the leaflet-directive dependency on out Angular module

commit 6ed8bd5eb6536f2cbbc01dbdadb00931baf92813
Refs: [develop], {origin/develop}
Author: jeffrey <[email protected]>
Date:   Thu Feb 20 16:19:00 2020 +0800

    Include the leaflet-directive dependency on out Angular module

 proscend/prosrc/www/app/app.module.js  | 16 +++++++++++++++-
 proscend/prosrc/www/src/index.html.src | 16 ++++++++--------
 2 files changed, 23 insertions(+), 9 deletions(-)

1705

解掉的 issue 關掉吧

M300