Unable to connect to Wifi network using LM816 USB WiFI using WEC2013

Hello -

Quick question. I am running WEC2013 on the iMX7D 512MB module. I have recently tried to add the LM816 to my device and am having some issues. I installed the drivers found on this page: LM816 USB WiFi | Toradex Developer Center .

With this installed i have been able to query and see the wifi adapter. I was also able to scan for wireless networks and find all of the 2.4 Ghz networks that were close by. The problem I am currently running into is the ability to connect to the network. Whenever I call to connect to the network the response is ACCESS_DENIED. I am wondering if there is a away around this?
I also noted that when I call CeGetCurrentTrust() - It returns 2, so my app is currently untrusted. Would this work if my app were trusted? If so, do you have any documentation I can review to build a trusted app? I assume I have to sign the app with some sort of certificate?

I would be most appreciative of any insights.

Thanks,
Dan

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.



Hello Dan,

Thank you for reaching out regarding the LM816 USB WiFi connectivity issue on your Colibri iMX7D 512MB module running WEC2013.

Driver Installation Confirmation

You’ve correctly installed the WEC2013 driver from the LM816 USB WiFi page(1). The LM816 is compatible with WEC2013 and should work with your Colibri iMX7D module(1).

ACCESS_DENIED Issue

The ACCESS_DENIED error you’re experiencing when attempting to connect to the network is likely related to Windows CE security and trust levels. The fact that CeGetCurrentTrust() returns 2 (untrusted) is significant and could indeed be the root cause of your connection issues.

Trust Levels in Windows CE

In Windows Embedded Compact, applications can run at different trust levels:

  • Trusted applications have elevated privileges and can access certain system resources
  • Untrusted applications have restricted access to protect system integrity

For Wi-Fi configuration operations, particularly those involving network authentication and connection management, your application may need to run as a trusted application.

Recommendations

  1. Application Signing: To create a trusted application, you’ll need to sign your application with a certificate that’s trusted by your WEC2013 image. This typically involves:

    • Creating or obtaining a code-signing certificate
    • Adding the certificate to your OS image’s trusted certificate store
    • Signing your application executable with this certificate
  2. Alternative Approach: Consider reviewing the Setting up Wi-Fi Connectivity in Windows CE(2) article, which provides guidance on Wi-Fi configuration approaches for Windows CE systems.

  3. Connection Manager: Note that if Connection Manager is included in your OS design, some Native Wi-Fi APIs may return ERROR_ACCESS_DENIED(2). You may need to review your WEC2013 image configuration.

Additional Support

For detailed guidance on application signing and trust levels in WEC2013, I recommend checking Microsoft’s Windows Embedded Compact documentation on code signing and security policies. You may also want to verify that your WEC2013 image includes the necessary security components for certificate-based trust.

If the issue persists after implementing application signing, there may be additional configuration requirements specific to your WEC2013 build or network security settings.

Best regards,
Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

How exactly you did it? Please describe steps in details so we will try to reproduce your issue.

Have you tried to connect to unprotected WiFi networks?
What is you WEC2013 BSP version?

Alex,

I was using WLan APIs. I went thru the suggestions from the AI agent and was able to get things working. The connection manager was partially enabled in my image. I disabled fully via registry entries and was able to get to connection.

Thank you for the quick reponse!

-Dan