.NET MMP : Error Code Reading Scratchpads

Out of (20) EPIC’s on a site I have (1) that I cannot read scratchpads from. I repeatedly get error code -1 as the response, which I believe is “SIOMM_ERROR”. These are all on the same firmware 3.2.2.b.168.

Any ideas? I can provide more information as needed.

This is using the latest .NET library and the “ScratchpadI32Read” method. I do not seem to have any issues connecting via TCP socket using the “Open” method - just cannot read anything.


Can you read / write other values besides the int32 scratchpad? Either other scratchpad values, I/O, or system information?
If so, could you try reading the last error hex value at FFFF F030 000C ? That is the location for the MMP error code, whereas -1 seems like just the response error code.

I am a bit limited on what I can do because it is a remote location. Is there a way to read that error value from a groov Manage page? I looked at the Generic MMP page from the I/O Services, but I got invalid MMP address when copying that in. Is it limited to (8) character hex addresses on the web page?

It also is all the scratchpad reads, the integers are just the first we read and was the first error recorded.

I can still seem to hit the groov Manage pages, but I have a feeling that connection might be slightly more forgiving than the TCP socket opened with the .NET library. Is there anything from groov Manage pages I could possibly look at to troubleshoot a poor network connection? Possibly a spot that would show all the connection attempts/disconnects? There are a lot of logs to comb though… I have a feeling a bad network cable might be the root cause though.

Thanks for your help,

Yes, I should have been more clear: just check the last eight characters F030 000C through groov Manage.

Do you have a shell license for this device by any chance? It’s definitely not necessary but it would open up some more troubleshooting options.

Yes, all devices have shell licenses and I can remotely connect to the shell. I can ping stuff no problem, which is what led me to look closer at the scratchpad reads.

The error code at F030 000C is 0x0000E005 (dec 57349).

Thankyou — per the table in 1465 that’s just an invalid address error, which was probably from trying to read the full address I posted. I see this all the time and it’s more of a “user mistake” than a “system error”.

Given that you have shell, could you run netstat -nat to list your TCP connections and see if you have an established connection to the foreign address(es) that you expect?

Another option that might be helpful is netstat -s that shows a count of all the connection types, resets, and other useful bits. I think that’d be of more use over time so you can see if there are unusual spikes, but is still good to know about.

1 Like

I think this puts me on the right track to troubleshoot it.


1 Like