原創作品,轉載請注明出處
copyright:weishusheng 2015.3.18
email:642613208@QQ.com
tel:13657214139
平臺:
linux version 2.6.32-279.el6.x86_64
交叉編譯器路徑:/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-
開發板:FL2440
開發板運行內核:linux3.0
開發板文件系統:initramfs
openacs和easycwmp要能正確通信,需要修改腳本配置,下面給出需要修改的腳本,及修改方法。
一.修改/etc/config/easycwmp,它是一個鏈接,鏈接到了easycwmp/ext/openwrt/config/easycwmp
[weishusheng@centOS6 ~]$ vim /etc/config/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 #acs服務器ip option port 8080 option path /openacs/acs #路徑,注意后面還有個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 weishusheng #如果你在瀏覽器里登上acs服務器,點擊find cpe,如果能連上,這個名字就會出現 option serial_number FFFFFF12345 #這個信息會出現在jboos運行窗口 option hardware_version example_hw_version option software_version example_sw_version
config scripts # load OpenWrt generic network functions list location /lib/functions/network.sh # load easycwmp common functions list location /usr/share/easycwmp/functions/common # easycwmp specific functions list location /usr/share/easycwmp/functions/device_info list function device_info list location /usr/share/easycwmp/functions/lan_device list function lan_device list location /usr/share/easycwmp/functions/management_server list function management_server list location /usr/share/easycwmp/functions/wan_device list function wan_device
二. 運行jboos
[weishusheng@centOS6 bin]$ ./run.sh -b 0.0.0.0
讓jboos運行著。
三.運行easycwmp,注意切換到超級用戶模式下,不然你的easycwmp啟動時會卡在執行easycwmp.sh那里
[weishusheng@localhost ~]$ suPassword: [root@localhost weishusheng]# /usr/sbin/easycwmpd -f -b
四.在瀏覽器里訪問http://192.168.1.21:8080/openacs/,點擊"find CPE",如果cpe成功上報的話,Hardware的下拉框里面就會有cpe的型號(在這里我是weishusheng),在SerialNumber框里面輸入cpe的sn號(這個在Inform報文里面有)即可進行查詢。
五.查詢頁面的overview頁面有個reboot按鈕,點擊之后acs就會向cpe下發reboot方法,cpe收到后就會自動重啟。
六 . 接下來我們就可以創建自己的腳本來測試TR069協議了。在"Configuration scripts"-->"Default"里輸入要操作的腳本,點擊SAVE,當ACS收到CPE發來的INFORM消息后,ACS就會運行Default腳本。比如:在Default里面輸入以下腳本
logger("=======>GetRPCMethods<=============");var methods = cpe.GetRPCMethods ();for (i = 0; i < methods.length; i++) { logger ("Method: "+methods[i]);}logger("============>END<===================="); logger("=========>WEISHUSHENG<================");
運行easycwmp,會在acs服務器端看到以下信息:
04:42:34,998 ERROR [STDERR] 2015-2-3 4:42:34 org.openacs.Configurator log信息: FFFFFF:FFFFFF123456 Configurator::run04:42:35,017 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.Configurator log信息: FFFFFF:FFFFFF123456 Backup cwmp tree04:42:35,021 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.utils.Version Set警告: Invalid version string: example_sw_version Non numeric elements assumed to be 004:42:35,023 INFO [STDOUT] swUpdate=null04:42:35,024 INFO [STDOUT] Configurator: UPDATE ProvisioningCode04:42:35,033 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.Configurator log警告: FFFFFF:FFFFFF123456 Config lookup: No such entity!04:42:35,041 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger信息: =======>GetRPCMethods<=============04:42:35,041 INFO [STDOUT] Received: GetRPCMethods04:42:35,044 INFO [STDOUT] End of processing04:42:35,048 WARN [EnvelopeBuilderDOM] Ignore child type: 304:42:35,048 WARN [EnvelopeBuilderDOM] Ignore child type: 304:42:35,050 INFO [STDOUT] URI null04:42:35,050 INFO [STDOUT] cwmp NS =urn:dslforum-org:cwmp-1-204:42:35,050 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.ACSServlet log信息: oui=FFFFFF sn=FFFFFF123456 Request is GetRPCMethodsResponse04:42:35,050 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger信息: Method: GetRPCMethods04:42:35,051 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger信息: Method: SetParameterValues04:42:35,051 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger信息: Method: GetParameterValues04:42:35,051 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger信息: Method: GetParameterNames04:42:35,051 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger信息: Method: GetParameterAttributes04:42:35,051 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger信息: Method: SetParameterAttributes04:42:35,051 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger信息: Method: AddObject04:42:35,051 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger信息: Method: DeleteObject04:42:35,052 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger信息: Method: Download04:42:35,052 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger信息: Method: Reboot04:42:35,052 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger信息: Method: FactoryReset04:42:35,052 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger信息: Method: ScheduleInform04:42:35,053 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger信息: ============>END<====================04:42:35,053 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger信息: =========>WEISHUSHENG<================04:42:40,055 INFO [STDOUT] Received: null04:42:40,055 INFO [STDOUT] End of processing
如果看到這些信息,那環境就搭建完成了。
新聞熱點
疑難解答