20200304_jeffrey - silenceuncrio/diary GitHub Wiki
0900
M350-C(SDK10.0.0) - misc - [60%] 利用 ng-include 整理 status page
m350-c(develop) - refactoring status page - wan dns pannel(s)
commit 539c84bac3df5880e225c04bfa1c360195cd425b
Refs: [develop], {origin/develop}
Author: jeffrey <[email protected]>
Date: Wed Mar 4 10:03:19 2020 +0800
refactoring status page - wan dns pannel(s)
proscend/prosrc/webcgi/status.c | 33 +++
proscend/prosrc/www/app/feature/status.js | 22 +-
.../www/app/feature/status_pannel_wan_dns.html | 23 ++
.../app/feature/status_pannel_wan_dns_second.html | 23 ++
proscend/prosrc/www/app/locale-en.json | 16 +-
proscend/prosrc/www/app/locale-fr.json | 16 +-
proscend/prosrc/www/app/locale-zh-tw.json | 6 +-
.../prosrc/www/src/app/feature/status.html.src | 233 +++------------------
8 files changed, 139 insertions(+), 233 deletions(-)
m350-c(develop) - refactoring status page - apn1/apn2 pannel(s)
commit 8af7c55f69664bef87c7ed6d4b7d56ff3a9a1564
Refs: [develop], {origin/develop}
Author: jeffrey <[email protected]>
Date: Wed Mar 4 11:19:50 2020 +0800
refactoring status page - apn1/apn2 pannel(s)
proscend/prosrc/www/app/feature/status.js | 65 ++-
.../prosrc/www/app/feature/status_pannel_apn1.html | 54 +++
.../prosrc/www/app/feature/status_pannel_apn2.html | 54 +++
.../prosrc/www/src/app/feature/status.html.src | 434 ++-------------------
4 files changed, 199 insertions(+), 408 deletions(-)
1130
M350-C(SDK10.0.0) - misc - [0%] Management > Administration 可以 toggle password visibility
1330
m350-c(develop) - give the ability to toggle password visibility at 'Management > Administration' page
commit 074ce310e84ae2eb27df1ac877d8d17fe9072f30
Refs: [develop], {origin/develop}
Author: jeffrey <[email protected]>
Date: Wed Mar 4 13:28:24 2020 +0800
give the ability to toggle password visibility at 'Management > Administration' page
proscend/prosrc/www/app/feature/administration.js | 92 ++++++++++++
.../www/src/app/feature/administration.html.src | 161 +++++++++++++++++----
2 files changed, 227 insertions(+), 26 deletions(-)
1345
M350-C(SDK10.0.0) - misc - [0%] WAN > Ethernet 可以 toggle password visibility
m350-c(develop) - give the ability to toggle password visibility at 'WAN > Ethernet' page
commit 4aed7169020e6617491f3e2306895c2e1fc6cf76
Refs: [develop], {origin/develop}
Author: jeffrey <[email protected]>
Date: Wed Mar 4 13:53:09 2020 +0800
give the ability to toggle password visibility at 'WAN > Ethernet' page
proscend/prosrc/www/app/feature/wanEthernet.html | 24 ++++++++++++++++++------
proscend/prosrc/www/app/feature/wanEthernet.js | 20 ++++++++++++++++++++
2 files changed, 38 insertions(+), 6 deletions(-)
1415
m350-c(develop) - update Font Awesome from version 4.6.3 to 5.12.1
some care should be taken
- fa-external-link to fa-external-link-alt
commit 36076b57d87616957a4d8a860355429e43ffc3c2
Refs: [develop], {origin/develop}
Author: jeffrey <[email protected]>
Date: Wed Mar 4 14:12:47 2020 +0800
update Font Awesome from version 4.6.3 to 5.12.1
some care should be taken
- fa-external-link to fa-external-link-alt
proscend/prosrc/www/src/menu.html.src | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Font Awesome 升級造成的影響
細心點就可以掃完
1515
M300 - issue - [0%] 0000939: on M300-TXG, if upgrade fw from 1.77 to 2.04, DUT can't show bootloader version, image MCSV, active partition
使用以下 mfgtool 燒錄
- M301-TG_016800001772E76A_mfgtools.zip
開機紀錄 uboot 訊息
U-Boot 2015.04imx_v2015.04_4.1.15_1.2.0_ga+gede7538 (Feb 22 2019 - 09:22:37)
CPU: Freescale i.MX6UL rev1.1 at 396 MHz
CPU: Temperature 37 C
Reset cause: POR
Board: MX6UL 14x14 EVK
I2C: ready
DRAM: 512 MiB
turn on the IO control power
turn on sys led
reset Ethernet 1
reset Ethernet 2
reset Mobile
force_idle_bus: sda=0 scl=0 sda.gp=0x1d scl.gp=0x1c
MMC: FSL_SDHC: 0, FSL_SDHC: 1
*** Warning - bad CRC, using default environment
...
bash-4.3# cat /tmp/etc/sysinfo.txt
BOOTLOADER_VER=1.0
MAC=random
HW_MCSV=016800001772E76A
SERIALNO=NA
APP_PRIMARY=a
bash-4.3#
bash-4.3# fw_printenv
app_1=a
app_2=b
app_choose=echo App Choose;if test ${no_good} = ".xx";then echo Replace App 1; run app_replace; setenv no_good .;else echo Run App 1;fi
app_replace=echo App Replace;if test ${app_1} = a;then echo App 1 from dual image a to b; setenv app_1 b; setenv app_2 a;else echo App 1 from dual image b to a; setenv app_1 a; setenv app_2 b;fi
baudrate=115200
bootargs=console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw
bootargs_a=echo bootargs dual image a;setenv bootargs console=${console},${baudrate} root=/dev/mmcblk1p2 rootwait rw
bootargs_b=echo bootargs dual image b;setenv bootargs console=${console},${baudrate} root=/dev/mmcblk1p3 rootwait rw
bootcmd=run bootcmd_emmc_v1.0
bootcmd_emmc_v1.0=echo bootcmd_emmc_v1.0;mmc dev ${mmcdev};mmc rescan;run app_choose;run bootargs_${app_1};run fatload_${app_1};setenv no_good ${no_good}x;saveenv;bootz ${loadaddr} - ${fdt_addr}
bootcmd_mfg=run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr};
bootdelay=0
bootloader_ver=1.0
console=ttymxc0
ethact=FEC1
ethprime=FEC
fatload_a=echo fatload dual image a;fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} zImage_a;fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} imx6ul-14x14-evk_a.dtb;
fatload_b=echo fatload dual image b;fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} zImage_b;fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} imx6ul-14x14-evk_b.dtb;
fdt_addr=0x83000000
fdt_high=0xffffffff
filesize=7180
initrd_addr=0x83800000
initrd_high=0xffffffff
loadaddr=0x80800000
mfgtool_args=setenv bootargs console=${console},${baudrate} rdinit=/linuxrc g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.file=/fat g_mass_storage.ro=1 g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber="" clk_ignore_unused
mmcautodetect=yes
mmcdev=1
mmcpart=1
mmcroot=/dev/mmcblk1p2 rootwait rw
uboot_env_ver=emmc_v1.0
hw_mcsv=016800001772E76A
serialno=NA
no_good=.
bash-4.3#
M300 用 tftp 從 CP 拉下述 firmware
- ICR-213PGG_v2.04_0168007120430E23.img
bash-4.3# FirmwareUpgrade.sh /tmp/ICR-213PGG_v2.04_0168007120430E23.img
emmc: 100
cfile: 0
Upgrading the firmware for 'eMMC' storage memory ...
Init the context for upgrading the firmware ...
running dual image is a
Init the context for upgrading the firmware succeeded
Extract the tared firmware ...
tar -C /tmp -xf /tmp/ICR-213PGG_v2.04_0168007120430E23.img
tar: firmware/zImage: time stamp 2020-02-27 06:26:15 is 30237824.596080875 s in the future
tar: firmware/u-boot-m300e.imx: time stamp 2020-02-27 06:26:13 is 30237822.572289625 s in the future
tar: firmware/mcsv.enc: time stamp 2020-02-27 06:26:15 is 30237824.571639375 s in the future
tar: firmware/zImage-imx6ul-14x14-evk-usb-certi.dtb: time stamp 2020-02-27 06:26:15 is 30237824.570863792 s in the future
tar: firmware/firmware_patch.enc: time stamp 2020-02-27 06:26:15 is 30237824.570350792 s in the future
tar: firmware/zImage-imx6ul-14x14-evk-csi.dtb: time stamp 2020-02-27 06:26:15 is 30237824.569551042 s in the future
tar: firmware/zImage-imx6ul-14x14-evk.dtb: time stamp 2020-02-27 06:26:15 is 30237824.568639708 s in the future
tar: firmware/rootfs.tar.bz2.enc: time stamp 2020-02-27 06:26:15 is 30237823.981309875 s in the future
tar: firmware/zImage-imx6ul-14x14-evk-btwifi.dtb: time stamp 2020-02-27 06:26:15 is 30237823.980314333 s in the future
tar: firmware/firmware.md5: time stamp 2020-02-27 06:26:15 is 30237823.979807042 s in the future
tar: firmware: time stamp 2020-02-27 06:26:15 is 30237823.979522542 s in the future
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: 0168007120430E23
software MCSV-MMMM: 0168
software MCSV-CCCC: 0071
hardware MCSV: 016800001772E76A
hardware MCSV-MMMM: 0168
hardware MCSV-CCCC: 0000
Hardware customer ID is '0000' or '0001'
Software Customer ID is not '0000' or '0001'
Allow to upgrade
Reject other Customer ID
MCSV check succeeded
Burn the kernel to eMMC ...
cp /tmp/firmware/zImage /tmp/mmc_p1/zImage_b
Burn the kernel to eMMC succeeded
Burn the dtb to eMMC ...
cp /tmp/firmware/zImage-imx6ul-14x14-evk.dtb /tmp/mmc_p1/imx6ul-14x14-evk_b.dtb
Burn the dtb to eMMC succeeded
Get rootfs from encrypted rootfs.tar.bz2.enc ...
rootfs.tar.bz2.enc exist, decrypt it to rootfs.tar.bz2
decrypt rootfs.tar.bz2.enc
openssl des3 -d -salt -in rootfs.tar.bz2.enc -out rootfs.tar.bz2 -k 2wsx#EDC
Get rootfs from encrypted rootfs.tar.bz2.enc succeeded
Burn the rootfs to eMMC ...
rm -rf /tmp/mmc_p3/*
writting rootfs... please wait
tar -jxvm -C /tmp/mmc_p3 -f /tmp/firmware/rootfs.tar.bz2
Total write: 3654, temp proportion: 60
Writting 10/3654 (0, 30)
Writting 20/3654 (0, 30)
...
Writting 3650/3654 (59, 89)
Burn the rootfs to eMMC succeeded
burn_rootfs done
Replace current primary application
Addtional patch for firmware upgrade ...
firmware_patch.enc exist, decrypt it and execute it
decrypt firmware_patch.enc
patch for eMMC storage memory ...
access boot partition 1
write U-Boot to sd card
710+0 records in
710+0 records out
re-enable read-only access
patch for eMMC storage memory succeeded
Addtional patch for firmware upgrade succeeded
Upgrading the firmware for 'eMMC' storage memory succeeded
firmware upgrade shell script succeeded
finished
bash-4.3#
從 console 可以看到有作 uboot 的燒錄
直接在 shell 下 reboot
可以看到 uboot 的確更新了
U-Boot 2015.04imx_v2015.04_4.1.15_1.2.0_ga+gede7538 (Feb 27 2020 - 09:39:20)
CPU: Freescale i.MX6UL rev1.1 at 396 MHz
CPU: Temperature 50 C
Reset cause: WDOG
Board: MX6UL 14x14 EVK
I2C: ready
DRAM: 512 MiB
turn on the IO control power
turn on sys led
reset Ethernet 1
reset Ethernet 2
reset Mobile
MMC: FSL_SDHC: 0, FSL_SDHC: 1
...
從 /tmp/etc/sysinfo.txt 就可以看出問題
bash-4.3# cat /tmp/etc/sysinfo.txt
BOOTLOADER_VER=NA
MAC=random
HW_MCSV=0168007120430E23
SERIALNO=NA
APP_PRIMARY=
DUAL_IMAGE_A_MCSV=NA
DUAL_IMAGE_B_MCSV=NA
bash-4.3#
當下的 boot env
bash-4.3# fw_printenv
Cannot open /dev/mtd1: No such file or directory
bash-4.3#
完全意料之外的錯誤
當下的 /etc/fw_env.config 是錯的
bash-4.3# cat /etc/fw_env.config
#
# use NAND Flash as storage memory
#
# device name Device offset Env. size sector size
/dev/mtd1 0x00000000 0x00100000 0x00020000
bash-4.3#
rc.local 也是錯的
bash-4.3# cat /etc/rc.local
#!/bin/sh
#
# rc.local
#
# use NAND Flash as storage memory
#
MODEMFW_UPGRADE="/etc/icos/modemfw/modemupgrade.ini"
MODEMFW_DEBUG="/etc/icos/modemfw/modemupgrade.dbg"
...
/usr/sbin/icos/FirmwareUpgrade.sh 也是錯的
bash-4.3# cat /usr/sbin/icos/FirmwareUpgrade.sh
#!/bin/bash
#
# FirmwareUpgrade.sh
#
# use NAND Flash as storage memory
#
source /usr/sbin/icos/FirmwareUpgradeAPI.sh
...
就是說 M300/proscend/memory_fs/emmc 沒被套用到
emmc 的 firmware 裡面反而套用到 M300/proscend/memory_fs/nandflash
快速開關機兩次回到 M301-TG_016800001772E76A_mfgtools.zip
這次用 tftp 拉 M301-TG_v2.03_0168000020330E18.img - generic v2.03 版
...
1700
找到 root cause
M300(release/v2.04) - correct the ADVICE emmc profile - PROSRC_EMMC=y
commit ad0941270d6490cd9ad161fa15bad2f3d69fbdbe
Refs: [release/v2.04], {origin/release/v2.04}
Author: jeffrey <[email protected]>
Date: Wed Mar 4 16:50:12 2020 +0800
correct the ADVICE emmc profile - PROSRC_EMMC=y
- or the memory_fs will use nandflash not emmc
proscend/mconfig/configs/M300E/5_ADVICE/defconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
切換到 VMware jbox
使用下述 command 來 build
user@f14571e79bb2:~$ ./build.sh -d -f M300E/5_ADVICE
得到 ICR-213PGG_v2.04_0168007120430E70.img
MCSV: 0168007120430E70
cp: cannot stat 'images/m300e.ubi.img': No such file or directory
profile after run build: M300E/5_ADVICE
key: M300E_ADVICE, value: success
Copy images from build_small/artifact/ to test
build_small/artifact/uncategorized/ICR-213PGG_v2.04_0168007120430E70.img, 0168007120430E70
rootfs.tar.bz2.enc exist, decrypt it to rootfs.tar.bz2
decrypt rootfs.tar.bz2.enc
extract rootfs.tar.bz2 to rootfs
The rootfs/usr/sbin/icos/test.sh should be executable
key: build_small/artifact/uncategorized/ICR-213PGG_v2.04_0168007120430E70.img, value: 1
user@f14571e79bb2:~$
直接解開該 image 驗證 /etc/rc.local 的正確性 - 正確
➜ tmp tar -xf ICR-213PGG_v2.04_0168007120430E70.img
➜ tmp cd firmware
➜ firmware openssl des3 -d -salt -in rootfs.tar.bz2.enc -out rootfs.tar.bz2 -k 2wsx#EDC
➜ firmware tar -jxvm -f rootfs.tar.bz2
...
➜ firmware cat ./etc/rc.local | grep eMMC -A3 -B3
#
# rc.local
#
# use eMMC as storage memory
#
➜ firmware
再從 1.77 的 generic 透過 web ui 作 upgrade - PASS
root@Hardened Cellular Router:~# cat /tmp/etc/sysinfo.txt
BOOTLOADER_VER=1.0
MAC=random
HW_MCSV=0168007120430E70
SERIALNO=NA
APP_PRIMARY=b
DUAL_IMAGE_A_MCSV=NA
DUAL_IMAGE_B_MCSV=0168007120430E70
root@Hardened Cellular Router:~#