I am following the Guide "Setup a Raspberry Pi as an IoT Device" and have downloaded MED-61060-CD-054_SP5_Microserver-Linux-arm-hwfpu-openssl-5-4-5-512.zip on a rasberry pi running the latest version of raspberry pi OS (Buster) and trying to connect to the 30 day hosted trial of ThingWorx.
When I start wsems using sudo ./wsems I get an illegal instruction:
[FORCE] 2020-06-12 16:11:30,53 ./wsems: Initializing EMS ....
[FORCE] 2020-06-12 16:11:30,56 main: Using config file /home/pi/Downloads/microserver/etc/config.json
[INFO ] 2020-06-12 16:11:30,59 ./wsems: Creating the WsEms proxy.
[INFO ] 2020-06-12 16:11:30,63 ./wsems: Starting HTTP Server.
[WARN ] 2020-06-12 16:11:30,67 Main: Encryption is disabled on HTTP Server.
[WARN ] 2020-06-12 16:11:30,71 Main: Authentication is disabled on the HTTP Server.
[INFO ] 2020-06-12 16:11:30,75 ./wsems: Initializing the ThingWorx REST interface.
[INFO ] 2020-06-12 16:11:30,79 wsEmsProxy::initialize: FIPS is disabled.
[INFO ] 2020-06-12 16:11:30,82 wsEmsProxy::initialize: Encryption is enabled on Web Socket connection.
[FORCE] 2020-06-12 16:11:30,87 httpServer: starting http server port=8000
[WARN ] 2020-06-12 11:11:30,89 SDK: SDK Version: 2.2.0
[WARN ] 2020-06-12 11:11:30,100 SDK: TLS Library: OpenSSL
[WARN ] 2020-06-12 11:11:30,104 SDK: TLS Library Version: 1.0.2l-fips
[WARN ] 2020-06-12 11:11:30,107 SDK: FIPS Capable
Similarly when I start luaScriptResource it ends in an Illegal instruction:
[INFO ] 2020-06-12 16:14:44,379 ./luaScriptResource: Using config file: /home/pi/Downloads/microserver/etc/config.lua
[FORCE] 2020-06-12 16:14:44,380 ./luaScriptResource: Starting up ....
[WARN ] 2020-06-12 16:14:44,422 ScriptResource::initialize: Encryption is disabled on HTTP Server.
[WARN ] 2020-06-12 16:14:44,428 ScriptResource::initialize: Authentication is disabled on the HTTP Server.
[FORCE] 2020-06-12 16:14:44,637 httpServer: starting http server port=8001
I have tried some of the other suggestions in the Developer community and those have not worked. I have seen suggestions to run an older version of raspbian but I really don't want to down grade the OS. I have also tried copying libcrypto.so.1.0.0 and libssl.so.1.0.0 to /usr/lib/arm-linux-gnueabihf as well as creating symlinks from
libssl.so.1.0.0 -> libssl.so.1.0.2 and libcrypto.so.1.0.0 -> libcrypto.so.1.0.2.
I have seen a suggestion to upgrade from MED-61060-CD-054_SP5_Microserver .... to SP6 but I have not been able to find SP6.
There is another Guide entitled "Connect Raspberry Pi to ThingWorx" and the zip file used in that Guide is MED-61060-CD-054_F000_Microserver-Linux-arm-hwfpu-openssl-5-4-5-512.zip. I am assuming by the naming scheme it may be slightly older? I haven't tried that version yet.
Does anyone have any suggestions on what is causing the error and how to get around it? I have Googled it and it appears to be issues with the ssl and crypto libraries but I am not sure how to fix that.
Appreciate any advice,
Solved! Go to Solution.
A new version of the guide you referenced in your original post is now available on the Dev portal. Please take a look and advise if you still have issues.
A new version of the guide will be coming out in a few weeks. In the meantime, you could try EMS 5.4.9 that was released in late May.
Please follow the instructions in the guide very carefully.
Were you able to make any progress on resolving your issue with the latest version of the EMS? Please let us know the status and whether additional assistance is needed.
I have two posts that resulted in basically the same problem and solution. Please see Raspberry PI OS (Buster) EMS - SSL handshake error / Verify Failed / twWs_Connect: Error restart.
I did not try the very latest version of the EMS but I did use the version of EMS for Linux, with an ARM CPU *WITH* a hardware floating point unit (hwfpu), and it's version 126.96.36.1992 with Buster OS with updates applied on a new RPI 4 and it worked.
I would have liked to found out what was causing the errors and how to fix them but since it works, I will accept that.
You mentioned that an updated guide will be available. Please make sure the author checks instructions where it says to create new directories or change directories.
For example, /microserver is a lot different than /home/pi/downloads/microserver and creating directories such as /other, /staging, /tw as instructed is a lot different than what is shown in the guide (/home/pi/Downloads/microserver/other ... ). It could be confusing for newcomers not familiar with Linux.
We take our customer's feedback very seriously and appreciate the time you took to provide feedback on the issues you experienced with the guide. I have notified the appropriate team.
We are always open to comments from our customers and community members, and strive for continuous improvements within our products. Community members like you help us to obtain that goal.
Thank you for participating in our community!
If the previous post answered your questions, please mark it as the Accepted Solution for the benefit of others with the same questions.