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 Launchpad bricked by a short WPA passphrase

Other Parts Discussed in Thread: CC3200, UNIFLASH

Well, where do i start? After exploring the Out of the Box Demo i wanted to change the security of the CC3200 access point so i changed to WPA and entered a keyphrase of 6 letters, it was accepted. I restarted the Launchpad and tried to connect with my iPhone, but i wont let me enter a passphrase which is shorter than 8 letters, i tried my laptop but i wont let me enter a 6 letter passphrase either.
I tried to reflash the OOB Demo with Uniflash, but flashing stops after a few files with:

[20:54:20] ERROR: Open operation failed

I tried to flash other Examples of the CC3200 SDK, but it always stops with "ERROR: Open operation failed"

What can i do to revive the Launchpad?

best regards, Dominik

  • Hi Dominik,

    Here are a few suggestions:-

    You should be able to flash your CC3200 LaunchPad using CCS (Code Composure Studio).

    Try and get it to work in station mode, by using the SmartConfig app to connect your CC3200 LaunchPad to a Wifi Router/Station. If this is successful, you should then have access to the Setup html page and can then reconfigure. Make sure you remove the VCC-P58 pin before doing this, and select an example where it uses Station mode.

    If all else fails, I believe there will be a update to UniFlash soon, which should enable you to reflash without issues.

    Glenn.

  • Hi Dominik,

    You can use the 'getting_started_with_ap' example from the cc3200 SDK to configure the device back in the AP mode with open security.

    Please add the below lines in the 'ConfigureMode()' function.

    unsigned char SecType = SL_SEC_TYPE_OPEN;

             retVal = sl_WlanSetMode(ROLE_AP);
             ASSERT_ON_ERROR(__LINE__, retVal);

             retVal = sl_WlanSet(SL_WLAN_CFG_AP_ID, WLAN_AP_OPT_SSID, strlen(pcSsidName),
                                        (unsigned char*)pcSsidName);
             ASSERT_ON_ERROR(__LINE__, retVal);

             /* Configure the Security parameter in he AP mode */
            sl_WlanSet(SL_WLAN_CFG_AP_ID, WLAN_AP_OPT_SECURITY_TYPE, 1,
                                           (unsigned char *)&SecType);

    Please make sure you have mark the erase check box while flashing the Example binary? Also make sure the SOP2 jumper is connected while flashing.

    Regards,

    Ankur

     

  • Thanks to your suggestions i was able to set the CC3200 to Open Security, remove the bad profile and with the Smartconfig iOS App i was able to connect the CC3200 to my Router.

    But the Flash Problem still exists, the Jumper is set to SOP2 (100) and i checked every Erase Checkbox in the OOB Example. But it fails, here is the Logfile:

    [01:28:29] Begin Program operation.
    [01:28:29] INFO: > Executing Operation: Connect
    [01:28:29] DEBUG: waiting and clearing uart rx buffer
    [01:28:31] INFO: setting break signal
    [01:28:31] INFO: --- please restart the device ---
    [01:28:31] DEBUG: wait for ack
    [01:28:41] INFO: connection succeeded
    [01:28:41] INFO: getting storage list
    [01:28:41] DEBUG: wait for ack
    [01:28:41] INFO: > Executing Operation: Init
    [01:28:41] INFO: reading version info
    [01:28:41] DEBUG: wait for ack
    [01:28:41] INFO: DEVICE CC3200 ES1.32
    [01:28:41] INFO: reading version info
    [01:28:41] DEBUG: wait for ack
    [01:28:41] DEBUG: Bootloader version is 2, 0, 3, 2
    [01:28:41] DEBUG: It's a CC3101 device: PG1.32
    [01:28:41] DEBUG: raw storage write
    [01:28:41] DEBUG: wait for ack
    [01:28:41] DEBUG: BlockSize is 4096, number of blocks is 64
    [01:28:41] DEBUG: erasing 1 blocks starting from  4
    [01:28:41] DEBUG: wait for ack
    [01:28:41] DEBUG: status request
    [01:28:41] DEBUG: wait for ack
    [01:28:41] DEBUG: wait for ack
    [01:28:41] DEBUG: status request
    [01:28:41] DEBUG: wait for ack
    [01:28:41] DEBUG: status request
    [01:28:41] DEBUG: wait for ack
    [01:28:41] DEBUG: wait for ack
    [01:28:42] DEBUG: wait for ack
    [01:28:43] DEBUG: Switch to NWP bootloader complete
    [01:28:43] INFO: reading version info
    [01:28:43] DEBUG: wait for ack
    [01:28:43] INFO: reading version info
    [01:28:43] DEBUG: wait for ack
    [01:28:43] DEBUG: Bootloader version is 2, 0, 3, 4
    [01:28:43] DEBUG: raw storage write
    [01:28:43] DEBUG: wait for ack
    [01:28:43] DEBUG: BlockSize is 4096, number of blocks is 16
    [01:28:43] DEBUG: erasing 12 blocks starting from  0
    [01:28:43] DEBUG: wait for ack
    [01:28:43] DEBUG: status request
    [01:28:43] DEBUG: wait for ack
    [01:28:43] DEBUG: wait for ack
    [01:28:43] DEBUG: status request
    [01:28:43] DEBUG: wait for ack
    [01:28:43] DEBUG: wait for ack
    [01:28:43] DEBUG: status request
    [01:28:43] DEBUG: wait for ack
    [01:28:44] DEBUG: wait for ack
    [01:28:44] DEBUG: status request
    [01:28:44] DEBUG: wait for ack
    [01:28:44] DEBUG: wait for ack
    [01:28:44] DEBUG: status request
    [01:28:44] DEBUG: wait for ack
    [01:28:44] DEBUG: wait for ack
    [01:28:44] DEBUG: status request
    [01:28:44] DEBUG: wait for ack
    [01:28:44] DEBUG: wait for ack
    [01:28:44] DEBUG: status request
    [01:28:44] DEBUG: wait for ack
    [01:28:44] DEBUG: wait for ack
    [01:28:44] DEBUG: status request
    [01:28:44] DEBUG: wait for ack
    [01:28:44] DEBUG: wait for ack
    [01:28:44] DEBUG: status request
    [01:28:44] DEBUG: wait for ack
    [01:28:44] DEBUG: wait for ack
    [01:28:44] DEBUG: status request
    [01:28:44] DEBUG: wait for ack
    [01:28:44] DEBUG: wait for ack
    [01:28:44] DEBUG: status request
    [01:28:44] DEBUG: wait for ack
    [01:28:44] DEBUG: wait for ack
    [01:28:44] DEBUG: status request
    [01:28:44] DEBUG: wait for ack
    [01:28:44] DEBUG: wait for ack
    [01:28:44] DEBUG: status request
    [01:28:45] DEBUG: wait for ack
    [01:28:45] DEBUG: wait for ack
    [01:28:45] DEBUG: status request
    [01:28:45] DEBUG: wait for ack
    [01:28:45] DEBUG: status request
    [01:28:45] DEBUG: wait for ack
    [01:28:45] DEBUG: 0
    [01:28:45] DEBUG: wait for ack
    [01:28:45] DEBUG: wait for ack
    [01:28:45] INFO: > Executing Operation: Program
    [01:28:45] INFO: > File name: /sys/mcuimg.bin, Update: true, Erase: true
    [01:28:45] INFO: > Erase File: /sys/mcuimg.bin
    [01:28:45] INFO: erasing file "/sys/mcuimg.bin"
    [01:28:45] INFO: deleting file "/sys/mcuimg.bin"
    [01:28:45] DEBUG: wait for ack
    [01:28:45] DEBUG: status request
    [01:28:45] DEBUG: wait for ack
    [01:28:45] INFO: erase file completed
    [01:28:45] INFO: > Size of file = 43536
    [01:28:45] INFO: > Update File: /sys/mcuimg.bin
    [01:28:45] INFO: Downloading file "/sys/mcuimg.bin" with size 43536
    [01:28:45] DEBUG: sending start download command
    [01:28:45] DEBUG: Granularity conversion: G(256) * N(171) = 43776
    [01:28:45] DEBUG: Access code is 3
    [01:28:45] DEBUG: wait for ack/nack
    [01:28:45] DEBUG: receive nack
    [01:28:45] ERROR: Open operation failed
    [01:28:45] INFO: > Executing Operation: Disconnect
    [01:28:45] DEBUG: disconnecting from device . . . 
    [01:28:45] DEBUG: wait for ack
    [01:28:45] Operation Program returned. 
    

  • Well, now i used Uniflash to format the flash and flashed the Out of the Box Demo, everything seems to work as intended despite the fact that the Uniflash wiki states that formatting should be avoided.

  • Dominik,

    The reason it states that format should be avoided is since ServicePack programming is not yet supported by Uniflash.

    The reason it works for you is that the version in ROM (the one that is now loaded upon reset) is good enough for your implementation.

    Please note I'm going to announce this week a new Uniflash version that is going to support ServicePack programming (along with some other improvements). I suggest then that you upgrade your board.

    Shlomi

  • Hi Shlomi,

    The format button is to format serial flash.

    Is there any relationship between format and ServicePack programming?

    What's the result if format but do not program ServicePack?

    Best regards,

    Guohui

  • I noticed that some users have bricked their cc3200launchpad so I decided to try
    it myself using a 5 character wps2 key in the launchpad setup. Sure enough windows would not connect until 8 or more characters were entered. Disaster? No, because you can always use a hex key for wpa2 that can have any number of characters.

    This is what to do :-

    Recalculate from ssid and KNOWN ! passphrase e.g. http://jorisvr.nl/wpapsk.html
    and copy the hex key.
    Download http://www.nirsoft.net/toolsdownload/wirelesskeyview.zip
    run wirelesskeyview.exe from the download.
    Looks for the ssid and key and export it.
    Edit the export to replace the exported key with the calculated one.
    Import the key back into wirelesskeyview and save the new key.

    BINGO !