This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC3200 unable to connect via auto profile to Apple Airport Extreme w/ WPA or WPA2 enabled?

Other Parts Discussed in Thread: CC3200, CC3100

I'm aware of the CC3200 LaunchPad problem where Smart Config will not work with routers (such as the Apple Airport Extreme - 802.11ac) at 5 GHz or MIMO. I'm assuming that you still can get the CC3200 to connect to such a router if you configure it via some other method (e.g. embedded web server, hard coded credentials in the code, etc.).

Using the oob demo code as the basis of my testing, here's what I found...

Configuration procedure:

1. bring up the board in AP mode (via the jumper on P58-VCC)

2. connect to it via a smartphone (iPhone) and access embedded web server at http://mysimplelink.net

3. go to the Profiles page and configure a profile for your network, then click "Add" button and confirm profile was added

4. remove P58-VCC jumper, then reset the board => board should attempt to connect to the network as configured in the profiles

Results (all using Apple Airport Extreme router):

- network with no security => success!!!

- network with WPA/WPA2 security => fails to connect

- network with WPA2 security => fails to connect

So in summary, the CC3200 can connect to a Apple Airport Extreme when there is no security configured but why does it fail to connect when security is enabled?

Also - why does the "Security Key" need to be entered in hexadecimal notation rather than just ascii???

Craig

  • Airport Router is part of our IOP test system. I shall check and get back.

    Regards,
    Geet

  • In case you need the details, this is an Apple Airport Extreme 802.11AC router, part number ME918LL/A purchased in August of 2014.
  • Default API supports entering the password in ASCII. Can you reconfirm whether it worked with ASCII and not Hex.

    For Hex support, a small piece of code is needed on host.

    Regards,
    Geet
  • Probably should have tried that instead of believing the webpage which says to use "Hexadecimal digits…". A layperson probably doesn't even know what hexadecimal is and to a developer (at least to me) it means entering "3132333435363738" instead of "12345678" for the password. You might consider fixing that in the next release.

    TEST 1
    Enter profile with password in ASCII, remove jumper, restart CC3200.
    Serial output says it's connecting to my router and I can ping it at the DHCP assigned IP address. I can see the pings and responses in Wireshark.
    CC3200 is set to send test messages every few seconds (MQTT packets) but none of them are making to the Internet-based broker.
    In Wireshark, I see no MQTT packets being transmitted on the wi-fi link.
    Maybe the CC3200 doesn't talk in promiscuous mode such that Wireshark can't see it? Maybe some special trick is required to see the MQTT packets in Wireshark?

    TEST 2
    Same as above but with non-secured network on the Apple Airport Extreme router.
    Same results as above.

    TEST 3
    Same as above but using unsecured TP-LINK router.
    Same results as above - this was working fine previously!

    TEST 4
    Still using unsecured TP-LINK router.
    Switched to running CC3200 via CCSv6 debugger instead of out of flash (same code).
    Restarted MQTT broker connection at iot.eclipse.org.
    Works fine but not sure if using CCSv6 debugger or restarting broker was the issue (sigh).

    Still continuing to try other things to see if I can get some consistent results...
  • Still only works when running code out of CCSv6 debugger but discovered a method to see the MQTT packets being transmitted by the CC3200 in Wireshark. I had to change my network configuration as follows:

    CC3200 <- wifi -> TP-LINK <- ethernet -> Netgear DS104 hub <- ethernet -> switch <- Apple Airport -> Internet

                                                     ^

                                                     |

                                                     -- ethernet -> Wireshark

    This works because the old Netgear hub echoes all packets on all 4 ethernet ports. I was previously connecting to the TP-LINK router wirelessly with the Wireshark computer but you apparently can't sniff all of the CC3200 connection (can see ping request/responses). I also tried connecting the Wireshark computer via ethernet directly to the TP-LINK ethernet hub but same result - couldn't sniff all of the CC3200 traffic.

    Anyone have a better way to monitor the traffic?

  • Sorry for the inconvenience Craig due to error in document. Kindly refer to document mention use of Hex instead of ASCII to fix it in next release.

    On MQTT on wireshark, really couldn't understand fully. Please post if you are observing some issue. Also which MQTT stack you are using ?

    Regards,
    Geet

  • The "document" which says to use hexadecimal for the password is the oob demo "Profiles" WEBPAGE. I.e. put CC3200 in AP mode, connect to it with a smartphone, navigate to the Profiles page, then look at the "Add Profile" section. Next to "Security Key:" it says "Hexadecimal digits - any combination of 0-9, a-f and A-F".

    MQTT/Wireshark issue:

    - MQTT is the protocol I'm using to transmit simple messages from the CC3200 out to a MQTT broker on the Internet. The MQTT broker I'm using for testing is hosted at iot.eclipse.org.

    - If MQTT messages are going from the CC3200, out through my router to the broker, then Wireshark running on a computer on the same Wi-Fi network as the CC3200 cannot normally see any messages between the CC3200 and the broker. The Wi-Fi network is like an Ethernet switch - you only see messages to/from the machine that Wireshark is running on or broadcast messages. The diagram in my previous message just shows a way to put the Wireshark computer AFTER the Wi-Fi router that the CC3200 is connecting to. In this configuration, Wireshark can see all traffic between the Wi-Fi router and the Internet.

    - I'm using the Paho MQTT library from Eclipse from here: https://eclipse.org/paho/clients/c/embedded/.

  • Thanks Craig for the information on document. We will fix in it next release.

    To capture all packets on Wi-Fi network, you will need Wi-Fi sniffers ( Omnipeek etc) to capture all packets. Actually you can use CC3100 to capture the packets in air and route them to wireshark port to create the Wi-Fi sniffer. Kindly refer to sls_sniffer_with_filters example on how to sniff the packets in air.

    Regards,
    Geet