Genieacs 1.2.5 cannot parse MikroTik 6.48.1

Hello, I am the new guy for learning Genineacs. I want to build the system with genieacs(1.2.5) and mikrotik(6.48.1), but genieacs cannot recognize the mikrotik. The genieacs-cwmp-access log print “XML parse error; parseError=“Missing or invalid DeviceId element””. And the debug log as following:

---
event: incoming HTTP request
timestamp: 2021-03-29T03:57:49.139Z
remoteAddress: 10.5.52.3
deviceId: null
connection: 2021-03-29T03:57:49.139Z
localPort: 7547
method: POST
url: /
headers: 
  content-length: "1874"
  content-type: text/xml
  host: 172.21.160.112
  user-agent: MikroTik
body: <soapenv:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/encoding/' 
xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:cwmp='urn:dslforum-org:cwmp-1-0' 
xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' 
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><soapenv:Body><cwmp:Inform> 
<DeviceId><Manufacturer>MikroTik</Manufacturer><OUI>E48D8C</OUI> 
<ProductClass>x86</ProductClass><SerialNumber></SerialNumber></DeviceId><Event 
soap:arrayType='cwmp:EventStruct[2]'><EventStruct><EventCode>0 BOOTSTRAP</EventCode> 
<CommandKey></CommandKey></EventStruct><EventStruct><EventCode>1 BOOT</EventCode> 
<CommandKey></CommandKey></EventStruct></Event><MaxEnvelopes>1</MaxEnvelopes> 
<CurrentTime>2021-03-29T11:57:46+00:00</CurrentTime><RetryCount>0</RetryCount> 
<ParameterList soap:arrayType='cwmp:ParameterValueStruct[7]'><ParameterValueStruct> 
<Name>Device.RootDataModelVersion</Name><Value xsi:type='xsd:string'>2.11</Value> 
</ParameterValueStruct><ParameterValueStruct> 
<Name>Device.DeviceInfo.SoftwareVersion</Name><Value xsi:type='xsd:string'>6.48.1</Value> 
</ParameterValueStruct><ParameterValueStruct> 
<Name>Device.DeviceInfo.ProvisioningCode</Name><Value xsi:type='xsd:string'></Value> 
</ParameterValueStruct><ParameterValueStruct > 
<Name>Device.DeviceInfo.HardwareVersion</Name><Value xsi:type='xsd:string'>v1.0</Value> 
</ParameterValueStruct><ParameterValueStruct> 
<Name>Device.ManagementServer.ParameterKey</Name><Value xsi:type='xsd:string'></Value> 
</ParameterValueStruct><ParameterValueStruct> 
<Name>Device.ManagementServer.ConnectionRequestURL</Name><Value 
 xsi:type='xsd:string'>http://10.5.52.3:7547/dad73437686c054db4fb71d573cddd1de72f</Value> 
</ParameterValueStruct><ParameterValueStruct> 
<Name>Device.ManagementServer.AliasBasedAddressing</Name><Value 
 xsi:type='xsd:boolean'>0</Value></ParameterValueStruct></ParameterList></cwmp:Inform> 
</soapenv:Body></soapenv:Envelope>
 ---
event: outgoing HTTP response
timestamp: 2021-03-29T03:57:49.140Z
remoteAddress: 10.5.52.3
deviceId: null
connection: 2021-03-29T03:57:49.139Z
statusCode: 400
headers: 
  content-length: 35
  connection: close
body: Missing or invalid DeviceId element
---

How can I debug this issue?
Thank you for your help.

Hello, I see in your log you are using x86. Does the device in question have a valid MikroTik Serial Number? You can check via system->routerboard->serial number field on the device.

The DeviceId for GenieACS is built based upon the serial number, so if it is some x86 version that has no serial number (ex. CHR) it will not register correctly.

1 Like

Yes, @mjducharme , this is the root cause. I will build with another CPE.
Thanks a lot!