EasyCwmp

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000412easycwmp[All Projects] Questionpublic2020-07-30 14:182020-07-31 11:18
ReporterKaituozhe64 
Assigned To 
PrioritynormalSeverityminorReproducibilityalways
StatusnewResolutionopen 
PlatformMIPSOSLinuxOS Versionlinux-3.18.24.x
Summary0000412: easycwmp connect to XACS or OpenACS, but Inform ParameterList is empty, how to send a inform with ParameterValue?
Description2020-07-27 09:54:26 [easycwmp] NOTICE - send Inform
2020-07-27 09:54:26 [easycwmp] DEBUG - +++ SEND HTTP REQUEST +++
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <soap_env:Envelope
xmlns:soap_env="http://schemas.xmlsoap.org/soap/envelope/" [^]
xmlns:soap_enc="http://schemas.xmlsoap.org/soap/encoding/" [^]
xmlns:xsd="http://www.w3.org/2001/XMLSchema" [^]
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" [^]
xmlns:cwmp="urn:dslforum-org:cwmp-1-2">
  <soap_env:Header>
   <cwmp:ID soap_env:mustUnderstand="1">1</cwmp:ID>
  </soap_env:Header>
  <soap_env:Body>
   <cwmp:Inform>
    <DeviceId>
     <Manufacturer>easycwmp</Manufacturer>
     <OUI>FFFFFF</OUI>
     <ProductClass>easycwmp</ProductClass>
     <SerialNumber>FFFFFF123456</SerialNumber>
    </DeviceId>
    <Event soap_enc:arrayType="cwmp:EventStruct[2]">
     <EventStruct>
      <EventCode>0 BOOTSTRAP</EventCode>
      <CommandKey />
     </EventStruct>
     <EventStruct>
      <EventCode>1 BOOT</EventCode>
      <CommandKey />
     </EventStruct>
    </Event>
    <MaxEnvelopes>1</MaxEnvelopes>
    <CurrentTime>2020-07-27T09:54:26+08:00</CurrentTime>
    <RetryCount>0</RetryCount>
    <ParameterList soap_enc:arrayType="cwmp:ParameterValueStruct[0]" />
   </cwmp:Inform>
  </soap_env:Body>
 </soap_env:Envelope>

2020-07-27 09:54:26 [easycwmp] DEBUG - --- SEND HTTP REQUEST ---
* Trying 192.168.254.200:80...
* Connected to 192.168.254.200 (192.168.254.200) port 80 (#0)
> POST /acs HTTP/1.1
Host: 192.168.254.200
User-Agent: easycwmp
Content-Type: text/xml; charset="utf-8"
SOAPAction:
Content-Length: 1164

* upload completely sent off: 1164 out of 1164 bytes
* Mark bundle as not supporting multiuse
* The requested URL returned error: 500 Internal Server Error
* Closing connection 0
2020-07-27 09:54:26 [easycwmp] NOTICE - LibCurl Error: The requested URL returned error: 500 Internal Server Error
2020-07-27 09:54:26 [easycwmp] NOTICE - sending http message failed
2020-07-27 09:54:26 [easycwmp] DEBUG - sending Inform http message failed
2020-07-27 09:54:26 [easycwmp] NOTICE - sending Inform failed
2020-07-27 09:54:26 [easycwmp] NOTICE - external: execute apply service
2020-07-27 09:54:26 [easycwmp] NOTICE - external script exit
2020-07-27 09:54:26 [easycwmp] NOTICE - end session failed
2020-07-27 09:54:26 [easycwmp] NOTICE - retry session in 7 sec, RetryCount = 1
Steps To Reproduce1、easycwmp connect to XACS or OpenACS
easycwmpd -f -b
2、OpenACS Server print:
Parsing failed:
...
java.lang.RuntimeException: Invalid root. Must be InternetGatewayDevice or Device
3、The device which runs easycwmpd, print "500 Internal Server Error":
see in Description.

I guess the parameter list is empty due to improper configuration of easycwmp, and easycwmp get value can get the parameters.
Additional Information~ # easycwmp get value
{ "parameter": "Device.DeviceInfo.SpecVersion", "value": "1.0" }
{ "parameter": "Device.DeviceInfo.ProvisioningCode", "value": "" }
{ "parameter": "Device.DeviceInfo.Manufacturer", "value": "easycwmp" }
{ "parameter": "Device.DeviceInfo.ManufacturerOUI", "value": "FFFFFF" }
{ "parameter": "Device.DeviceInfo.ProductClass", "value": "easycwmp" }
{ "parameter": "Device.DeviceInfo.SerialNumber", "value": "FFFFFF123456" }
{ "parameter": "Device.DeviceInfo.HardwareVersion", "value": "example_hw_version" }
{ "parameter": "Device.DeviceInfo.SoftwareVersion", "value": "example_sw_version" }
{ "parameter": "Device.DeviceInfo.UpTime", "value": "2126", "type": "xsd:unsignedInt" }
{ "parameter": "Device.DeviceInfo.DeviceLog", "value": "" }
{ "parameter": "Device.DeviceInfo.MemoryStatus.Total", "value": "118112" }
{ "parameter": "Device.DeviceInfo.MemoryStatus.Free", "value": "58232" }
{ "parameter": "Device.DHCPv4.Server.Enable", "value": "0", "type": "xsd:boolean" }
{ "parameter": "Device.IP.Diagnostics.IPPing.DiagnosticsState", "value": "None" }
{ "parameter": "Device.IP.Diagnostics.IPPing.Host", "value": "" }
{ "parameter": "Device.IP.Diagnostics.IPPing.NumberOfRepetitions", "value": "3", "type": "xsd:unsignedInt" }
{ "parameter": "Device.IP.Diagnostics.IPPing.Timeout", "value": "1000", "type": "xsd:unsignedInt" }
{ "parameter": "Device.IP.Diagnostics.IPPing.DataBlockSize", "value": "64", "type": "xsd:unsignedInt" }
{ "parameter": "Device.IP.Diagnostics.IPPing.SuccessCount", "value": "0", "type": "xsd:unsignedInt" }
{ "parameter": "Device.IP.Diagnostics.IPPing.FailureCount", "value": "0", "type": "xsd:unsignedInt" }
{ "parameter": "Device.IP.Diagnostics.IPPing.AverageResponseTime", "value": "0", "type": "xsd:unsignedInt" }
{ "parameter": "Device.IP.Diagnostics.IPPing.MinimumResponseTime", "value": "0", "type": "xsd:unsignedInt" }
{ "parameter": "Device.IP.Diagnostics.IPPing.MaximumResponseTime", "value": "0", "type": "xsd:unsignedInt" }
{ "parameter": "Device.ManagementServer.URL", "value": "http:\/\/192.168.254.200:80\/acs" }
{ "parameter": "Device.ManagementServer.Username", "value": "root" }
{ "parameter": "Device.ManagementServer.Password", "value": "" }
{ "parameter": "Device.ManagementServer.PeriodicInformEnable", "value": "1", "type": "xsd:boolean" }
{ "parameter": "Device.ManagementServer.PeriodicInformInterval", "value": "100", "type": "xsd:unsignedInt" }
{ "parameter": "Device.ManagementServer.PeriodicInformTime", "value": "0001-01-01T00:00:00Z", "type": "xsd:dateTime" }
{ "parameter": "Device.ManagementServer.ConnectionRequestURL", "value": "http:\/\/192.168.254.1:7547\/" }
{ "parameter": "Device.ManagementServer.ConnectionRequestUsername", "value": "easycwmp" }
{ "parameter": "Device.ManagementServer.ConnectionRequestPassword", "value": "" }
{ "parameter": "Device.ManagementServer.ParameterKey", "value": "" }
{ "parameter": "Device.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.ConnectionStatus", "value": "Connected" }
{ "parameter": "Device.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.ExternalIPAddress", "value": "2206_v" }
{ "parameter": "Device.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.MACAddress", "value": "" }
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0001002)
Kaituozhe64 (reporter)
2020-07-31 11:18

I have fixed this bug, it is because of:
The common_entry_inform function in common script file:
--------------------------------------------------------------------------------
local forced_list=${entry_execute_method_list_forcedinform:-$entry_execute_method_list}
--------------------------------------------------------------------------------
should be changed to:
--------------------------------------------------------------------------------
local forced_list="${entry_execute_method_list_forcedinform:-$entry_execute_method_list}"
--------------------------------------------------------------------------------

It may be because the Embedded system uses sh instead of bash, and there have been similar character quote errors in several other places.

- Issue History
Date Modified Username Field Change
2020-07-30 14:18 Kaituozhe64 New Issue
2020-07-31 11:18 Kaituozhe64 Note Added: 0001002


Copyright © 2000 - 2020 MantisBT Team
Powered by Mantis Bugtracker