Tutorial: Upgrading Factory Reset Firmware

So i decided that a Tutorial for how to setup DFU-driver on windows is really gonna be handy.

> https://community.spark.io/t/tutorial-installing-dfu-driver-on-windows/3518/2
1 Like

Is there a list of improvements for firmware V2? My spark is disconnecting from wifi frequently, I’m hoping this will fix that issue.

This factory reset firmware only kicks in when you...(as the name implies) perform a factory reset.

Wont help with the wifi issues..

There's a patch coming up to improve the CC3000 driver and that might help with your issue!

1 Like

Getting an error "Error during download get_status"
http://pastebin.com/ws91MCPm

Driver is OK http://screenshots.ryotsuke.ru/scr_79dc50aa02fe.png
@kennethlimcp ?

P.S. Firmware DID update though. That’s weird
P.S. With updated reset software it does not connect to wifi anymore =_=

1 Like

The error is a DFU-util problem and we are not exactly sure what’s that about but it’s ok. It still works with that error.

See line 61 :wink:

1 Like

Is there issues to connecting to wifi on freshest firmware? I flashed to both reset and normal and now it stucks in flashing green without connecting. Other core on old firmaware(one that does not require security type) connects to same network OK. Tried setting wifi credentials both with spark.cli and serial directly
I’ve performed follfowing on this core: upgrade cc3000, upgrade reset firmware, upgrade local firmware

Hmm. I know there was a bug with SmartConfig that’s been fixed, but it should be okay to get online. Which CC3000 patch did you use, did you use the CLI spark flash --usb cc3000, or another one? We’re still resolving some issues with the new deep_update firmware, but the plan is to release it as soon as its ready.

Thanks,
David

I’ve flashed using dfu utils from github repository. Also reverting reset firmware to backup solves WiFi connection issues.

1 Like

Do you mean “dfu utils” from the dfu-utils repository, or do you mean latest master core-firmware from that repo?

Thanks!
David

I mean this: https://github.com/spark/cc3000-patch-programmer/tree/master/build

Ahh awesome, okay.

If you’re using the latest version of the spark-cli, a version of the cc3000 patcher is included that is newer than the master branch on github. When released, the deep_update patch will replace that as well. I’ll add a task for the CLI to add a ‘update factory reset firmware’ command. ( https://github.com/spark/spark-cli/issues/63 )

To do the patch from the spark-cli, the commands would be:

#place your core into dfu mode
spark flash --usb cc3000
spark flash --usb tinker

Thanks,
David

I am curious about manufacturing and the process of applying the internal flash (Tinker).

Here is my question: If I were to manufacture the core based on the design as is, what would be the exact factory procedure of applying the internal ‘tinker’ flash? Could the CC3000 be set to DFU mode without any factory related firmware pre installed?

@gadi,

Here’s the rough idea:

1.) Burn in the bootloader using the ST Link V2

2.) Load in the core-firmware, :spark: cloud public keys, core private key, factory reset firmware, default user firmware (tinker) etc etc

I believe that the initial programming is all done through JTAG and in the testing phase, the DFU mode is also part of the test requirment.

Long story short, you need to first use a ST Link V2 programmer to at least get the bootloader in since the STM32 is a brand new one without any code.

@will will be happy to share more with you :wink:

@kennethlimcp thanks for tagging me. @gadi I’ll follow up offline with answers to questions!

1 Like