20170215_jeffrey - silenceuncrio/diary GitHub Wiki
0910
昨天拿給 morris 的 1 號 CPU 板 morris 試了幾次又掛了
拿回來接上 console
U-Boot 2015.04imx_v2015.04_4.1.15_1.2.0_ga+gede7538 (Jan 26 2017 - 04:01:06)
CPU: Freescale i.MX6UL rev1.1 at 396 MHz
CPU: Temperature 35 C
Reset cause: POR
Board: MX6UL 14x14 EVK
I2C: ready
DRAM: 512 MiB
force_idle_bus: sda=0 scl=0 sda.gp=0x1d scl.gp=0x1c
NAND: 256 MiB
MMC: FSL_SDHC: 0
Display: TFT43AB (480x272)
Video: 480x272x24
In: serial
Out: serial
Err: serial
Net: FEC1
Error: FEC1 address not set.
Normal Boot
Hit any key to stop autoboot: 0
## Error: "m300_boot" not defined
=>
## Error: "m300_boot" not defined
真的是蠻詭異的
這意味著昨天的 假設 是錯的
目前懷疑是 rc.local 每一次的 fw_setenv bootcmd 'run bootcmd_v1.1' 的某一次
就把 bootcmd_v1.1 洗掉了...
ariel 一早就拿了一片 M300 給我說他也不能開機
## Error: "bootcmd_v1.1" not defined
先利用 env default -f -a
來把 uboot env 恢復成 default
我要趕快把這問題解決
ariel 使用 m300 並不會像 morris 這樣很快的開關機
0945
1 號 CPU 板 一樣是利用 env default -f -a
來把 uboot env 恢復成 default
試著複製問題... 反覆在不同的時間點拔電又上電... 但複製不出來
試著請 morris 作跟昨天一樣的事情
發現新的問題... ethernet 1 reset pin 訊號異常
目前 reset 的相關動作存放在 reset_ethernet_and_mobile
這個 uboot env
=> print reset_ethernet_and_mobile
reset_ethernet_and_mobile=mw 0x020E00BC 00000005 1; mw 0x020E00C0 00000005 1;
mw 0x0209C004 40000000 1; mw 0x0209C004 80000000 1; mw 0x020AC004 00000080 1;
mw 0x0209C000 00000000 1; mw 0x0209C000 00000000 1; mw 0x020AC000 00000000 1;
sleep 1;
mw 0x0209C000 40000000 1; mw 0x0209C000 80000000 1; mw 0x020AC000 00000080 1
=>
ethernet 1 和 ethernet 2 由於是共用同一個 GPIO
設定暫存器的方式需要修正
=> print reset_ethernet_and_mobile
reset_ethernet_and_mobile=mw 0x020E00BC 00000005 1; mw 0x020E00C0 00000005 1;
reset_ethernet_and_mobile=mw 0x020E00BC 00000005 1; mw 0x020E00C0 00000005 1;
mw 0x0209C004 C0000000 1; mw 0x020AC004 00000080 1;
mw 0x0209C000 00000000 1; mw 0x020AC000 00000000 1;
sleep 1;
mw 0x0209C000 C0000000 1; mw 0x020AC000 00000080 1
=>
1030
這幾天在修正 firmware upgrade 相關事宜的過程
commit 的時候又把 FirmwareUpgrade.sh
的權限改成無法執行
想到自己 ubuntu 網路芳鄰的設定 - /etc/samba/smb.conf
[ubuntu]
path = /home/jeffrey
writable = yes
guest account = jeffrey
force user = jeffrey
public = yes
force group = jeffrey
browseable = yes
create mask = 0664
directory mask = 0775
來修正一下 create mask = 0664
改成 create mask = 0775
重新啟動 samba
sudo service smbd restart
sudo service nmbd restart
目前透過 window 上的 sublime 去編輯 ubuntu 利用 samba 分享出來的檔案後
發現已經不會再去修改原本的 0775
權限了
1300
還複製不出昨天的問題
先不要 commit... 多試一下
1315
覺得自己這一陣子在作 git push 的時候都太衝動了
不管改甚麼東西... 應該多測一陣子
確定沒問題再 commit 才對
不要貿貿然然地又製造一些歷史包袱出來
1335
今天為了 ethernet 1 和 ethernet 2 resst pin 的 GPIO 作了修正
相關部分如下
rc.local
# ======================================================================
# | apply the uboot env variables related to current application
# ======================================================================
/usr/sbin/icos/uboot_env.sh
# ======================================================================
# | run bootcmd_v1.1 define in uboot_env.sh
# ======================================================================
fw_setenv bootcmd 'run bootcmd_v1.2'
uboot_env.sh
# ======================================================================
# | bootcmd
# ======================================================================
# turn on the system LED first - shortest the bootdelay
fw_setenv bootdelay 1
fw_setenv bootcmd_v1.2 'run turnon_sysled; run reset_ethernet_and_mobile; \
run app_choose; \
echo run bootargs_${app_primary}; run bootargs_${app_primary}; \
run nandread_${app_primary}; \
setenv no_good ${no_good}x; \
saveenv; \
bootz ${loadaddr} - ${fdt_addr}'
# set the current uboot env version into uboot env MTD
fw_setenv uboot_env_ver $uboot_env_ver
# boudary for protect the uboot env
fw_setenv uboot_env_boudary_1 'therer are 3 boudary'
fw_setenv uboot_env_boudary_2 'therer are 3 boudary'
fw_setenv uboot_env_boudary_3 'therer are 3 boudary'
故意把 uboot_env_ver
設定的時間點放在 bootcmd_v1.2
後面
然後再新增三個沒用處的 uboot env
希望萬一昨天的現象再次產生時不見的 uboot env 會是這三個 uboot env 的其中一個
先用這樣的軟體燒錄在 morris 請我幫忙的 1 號 和 4 號 CPU 板讓 morris 明天能夠去進行 靜電 相關的測試
1345
回到目前的工作主軸 - Web server with HTTPS
記得 ariel 提過 M300 的 WAN 端要使用 HTTPS
LAN 端就使用目前的 HTTP 即可
先收集一下目前跟 web server 的現況
M300 開機時會執行 /etc/rc.local
...
/usr/sbin/icosconfig bootinit
...
關鍵就在 icosconfig bootinit
這會把 web 這個 icos module 帶起來
也就是 webcfg.c
的 InitWeb()
webcfg.c
需要花時間 trace 一下
從目前的 source code 看來 WebOnOff.sh
已經沒再用了
跟 aaron 聊一下發現他不是最後經手的... 是 john
我先 trace 一下 有問題再找 john 聊
1500
協助 efm bridge 幫忙 upgrade 成 ACE 的版本
這次有 11 片
keep 一下那些 PCB 號碼已經做完了
使用的 firmware 是 D:\EfmBridge\ReleaseNew\branches\CID000_ACE\5640000.110.20151109-R948.bin
沒有 PCB 序號貼紙 - 標記 1 號 - 裡面還有 bootloader... 先跳過
PCB - 22FHU38M0000 - ok
沒有 PCB 序號貼紙 - 標記 2 號 - console 異常
沒有 PCB 序號貼紙 - 標記 3 號 - ok
- 上電有嘶嘶聲
- 裡面是舊的 ace 版本, 利用
http://192.168.10.250/ace2015_su
進入原本的 web ui 才能 upgrade
PCB - 22FJC3BV024F - 改 MCSV - ok
User: iwu@fbt&ND
Password: ************
Type ? for help
iwu@fbt&ND#set adv lab ffffffffffffffff
Set Label FFFFFFFFFFFFFFFF OK!
iwu@fbt&ND#wr
Are you sure? (y/n): y
Write configuration successful!
Do you want to reboot? (y/n): y
PCB - 22FJA3BX000C - ok
PCB - 22FJ23M50078 - ok
沒有 PCB 序號貼紙 - 標記 4 號 - ok
PCB - 22FHU3JA006D - ok
PCB - 22FJA3EV00BD - 沒電源孔
PCB - 22FJ23B9002D - ok
合計 8 片 ok, 3 片 有問題
先全部拿給 PHT 作後續處理... 順便聽 PHT 八卦一下
感覺 M300 團隊給別人的印象也不是很好...
我想我就聽聽就好... 別往心裡去
1610
回到 Web server with HTTPS
繼續收集 web server 的現況
目前追到 webcfg.c
的 InitWeb()
最後經手的 john
先 trace 一下 有問題再找 john 聊
1800
下午有個印度的客戶來訪
不確定是不是 Schmid
不過該客戶是對我們 M300 很有興趣
目前因應該客戶的需求 arile 請我負責下述的項目
- Web server with HTTPS
- Web UI
- DMZ
- UPnP (IPv4v6)
- RIP
- OSPF
工作項目 Web Proxy
priority 降低
FOTA
也降低
不過追加了 DMZ
, UPnP (IPv4v6)
, RIP
和 OSPF
這幾天要來 survey 一下才有辦法壓 schedule