Bricked CC3000 shield!

Breakout boards, sensors, other Adafruit kits, etc.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
ravik
 
Posts: 21
Joined: Fri Jul 25, 2014 11:31 pm

Bricked CC3000 shield!

Post by ravik »

Hello,
I bought a CC3000 shield and it worked fine, except that it kept losing the connection very often...
I did some searching and came upon this link ( viewtopic.php?f=22&t=57422&p=290682&hil ... 00#p290682 ) which said that the firmware on the board could be updated.
The code do the firmware updating comes with the CC3000 libraries (driverpatch_1_13.ino).
The updating failed (after printing "Writing firmware"..."Starting w/patches") - and now my CC3000 is "dead"!
After printing "Initialising the CC3000 ..." nothing happens when I try to run the buildtest.ino script!! - and this worked fine for me before the supposed update though it kept losing the connection...
Any help will be appreciated...

Ravi

User avatar
tdicola
 
Posts: 1074
Joined: Thu Oct 17, 2013 9:11 pm

Re: Bricked CC3000 shield!

Post by tdicola »

Like the thread you mention, let's check if this is a power issue. What Arduino are you using to drive the shield, and how is it connected to power? In particular is it powered over a USB connection, connected to a wall power adapter, or something else?

ravik
 
Posts: 21
Joined: Fri Jul 25, 2014 11:31 pm

Re: Bricked CC3000 shield!

Post by ravik »

Thanks. I actually read your reply to a similar post (on July 25) - only I had not read it carefully enough!
I am using an Uno with the CC3000 shield from Adafruit and I powered the whole thing through the USB port of my laptop...
I will try out powering the Uno through a wall power adapter - will have to wait for some time before I can try this out...

Thanks.
Ravi

User avatar
tdicola
 
Posts: 1074
Joined: Thu Oct 17, 2013 9:11 pm

Re: Bricked CC3000 shield!

Post by tdicola »

Yep give powering it with an external supply a try next. From what I've seen it's pretty hit or miss with laptop USB ports having enough power to run a project, some can do it and others don't provide enough current.

ravik
 
Posts: 21
Joined: Fri Jul 25, 2014 11:31 pm

Re: Bricked CC3000 shield!

Post by ravik »

I used an external power supply (9V) to power the boards and everything works fine!
I was able to upgrade the driver and now the CC3000 connects smoothly without hanging...

Ravi

User avatar
tdicola
 
Posts: 1074
Joined: Thu Oct 17, 2013 9:11 pm

Re: Bricked CC3000 shield!

Post by tdicola »

Oh great to hear it works, thanks for the followup!

User avatar
smartrf
 
Posts: 19
Joined: Sat Sep 28, 2013 6:25 pm

Re: Bricked CC3000 shield!

Post by smartrf »

Are there any known issues with properly building the CC3000 driver patch using the new Arduino 1.5.7 ?
My CC3000 was working ... i tried to update firmware ... I am using Arduino 1.5.7 because i need the latest GCC compiler version for newer devices ... i had not been having any problems with this version previously.
The driver patch first complains about not having const in a couple of places in the .h file but i thought i fixed that.
i am running from lab supply, so should not be the typical voltage problem previously described.
but the update runs to the end where it reports Starting w/patches and then just gets stuck or stops.
apparently it never returns from cc3000.reboot.
I have tried both patch 1.12 and patch 1.13 and it is always the same.
An obviously No other CC3000 applications run any longer either.
Any Ideas ?
---- an update ---- after many trys .. the driver patch 1.13 did complete. But problems still exist.
if i try build test .... most of the time it just gets stuck at Initialising the CC3000 message. it never returns or displays anything else. if i reset enough times occasionally it will actually run the buildtest and complete in a normal fashion with no errors and able to ping as expected. if i immediately reset and try again, nothing stuck at initializing. Do enough resets and i will get past Initializing and compete. if it gets past initializing, it will always work thru the remainder of DHCP and connecting and pinging and never fails during those sections.
Also when it does run it does report the firmware version as 1.28

Any idea on what it might be getting stuck on ?

User avatar
tdicola
 
Posts: 1074
Joined: Thu Oct 17, 2013 9:11 pm

Re: Bricked CC3000 shield!

Post by tdicola »

That's odd, I haven't seen issues like that before. What board are you using to run the CC3000 sketches, is it an Arduino Uno or something else? It almost sounds like the board might be running at a different speed and not having reliable SPI communication with the CC3000.

User avatar
smartrf
 
Posts: 19
Joined: Sat Sep 28, 2013 6:25 pm

Re: Bricked CC3000 shield!

Post by smartrf »

Hi
I am using the Arduino Uno board obtained from adafruit. and up to the point where i tried to update the firmware of the CC3000 the Uno and CC3000 had been working just fine. ( even just before loading the patch application and trying the update. ) It took many attempts to get the patch to complete as described before, but eventually it did complete. But now as described there is something hanging in the Initialization, that does not appear to throw any errors but the app never proceeds.
If i reset the board a number of times, then it gets past this and for the rest of the sketch there are no communication issues either over SPI or over the wifi link with the router. I have the adafruit CC3000 breakout board with the on board chip antenna.

User avatar
tdicola
 
Posts: 1074
Joined: Thu Oct 17, 2013 9:11 pm

Re: Bricked CC3000 shield!

Post by tdicola »

That's odd, are you using the CC3000 shield or breakout? Can you post pictures of the soldering and connections between the Arduino and CC3000? Lets check there isn't an issue with the wiring like noise or a bad connection to between the SPI data and clock lines.

User avatar
smartrf
 
Posts: 19
Joined: Sat Sep 28, 2013 6:25 pm

Re: Bricked CC3000 shield!

Post by smartrf »

Hi yes it is strange ... although if i google CC3000 update I find lots of people who tried to update and ended up in the same situation and it was not
a power supply issue. And as mentioned this is the breakout board.
I enabled debug for the library and get pretty consistent results.
when i have the problem this is an excerpt of what i see just before it gets stuck.

CC3000: ReadWlanInterruptPin - 001
CC3000: ReadWlanInterr ptPin - 000
SimpleLink start
CC3000: SpiWrite
CC3000: SpiWriteFirst
CC3000: SpiWriteDataSynchronous Start
01 00 05 00
CC3000: SpiWriteDataSynchronous End
CC3000: SpiWriteDataSynchronous Start
00 01 00 40 01 00
CC3000: SpiWriteDataSynchronous End

And it will just sit at that point forever.
when if i reset enough times, it will get past that point.
BUT.... it appears that with debug enabled, there is some timing that gets messed up, because even tho i can get further.
with debug enabled, i can never get a clean full complete operating of the build test example.
Yet, just by turning off debug, i can with enough resets, get past the point i get stuck and always go to the end and complete just fine.
i even added in a loop to ping the url many times in a loop and there is never a failure once i get past the first waiting for IRQ to change.
I will take apart my system and rewire and make sure connections are ok ( but this board has been working for some time until the exact moment I did the update.
I even thought that jumping from that which was installed 1.11, to 1.13 might have been a problem so went back and with enough resets got the 1.12 patch to load.
but still same exact issue.
Here is what i see with debug when it gets past first waiting on IRQ response that it gets often stuck at.
but as i mentioned ... with debug on, it never works and gets stuck in a loop where it just continues the
repeating what you see here as the last 10 lines between Entering SPI IRQ and Exiting SPI IRQ.

I even found a test program someone wrote to just init and write and read to the device to check/verify
proper spi communications and that has the exact same issue. most of the time it gets stuck waiting on an initial IRQ
line to change to the expected state that never happens.... and then after a number of resets it gets past that and
it goes all the way to the end. Exactly the same as with the Adafruit library and buildtest.


CC3000: ReadWlanInterruptPin - 001
CC3000: ReadWlanInte ruptPin - 000
SimpleLink start
CC3000: SpiWrite
CC3000: SpiWriteFirst
CC3000: SpiWriteDataSynchronous Start
01 00 05 00
CC3000: SpiWriteDataSynchronous End
CC3000: SpiWriteDataSynchronous Start
00 01 00 40 01 00
CC3000: SpiWriteDataSynchronous End
CC3000: Entering SPI_IRQ
CC3000: SpiReadHeader
CC3000: SpiReadDataSynchronous
02 00 00 00 05 04 00 40 01 00
CC3000: SpiContReadOperation
CC3000: SpiReadDataCont
CC3000: SpiTriggerRxProcessing
CC3000: SpiPauseSpi
HCI_UNSOL_EVT: 0x4000 CC3000: Leaving SPI_IRQ
HCI_UNSOL_EVT: 0x4000 CC3000: SpiResumeSpi
Read buffer
CC3000: SpiWrite
CC3000: WlanInterruptDisable
CC3000: WlanInterruptEnable.
CC3000: Entering SPI_IRQ
CC3000: SpiWriteDataSynchronous Start
01 00 05 00 00 01 0B 40 00 00
CC3000: SpiWriteDataSynchronous End
CC3000: Leaving SPI_IRQ
CC3000: Entering SPI_IRQ
CC3000: SpiReadHeader
CC3000: SpiReadDataSynchronous
02 00 00 00 09 04 0B 40 04 00
CC3000: SpiContReadOperation
CC3000: SpiReadDataCont
CC3000: SpiReadDataSynchronous
06 DC 05 00
CC3000: SpiTriggerRxProcessing
CC3000: SpiPauseSpi
HCI_UNSOL_EVT: 0x400B CC3000: SpiResumeSpi
CC3000: Leaving SPI_IRQ
CC3000: ReadWlanInterruptPin - 001
CC3000: Entering SPI_IRQ
CC3000: SpiReadHeader
CC3000: SpiReadDataSynchronous
02 00 00 00 05 04 00 82 01 00
CC3000: SpiContReadOperation
CC3000: SpiReadDataCont
CC3000: SpiTriggerRxProcessing
CC3000: SpiPauseSpi
HCI_UNSOL_EVT: 0x8200 CC3000: SpiResumeSpi
CC3000: Leaving SPI_IRQ
CC3000: Entering SPI_IRQ
CC3000: SpiReadHeader
CC3000: SpiReadDataSynchronous
02 00 00 00 05 04 00 82 01 00
CC3000: SpiContReadOperation
CC3000: SpiReadDataCont
CC3000: SpiTriggerRxProcessing
CC3000: SpiPauseSpi
HCI_UNSOL_EVT: 0x8200 CC3000: SpiResumeSpi
CC3000: Leaving SPI_IRQ

In any case, thanks for taking an interest in the problem ... I will verify and rebuild all the connections and monitor with
scope and logic analyzer to see if something weird can be seen in the levels or spi communications.
But once it gets past that initial point, it will continue to run and communicate over the wifi link without error for as long as i have tried it
so not likely it is a wiring or solder issue.( but i will check again)
If you think of anything else ... I will check back from time to time.

User avatar
tdicola
 
Posts: 1074
Joined: Thu Oct 17, 2013 9:11 pm

Re: Bricked CC3000 shield!

Post by tdicola »

Yeah I actually haven't seen a firmware upgrade go wrong yet, typically it's a power or connection issue that causes problems. A few things to help troubleshoot:

- Turn off the debug mode and try with it disabled--although it prints some useful info it can actually cause lockups like you see because it throws off some of the timing.

- Even though it sounds like a good power supply, do you have a different one to try using? The behavior you see of the IRQ line not being pulled down sound a lot like the CC3000 isn't turning on which is typically a power issue. When power is applied does the green LED on the board turn on? Is it a bright green or a somewhat dim/subdued green color? Also are you powering the board with 5 volts into the VIN pin, or something else? If you measure the voltage on the VIN pin what does it read?

User avatar
awall
 
Posts: 24
Joined: Sat Sep 20, 2014 10:40 am

Re: Bricked CC3000 shield!

Post by awall »

Hello, sadly I'm exactly in the same situation described here.
Adafruit CC3000 shield + Arduino Uno powered externally with working supply (12V / 2A). Vin = 11.46V / +5V = 5.00V / +3.3V = 3.32V
The shield worked well with all samples but with SmartConfig. Then I decided to try updating the firmware and the module got bricked...

I tried both firmware 1.12 and 1.13 with Arduino IDE 1.5.7. I needed to patch the driverpatchinc_1_13.h file adding "const" to lines 5 and 63 to avoid compilation errors. Then sketch uploads and runs correctly, the following output from console:

Hit any key & return to start
RX Buffer : 131 bytes
TX Buffer : 131 bytes
Free RAM: 1074 bytes

Initialising the CC3000 ...
Unable to retrieve the firmware version!

MAC Address : 0x08 0x00 0x28 0x57 0x33 0x73

Read NVRAM $0 0x1, 0x0, 0x8, 0x0, 0x28, 0x57, 0x33, 0x73,
Read NVRAM $8 0x1, 0x1, 0xDF, 0x1, 0x0, 0x0, 0x0, 0x0,
Read NVRAM $16 0xF, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
Read NVRAM $24 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
Read NVRAM $32 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
Read NVRAM $40 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
Read NVRAM $48 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
Read NVRAM $56 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
Read NVRAM $64 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
Read NVRAM $72 0x4, 0x1, 0x5, 0x3, 0xA, 0xDF, 0x1, 0x0,
Read NVRAM $80 0x0, 0x0, 0x0, 0xDF, 0x1, 0x0, 0x0, 0x0,
Read NVRAM $88 0x0, 0x1, 0x0, 0x1, 0x0, 0x35, 0x0, 0x0,
Read NVRAM $96 0x2, 0x90, 0x10, 0x30, 0x0, 0xB, 0x0, 0x0,
Read NVRAM $104 0x0, 0xC, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0,
Read NVRAM $112 0x0, 0x60, 0x0, 0x0, 0x0, 0x2, 0x90, 0x10,
Read NVRAM $120 0x30, 0x0, 0xB, 0x0, 0x0, 0x0, 0xC, 0x0, Wrote FAT entries: 0
Write params
Wrote 32 bytes to NVRAM
Wrote 32 bytes to NVRAM
Wrote 32 bytes to NVRAM
Wrote 32 bytes to NVRAM
Wrote params
Writing driver patch
Wrote driver patch
Writing firmware
Starting w/patches


Then Arduino hangs and does not complete the update process. I tried to load the buildtest sketch again and it hangs after "Initialising the CC3000 ...".
Can you please help??

User avatar
awall
 
Posts: 24
Joined: Sat Sep 20, 2014 10:40 am

Re: Bricked CC3000 shield!

Post by awall »

I was able to bring the CC3000 shield to working stage again...
The solution was sinply to re-install the old Arduino IDE 1.0.5 and compile the original driverpatch_1_12 sketch (without the "const" change I made to compile with IDE 1.5.7).
Then all worked as expected and my shield is now back to work.

It would be great if you great guys at Adafruit could have a look at the CC3000 library and make it fully 1.5.7 compliant. My suspect is that something could also go wrong when using other functions, not just with the firmware update code.

User avatar
tdicola
 
Posts: 1074
Joined: Thu Oct 17, 2013 9:11 pm

Re: Bricked CC3000 shield!

Post by tdicola »

Interesting, thanks for the input on using 1.5.7. I'll give a shot too to see if I repro similar lockups on firmware updates. Yeah, 1.5.7 is pretty cutting edge beta right now because it uses the newest avr-gcc toolchain.

Locked
Please be positive and constructive with your questions and comments.

Return to “Other Products from Adafruit”