# Function Test ###### tags: `Check Point 初始版` /home/puzzle#cat service.sh ![](https://i.imgur.com/CnRX0EK.png) /home/puzzle#cat work.sh ![](https://i.imgur.com/ZS5YpEj.png) cp work.sh brian.sh ![](https://i.imgur.com/Ke1Ou8j.png) **CPU** #cat /proc/cpuinfo | grep -c processor #4 ==>core #stress-ng --cpu {core} --timeout {10}s -l {60} CPU_temp RAM_temp CPU_internal_temp **CPU internal temp** #cat /sys/class/thermal/thermal_zone1/temp **RAM** #cat /proc/cpuinfo | grep -c processor #4 ==>core #stress-ng --vm {core} --vm-bytes {250}m -t {10}s CPU_temp RAM_temp CPU_internal_temp **eMMC** 判斷emmc生命週期並顯示Manufacturer ID and Product Name ![](https://i.imgur.com/2iExjJJ.png) 0x01 = PASS , else = Fail #cat /sys/devices/platform/cp0/cp0:config-space/f2780000.sdhci/mmc_host/mmc1/mmc1:0001/manfid #cat /sys/devices/platform/cp0/cp0:config-space/f2780000.sdhci/mmc_host/mmc1/mmc1:0001/name #cat /sys/devices/platform/cp0/cp0:config-space/f2780000.sdhci/mmc_host/mmc1/mmc1:0001/life_time 驗證fail,修改eMMC.py的0x01或者找一台eMMC已經使用多時的. **Voltage** ![](https://i.imgur.com/cX8fTQf.png) 三種結果 Success、Monitor Over Range、Monitor Fail/ERROR(沒有讀到值 小於0時) V1 3.3V 3.15 <= fv33 <= 3.45 V0 #cat /sys/bus/i2c/devices/0-0028/hwmon/hwmon*/in1_input V1 #cat /sys/bus/i2c/devices/0-002b/hwmon/hwmon*/in1_input 1526(值)/1000/0.454545455 = 3.3571 12V 11.4 <= fv12 <= 12.6 V0 #cat /sys/bus/i2c/devices/0-0028/hwmon/hwmon*/in4_input V1 #cat /sys/bus/i2c/devices/0-002b/hwmon/hwmon*/in4_input 1670(值)/1000/0.135446686 = 12.3295 1.8V (HW 1V2 Monitor) 1.14 <= fv18 <= 1.26 V0 #cat /sys/bus/i2c/devices/0-0029/hwmon/hwmon*/in2_input V1 #cat /sys/bus/i2c/devices/0-002d/hwmon/hwmon*/in2_input 1004(值) /1000/0.831541 = 1.2073 0.9V (1V2_RM_Monitor) 1.14 <= fv9 <= 1.26 V0 #cat /sys/bus/i2c/devices/0-0029/hwmon/hwmon*/in1_input V1 #cat /sys/bus/i2c/devices/0-002d/hwmon/hwmon*/in1_input 1014(值)/1000/0.8315412 = 1.2194 1.2Va (HW 0V9) 0.81 <= fv12a <= 1.1 V0 #cat /sys/bus/i2c/devices/0-0029/hwmon/hwmon*/in3_input V1 #cat /sys/bus/i2c/devices/0-002d/hwmon/hwmon*/in3_input 702(值)/1000/0.666666667 = 1.0529 1.2Vb (HW 1V8) 1.7 <= fv12b <= 1.9 V0 #cat /sys/bus/i2c/devices/0-0029/hwmon/hwmon*/in4_input V1 #cat /sys/bus/i2c/devices/0-002d/hwmon/hwmon*/in4_input 916(值)/1000/0.5 = 1.832 **Temparature** ![](https://i.imgur.com/SvZ1pUi.png) ![](https://i.imgur.com/GuoV3bo.png) CPU V0 #cat /sys/bus/i2c/devices/0-0028/hwmon/hwmon1/in3_input V1 #cat /sys/bus/i2c/devices/0-002b/hwmon/hwmon2/in3_input //不確定 RAM V0 #cat /sys/bus/i2c/devices/0-0028/hwmon/hwmon1/in2_input V1 #cat /sys/bus/i2c/devices/0-002b/hwmon/hwmon2/in2_input //不確定 **FAN V2 V3** echo 250 > /sys/class/hwmon/hwmon0/pwm3 (V3_CPU_FAN1) echo 250 > /sys/class/hwmon/hwmon2/pwm1 (V3_CPU_FAN2) echo 250 > /sys/class/hwmon/hwmon0/pwm1 (V3_FAN1) echo 250 > /sys/class/hwmon/hwmon0/pwm2 **USB1/USB2** 對外部隨身碟做讀寫 **DEVICEBTN** Press factory default key time out 30sec keep 0.5sec **MAC** 與MES mac info比對與機器mac是否相同 ![](https://i.imgur.com/p3klGIq.png) ![](https://i.imgur.com/9xDiTpn.png) ![](https://i.imgur.com/fyd03NL.png) FAIL msg ![](https://i.imgur.com/hUtQ81b.png) 改MAC讓結果FAIL(FT1 Setup Device-Verify MAC/Write MAC and MES Device Info也可以用此方式驗證) V1 uboot Marvell>>setenv ethaddr aa:bb:cc:dd:ee:00 Marvell>>setenv eth1addr aa:bb:cc:dd:ee:01 Marvell>>setenv eth2addr aa:bb:cc:dd:ee:02 Marvell>>saveenv Marvell>>reset **Write MAC** Check local PC Blob File **Write VPD** #cat /tmp/.vpd.txt ![](https://i.imgur.com/16E3Etz.png) /etc/puzzle/vpd#./vpd "0:7" //0:0~0:7 Use Postman app Read device info ![](https://i.imgur.com/vS7kUKj.png) >>> http://192.168.0.36:8882/deviceInfo ``` { "config":{ "name":[0,1,2] }, "device":{ "name":[0,1,2] } } ``` Write device info ![](https://i.imgur.com/jKQC3Fr.png) >>> http://192.168.0.36:8882/deviceAgent ``` { "config": [ { "data": { "lan": 0, "lcm": 0, "mainslot": "mvpp2", "modelName": "BaseHW-SG-V1", "plumslots": [], "ssd": 0, "usb": 1 }, "name": 2 } ], "device": [ { "data": { "boardManufacturer": "DQV TEST.", "productSerialNumber": "WA122345661" }, "name": 2 } ] } ``` **Write Config** #cat /home/puzzle/deviceAgentAPI/config/config.json ![](https://i.imgur.com/MWR6r2R.png) #rm config.json /home/puzzle/#bash serice.sh restart //會先產生空的config.json #cat /home/puzzle/deviceAgentAPI/config/config.json 然後再按下"Write Config" //重新寫入default #cat /home/puzzle/deviceAgentAPI/config/config.json **EEPROM** ![](https://i.imgur.com/tPJwSFh.png) ![](https://i.imgur.com/aU1gJyZ.png) /home/puzzle/deviceAgentAPI/hwUnit# vi init_define.py ![](https://i.imgur.com/tVgxMde.png) step1 Check vpd tool step2 Check vpd manufacture /etc/puzzle/vpd#./vpd 0:2 step3 write vpd manufacture /etc/puzzle/vpd#./vpd 0:2 "" step4 read vpd manufacture /etc/puzzle/vpd#./vpd 0:2 **SNCHECK** 機器與VPD server比對Serial Number **LAN** 判斷指定的LAN port是否有抓到IP V0 : eth1 ![](https://i.imgur.com/My3n7WE.png) V1 : lan1 ![](https://i.imgur.com/Gtq7507.png) **USBPower** 透過GPIO確認USB開跟關閉都正常 "usb" : "sda" V0 "gpio" mapping 56 V0 "gpio" mapping 480 echo 0 > /sys/class/gpio/gpio{}/value cat /sys/class/gpio/gpio{}/value lsblk | grep sda echo 1 > /sys/class/gpio/gpio{}/value cat /sys/class/gpio/gpio{}/value lsblk | grep sda **RTCSYNC** 將edge server的Local time and RTC time寫入到device端,然後再比對Local time and RTC time是否相同 edge server端 #timedatectl ![](https://i.imgur.com/jbeRhZz.png) 測試方式可以先手動修改edge server time step1 #sudo timedatectl set-ntp no && sudo date -s '2019-08-02T08:32:48.000Z' && sudo hwclock -w step2 /home/puzzle/devHealthCheckClient/functionUnit#vi rtc_para.py cmd=“sudo timedatectl set-ntp no && sudo date -s ‘{}’”.format(myDate) //增加"關閉網路時間同步並移除hwclock寫入 step3 bash /home/puzzle/service.sh restart #timedatectl set-ntp yes //開啓網絡時間同步(恢復正確時間) #hwclock --systohc //HW時間設定成跟Local時間一樣 device端(判斷時間是否相同) ROBO 3T 改搜尋最新的在最前面 db.getCollection('report').find({}).sort({"date" : -1}) 搜尋operationId db.getCollection('report').find({"operationId" : "9bdc26d9-3cb8-4284-8aa3-a5feaaf83519"})