• easycwmp在开发板上的配置


    原创作品,转载请注明出处

    copyright:weishusheng   2015.3.18  

    email:642613208@qq.com

    平台:

    Linux version 2.6.32-279.el6.x86_64

    交叉编译器路径:/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-

    开发板:FL2440

    开发板运行内核:linux3.0

    开发板文件系统:initramfs

        easycwmp是基于cwmp协议开发出的CPE客户端,它的运行需要相应的库文件和脚本文件,只有把这些文件放在easycwmp能找到的位置,并且里面的内容符合我们自己的开发板,它才会运行的好。我用的是initramfs文件系统,initramfs运行在RAM,掉电后数据会丢失,所以把apps挂载到另一个分区,并把easycwmp放到apps里面,这样就不用每次重启都重新设置。

    用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在开发板上跑起来了。

     
  • 相关阅读:
    mysql分区表批量添加/删除range按天分区(int类型)
    mysql分区表批量添加/删除range按天分区(datetime类型)
    使用obd离线安装oceanbase
    mysqldump导出数据自增属性丢失案例
    Docker启动镜像并设置开机自启
    Docker启动mysql与elasticsearch以及nginx的命令
    Redis学习--从节点过期键清理策略
    Redis学习--渐进式rehash实现原理
    Redis学习--主节点过期键清理策略
    Redis学习--慢日志信息
  • 原文地址:https://www.cnblogs.com/thinkinglife/p/4432352.html
Copyright © 2020-2023  润新知