Direct Connection using RPI?

Hello - I posted this issue/question in the announcement post regarding the direct connection SDK, but haven’t gotten any response, so re-posting here in hopes that someone can respond:

  1. I want to create a Raspberry Pi-based device and use the direct connection SDK. Will using the POSIX environment version of the core code work on a PI running Raspbian version 8 (jessie)? Are there any further customizations needed in the POSIX BSP files to make this work?

    -In the main core SDK readme file, it talks about an option to test in a POSIX environment, but it includes this statement below which I don’t understand, and makes it sound like it wouldn’t be fully functional:

    But, unlike the resource limited MCU devices, you can NOT check the onboarding process in the POSIX environment because it does not support a SoftAP function by default.

    • What does this mean and does it even apply to what I want to do?
  1. Pending responses to the above, I’ve gone ahead and followed the SDK instructions to successfully create the example app. But when I run it, I get the following errors and st_conn_start fails with a timeout error.

E [IoT]: _iot_security_be_bsp_fs_load_from_nv(121) > iot_bsp_fs_open(./WifiProvStatus) = -16

E [IoT]: _iot_nv_io_storage(126) > iot_security_storage_read = -1200

  • What is this “WifiProvStatus” file that seems to be required?
  • Is the storage read error related or a separate problem? BTW, error code -1200 is not to be found in iot_error.h
  1. Lastly, a comment on the SDK documentation: You need to add the pre-req of pynacl and qrcode libraries to your instructions. The keygen readme file lists pynacl alright, but qrcode needs to be stated there as well.
1 Like

Hello, I met the same problem as you when DEVELOPING directly connected equipment.
E [IoT]: _iot_security_be_bsp_fs_load_from_nv(121) > iot_bsp_fs_open(./WifiProvStatus) = -1208
After I refer to your documentation, I still have the same error. Maybe our equipment is different, Maybe I did something wrong, I am operating on POSIX based on Ubuntu but not raspberry PI
What is this “WifiProvStatus” file that seems to be required? * How do I generate it

Hi, @lisxin. Welcome to the SmartThings Community!
I just saw your post was stuck. Are you still having this issue with the Direct-Connected integration?
Here’s another thread that could help you out:

Hello @lisxin,

If the WifiProvStatus file is missing, then it may mean that your provisioning process did not successfully complete. The file is generated by the Core SDK during the provisioning process. If sucessfully completed, it’s contents will be “DONE”.

If you’d like, post more of your log output and we might be able to see what went wrong. Unfortunately the error messages produced during the onboarding process are very poor and often do not give an indication of what went wrong. But it is usually a problem with the device config profile definition or onboarding file.