20200224_jeffrey - silenceuncrio/diary GitHub Wiki

0905

準備好這個禮拜的 task summary


M300 - task

  • [100%] P1 - release/v2.04 - WAN as LAN web ui
    • ethernet page 多一個 fieldset
    • status 的 system panel 多一個 WAN as LAN 的狀態
  • [100%] P1 - DQA - BGP MD5 Authentication
    1. 修改 m300_defconfig - CONFIG_TCP_MD5SIG=y
    2. build_small 目錄下 ./bimage.sh
    3. 發生錯誤 - % Error while applying TCP-Sig to session(s)
    4. 像 dialy build server 那樣用 ./build.sh -f M300/0_GENERIC build image
    5. 一樣的錯誤 - % Error while applying TCP-Sig to session(s)
    6. 暫時放棄 M300 改試 M330
    7. 明確讓 ariel 知道目前 M300 遇到的狀況
    8. [結案] 後續有客戶需求再花時間
  • [0%] P1 - allnet - 評估 PPTP client 實作的可能性以及要花多少時間
  • [30%] P2 - irene - check online manual

M300 - issue

  • [60%] 922: sometimes when browser issue cgi request, some cgi will response 401 even we already login
    • [100%] M300; [100%] M330; [100%] M350-C(SDK6.11)
    • [0%] M350-C(SDK10.0.0); [0%] M360P

M300 - commit

  • [task] add 'WAN/LANx Port Function' field at 'System Ethernet' page
  • [task] update the online manual for 'System > Ethernet'

M300 - misc

  • [30%] jubuntu - M300 compile 環境
    • Building the Docker image - build-m300 - 失敗

M330 - task

  • [100%] P1 - irene - check online manual
  • [100%] P2 - DQA - BGP MD5 Authentication
    1. 修改 target/linux/ar71xx/config-3.3
    2. 發生錯誤 - % Error while applying TCP-Sig to session(s)
    3. 再修改 M330_defconfig - CONFIG_PACKAGE_kmod-crypto-md5=y
    4. 正確帶出 TCP Option - TCP MD5 signature
    5. [結案] 已經非正式的將 local build 的 firmware.img 給 DQA
  • [70%] P4 - CTCU - Web UI: GPS Track drawing(Server)
  • [0%] P4 - Airtel - BGP Attributers shall be supported
  • [0%] P4 - Airtel - GUI Display LTE Signal strength indicator
  • [0%] P4 - Airtel - Upon Failure of above comparision, ...

M330 - issue

  • [100%] 0000911: change dhcp to pppoe, M330 ETH can get ip from ISP, but pc can not access internet
  • [100%] 0000750: sometimes lost apply button
  • [100%] 0000661: [login web page] I configure openvpn, but sometimes display login page

M330 - bug

  • [100%] wan ethernet mtu - ui hint 與 html 的 min 不一致
  • [0%] (sometimes after factory default) error reading file schedule_reboot.json at boot int
  • [100%] init error - Generic WiFi version
    ...
    ### module <health-check> init
    /bin/sh: /usr/sbin/healthchkd: not found
    ### module <gre> init
    
    • 已發現 root cause 並交由 jessy 解決
  • [100%] online manual - SIM Slot 要從 status 的 Title Bar 拿掉
  • [100%] generic 版本 的 online manual 還是出現 APN2 字眼 - 例如 Status > LTE APN1 / LTE APN2

M330 - commit

  • [task] update 'Status' for online user manual
  • [task] change wording from "WIFI Information" to "Client List" at menu of online manual
  • [task] change wording from "Number" to "AS Number" at 'IP Routing > BGP' of online manual
  • [task] update the information at 'VPN > GRE' of online manual
  • [task] add 'MD5 Authentication' for BGP
  • [issue 922] web session bug
  • [bug] let the min value of WAN Ethernet MTU match the hint
  • [bug] online manual - remove 'SIM Slot' information from 'status' section
  • [bug] display 'APN2' accordingly on online manual
  • [issue - 911] when user change 'Work As' at 'WAN > Ethernet', ask user to reboot to take effect

M350-C(SDK6.11) - task

  • [70%] P1 - release v0.01
  • [100%] P1 - function test - - Diagnosis > Ping
  • [100%] P1 - function test - - Diagnosis > Traceroute
  • [100%] P1 - function test - - IP Routing > RIP
  • [100%] P1 - function test - - IP Routing > OSPF
  • [100%] P1 - function test - - IP Routing > BGP
  • [100%] P1 - function test - - VPN > PPTP Server
  • [100%] P1 - function test - - Firewall > DMZ
  • [100%] P1 - function test - - Service > VRRP
  • [100%] P1 - update release note - add my part accordingly.
  • [0%] P2 - irene - check online manual

M350-C(SDK6.11) - bug

  • [100%] firmware upgrade 時 web.log 會被 lighttpd 本身這個 process 塞爆
  • [0%] web ui firmare upgrade 進度條從 55% 瞬移到 100%
  • [100%] web ui - bgp general 少了 redistribute rip 和 ospf 的設定項
  • [100%] web ui - qos wan ethernet 資料是空的

M350-C(SDK6.11) - commit

  • [task] online manual - remove 'SIM Slot' information from 'status' section
  • [task] change wording from 'System > Ethernet Ports' to 'System > Ethernet'
  • [task] online manual - display 'WAN/LAN2 Port Function' according to compile flag PROSRC_ETH_WAN_AS_LAN
  • [task] build ospfd and bgpd into rootfs
  • [bug] add 2 more field at 'Generic' tab of 'IP Routing > BGP' page
  • [bug] no more proc_msg_cb needed at web module

M350-C(SDK10.0.0) - task

  • [0%] P1 - release to DQA
  • [50%] P1 - GRE
  • [0%] P1 - GRE keep alive
  • [0%] P2 - irene - check online manual

M360P - task

  • [0%] P2 - Airtel - BGP status for every neighbors
  • [0%] P2 - irene - check online manual

M360P - issue

  • [20%] - 0000936: some routes learned via bgp, then they disappear then appear again after a few seconds, and again and again...

M360P - commit

0920

M330 - bug - init error - Generic WiFi version

## module <fail2ban> init
### module <ussd> init
### module <fota> init
### module <policyRT> init
### module <health-check> init
/bin/sh: /usr/sbin/healthchkd: not found
### module <gre> init
### module <tty2tcp> init

使用 VMware jjbox

m330[release/v1.00]

  • Vendor/Products = GENERIC/1_GENERIC_WIFI

icos 的 make install 失敗了

根本的原因在於 /proscend/prosrc/icos/fotad 裡 make install 的錯誤

user@727b99c64c51:~/proscend/prosrc/icos/fotad$ make install
cp fotad /home/user/proscend/rootfs/usr/sbin
cp fotadInfo /home/user/proscend/rootfs/usr/sbin
cp: cannot stat ‘fotadInfo’: No such file or directory
make: *** [install] Error 1

已回復 mail 並請 jessy 幫忙後續

1015

M330 - task - [0%] P1 - irene - check online manual

就依據目前的 profile GENERIC/1_GENERIC_WIFI 來 review 一下 online manual

ariel 會 build 這個 profile 應該也是為了讓 Irene 寫 manual

1140

M330 - task - [100%] P1 - irene - check online manual

commit acfaf032e177aaa5fcace6691f69468c5569c7ef
Author: jeffrey <[email protected]>
Date:   Mon Feb 24 10:55:04 2020 +0800

    update 'Status' for online user manual

 proscend/prosrc/www/src/manual/status.h.html | 92 ++++++++++++++++++++++++----
 1 file changed, 79 insertions(+), 13 deletions(-)
commit f2797638fcecafe3bd0c75a1b262439c765e4396
Author: jeffrey <[email protected]>
Date:   Mon Feb 24 11:01:39 2020 +0800

    change wording from "WIFI Information" to "Client List" at menu of online manual

 proscend/prosrc/www/src/manual/sidebar.h.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
commit 78a1a36fd33494d8b81a186897df3a9da23d279c
Author: jeffrey <[email protected]>
Date:   Mon Feb 24 11:05:32 2020 +0800

    change wording from "Number" to "AS Number" at 'IP Routing > BGP' of online manual

 proscend/prosrc/www/src/manual/ip_routing_bgp.h.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
commit 21dc925a4d6ba70ae36df94c9dea296e662ad37c
Refs: [release/v1.00], {origin/release/v1.00}
Author: jeffrey <[email protected]>
Date:   Mon Feb 24 11:33:20 2020 +0800

    update the information at 'VPN > GRE' of online manual:

 proscend/prosrc/www/src/manual.html.src       |  2 +-
 proscend/prosrc/www/src/manual/sidebar.h.html |  2 +-
 proscend/prosrc/www/src/manual/vpn_gre.h.html | 31 +++++++++++++++++++++++++++
 3 files changed, 33 insertions(+), 2 deletions(-)

1300

M300 - task - [0%] P1 - DQA - BGP MD5 Authentication

john 提供 M300 linux kernel 修改的所在地

  • M300\meta-proscend\recipes-kernel\linux\files\m300_defconfig

讓我可以確定 CONFIG_TCP_MD5SIG 是否有 turn on

  • 目前沒有 turn on

使用 VMware jbox

M300[develop]

  • Products/Vendor = M300/0_GENERIC

porting 可以參考 M360P 的兩個 commit


porting 完在 build_small 目錄下使用 ./bimage.sh 來產生 image

準備以下測試環境

+-------+                                       +-------+
|       |                lan                    |       |
| M300  +-------------------+-------------------+ M300  |
|       | 192.168.1.11             192.168.1.13 |       |
+-------+                                       +-------+

發現 /tmp/bgpd.log 還是顯示 kernel 沒有把 TCP_MD5SIG 打開來

...
2020/02/24 05:50:32 BGP: can't set TCP_MD5SIG option on socket 12: No such file or directory
...

參考 20160715_jeffrey


剛剛 build image 是在 build_small 目錄下使用 ./bimage.sh

#!/bin/bash

# exit non-zero code when any command fails
set -e

if [ -f bb_need_cleansstate ]; then
    while read LINE ; do
        echo "Cleansstate for $LINE..."
        bitbake -c cleansstate $LINE
        if [ $? -ne 0 ]; then
            exit 1
        fi
    done < bb_need_cleansstate

    rm bb_need_cleansstate
fi

bitbake -c clean prosrc
bitbake -c clean core-image-minimal
bitbake core-image-minimal

或許就是少作了以下兩件事所導致

bitbake -c cleansstate linux-imx
bitbake linux-imx

依序執行以下 command

bitbake -c cleansstate linux-imx
bitbake linux-imx
bitbake -c clean prosrc
bitbake -c clean core-image-minimal
bitbake core-image-minimal

得到一樣的錯誤訊息

root@M300-S:~# cat /tmp/bgpd.log
2020/02/24 07:14:14 BGP: buffer_flush_available: write error on fd 0: Bad file descriptor
2020/02/24 07:14:14 BGP: BGPd 1.2.4 starting: vty@2605, bgp@<all>:179 pid 16432
2020/02/24 07:14:16 BGP: can't set TCP_MD5SIG option on socket 12: No such file or directory
2020/02/24 07:14:16 BGP: %ADJCHANGE: neighbor 192.168.1.11 Up
2020/02/24 07:16:14 BGP: Vty connection from 127.0.0.1

不過透過 vtysh 卻發現 bgp neighbors 的 state 為 Established

Router> show bgp neighbors
BGP neighbor is 192.168.1.11, remote AS 11, local AS 13, external link
  BGP version 4, remote router ID 192.168.1.11
  BGP state = Established, up for 00:02:04
  Last read 00:00:04, hold time is 180, keepalive interval is 60 seconds
...

實際抓封包會發現根本沒有帶

1540

參考 2.3.2. Generating Configuration Files

使用 bitbake linux-imx -c menuconfig

確認 TCP: MD5 Signature Option support (RFC2385) 勾選後

將存檔得到的 .cofig 直接覆蓋掉 m300_defconfig

在 build_small 目錄下執行 ./bimage.sh

發現還是會去 build linux-imx

Currently 2 running tasks (3179 of 3262):
0: prosrc-0.1-r0 do_compile (pid 84878)
1: linux-imx-4.1.15-r0 do_compile (pid 90476)

1615

一樣利用 MfgTool 作燒錄

有了基本的 bgp 配置之後

參考 Adding MD5-enabled BGP Neighbors 來 Enabling MD5

還是發生錯誤

Router> enable
Router# configure terminal
Router(config)# router bgp 11
Router(config-router)# neighbor 192.168.1.13 password test
% Error while applying TCP-Sig to session(s)
Router(config-router)#

今天下班時再整個重 build M300 是是

不過 m300_defconfig 就不用改那麼多了

像以下的修改即可

diff --git a/meta-proscend/recipes-kernel/linux/files/m300_defconfig b/meta-proscend/recipes-kernel/linux/files/m300_defconfig
index 173bd82..3df7539 100755
--- a/meta-proscend/recipes-kernel/linux/files/m300_defconfig
+++ b/meta-proscend/recipes-kernel/linux/files/m300_defconfig
@@ -685,7 +685,7 @@ CONFIG_INET_TCP_DIAG=y
 # CONFIG_TCP_CONG_ADVANCED is not set
 CONFIG_TCP_CONG_CUBIC=y
 CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
+CONFIG_TCP_MD5SIG=y
 CONFIG_IPV6=y
 # CONFIG_IPV6_ROUTER_PREF is not set
 # CONFIG_IPV6_OPTIMISTIC_DAD is not set

1630

山不轉路轉

M330 - task - [0%] P2 - DQA - BGP MD5 Authentication

使用 VNware jjbox


請教 jessy 後得到以下資訊

直接修改 target/linux/ar71xx/config-3.3

diff --git a/target/linux/ar71xx/config-3.3 b/target/linux/ar71xx/config-3.3
old mode 100755
new mode 100644
index 940b9cb..07ee64b
--- a/target/linux/ar71xx/config-3.3
+++ b/target/linux/ar71xx/config-3.3
@@ -397,3 +397,4 @@ CONFIG_XFRM_IPCOMP=y
 CONFIG_XFRM_USER=y
 CONFIG_XZ_DEC=y
 CONFIG_ZONE_DMA_FLAG=0
+CONFIG_TCP_MD5SIG=y
make target/linux/clean
make target/linux/prepare

利用 build_dir/linux-ar71xx_generic/linux-3.3.8/.config 確認 CONFIG_TCP_MD5SIG 的狀況

user@727b99c64c51:~$ cat build_dir/linux-ar71xx_generic/linux-3.3.8/.config | grep CONFIG_TCP_MD5SIG
CONFIG_TCP_MD5SIG=y

直接在 proscend 外層下 make


之前 aaron 也曾提供過 linux kernel clean build 可以這麼作

source proenv.sh
make target/linux/clean
make target/install

1800

m330 proscend 外層剛剛才完成

明天再試

趕著下班前重 build M300

使用 VMware jbox

使用 ./build.sh

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