20190729_jeffrey - silenceuncrio/diary GitHub Wiki

0915

review task

  • M300[develop]
    • P? - open PROSRC_CUSTOMIZE at all possible profile
    • P1 - Unify Health Check into one page
      • 0% - 等 ariel
    • P3 - Layer 2 Encapsulation over GRE (L2oGRE)
      • 未安排 schedule
  • M330[develop]
    • P1 - multi-user
      • end 8/14
    • P2 - Web UI: WAN WiFi
      • 40%
    • P2 - Wizard
      • 0% - 等 Web UI: WAN WiFi

先做 M300[develop] - open PROSRC_CUSTOMIZE at all possible profile


在 source code 目錄 - proscend/mconfig - 看一下目前那些 profile 有開啟該功能

git:(develop) ✗ cd proscend/mconfig
➜  mconfig git:(develop) ✗ grep -r PROSRC_CUSTOMIZE
Config.in:bool 'Customize' PROSRC_CUSTOMIZE
autoconf.h:#undef  PROSRC_CUSTOMIZE
configs/M300E/2_AZURETEC_LTRG101/defconfig:PROSRC_CUSTOMIZE=y
configs/M300E/4_MTK_WIFI/defconfig:# PROSRC_CUSTOMIZE is not set
configs/M300E/1_GPS/defconfig:# PROSRC_CUSTOMIZE is not set
configs/M300E/3_GPS_XENTINO/defconfig:# PROSRC_CUSTOMIZE is not set
configs/M300/12_XENTINO/defconfig:# PROSRC_CUSTOMIZE is not set
configs/M300/4_CTCU/defconfig:# PROSRC_CUSTOMIZE is not set
configs/M300/11_SIERRA/defconfig:# PROSRC_CUSTOMIZE is not set
configs/M300/15_SIERRA_TELWELL/defconfig:# PROSRC_CUSTOMIZE is not set
configs/M300/16_MTK_WIFI/defconfig:# PROSRC_CUSTOMIZE is not set
configs/M300/7_GPS_CXR/defconfig:# PROSRC_CUSTOMIZE is not set
configs/M300/0_GENERIC/defconfig:# PROSRC_CUSTOMIZE is not set
configs/M300/14_NAUTILUS/defconfig:# PROSRC_CUSTOMIZE is not set
configs/M300/2_PLANET/defconfig:# PROSRC_CUSTOMIZE is not set
configs/M300/13_XENTINO_GPS/defconfig:# PROSRC_CUSTOMIZE is not set
configs/M300/1_GPS/defconfig:# PROSRC_CUSTOMIZE is not set
configs/M300/8_GPS_ADVICE/defconfig:# PROSRC_CUSTOMIZE is not set
configs/M300/6_CXR/defconfig:# PROSRC_CUSTOMIZE is not set
configs/M300/9_GPS_TELEWELL/defconfig:# PROSRC_CUSTOMIZE is not set
configs/M300/17_LAN_ADVICE/defconfig:# PROSRC_CUSTOMIZE is not set
configs/M300/10_GPS_HYTEC/defconfig:# PROSRC_CUSTOMIZE is not set
configs/M300/5_XENTINO_MR401G/defconfig:# PROSRC_CUSTOMIZE is not set
configs/M300/3_GPS_PLANET/defconfig:# PROSRC_CUSTOMIZE is not set
configs/LITE/1_GPS/defconfig:# PROSRC_CUSTOMIZE is not set
configs/LITE/0_GPS_XENTINO/defconfig:# PROSRC_CUSTOMIZE is not set
configs/Azuretec/1_OLTRG101/defconfig:PROSRC_CUSTOMIZE=y
configs/Azuretec/2_OLTRG100X/defconfig:PROSRC_CUSTOMIZE=y
configs/Azuretec/0_OLTRG100/defconfig:PROSRC_CUSTOMIZE=y
.config.old:# PROSRC_CUSTOMIZE is not set
.config:# PROSRC_CUSTOMIZE is not set

configs/M300E/2_AZURETEC_LTRG101/defconfig:PROSRC_CUSTOMIZE=y
configs/Azuretec/1_OLTRG101/defconfig:PROSRC_CUSTOMIZE=y
configs/Azuretec/2_OLTRG100X/defconfig:PROSRC_CUSTOMIZE=y
configs/Azuretec/0_OLTRG100/defconfig:PROSRC_CUSTOMIZE=y

這四個 profile 分別對應到的 _BRAND_ID 都是 68

  • Azuretec/0_OLTRG100 - _BRAND_ID=68
  • Azuretec/1_OLTRG101 - _BRAND_ID=68
  • Azuretec/2_OLTRG100X - _BRAND_ID=68
  • M300E/2_AZURETEC_LTRG101 - _BRAND_ID=68

觀察 proscend/prosrc/www/Makefile

# Customer's Customization Target
# Task format: <customer>.brand
# Brand folder: brand_<customer>
ifeq ($(_BRAND_ID),2)
TARGETS += planet.brand
else ifeq ($(_BRAND_ID),12)
TARGETS += ctcu.brand
else ifeq ($(_BRAND_ID),44)
TARGETS += digicomm.brand
else ifeq ($(_BRAND_ID),53)
TARGETS += hytec.brand
else ifeq ($(_BRAND_ID),70)
TARGETS += cxr.brand
else ifeq ($(_BRAND_ID),71)
TARGETS += advice.brand
else ifeq ($(_BRAND_ID),72)
TARGETS += xentino.brand
else
TARGETS += nobrand.brand
endif

_BRAND_ID=68 是沒有自己的 style 的

換句話說

有自己的 style 的 _BRAND_ID 都不適合開放 PROSRC_CUSTOMIZE 讓客戶自行更換 logo

  • _BRAND_ID=2
    • configs/M300/2_PLANET
    • configs/M300/3_GPS_PLANET
  • _BRAND_ID=12
    • configs/M300/4_CTCU
  • _BRAND_ID=44
    • digicomm - 根本沒下單過
  • _BRAND_ID=53
    • configs/M300/10_GPS_HYTEC
  • _BRAND_ID=70
    • configs/M300/7_GPS_CXR
    • configs/M300/6_CXR
  • _BRAND_ID=71
    • configs/M300/8_GPS_ADVICE
    • configs/M300/17_LAN_ADVICE
  • _BRAND_ID=72
    • configs/M300E/3_GPS_XENTINO
    • configs/M300/12_XENTINO
    • configs/M300/13_XENTINO_GPS
    • configs/M300/5_XENTINO_MR401G
    • configs/LITE/0_GPS_XENTINO

那到底有什麼客戶適合呢

  • configs/M300/0_GENERIC
  • configs/M300/1_GPS
  • configs/M300/9_GPS_TELEWELL
  • configs/M300/11_SIERRA
  • configs/M300/14_NAUTILUS
  • configs/M300/15_SIERRA_TELWELL
  • configs/M300/16_MTK_WIFI
  • configs/M300E/1_GPS
  • configs/M300E/4_MTK_WIFI
  • configs/LITE/1_GPS

就這些 profile 把 PROSRC_CUSTOMIZE 打開吧


build 個 configs/M300/0_GENERIC 來試試

PASS


M300[develop] - turn on 'PROSRC_CUSTOMIZE' for customizing 'Logo' and 'CFile' at the following profiles:

commit 6d475edd3f547df19268b6a8af3d77ebffbb5df4
Refs: [develop], {origin/develop}
Author: jeffrey <[email protected]>
Date:   Mon Jul 29 11:07:12 2019 +0800

    turn on 'PROSRC_CUSTOMIZE' for customizing 'Logo' and 'CFile' at the  following profiles:
    - configs/M300/0_GENERIC
    - configs/M300/1_GPS
    - configs/M300/9_GPS_TELEWELL
    - configs/M300/11_SIERRA
    - configs/M300/14_NAUTILUS
    - configs/M300/15_SIERRA_TELWELL
    - configs/M300/16_MTK_WIFI
    - configs/M300E/1_GPS
    - configs/M300E/4_MTK_WIFI
    - configs/LITE/1_GPS

    some profile has it's own style for their own logo, so they do not turn on this function

 proscend/mconfig/configs/LITE/1_GPS/defconfig             | 2 +-
 proscend/mconfig/configs/M300/0_GENERIC/defconfig         | 2 +-
 proscend/mconfig/configs/M300/11_SIERRA/defconfig         | 2 +-
 proscend/mconfig/configs/M300/14_NAUTILUS/defconfig       | 2 +-
 proscend/mconfig/configs/M300/15_SIERRA_TELWELL/defconfig | 2 +-
 proscend/mconfig/configs/M300/16_MTK_WIFI/defconfig       | 2 +-
 proscend/mconfig/configs/M300/1_GPS/defconfig             | 2 +-
 proscend/mconfig/configs/M300/9_GPS_TELEWELL/defconfig    | 2 +-
 proscend/mconfig/configs/M300E/1_GPS/defconfig            | 2 +-
 proscend/mconfig/configs/M300E/4_MTK_WIFI/defconfig       | 2 +-
 10 files changed, 10 insertions(+), 10 deletions(-)

wiki 恐怕也需要更新一下

1125

M330[release/v0.05] - improve the firmware upgrade via HTTP/HTTPS

這個功能也要改到 M300 和 M360P 去

相對應的 mantis issue 為

  • M300 - 0000623: upgrade fw through Web UI from LTE easy to fail
  • M360P - 0000624: upgrade fw through Web UI from LTE easy to fail

先來解 M300 - 0000623: upgrade fw through Web UI from LTE easy to fail

透過 wan ethernet 走 HTTPS 上傳檔案約需 1.1 分鐘

此時的畫面停在 1% - Firmware Upload... Please wait

一但上傳完成 /api/firmwareUpload 給出回應後

progress bar 會從 5% 起跳

1410

M300[develop] - improve the firmware upgrade via HTTP/HTTPS

commit 86da4ce1385bfe948c9cc156d0886c7e83b5c547
Refs: [develop], {origin/develop}
Author: jeffrey <[email protected]>
Date:   Mon Jul 29 14:08:41 2019 +0800

    improve the firmware upgrade via HTTP/HTTPS
    - since we has no idea the uploading rate(lan or wan, slow or fast)
    - so in this moment, the device should not to check sessions if that have been idle for too long
    - use very slow speed(1% per 10 seconds) to show the progress until uploading finished(40%)

 proscend/prosrc/webcgi/api.c                |  8 +++
 proscend/prosrc/webcgi/jweb.c               | 36 ++++++++++++
 proscend/prosrc/webcgi/jweb.h               | 14 +++++
 proscend/prosrc/www/app/feature/firmware.js | 90 +++++++++++++++++++++--------
 4 files changed, 125 insertions(+), 23 deletions(-)

1425

M330[develop] - explicitly return HTTP 200 ok at api_firmware_uploading_start() and api_firmware_uploading_finish()

commit 283a44dbe3446dfc1ce94045bf8b54d4db8101b3
Refs: [develop], {origin/develop}
Author: jeffrey <[email protected]>
Date:   Mon Jul 29 14:23:10 2019 +0800

    explicitly return HTTP 200 ok at api_firmware_uploading_start() and api_firmware_uploading_finish()
    - M330 without explicitly return HTTP 200 ok, lighttp server will return HTTP 200 ok
    - but at M300, lighttpd server will return 500 error

 proscend/prosrc/webcgi/jweb.c | 2 ++
 1 file changed, 2 insertions(+)

運氣不好就出事了

還好都有實際進行測試

不過不同版本的 lighttpd 有不同的行為還真是讓我捏了一把冷汗

趕緊修正避免未來潛在的問題

build 個最新的 develop 來試試

test pass

1435

再來解 M360P - 0000624: upgrade fw through Web UI from LTE easy to fail

先 build 一版最新的 M360[develop]


M360P[develop] - improve the firmware upgrade via HTTP/HTTPS

commit 7abfce077b48380a12e33e7d3e9ed58797b84c3f
Refs: [develop], {origin/develop}
Author: jeffrey <[email protected]>
Date:   Mon Jul 29 15:20:18 2019 +0800

    improve the firmware upgrade via HTTP/HTTPS
    - since we has no idea the uploading rate(lan or wan, slow or fast)
    - so in this moment, the device should not to check sessions if that have been idle for too long
    - use very slow speed(1% per 7 seconds) to show the progress until uploading finished(42%)

 proscend/prosrc/webcgi/api.c                |  8 +++++
 proscend/prosrc/webcgi/jweb.c               | 35 ++++++++++++++++++
 proscend/prosrc/webcgi/jweb.h               | 11 ++++++
 proscend/prosrc/www/app/feature/firmware.js | 56 +++++++++++++++++++----------
 4 files changed, 92 insertions(+), 18 deletions(-)

1530

雖然我 M300[develop] - 2 GRE tunnel with key 的 task 已完成

但對整個 team 來說工作才正開始

幫大家起個頭

先 build 一版最新的 M300[develop] 給 DQA

  • (M300/4_CTCU) Products/Vendor
  • debug on

再簡單說明一下 2 GRE tunnels 怎麼設定

自己先利用 mfgtool 燒錄 build 出來的 image check 一下有沒有問題

PASS


build 出來的 image 先放 \\mis-serv

再寫個 email 幫相關同仁起個頭

⚠️ **GitHub.com Fallback** ⚠️