parallaxinc / BlocklyPropClient

Client to provide access to the propeller for loading binaries and serial terminal
9 stars 8 forks source link

Document BlocklyPropClient Troubleshooting Tips #84

Open PropGit opened 7 years ago

PropGit commented 7 years ago

The BlocklyProp system requires a web-based editor (blockly.parallax.com) plus local service on the user's computer (installed and running) in order to download code from the BlocklyProp Editor to the Propeller or debug between the Propeller and the BlocklyProp terminal.

Security software may prevent BlocklyPropClient from operating properly. The BlocklyPropClient software provides this service and communicates with the local system's USB Driver and the user's web browser using web protocols. These two features (local system access and web communication protocols) sometimes trigger security software alerts on the computer since they are also, unfortunately, frequently abused behaviors of malicious software.

This issue is a place to collect information about these experiences and what to do about them; the final intent being that we collect them into a troubleshooting document for customers.

PropGit commented 7 years ago

Firewalls

A firewall is software or hardware that watches for and blocks certain types of local network and Internet communication in an effort to protect the computer and user from malicious attacks. Users may have a software firewall that comes preinstalled on their computer, or is added to the computer either by them or someone who administers the computer and/or network.

For BlocklyPropClient to work properly, it must have the ability to communicate both directions with the users web browser. If either of these communication channels are blocked by a software firewall, the user will not be able to use BlocklyProp to download and debug code with their Propeller-based product.

Here's is an example warning automatically triggered by Windows Firewall in response to starting up the BlocklyPropClient software for the first time on a computer:

image

To make the system work properly, the user much choose the appropriate network options (we chose "Domain..." and "Private..." in this case) and then select the "Allow access" button. That will prevent Windows Firewall for interrupting BlocklyProp system communication in the future.

PropGit commented 7 years ago

SmartScreen Software

Windows 10 (and Windows 8?) includes Windows SmartScreen software that prevents unrecognized software from running without the user's knowledge.

Below is a message from Windows SmartScreen that appeared when the user tried to run the BlocklyPropClient setup (installer) program. This message unfortunately appears even though the software is properly digitally signed (and noted by the "Publisher:" field).

image

It's our theory that this SmartScreen software is triggered because the BlocklyPropClient setup software is relatively new; with more time in use and no logged malicious activity, it's possible this message will stop appearing on user computers in the future.

The user simply has to select the "Run anyway" button in this case to allow the software to run.

PropGit commented 7 years ago

Symantec SONAR Protection

Here is a message from Symantec security software when it sees the BlocklyPropClient software start running. This message appeared well after the installer (which was initially blocked by Windows SmartScreen, above) finished it's job and now it was time to run the newly-installed software.

image

This is a scary prompt, and it's not very clear what the problem is or what to do about it. In this case, it's indicating that the software is not well known ("Very Few Users" have used it, the file is "Very New"). It recommends removing the software.

To get past this message, the user must choose the "Allow this program to continue" button (which is a yellow box that doesn't look like a clickable item.

If the user clicks on the small "More Details" link (lower-right corner of dialog), they will be presented with the following dialogs that they can explore around in:

image

image

This doesn't give much useful information to the casual user, but indicates that the BlocklyPropClient software is launching other processes and is also using a "driverquery" program. In fact, this is because BlocklyPropClient uses the Microsoft DriverQuery program to determine if the proper USB drivers are installed on the user's computer, and it's also starting a BlocklyPropClient "server" process to wait for communication from the user's browser in order to perform downloads to the Propeller. It's exactly what we intended, but this is seen by the Symantec software as "suspicious" activity because that kind of behavior has been exploited by malicious software in the past.

PropGit commented 7 years ago

From Miguel: One thing that happened to me on my home PC is that although I had downloaded and connected the Blockly Prop Client, I still had the red letter message saying that the client was not running. I had to let my pc accept the client download manually. A security or antivirus software was preventing it from loading. After that it worked normally.

Steph-Parallax commented 7 years ago

Right after installing and running BlocklyPropClient v0.6.2 (and clicking "Connect") on @Steph-Parallax's computer, this is the alert that popped up from Norton:

image

It is indicating that PropLoader.exe (the Propeller Loader component of the new BlocklyPropClient) is performing network activity that it views as suspicious (mainly because it's broadcasting UDP packets and it is an unknown application). The broadcast packets are part of the Wi-Fi Module discovery process.

To ensure everything is allowed to work properly on the system, the user must select "Allow Always" from the Options item and click the OK button.