20200224_jeffrey - silenceuncrio/diary GitHub Wiki
準備好這個禮拜的 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
- 修改
m300_defconfig
-CONFIG_TCP_MD5SIG=y
- build_small 目錄下 ./bimage.sh
- 發生錯誤 -
% Error while applying TCP-Sig to session(s)
- 像 dialy build server 那樣用 ./build.sh -f M300/0_GENERIC build image
- 一樣的錯誤 -
% Error while applying TCP-Sig to session(s)
- 暫時放棄 M300 改試 M330
- 明確讓 ariel 知道目前 M300 遇到的狀況
- [結案] 後續有客戶需求再花時間
- 修改
- [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
- 修改 target/linux/ar71xx/config-3.3
- 發生錯誤 -
% Error while applying TCP-Sig to session(s)
- 再修改 M330_defconfig - CONFIG_PACKAGE_kmod-crypto-md5=y
- 正確帶出 TCP Option - TCP MD5 signature
- [結案] 已經非正式的將 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
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 幫忙後續
M330 - task - [0%] P1 - irene - check online manual
就依據目前的 profile GENERIC/1_GENERIC_WIFI 來 review 一下 online manual
ariel 會 build 這個 profile 應該也是為了讓 Irene 寫 manual
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(-)
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
...
剛剛 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
...
實際抓封包會發現根本沒有帶
參考 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)
一樣利用 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
山不轉路轉
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
m330 proscend 外層剛剛才完成
明天再試
趕著下班前重 build M300
使用 VMware jbox
使用 ./build.sh