20200131_jeffrey - silenceuncrio/diary GitHub Wiki

0840

兩個業務面的需求待評估


第一個需求來自印度分公司 PI Harish - 機種是 M330

Dear Shin,

We have used new FW and did a primary level testing internally in office using an Internet SIM as well as with Private APN SIM.

Still there is an issue of stability on Private APN SIM while on normal SIM it looks quite better as compared to Private APN SIM.

To use M330 as router there must be an option to create Loopback IP to establish EBGP Multihop connectivity.

Please check stability issue once again on priority because we are pushing Airtel to start testing at the earliest and customer other than Airtel is ready to place a PO for M330 but due to stability issue he can’t do so.

Thanks & Regards

Harish K
9871118486

第二個需求來自客戶 ADVICE - 機種是 M300

Dear Cindy,

As an update for previous mails, we now have potential demand for 400-500 units with BGP over GRE support.

    Can you please specify what is required to add this feature?
    Can you advise what GRE function is used in current FW?

Thanks in advance and happy holiday

Barak

分別評估一下可行性以及工時

先評估第一個


這需求在 M360 就已經做過了

相關的 wiki 有

從 web ui 確認一下 M330 是否能做跟 wiki 上的 how-to 一樣的設定

看起來都有

我應該可以修改現成的 M360 wiki - 改成適合 M330 用的然後 email 給 PI

不過最好自己先測試過

所以我應該怎麼回 PM 呢

Dear Jeffrey,

Please check the possibility and effort for below item.

>>>To use M330 as router there must be an option to create Loopback IP to establish EBGP Multihop connectivity.
Dear Ariel,

這個需求應該跟 PI 當初在機種 M360 要求的一樣

當初在 M360 上改了 ip alias 和 bgp 兩個模組

而且還提供了 how to 文件給 PI

我已確認過 M330 已經套用了 M360 在 ip alias 和 bgp 兩個模組所做的改變

照道理說依照相同的 how to 文件

M330 就可以達到跟 M360 一樣的功能

我可以再次提供 how to 文件給 PI

或修改一份更適合 M330 的 how to 給 PI

1000

再來評估第二個需求

1055

剛開完軟體周會

  • M330 要幫 ariel 做 web ui - do schedule
    • 有 wiki 可以參考
  • m360 上 bgp with md5
    • winston 有做過
    • 開工再來請教他
  • M350
    • 上了 lte module 後應該會收到 boot init done 的 event
  • 早上 M330 的業務需求
    • 整理一下 wiki 再轉成 pdf 給 DQA
    • 讓 DQA 去解決這個問題

1105

早上 M330 的業務需求

已寫了封 email 給 shin 方便他 follow

1110

繼續評估第二個需求

BGP over GRE

理論上 M300 目前的軟體應該可以就可以滿足

  • GRE(目前 key 的設定有 bug 待解決)
  • BGP

但需要實際架設環境做測試

確保各個環節都沒有問題

保守估計 4 個工作天

實際測試以及產出 application note

1120

確認一下 M350 是否真的 上了 lte module 後應該會收到 boot init done 的 event

1130

做一下私事 - 環球汽車音響 電話詢價 - 03 656 6006 主要是倒車顯影


倒車鏡頭 2k

主機一般的 5k 起

android 主機 1xk 含導航

暫時約明天早上 9 點 工時約 2 ~ 3 小時

1310

已確認 M350 上了 lte module 後有收到 boot init done 的 event

把昨天實驗性質的 code 拿掉

diff --git a/proscend/prosrc/icos/icoslib/web/webcfg.c b/proscend/prosrc/icos/icoslib/web/webcfg.c
index 7367751..42b5a6f 100644
--- a/proscend/prosrc/icos/icoslib/web/webcfg.c
+++ b/proscend/prosrc/icos/icoslib/web/webcfg.c
@@ -1102,10 +1102,6 @@ static int notify_web(PRO_EVENT *pevent)
                     WEB_INFO("module init\n");
                     web_init((sWebConfig *)pevent->msg);
                     gWebCtrl.mod_init_done=1;
-
-                    // testing only; start the web by itself
-                    ICOS_msg_sendto(MODULE_WEB, MODULE_WEB, NULL, 0, ICOS_BOOTINIT_DONE);
-
                 }
                 else
                 {
(END)

build 個 image 透過 web upgrade 試試


web 成功啟動

log 如下

1580447703[20200131 05:15:03] [notify_web:1049]Recv bcast evt 14 before module init done.Ignore it.
1580447703[20200131 05:15:03] [_make_configuration_file:421]1580447704[20200131 05:15:04] [notify_web:1049]Recv bcast evt 3 before module init done.Ignore it.
1580447704[20200131 05:15:04] [notify_web:1057]IN(E182|S44|D44)
1580447704[20200131 05:15:04] [notify_web:1102]module init
1580447704[20200131 05:15:04] [web_init:925][DID0] Key file generated done.
1580447704[20200131 05:15:04] [web_init:925][DID1] Key file generated done.
1580447707[20200131 05:15:07] [notify_web:1057]IN(E47|S35|D00)
1580447707[20200131 05:15:07] [notify_web:1057]IN(E43|S35|D00)
1580447726[20200131 05:15:26] [notify_web:1057]IN(E185|S67|D00)
1580447737[20200131 05:15:37] [notify_web:1057]IN(E02|S56|D00)
1580447741[20200131 05:15:41] [notify_web:1057]IN(E72|S56|D00)
1580447741[20200131 05:15:41] [notify_web:1127]boot init done
1580447741[20200131 05:15:41] [web_dump:656]===init config===
1580447741[20200131 05:15:41] [web_dump:666][COM]conn_mgr=1,mod_init_done:1.
1580447741[20200131 05:15:41] [web_dump:694][CFG]mode=both,httpd_port=80,https_port=443,refreshperiod=2,sport=80,intf=lan,secure=all,clienip=0.0.0.0,httpd_access=lan,https_access=lan
1580447741[20200131 05:15:41] [web_dump:702][DMN0]active=1,pid=-1,status=0,flag=0x0,DID0
1580447741[20200131 05:15:41] [web_dump:702][DMN1]active=1,pid=-1,status=0,flag=0x0,DID1
1580447741[20200131 05:15:41] [web_dump:707][RTI]wan4_ifname=,wan6_ifname=.
1580447741[20200131 05:15:41] [reset_firewall:971]Allow all ips.
1580447741[20200131 05:15:41] [daemon_restart:837][DID0] remain IP server retry for 6 times.
1580447741[20200131 05:15:41] [create_daemon_conf:736]IN
1580447741[20200131 05:15:41] [create_daemon_conf:747]cmd_buf=>dir=/
1580447741[20200131 05:15:41] [create_daemon_conf:752]cmd_buf=>cgipat=cgi-bin/**
1580447741[20200131 05:15:41] [create_daemon_conf:757]cmd_buf=>chroot
1580447741[20200131 05:15:41] [create_daemon_conf:762]cmd_buf=>user=root
1580447741[20200131 05:15:41] [create_daemon_conf:767]cmd_buf=>max_age=0
1580447741[20200131 05:15:41] [create_daemon_conf:772]cmd_buf=>debug
1580447741[20200131 05:15:41] [daemon_restart:876][DMN]Do not start when did = DID_HTTPD
1580447741[20200131 05:15:41] [daemon_restart:837][DID1] remain IP server retry for 6 times.
1580447741[20200131 05:15:41] [gen_key_files:718]IN
1580447741[20200131 05:15:41] [gen_key_files:724]OUT
1580447741[20200131 05:15:41] [create_daemon_conf:736]IN
1580447741[20200131 05:15:41] [create_daemon_conf:747]cmd_buf=>dir=/
1580447741[20200131 05:15:41] [create_daemon_conf:752]cmd_buf=>cgipat=cgi-bin/**
1580447741[20200131 05:15:41] [create_daemon_conf:757]cmd_buf=>chroot
1580447741[20200131 05:15:41] [create_daemon_conf:762]cmd_buf=>user=root
1580447741[20200131 05:15:41] [create_daemon_conf:767]cmd_buf=>max_age=0
1580447741[20200131 05:15:41] [create_daemon_conf:772]cmd_buf=>debug
1580447741[20200131 05:15:41] [create_daemon_conf:779]cmd_buf=>ssl
1580447741[20200131 05:15:41] [create_daemon_conf:784]cmd_buf=>certfile=/etc/icos/ca/cert.pem
1580447741[20200131 05:15:41] [daemon_restart:881][DMN]Lanch=>/usr/sbin/lighttpd -D -f /tmp/icos/web/lighttpd.conf
1580447741[20200131 05:15:41] [web_dump:656]===After daemon restart===
1580447741[20200131 05:15:41] [web_dump:666][COM]conn_mgr=1,mod_init_done:1.
1580447741[20200131 05:15:41] [web_dump:694][CFG]mode=both,httpd_port=80,https_port=443,refreshperiod=2,sport=80,intf=lan,secure=all,clienip=0.0.0.0,httpd_access=lan,https_access=lan
1580447741[20200131 05:15:41] [web_dump:702][DMN0]active=1,pid=-1,status=0,flag=0x0,DID0
1580447741[20200131 05:15:41] [web_dump:702][DMN1]active=1,pid=3186,status=1,flag=0x0,DID1
1580447741[20200131 05:15:41] [web_dump:707][RTI]wan4_ifname=,wan6_ifname=.
1580447742[20200131 05:15:42] [notify_web:1057]IN(E23|S56|D00)
1580447742[20200131 05:15:42] [msgcb_web:1427]IN(DID1,pid 3186)
1580447742[20200131 05:15:42] [notify_web:1057]IN(E01|S56|D00)
1580447742[20200131 05:15:42] [notify_web:1057]IN(E48|S41|D00)
1580447742[20200131 05:15:42] [notify_web:1057]IN(E50|S59|D00)
1580447745[20200131 05:15:45] [notify_web:1057]IN(E59|S59|D00)
1580447745[20200131 05:15:45] [notify_web:1057]IN(E18|S29|D00)
1580447745[20200131 05:15:45] [notify_web:1057]IN(E50|S59|D00)
1580447747[20200131 05:15:47] [notify_web:1057]IN(E59|S59|D00)
1580447747[20200131 05:15:47] [notify_web:1057]IN(E52|S65|D00)
1580447747[20200131 05:15:47] [notify_web:1057]IN(E45|S65|D00)
1580447747[20200131 05:15:47] [notify_web:1057]IN(E50|S59|D00)
1580447750[20200131 05:15:50] [notify_web:1057]IN(E59|S59|D00)
1580447750[20200131 05:15:50] [notify_web:1057]IN(E50|S59|D00)
1580447752[20200131 05:15:52] [notify_web:1057]IN(E59|S59|D00)

commit

m350[develop] - nomore send ICOS_BOOTINIT_DONE event to web by itself

commit d3b3fba4539f0bb5249f1e0078883829b0e17bdb
Refs: [develop], {origin/develop}
Author: jeffrey <[email protected]>
Date:   Fri Jan 31 13:27:20 2020 +0800

    nomore send ICOS_BOOTINIT_DONE event to web by itself

 proscend/prosrc/icos/icoslib/web/webcfg.c | 4 ----
 1 file changed, 4 deletions(-)

1330

review task

M300

  • P2 - BGP over GRE

M330

  • P3 - Web UI; GPS Track drawing(Server)

M350

  • GRE
  • GRE keepalive

M360

  • P2 - BGP with MD5

this week

m350[develop]

  • add the setenv module for lighttpd
  • start the web by itself
  • nomore send ICOS_BOOTINIT_DONE event to web by itself

1350

VMware - Ubuntu 64-bit (2) 上建立 m330 的開發環境

舊的 VMware - Ubuntu 64-bit 占用的 磁碟 處理程序 實在太高了

git clone build-m330.git 並從 Dockerfile 來產生 M330 所需的編譯環境

➜  ~ git clone [email protected]:RD/build-m330.git
Cloning into 'build-m330'...
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (5/5), done.
Checking connectivity... done.
➜  ~

Building the Docker image

➜  ~ cd build-m330
➜  build-m330 git:(master) docker build -t build-m330 .
Sending build context to Docker daemon  53.76kB
Step 1/9 : FROM ubuntu:14.04

...


出現錯誤 - 沒印象有這個錯誤

...

Step 4/9 : RUN gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4
 ---> Running in 17a2d0f1a47b
gpg: directory `/root/.gnupg' created
gpg: new configuration file `/root/.gnupg/gpg.conf' created
gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/root/.gnupg/secring.gpg' created
gpg: keyring `/root/.gnupg/pubring.gpg' created
gpg: requesting key BF357DD4 from hkp server ha.pool.sks-keyservers.net
gpg: no valid OpenPGP data found.
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key BF357DD4: public key "Tianon Gravi <[email protected]>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error
The command '/bin/sh -c gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4' returned a non-zero code: 2

加上 --no-cache 再 build 一次

➜  build-m330 git:(master) docker build --no-cache -t build-m330 .
Sending build context to Docker daemon  53.76kB
Step 1/9 : FROM ubuntu:14.04
 ---> 6e4f1fe62ff1

...

build 過了

➜  build-m330 git:(master) docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
build-m330          latest              a279c59f6f66        2 minutes ago       540MB
build-m350          latest              214293bb8931        27 hours ago        719MB
i386/ubuntu         16.04               faf5784ef367        2 weeks ago         120MB
ubuntu              14.04               6e4f1fe62ff1        6 weeks ago         197MB
hello-world         latest              fce289e99eb9        13 months ago       1.84kB
➜  build-m330 git:(master)

git clone M330 的 source code

➜  ~ git clone [email protected]:RD/m330.git
Cloning into 'm330'...
remote: Enumerating objects: 189, done.
remote: Counting objects: 100% (189/189), done.
remote: Compressing objects: 100% (120/120), done.
remote: Total 123442 (delta 85), reused 84 (delta 35), pack-reused 123253
Receiving objects: 100% (123442/123442), 708.12 MiB | 14.38 MiB/s, done.
Resolving deltas: 100% (44192/44192), done.
Checking connectivity... done.
Checking out files: 100% (120785/120785), done.
➜  ~

cd 到 m330 並切換至 develop branch

➜  ~ cd m330
➜  m330 git:(master) git checkout develop
Branch develop set up to track remote branch develop from origin.
Switched to a new branch 'develop'
➜  m330 git:(develop) git pull
Current branch develop is up to date.
➜  m330 git:(develop)

基於該 source code 的目錄建立 docker container

docker run --name build-m330 \
           -e LOCAL_USER_ID=`id -u $USER` \
           -v `pwd`:/home/user \
           -it --restart=always -d build-m330 /bin/bash

利用 docker container ps 可確認

➜  m330 git:(develop) docker container ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
727b99c64c51        build-m330          "/entrypoint.sh /bin…"   39 seconds ago      Up 35 seconds                           build-m330
b6289dfacafe        build-m350          "/entrypoint.sh /bin…"   27 hours ago        Up 27 hours                             build-m350
➜  m330 git:(develop)

在自己的 home 目錄下建立 ./m330.sh 如下方便進入 build-m330 的 shell

➜  ~ cat m330.sh
#! /bin/bash
docker exec -it -u user build-m330 /bin/bash
➜  ~

執行 ./m330.sh 進入 build-m330 的 shell

➜  ~ ./m330.sh
user@727b99c64c51:/$

cd 進 /home/user - 也就是 source code 所在目錄

先執行 source proenv.sh

user@727b99c64c51:/$ cd /home/user/
user@727b99c64c51:~$ source proenv.sh
Updating feed 'printing' from '../qca/feeds/printing' ...
Create index file './feeds/printing.index'

...

make

user@727b99c64c51:~$ make
Checking 'uuencode'... ok.
 make[1] world
 make[2] tools/install
 make[3] -C tools/m4 compile

...

等吧

1525

jessy 對於 M330 需要我幫忙新增 web ui

參考 Wan WiFi encrypted manual

按了 add 後可以讓使用者全部手動輸入來決定要連接的 AP

這個需求來自 DQA

priority 可以放後面一點

1630

m330 proscend 外層還在 build

應該下班再做這件事的

還好沒發生什麼緊急狀況


剛剛出去打電話給 環球汽車影音 取消 明早的約定

致電 金弘笙

  • 有賣 SONY XAV-AX5000
    • 支援 Apple CarPlay
    • 支援 Android Auto
  • 有可以換車子大燈

我明天開車過去不想等的話還可以散步回來


金弘笙 來電表示

2002 年福特 escape 要裝 SONY XAV-AX5000 的話

  • 有多買框架加線組 - 1700
  • 主機 21000
  • 倒車鏡頭
  • 倒車鏡頭用的 繼電器 - escape 車款需要

要的話 框架加線組 要先幫我預定

我表示考慮好晚上再回電

1650

m330 proscend 外層 build 好了

  • 進 proscend
  • make menuconfig
    • Vendor/Products = CTCU/1_CTCU_WIFI
  • make clean
  • make

build 好後

將 tftp server 指向 m330/proscend/image

再將該目錄下 root.squashfs_ubi 更名成 M330-root.squashfs_ubi

m330 開機 Control + U 進 uboot shell 再利用 run ldf 來 upgrade rootfs


VMware - Ubuntu 64-bit (2) 上 m330 的開發環境 建立完成

cd 進 m330 或 m350 目錄約 7 秒


VMware - Ubuntu 64-bit 上 cd 進目錄感覺很慢但到底有多慢呢

VMware - Ubuntu 64-bit (2) 關機

VMware - Ubuntu 64-bit 開機

  • cd 進 m330 目錄 約 3 秒
  • cd 進 m350 目錄 約 13 秒

怎麼感覺沒有慢多少

看來沒必要把 m300 和 m360 搬到 VMware - Ubuntu 64-bit (2)


VMware - Ubuntu 64-bit 目前的 Hard Disk 使用狀況

image

VMware - Ubuntu 64-bit (2) 目前的 Hard Disk 使用狀況

image

1720

做個實驗

VMware - Ubuntu 64-bit 關機

使用 VMware 的 Expand Disk Capacity 將 Maximum disk size 從 120 GB 加到 160 GB