Go beyond 32-character WPA password?

The network(s) I use at home have passwords that are 36 characters long. Neither Smart Config nor USB connection will accept them. Is there any workaround, or do I have to go somewhere else to tinker with spark cores (or change the password for every one of the N other connected devices in the house)?

Hey @paul314,

After some extra research on this, it looks like a limitation on the CC3000 itself:

http://processors.wiki.ti.com/index.php/CC3000_Release_Notes

It looks like Adafruit also ran into this issue here:

https://github.com/adafruit/Adafruit_CC3000_Library/issues/4

I’m guessing you thought of this, but some access points will let you run multiple SSIDs which might be another workaround. I’m hoping new versions of the CC3000 driver will allow for longer keys.

Thanks,
David

Oh, well. Down another rabbit hole. Thanks for the quick answer!

(I hadn’t thought of multiple SSIDS – all I need for that is to throw away all my current router and access point hardware…)

Hey @paul314,

Out of curiosity, what are you using for an AP / router?

Thanks!
David

Zyxel X-550 for a router in the basement, supplemented with a little Trendnet access point where the Zyxel runs out of range. The zyxel is lucky if it can do one SSID…

Ran into the same issue, and was guessing that it was a password length issue. Mine is 63 characters. I like your workaround, and will give it a try.

I got the same issue with my long password. My AP does not support multiple SSIDs, but I wrote a very simple patch to enable USB setup for WPA passwords longer than 32 characters (Smart Config is limited to 32 characters by CC3000 specs). My spark core is now connected to my network.

Link to the corresponding pull request: https://github.com/spark/core-firmware/pull/61

A compiled version (that you can flash with dfu-util) is available here on my fork: https://github.com/dvinc/core-firmware/releases/tag/long-wifi-passwords

Thanks for the pull request @dvince!

Thanks! Will give it a try.

Any idea when this fix might make it out into the wild? I am currently using a guest zone / SSID for my cores, but that is ugly.

Ken

Thanks for the bump on this thread, looks like this got lost waiting on the CLA, checking with the firmware team to see if we can merge this asap.

Thanks,
David

Same issue here. If/when this patch is released, will I be able to use my very long wifi password with the spark core at that point? Does it somehow get around the chip’s 32-character limit?

Also, any very rough idea if/when this may be released, so I know if I should just wait it out or find another way around it? Thanks!

This patch was merged 4 months ago.

Did you try using with a password longer than 32 characters?

Yes, my password has about 50 characters. The Android spark app gives a pop up with “The Spark Core can only accept passwords up to 32 characters” Is that no longer supposed to happen? Did the patch have a way to work around the chip’s 32-character limit?

You can’t use a password longer than 32 characters from the apps, because Smart Config is limited to 32 characters (this is defined within the CC3000 firmware, and not under our control). You can, however, set a password longer than 32 characters using the USB setup method. The easiest way to do that these days is with the command line tool. If you have Node.js installed:

npm install -g spark-cli

and then

spark setup

This should be done when your Spark Core is connected to your computer over USB and is in listening mode (flashing blue).

Hope that helps!

3 Likes

Thanks for the help Zach! I installed Node and ran the setup. After entering my SSID and password, it flashes green for awhile (while the spark setup is telling me to wait for breathing cyan), but then reverts to flashing blue. If I hit enter at this point, it says ‘Device is not connected’.

I tried a reset via holding both buttons, then only mode button, and repeating the process with the same results.

I also wonder if using this method with nodejs rather than the app will cause any limitations of the use of the core? I ask because I do not understand how the app being limited to the CC3000 firmware relates to using node to set the password to somehow get around this issue. If the CC3000 is the chip that should be connecting via wifi, and it is limited to 32 characters, how does setting the password via another interface allow it to connect using a longer password? I’m clearly missing something :slight_smile:

Good question!

The original password length limitation was also enforced on the mobile apps in that they would prevent you supplying a longer password. When you use the serial / CLI interface to the core, you’re entering your wifi credentials directly into the firmware on the core, bypassing the mobile restriction. The latest version of the firmware handles longer passwords better than earlier versions and should work well with the CC3000.

I hope that helps!

Thanks,
David

1 Like

After entering my SSID and password, it flashes green for awhile (while the spark setup is telling me to wait for breathing cyan), but then reverts to flashing blue.

What does this LED behaviour indicate during the set up process?

never encountered this but maybe an invalid wifi profile?