原創做品,轉載請註明出處html
copyright:weishusheng 2015.3.18 linux
email:642613208@qq.comshell
平臺:json
Linux version 2.6.32-279.el6.x86_64vim
交叉編譯器路徑:/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-瀏覽器
開發板:FL2440bash
開發板運行內核:linux3.0服務器
開發板文件系統:initramfscookie
easycwmp是基於cwmp協議開發出的CPE客戶端,它的運行須要相應的庫文件和腳本文件,只有把這些文件放在easycwmp能找到的位置,而且裏面的內容符合咱們本身的開發板,它纔會運行的好。我用的是initramfs文件系統,initramfs運行在RAM,掉電後數據會丟失,因此把apps掛載到另外一個分區,並把easycwmp放到apps裏面,這樣就不用每次重啓都從新設置。app
用mount命令能夠查看分區掛載狀況
/ >: mount
rootfs on / type rootfs (rw)
proc on /proc type proc (rw,relatime)
usbfs on /proc/bus/usb type usbfs (rw,relatime)
tmpfs on /dev type tmpfs (rw,relatime)
ramfs on /tmp type ramfs (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
ubi7:apps on /apps type ubifs (rw,sync,noatime)
/dev/mtdblock8 on /data type jffs2 (rw,sync,noatime)
/ >:
在PC上easycwmp用到的腳本都放在默認位置,在個人FL2440上要作一些更改,以適應個人文件系統(掉電丟失)
1.在apps下建立相關目錄用以存放項目程序
/ >:mkdir -p /apps/easycwmp
2.由於我是在192.168.1.3的機器(之後簡稱.3服務器)上交叉編譯easycwmp的,因此須要把.3服務器上的相關腳本經過tftp放到FL2440開發板上,把全部用到的腳本所有放到scripts目錄裏,各個腳本須要你本身從安裝的位置拷貝過來
把它們所有打包放在/tftp目錄下
3. 把庫文件所有打包放到/tftp目錄裏面
4.把用到的uci,ubusd,jshn,easycwmpd放到/tftp目錄裏面
5.在FL2440上編寫一個配置文件,用以把咱們剛剛放到.3服務器上的庫文件,腳本文件放到相應地方
/ >: vim conf.sh
#!/bin/bash
mkdir -p /apps/easycwmp/lib
mkdir -p /apps/easycwmp/bin
echo "----------------load libs-------------------------"
cd /apps/easycwmp/lib
tftp -gr cwmplib.tar.bz2 192.168.1.3
tar -xjf cwmplib.tar.bz2
chmod 777 *
ls
echo "----------------load scripts-----------------------"
cd /apps/easycwmp/scripts
tftp -gr cwmpscripts.tar.bz2 192.168.1.3
tar -xjf cwmpscripts.tar.bz2
chmod 777 *
ls
cd
mkdir -p /etc/easycwmp
mkdir -p /etc/config/
mkdir -p /lib/functions/
echo "----------------make link-----------------------"
ln -sf /apps/easycwmp/bin/easycwmpd /usr/sbin/easycwmpd
ln -sf /apps/easycwmp/scripts/easycwmp.sh /usr/sbin/easycwmp
ln -sf /apps/easycwmp/scripts/easycwmp /etc/config/easycwmp
ls -l /usr/sbin/easycwmpd
ls -l /usr/sbin/easycwmp
ls -l /etc/config/easycwmp
echo "----------------cp uci.sh to /lib/config/-----------------------"
mkdir -p /lib/config/
cp /apps/easycwmp/scripts/uci.sh /lib/config/uci.sh
ls /lib/config/uci.sh
echo "----------------load ubusd -----------------------"
cd /usr/sbin
tftp -gr ubusd 192.168.1.3
chmod 777 ubusd
ls /usr/sbin/ubusd
echo "-----------------load uci--------------------------"
cd /sbin
tftp -gr uci 192.168.1.3
chmod 777 uci
ls /sbin/uci
export UCI_CONFIG_DIR="/apps/easycwmp/scripts/"
export UBUS_SOCKET="/tmp/ubus.sock"
echo "---------------load jshn----------------------------"
cd /bin
tftp -gr jshn 192.168.1.3
echo "----------------get easycwmpd--------------------------"
cd /apps/easycwmp/bin
tftp -gr easycwmpd 192.168.1.3
chmod 777 easycwmpd
ls
echo "all done!"
6.執行該腳本
/ >:sh conf.sh
執行該腳本後lib下應該有的文件是
scripts下應該有
你還應該看到
須要說明的是:
a.個人文件系統是用busybox-1.20.0製做的,它的bash不支持easycwmp的相關語法,因而我從新交叉編譯了bash
(也能夠考慮升級busybox,busybox下載地址http://www.busybox.net/downloads/)
bash下載地址http://ftp.gnu.org/gnu/bash/,我下載的是bash-4.3,
建立build.sh
vim build.sh
#!/bin/bash
PRJ_PATH=`pwd`
#CROSS=/opt/buildroot-2011.11/arm920t/usr/bin/arm-linux-
CROSS=/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-
export CC=${CROSS}gcc
export CPP=${CROSS}cpp
export AS=${CROSS}as
export LD=${CROSS}ld
export AR=${CROSS}ar
export RANLIB=${CROSS}ranlib
export STRIP=${CROSS}strip
exprot bash_cv_getenv_redef=no
make distclean
./configure --host=arm-linux --prefix=${PRJ_PATH}/../install \
--enable-static-link --without-bash-malloc
${CROSS}strip bash
make
make install
執行sh build.sh
把bash放到/tftp
b.busybox-1.20.0也不支持easycwmp裏的getopt命令,因而交叉編譯getopt,getopt是內嵌在util-linux-ng裏的,交叉編譯util-linux-ng裏面會生成getopt
util-linux-ng下載網址ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/
我下載的是util-linux-ng-2.16.tar.gz
建立build.sh
[weishusheng@localhost util-linux-ng-2.16]$ vim build.sh
#!/bin/bash
PRJ_PATH=`pwd`
#CROSS=/opt/buildroot-2011.11/arm920t/usr/bin/arm-linux-
CROSS=/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-
make distclean
export CC=${CROSS}gcc
export CPP=${CROSS}cpp
export AS=${CROSS}as
export LD=${CROSS}ld
export AR=${CROSS}ar
export RANLIB=${CROSS}ranlib
export STRIP=${CROSS}strip
./configure --host=arm-linux --without-ncurses --prefix=/home/weishusheng/myfl2440/cwmp/fl-easy
cwmp/install
make && make install
執行sh build.sh
把getopt放到/tftp目錄下
[weishusheng@localhost util-linux-ng-2.16]$ cp /home/weishusheng/myfl2440/cwmp/fl-easycwmp/install/bin/getopt /tftp
c.在FL2440板子上沒有curl,須要交叉編譯curl
下載地址http://curl.haxx.se/download.html
我下的是curl-7.41.0版本
建立build.sh
[weishusheng@localhost curl-7.41.0]$ vim build.sh
#!/bin/bash
PRJ_PATH=`pwd`
#CROSS=/opt/buildroot-2011.11/arm920t/usr/bin/arm-linux-
CROSS=/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-
make distclean
autoreconf -i
export CC=${CROSS}gcc
export CPP=${CROSS}cpp
export AS=${CROSS}as
export LD=${CROSS}ld
export AR=${CROSS}ar
export RANLIB=${CROSS}ranlib
export STRIP=${CROSS}strip
./configure --host=arm-linux --prefix=${PRJ_PATH}/../install --without-ssl
make && make install
執行sh build.sh ,並把curl及libcurl.so ,libcurl.so.4,libcurl.so.4.3.0放到/tftp 目錄下
d.shflags.sh也須要放到板子上,我用的shflags-1.0.3/src下的shflags,它是個腳本,不用交叉編譯,將shflags重命名爲shflags.sh就好
下載地址:http://www.filewatcher.com/m/shflags-1.0.3.tgz.43549-0.html
它裏面的內容:
# $Id: shflags 133 2009-05-10 18:04:51Z kate.ward@forestent.com $
# vim:et:ft=sh:sts=2:sw=2
#
# Copyright 2008 Kate Ward. All Rights Reserved.
# Released under the LGPL (GNU Lesser General Public License)
#
# shFlags -- Advanced command-line flag library for Unix shell scripts.
# http://code.google.com/p/shflags/
#
# Author: kate.ward@forestent.com (Kate Ward)
#
# This module implements something like the google-gflags library available
# from http://code.google.com/p/google-gflags/.
#
# FLAG TYPES: This is a list of the DEFINE_*'s that you can do. All flags take
# a name, default value, help-string, and optional 'short' name (one-letter
# name). Some flags have other arguments, which are described with the flag.
#
# DEFINE_string: takes any input, and intreprets it as a string.
......
7.FL2440上修改/apps/easycwmp/scripts/easycwmp.sh
/apps/easycwmp/scripts >: vim easycwmp.sh
#!/bin/sh
# Copyright (C) 2012-2014 PIVA Software <www.pivasoftware.com>
# Author: MOHAMED Kallel <mohamed.kallel@pivasoftware.com>
# Author: AHMED Zribi <ahmed.zribi@pivasoftware.com>
# Author: ANIS ELLOUZE <anis.ellouze@pivasoftware.com>
# Copyright (C) 2011-2012 Luka Perkov <freecwmp@lukaperkov.net>
. /apps/easycwmp/scripts/functions.sh
. /apps/easycwmp/scripts/jshn.sh
. /apps/easycwmp/scripts/shflags.sh
. /apps/easycwmp/scripts/defaults
UCI_GET="/sbin/uci -q ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} get"
UCI_SET="/sbin/uci -q ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} set"
UCI_SHOW="/sbin/uci -q ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} show"
UCI_COMMIT="/sbin/uci -q ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} commit"
......
主要修改functions.sh,jshn.sh,shflags.sh,defaults的加載路徑,再把最後一行的
#handle_action 2>/dev/null
改成
handle_action
這樣才能看到出錯信息,否則要是腳本執行出現什麼問題都看不到打印信息
8.FL2440上修改network.sh
/apps/easycwmp/scripts >: vim network.sh
把第一行改成,(即jshn.sh的真實加載路徑)
. /apps/easycwmp/scripts/jshn.sh
9.FL2440上修改easycwmp(黑色字體標註的是命令和更改的地方)
/apps/easycwmp/scripts >: vim easycwmp
# easycwmp uci configuration
config local
option interface eth0
option port 7547
option ubus_socket /var/run/ubus.sock
option date_format %FT%T%z
option username easycwmp
option password easycwmp
config acs
option scheme http
option username openacs
option password openacs
option hostname 192.168.1.21
option port 8080
option path /openacs/acs
option parameter_key '1'
option periodic_enable 'true'
option periodic_interval '180'
option periodic_time '1'
config device
option manufacturer easycwmp
option oui FFFFFF
option product_class mycwmp
option serial_number FFFFFF123456
option hardware_version example_hw_version
option software_version example_sw_version
config scripts
# load OpenWrt generic network functions
list location /apps/easycwmp/scripts/network.sh
# load easycwmp common functions
list location /apps/easycwmp/scripts/common
# easycwmp specific functions
list location /apps/easycwmp/scripts/device_info
list function device_info
list location /apps/easycwmp/scripts/lan_device
list function lan_device
list location /apps/easycwmp/scripts/management_server
list function management_server
list location /apps/easycwmp/scripts/wan_device
list function wan_device
10.FL2440上修改defaults
/apps/easycwmp/scripts >: vim defaults
#!/bin/sh
# Copyright (C) 2011-2012 Luka Perkov <freecwmp@lukaperkov.net>
# set these to appropriate values and remove comment if you want to use them
#default_management_server_acs_hostname=""
default_management_server_connection_request_url="http://192.168.1.21:8080/openacs/acs"
#default_wan_device_mng_interface_ip=""
#default_wan_device_mng_interface_mac=""
#default_device_hosts_dnsmasq_leases_file=""
~
11.我在作文件系統時自動設置系統在啓動時去/apps/etc/init.d/裏面去執行以S打頭的文件,因此我在/apps/etc/init.d/裏寫了個easycwmp的配置腳本,使得不用每次都手動把庫文件、exe文件都拷貝到相應目錄下
首先須要將用到的.3服務器上的bash,getopt,jshn,curl,uci,ubusd放到開發板/apps/easycwmp/bin/裏面,在編寫腳本S23_cwmp
/apps/etc/init.d >: pwd
/apps/etc/init.d
/apps/etc/init.d >: vim S23_cwmp
#!/bin/sh
ifconfig eth0 192.168.1.23
route add default gw 192.168.1.1
mkdir -p /etc/easycwmp
mkdir -p /etc/config/
mkdir -p /lib/functions/
echo "----------------make link-----------------------"
ln -sf /apps/easycwmp/bin/easycwmpd /usr/sbin/easycwmpd
ln -sf /apps/easycwmp/scripts/easycwmp.sh /usr/sbin/easycwmp
ln -sf /apps/easycwmp/scripts/easycwmp /etc/config/easycwmp
ls -l /usr/sbin/easycwmpd
ls -l /usr/sbin/easycwmp
ls -l /etc/config/easycwmp
echo "----------------cp uci.sh to /lib/config/-----------------------"
mkdir -p /lib/config/
cp /apps/easycwmp/scripts/uci.sh /lib/config/uci.sh
ls /lib/config/uci.sh
echo "----------------cp ubusd to /usr/sbin-----------------------"
cp /apps/easycwmp/bin/ubusd /usr/sbin
ls /usr/sbin
echo "-----------------cp uci to /sbin--------------------------"
cd /sbin
cp /apps/easycwmp/bin/uci /sbin
ls /sbin/uci
cp /apps/easycwmp/bin/curl /usr/bin
cp /apps/easycwmp/bin/jshn /bin/
export UCI_CONFIG_DIR="/apps/easycwmp/scripts/"
export UBUS_SOCKET="/tmp/ubus.sock"
rm /bin/getopt
cp /apps/easycwmp/bin/getopt /bin/
rm /bin/sh
cp /apps/easycwmp/bin/bash /bin
ln -sf /bin/bash /bin/sh
寫完這個腳本之後,
以上工做都作好後就能夠啓動服務器,咱們能夠執行easycwmp --json get name "" 0 來測試cpe支持的數據模型
你將看到
{ "parameter": "InternetGatewayDevice.", "fault_code": "", "writable": "0" }
{ "parameter": "InternetGatewayDevice.DeviceInfo.", "fault_code": "", "writable": "0" }
{ "parameter": "InternetGatewayDevice.DeviceInfo.Manufacturer", "fault_code": "", "writable": "0" }
{ "parameter": "InternetGatewayDevice.DeviceInfo.ManufacturerOUI", "fault_code": "", "writable": "0" }
{ "parameter": "InternetGatewayDevice.DeviceInfo.ProductClass", "fault_code": "", "writable": "0" }
{ "parameter": "InternetGatewayDevice.DeviceInfo.SerialNumber", "fault_code": "", "writable": "0" }
{ "parameter": "InternetGatewayDevice.DeviceInfo.HardwareVersion", "fault_code": "", "writable": "0" }
{ "parameter": "InternetGatewayDevice.DeviceInfo.SoftwareVersion", "fault_code": "", "writable": "0" }
{ "parameter": "InternetGatewayDevice.DeviceInfo.UpTime", "fault_code": "", "writable": "0" }
{ "parameter": "InternetGatewayDevice.DeviceInfo.DeviceLog", "fault_code": "", "writable": "0" }
{ "parameter": "InternetGatewayDevice.DeviceInfo.SpecVersion", "fault_code": "", "writable": "0" }
{ "parameter": "InternetGatewayDevice.DeviceInfo.ProvisioningCode", "fault_code": "", "writable": "1" }
......
最後啓動easycwmpd連接咱們的openacs
/ >: easycwmpd -b -f
config_init_local(53):: easycwmp.@local[0].interface=eth0
config_init_local(63):: easycwmp.@local[0].port=7547
config_init_local(81):: easycwmp.@local[0].ubus_socket=/var/run/ubus.sock
config_init_local(69):: easycwmp.@local[0].username=easycwmp
config_init_local(75):: easycwmp.@local[0].password=easycwmp
config_init_acs(149):: easycwmp.@acs[0].scheme=http
config_init_acs(155):: easycwmp.@acs[0].username=openacs
config_init_acs(161):: easycwmp.@acs[0].password=openacs
config_init_acs(167):: easycwmp.@acs[0].hostname=192.168.1.21
config_init_acs(177):: easycwmp.@acs[0].port=8080
config_init_acs(183):: easycwmp.@acs[0].path=/openacs/acs
config_init_acs(189):: easycwmp.@acs[0].periodic_enable=0
config_init_acs(195):: easycwmp.@acs[0].periodic_interval=180
config_init_acs(201):: easycwmp.@acs[0].periodic_time=1
main(285): ubus initialization failed
+++ HTTP SERVER CONFIGURATION +++
ip: '192.168.1.23'
port: '7547'
--- HTTP SERVER CONFIGURATION ---
+++ HTTP CLIENT CONFIGURATION +++
http_client_init(49):: url: http://openacs:openacs@192.168.1.21:8080/openacs/acs
http_client_init(55):: ssl_verify: SSL certificate validation disabled.
--- HTTP CLIENT CONFIGURATION ---
* Trying 192.168.1.21...
* Connected to 192.168.1.21 (192.168.1.21) port 8080 (#0)
> POST /openacs/acs HTTP/1.1
Host: 192.168.1.21:8080
User-Agent: easycwmp
Content-Type: text/html; charset=utf-8
Content-Length: 3093
Expect: 100-continue
< HTTP/1.1 100 Continue
< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< X-Powered-By: Servlet 2.4; JBoss-4.2.2.GA (build: SVNTag=JBoss_4_2_2_GA date=200710221139)/Tomcat-5.5
* Added cookie JSESSIONID="8DF48CC9C05B85888FB1DA4D7BEB0298" for domain 192.168.1.21, path /, expire 0
< Set-Cookie: JSESSIONID=8DF48CC9C05B85888FB1DA4D7BEB0298; Path=/
< Content-Type: text/html;charset=utf-8
< Content-Length: 565
< Date: Thu, 16 Apr 2015 07:28:33 GMT
<
+++ RECEIVED HTTP RESPONSE (PART) +++
<SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cwmp="urn:dslforum-org:cwmp-1-0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Header><cwmp:ID SOAP-ENV:mustUnderstand="1">1</cwmp:ID><cwmp:NoMoreRequests>0</cwmp:NoMoreRequests></SOAP-ENV:Header><SOAP-ENV:Body><cwmp:InformResponse xmlns:cwmp="urn:dslforum-org:cwmp-1-0"><MaxEnvelopes>1</MaxEnvelopes></cwmp:InformResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>--- RECEIVED HTTP RESPONSE (PART) ---
* Connection #0 to host 192.168.1.21 left intact
+++ RECEIVED HTTP RESPONSE +++
<SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cwmp="urn:dslforum-org:cwmp-1-0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Header><cwmp:ID SOAP-ENV:mustUnderstand="1">1</cwmp:ID><cwmp:NoMoreRequests>0</cwmp:NoMoreRequests></SOAP-ENV:Header><SOAP-ENV:Body><cwmp:InformResponse xmlns:cwmp="urn:dslforum-org:cwmp-1-0"><MaxEnvelopes>1</MaxEnvelopes></cwmp:InformResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>--- RECEIVED HTTP RESPONSE ---
* Found bundle for host 192.168.1.21: 0x3a630
* Re-using existing connection! (#0) with host 192.168.1.21
* Connected to 192.168.1.21 (192.168.1.21) port 8080 (#0)
> POST /openacs/acs HTTP/1.1
Host: 192.168.1.21:8080
Cookie: JSESSIONID=8DF48CC9C05B85888FB1DA4D7BEB0298
User-Agent: easycwmp
Content-Type: text/html; charset=utf-8
Content-Length: 0
< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< X-Powered-By: Servlet 2.4; JBoss-4.2.2.GA (build: SVNTag=JBoss_4_2_2_GA date=200710221139)/Tomcat-5.5
< Content-Type: text/html;charset=utf-8
< Content-Length: 566
< Date: Thu, 16 Apr 2015 07:28:33 GMT
<
+++ RECEIVED HTTP RESPONSE (PART) +++
<SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cwmp="urn:dslforum-org:cwmp-1-0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Header><cwmp:ID SOAP-ENV:mustUnderstand="1">ID:intrnl.unset.id.GetRPCMethods1429172913264.21275235</cwmp:ID><cwmp:NoMoreRequests>0</cwmp:NoMoreRequests></SOAP-ENV:Header><SOAP-ENV:Body><cwmp:GetRPCMethods xmlns:cwmp="urn:dslforum-org:cwmp-1-0"/></SOAP-ENV:Body></SOAP-ENV:Envelope>--- RECEIVED HTTP RESPONSE (PART) ---
* Connection #0 to host 192.168.1.21 left intact
+++ RECEIVED HTTP RESPONSE +++
<SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cwmp="urn:dslforum-org:cwmp-1-0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Header><cwmp:ID SOAP-ENV:mustUnderstand="1">ID:intrnl.unset.id.GetRPCMethods1429172913264.21275235</cwmp:ID><cwmp:NoMoreRequests>0</cwmp:NoMoreRequests></SOAP-ENV:Header><SOAP-ENV:Body><cwmp:GetRPCMethods xmlns:cwmp="urn:dslforum-org:cwmp-1-0"/></SOAP-ENV:Body></SOAP-ENV:Envelope>--- RECEIVED HTTP RESPONSE ---
* Found bundle for host 192.168.1.21: 0x3a630
* Re-using existing connection! (#0) with host 192.168.1.21
* Connected to 192.168.1.21 (192.168.1.21) port 8080 (#0)
> POST /openacs/acs HTTP/1.1
Host: 192.168.1.21:8080
Cookie: JSESSIONID=8DF48CC9C05B85888FB1DA4D7BEB0298
User-Agent: easycwmp
Content-Type: text/html; charset=utf-8
Content-Length: 1120
Expect: 100-continue
< HTTP/1.1 100 Continue
< HTTP/1.1 204 No Content
< Server: Apache-Coyote/1.1
< X-Powered-By: Servlet 2.4; JBoss-4.2.2.GA (build: SVNTag=JBoss_4_2_2_GA date=200710221139)/Tomcat-5.5
< Date: Thu, 16 Apr 2015 07:28:33 GMT
<
* Connection #0 to host 192.168.1.21 left intact
+++ RECEIVED EMPTY HTTP RESPONSE +++
啓動瀏覽器地址欄中輸入http://192.168.1.21:8080/openacs/acs,點擊find cpe
輸入Serial No,點擊Dedails
說明咱們的easycwmp在開發板上跑起來了。