Mappview Webserver Failure When USB is Connected

Hello, I’m Choi.

We are using the X20CP0484 CPU, and when a specific USB device is connected, the webserver stops responding and becomes inaccessible. However, SDM remains accessible, and the logic continues to run normally.
Other USB devices of the same model work fine, but this particular USB causes the issue every time. Even when connected to a different CPU, the same problem occurs — the webserver becomes inaccessible. (First Capture)
Do you have any idea what might be causing this?

Additional Question : When downloading a program to the CPU using the Runtime Utility Center, this kind of error frequently occurs. Could there be a reason for this as well? (Second Capture)

Hi,

what USB device are we talking about? Is it a mass storage device, or something different? And do you perform any code action when a USB device is connected (e.g. checking via AsUsb if a device is plugged and querying device information)?

To be honest, I can’t imagine the USB and webserver have a direct link inside AR. I assume that, for whatever reason, the memory where the webserver is running in is violated, e.g. by something happening inside the USB driver when the device is plugged, but the webserver itself isn’t directly involved as root cause.

I personally think that something in the USB device firmware is not ok which leads to the problem when AR USB driver / the USB Interrupt Service Routine queries information from this device, or that a memory violation for example by wrong pointer, string operations violating the size if the string variable, or similar already happens, but earliest start leading to problems when the already violated memory is allocated by the AR system for use with USB device or webserver.

Does the device also behaves “strange” when plugged into Windows? Maybe you could use the Windows tool “UsbDevView” (or similar) to see if the’re differences in the USB descriptor informations from this special device compared to the others.

About the second error: does it always happen after the special device was plugged once without a warm restart in between?
Because it looks a bit like that also ANSL communication could be affected (which also needs some memory inside the PLC that could have been violated)?

In a nutshell:
are there any problems with webserver and transfer, when the special USB device (or even another one) wasn’t plugged before?
Is the behavior reproducable with a test project where webserver is running, but as less as possible user code (only code that is absolutely mandatory for performing the test) is loaded into the PLC?

Best regards.

  1. USB Spec : usb 3.1 sandisk cz430 ultra fit 32gb

  2. We are using a function from the AsUsb library to check whether a USB device is connected.
    image

  3. On Windows, USB works well. Out of about 40 USB devices, only one has an issue

  4. The web server operates normally when no USB is connected or when a functioning USB device is connected.
    Also, after the web server becomes unreachable, disconnecting and then reconnecting the PLC via Automation Studio does not restore the connection.
    [Please note that the text may not be perfectly fluent, as it has been translated.]

Thank you.

If this issue affects one specific USB device (1 out of 40), I would consider discarding it. If you need further analysis, please contact your local B&R support; they will likely require this USB device for troubleshooting.

1 Like