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.

CC3100: CC3100 does not initialize

Part Number: CC3100

Hi, I have a custom board with CC3100 and a supported sFlash and I've ported the simplelink driver to my environment.

One CC3100 will not initialize but will boot into the bootloader and ACK the format and disconnect commands.  Another CC3100 will initialize, format, update, and re-init and works great all using the same code.

Can you help me identify possible reasons given this debug output?

See attached NWP debug log files that I collected from two failed runs.

fail_nwp_debug1.log
�71q���
$Z`8	\
;	
v"w"��x"�
y"
"

"
"c"c
�!
�!
�!�!�W�A�
�

'(#B 72W71q���
$Z`8	\
;	
v"w"��x"�
y"
"

"
"c"c	
�!
�!
�!�!�W�A�
�
(
'(#B 72W

� -�-1{�@	�
�	�
�
�	-�-1{�@��
�)

�*��
�
		�
�*� -�G7�v*�3308�
�*� X��E#
	��

�
!'�/sys/servicepack.ucf�`�

��	�!'�/sys/servicepack.ucf�`�
�0�{��
�
�
�
�
�
ǰ
�	-�-1{�@�
	�'�/sys/date_time.cfg
>(�
�'�/tmp/table.arpl�%�
�'�/tmp/phy.cal]�!'�/sys/pmcfg.iniI��

\
a"<b


�
!'�/sys/servicepack.ucf�`�

�[*�
!'�/sys/ipcfg.ini���
!'�/sys/mode.cfg��I�
)

����
Q
$ �
�

�7`� �t7`�l 97`? �7`� T7`�� 7`dI �7`,i 7w@� 0w
`�
�	\
�
� 
f
�	\
g�

�	\!'�/sys/devname.cfgc�
	


]

]�����.�
c
�	_�!'�/sys/servicepack.ucf�`�

�
�!'�/tmp/phy.cal]�

���'�/sys/wlangen.ini�jN
�P
P
P
P
P
P
 P
@P
P
S
�

`��


`�.
1!'�/sys/macadd.bin�q�
5V82$�
	
a�
�
�
��
�
�
����
�
���.�

}
.9

}

}


�	}
�'�/sys/rxfltr.ini���N
�'�/sys/rxfltr.ini���N
�A�'�/sys/rxfltr.ini���N
�A�A"�A�A�A�A�A�B�B!'�/sys/httpsrv.cfgF
�
	�
�P!'�/sys/macadd.bin�q�
5V82$�!'�/sys/mdns.cfg[\�
B�B��B��A�A�A�B��A�A��
!'�/sys/macadd.bin�q�
5V82$��P:.

!'�/sys/p2p.cfgo�
.7.

.C
P�.4".`�

�
h!@'�/tmp/phy.cal]

	��
-]�
-�]�-	]�
��
��	.mQ
R
==�(
�
mmmmm�	!'�/sys/date_time.cfg
>(�
3.'8.'8m...
m.:.m.'.
.?4....*, de,�*, ���*, ,-�.
s*, ��
��
s
6)	.
q
�/sys/stacfg.iniTU�
.0K
L
J#��/sys/pref.net��
17RS{.2�
1n��
�~Z`8	\
;	
v"
w"
x"
y"
"

"
"3
c"
�!
�!
�!�!�W�A�
�

'(#B 72�)W$Vxe\B
"
 


� -�-1{�@	�
�	�
�
�	-�-1{�@��
�(

�*��
�
		�
�*� -�G7�v*�3308�
�*� X��E#
	��
	�
�Ӣ	�-�-1{�@�	-�-1{�@�	�
)ָ	�!'�/sys/servicepack.ucf�`�
)ֵ)�,��
� -�-1{�@	�
�	�
�
�	-�-1{�@��
��	

�*��
�
		�
�*� -�G7�v*�3308�
�*� X��E#
	��
�	�
tִ�	�-�-1{�@�	-�-1{�@�	�
)�	�!'�/sys/servicepack.ucf�`�
)�)ֽ�
� -�-1{�@	�
�	�
�
�	-�-1{�@��
��	

�*��
�
		�
�*� -�G7�v*�3308�
�*� X��E#
	��
�	�
tִ�	�-�-1{�@�	-�-1{�@�	�
)�j
	�!'�/sys/servicepack.ucf�`�
)�g
)��
��
� -�-1{�@	�
�	�
�
�	-�-1{�@��
��	

�*��
�
		�
�*� -�G7�v*�3308�
�*� X��E#
	��
�	�
tִ�	�-�-1{�@�	-�-1{�@�	�
)ֺ	�!'�/sys/servicepack.ucf�`�
)ַ)�-��
� -�-1{�@	�
�	�
�
�	-�-1{�@��
��	

�*��
�
		�
�*� -�G7�v*�3308�
�*� X��E#
	��
�	�
tִ�	�-�-1{�@�	-�-1{�@�	�
)ֿ	�!'�/sys/servicepack.ucf�`�
)ּ)�3��
� -�-1{�@	�
�	�
�
�	-�-1{�@��
��	

�*��
�
		�
�*� -�G7�v*�3308�
�*� X��E#
	��
�	�
tֳ�	�-�-1{�@�	-�-1{�@�	�
)��
	�!'�/sys/servicepack.ucf�`�
)ֽ
)�4��
�
�
�
�
�
ǰ
�	-�-1{�@�
	�'�/sys/date_time.cfg
>(�
�'�/tmp/table.arpl�%�
�'�/tmp/phy.cal]�
!'�/sys/pmcfg.iniI��

\
a"<b


�
!'�/sys/servicepack.ucf�`�

�*�
!'�/�
� -�-1{�@	�
�	�
�
�	-�-1{�@��
��	

�*��
�
		�
�*� -�G7�v*�3308�
�*� X��E#
	��
�	�
tֳ�	�-�-1{�@�	-�-1{�@�	�
)֯	�!'�/sys/servicepack.ucf�`�
)֬)�#��
�
�
�
�
�
ǰ
�	-�-1{�@�
	�'�/sys/date_time.cfg
>(�
�'�/tmp/table.arpl�%�
�'�/tmp/phy.cal]�
!'�/sys/pmcfg.iniI��

\
a"<b


�
!'�/sys/servicepack.ucf�`�

�*�
!'�/s
� -�-1{�@	�
�	�
�
�	-�-1{�@��
��	

�*��
�
		�
�*� -�G7�v*�3308�
�*� X��E#
	��
�	�
sֳ�	�-�-1{�@�	-�-1{�@�	�
)�]		�!'�/sys/servicepack.ucf�`�
)�Z
)��
��
�
�
�
�
�
ǰ
�	-�-1{�@�
	�'�/sys/date_time.cfg
>(�
�'�/tmp/table.arpl�%�
�'�/tmp/phy.cal]�
!'�/sys/pmcfg.iniI��

\
a"<b


�
!'�/sys/servicepack.ucf�`�

�*�
!'�/s
� -�-1{�@	�
�	�
�
�	-�-1{�@��
��	

�*��
�
		�
�*� -�G7�v*�3308�
�*� X��E#
	��
�	�
sֳ�	�-�-1{�@�	-�-1{�@�	�
)�y	�!'�/sys/servicepack.ucf�`�
)�v)���
�
�
�
�
�
ǰ
�	-�-1{�@�
	�'�/sys/date_time.cfg
>(�
�'�/tmp/table.arpl�%�
�'�/tmp/phy.cal]�
!'�/sys/pmcfg.iniI��

\
a"<b


�
!'�/sys/servicepack.ucf�`�

�*�
!'�/s
� -�-1{�@	�
�	�
�
�	-�-1{�@��
��	

�*��
�
		�
�*� -�G7�v*�3308�
�*� X��E#
	��
�	�
sֳ�	�-�-1{�@�	-�-1{�@�	�
)֥	�!'�/sys/servicepack.ucf�`�
)֢)ֽ�
�
�
�
�
�
ǰ
�	-�-1{�@�
	�'�/sys/date_time.cfg
>(�
�'�/tmp/table.arpl�%�
�'�/tmp/phy.cal]�
!'�/sys/pmcfg.iniI��

\
a"<b


�
!'�/sys/servicepack.ucf�`�

�*�
!'�/s
� -�-1{�@	�
�	�
�
�	-�-1{�@��
��	

�*��
�
		�
�*� -�G7�v*�3308�
�*� X��E#
	��
�	�
sֳ�	�-�-1{�@
fail_nwp_debug2.log

Here's the log of SPI traffic from a failed init:

CC3100 0 Starting
1692403191295: CC3100 SPI write complete (0): OK
0x810ef50 - 4:
0000: 65 87 78 56
1692403191303: CC3100 SPI read complete (0): OK
0x2000af68 - 8:
0000: 00 00 00 00 50 9e 00 20
1692403191312: CC3100 SPI read complete (0): OK
0x2000af6c - 4:
0000: 00 00 00 00
1692403191320: CC3100 SPI read complete (0): OK
0x2000af6c - 4:
0000: 00 00 00 00
1692403191327: CC3100 SPI read complete (0): OK
0x2000af6c - 4:
0000: 00 00 00 00
1692403191335: CC3100 SPI read complete (0): OK
0x2000af6c - 4:
0000: 00 00 00 00
1692403191343: CC3100 SPI read complete (0): OK
0x2000af6c - 4:
0000: 00 00 00 00
1692403191351: CC3100 SPI read complete (0): OK
0x2000af6c - 4:
0000: 00 00 00 00
CC3100 0 timeout sync pattern event. ID: 0, Sender: 0
Aug 18 23:59:51.364 CC3100 0 init/reinit 1 failed -100 (1440): Wifi aborted

And here's what it looks like on a a working device:

CC3100 0 Starting
1692402847679: CC3100 SPI write complete (0): OK
0x810ef50 - 4:
0000: 65 87 78 56 
1692402847687: CC3100 SPI read complete (0): OK
0x2000af68 - 8:
0000: 00 00 00 00 50 9e 00 20 
1692402847696: CC3100 SPI read complete (0): OK
0x2000af6c - 4:
0000: 08 00 08 00 
1692402847704: CC3100 SPI read complete (0): OK
0x24004e9c - 4:
0000: 11 11 11 11 
CC3100 0 STA mode
CC3100 0 Init complete
1692402847716: CC3100 SPI write complete (0): OK
0x810e790 - 4:
0000: 21 43 34 12 
1692402847724: CC3100 SPI write complete (0): OK
0x24004da0 - 4:
0000: 66 84 08 00 
1692402847731: CC3100 SPI write complete (0): OK
0x2dd0 - 8:
0000: 00 00 01 00 0c 00 00 00 
1692402847740: CC3100 SPI write complete (0): OK
0x810ef50 - 4:
0000: 65 87 78 56 
1692402847752: CC3100 SPI read complete (0): OK
0x2d50 - 8:
0000: 08 00 00 00 8d 24 0f 08 
1692402847761: CC3100 SPI read complete (0): OK
0x2d54 - 4:
0000: 66 04 38 00 
1692402847768: CC3100 SPI read complete (0): OK
0x2dd0 - 8:
0000: 00 00 01 00 0c 00 00 00 
1692402847777: CC3100 SPI read complete (0): OK
0x2e28 - 44:
0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0020: 00 00 00 00 00 00 00 00 00 00 00 00 
Aug 18 23:54:07.797 CC3100 0 ID(67108864) FW(31.1.6.0.2) PHY(1.0.3.37)
Aug 18 23:54:07.808 CC3100 0 NWP(2.14.0.0) ROM(13107) HostDrv(1.0.1.11)

  • Something is wrong with the NWP log - please recapture and make sure you are following all the instructions.

    Have you gone through the design review? looks like the initi doesn't complete. maybe an issue with the power.

    In general, why do you start a project with cc3100? it is a very old device that is not recommended for new designs.

  • Hi Kobi, I captured the serial data on my desktop connected directly to pin 62 on the CC3100 at a baud rate of 921600.  What else needs to be done?  I saw that there was some legible ASCII text in the log files.  Each of the NWP log files I sent should include several reset and format attempts.

    This board is a revision of a previous reviewed design that already used the CC3100 and works great but this time it's put on a daughter board.  The daughter boards has two CC3100s.  When I direct the FW to interact with the first one, it fails to fully init (but does restart to the bootloader and ACK the format and disconnect commands.)  When I direct the FW to use the other CC3100, it works perfectly.  We're trying to narrow down the problem.

  • The log you sent crashes the parser... (which is an app without debug capabilities).

    You capture it as a binary content, right?

    Please try creating another one. If you follow all the instructions - it should just work,

  • Attached.  I didn't have the "binary" checkbox checked last time.

    7573.teraterm.log
    � -�-1{�@	��	��
    �
    �	-�-1{�@
    ����
    �
    �*��
    �
    �	�
    �*� -�G7����v*�330�8���
    �*� X���E#
    �	��
    �
    ��
    s
    �!
    '�/sys/servicepack.ucf
    ���`
    ��
    ���	�
    �!
    '�/sys/servicepack.ucf
    ���`
    ���
    �[��
    �
    �
    �
    �
    �
    �
    �
    
    �	-�-1{�@
    �
    	
    �
    '�/sys/date_time.cfg
    �
    >(��
    �
    '�/tmp/table.arp
    �l�%��
    �
    '�/tmp/phy.cal
    �]����
    �!
    '�/sys/pmcfg.ini
    �I�
    ��
    \
    a"<b
    �
    �
    
    �!
    '�/sys/servicepack.ucf
    ���`
    ���*�
    �!
    '�/sys/ipcfg.ini
    ���
    ��
    �!
    '�/sys/mode.cfg
    ���I
    ��)�
    ����
    Q
    $ ��
    �7�`� �t7�`�l 97�`إ �7�`�� T7�`�� �7�`dI �7�`,i 7w@� 0w
    2�`��	
    �
    � 
    f�	
    g��	
    �!
    '�/sys/devname.cfg
    ��c
    ��	
    
    
    �����.�c�	�
    �!
    '�/sys/servicepack.ucf
    ���`
    ��
    �
    �
    �!
    '�/tmp/phy.cal
    �]��
    ��
    ���
    �
    '�/sys/wlangen.ini
    ��j�N�PPPPPP P@P�PS�
    ��
    
    �.1
    �!
    '�/sys/macadd.bin
    ��q
    
    ��5V8�2$���	
    �
    �
    ����
    �
    �����
    �
    ���.�������2.9
    2
    2
    ��	3
    �
    '�/sys/rxfltr.ini
    �����N
    �
    '�/sys/rxfltr.ini
    �����N�A
    �
    '�/sys/rxfltr.ini
    �����N�A�A"�A�A�A�A�A�B�B
    �!
    '�/sys/httpsrv.cfg
    �F�
    ��	�
    �
    P
    �!
    '�/sys/macadd.bin
    ��q
    
    ��5V8�2$���
    �!
    '�/sys/mdns.cfg
    �[\
    ��B�B��B��A�A�A�B��A�A��
    �!
    '�/sys/macadd.bin
    ��q
    
    ��5V8�2$����P�:.
    5
    �!
    '�/sys/p2p.cfg
    �o�
    ��.7.
    6.CP�.4".`
    �7�
    h�!@
    '�/tmp/phy.cal
    �]��
    �
    
    	�
    �
    -�]��
    �
    -�]���-�	]���
    ����	.mQR==�(�
    mmmmm�	�
    �!
    '�/sys/date_time.cfg
    �
    >(
    ��3�.'8�.'8�m...m.:.m.'..?4....*, de,�*, ���*, ,-�.s*, ��
    �[��
    s)W$Vx�e\B.q6)	
    �
    �!
    '�/sys/stacfg.ini
    �TU.0
    
    ��
    K
    L
    J#
    �
    �!
    '�/sys/pref.net
    ��
    ��1
    7R�.2�S
    {
    �
    "*"71�`����~Z`8	\�;	3
    v"
    w"
    x"
    y"
    �"
    �"
    �"
    c"
    �!
    �!
    �!�!�W�A��
    �
    
    '(#B 72��
     
    
    � -�-1{�@	��	��
    �
    �	-�-1{�@
    ���'
    �
    �*��
    �
    �	�
    �*� -�G7����v*�330�8���
    �*� X���E#
    �	��
    	��
    ���
    �	
    �-�-1{�@
    �	-�-1{�@
    �	�
    �)��	�
    �!
    '�/sys/servicepack.ucf
    ���`
    ��)�
    �)�	��
    �
    �
    �
    �
    �
    �
    �
    
    �	-�-1{�@
    �
    	
    �
    '�/sys/date_time.cfg
    �
    >(��
    �
    '�/tmp/table.arp
    �l�%��
    �
    '�/tmp/phy.cal
    �]����
    �!
    '�/sys/pmcfg.ini
    �I�
    ��
    \
    a"<b
    �
    �
    
    �!
    '�/sys/servicepack.ucf
    ���`
    ���*�
    �!
    '�/s
    � -�-1{�@	��	��
    �
    �	-�-1{�@
    ����
    �
    �*��
    �
    �	�
    �*� -�G7����v*�330�8���
    �*� X���E#
    �	��
    �	��
    s��
    �	
    �-�-1{�@
    �	-�-1{�@
    �	�
    �)�a		�
    �!
    '�/sys/servicepack.ucf
    ���`
    ��)�
    ^)����
    �
    �
    �
    �
    �
    �
    �
    
    �	-�-1{�@
    �
    	
    �
    '�/sys/date_time.cfg
    �
    >(��
    �
    '�/tmp/table.arp
    �l�%��
    �
    '�/tmp/phy.cal
    �]����
    �!
    '�/sys/pmcfg.ini
    �I�
    ��
    \
    a"<b
    �
    �
    
    �!
    '�/sys/servicepack.ucf
    ���`
    ���*�
    �!
    '�/s
    � -�-1{�@	��	��
    �
    �	-�-1{�@
    ����
    �
    �*��
    �
    �	�
    �*� -�G7����v*�330�8���
    �*� X���E#
    �	��
    �	��
    s��
    �	
    �-�-1{�@
    �	-�-1{�@
    �	�
    �)�)	�
    �!
    '�/sys/servicepack.ucf
    ���`
    ��)�
    &)����
    �
    �
    �
    �
    �
    �
    �
    
    �	-�-1{�@
    �
    	
    �
    '�/sys/date_time.cfg
    �
    >(��
    �
    '�/tmp/table.arp
    �l�%��
    �
    '�/tmp/phy.cal
    �]����
    �!
    '�/sys/pmcfg.ini
    �I�
    ��
    \
    a"<b
    �
    �
    
    �!
    '�/sys/servicepack.ucf
    ���`
    ���*�
    �!
    '�/s
    � -�-1{�@	��	��
    �
    �	-�-1{�@
    ����
    �
    �*��
    �
    �	�
    �*� -�G7����v*�330�8���
    �*� X���E#
    �	��
    �	��
    s��
    �	
    �-�-1{�@
    �	-�-1{�@
    �	�
    �)��	�
    �!
    '�/sys/servicepack.ucf
    ���`
    ��)�
    �
    )�l��
    �
    �
    �
    �
    �
    �
    �
    
    �	-�-1{�@
    �
    	
    �
    '�/sys/date_time.cfg
    �
    >(��
    �
    '�/tmp/table.arp
    �l�%��
    �
    '�/tmp/phy.cal
    �]����
    �!
    '�/sys/pmcfg.ini
    �I�
    ��
    \
    a"<b
    �
    �
    
    �!
    '�/sys/servicepack.ucf
    ���`
    ���*�
    �!
    '�/s
    � -�-1{�@	��	��
    �
    �	-�-1{�@
    ����
    �
    �*��
    �
    �	�
    �*� -�G7����v*�330�8���
    �*� X���E#
    �	��
    �	��
    s��
    �	
    �-�-1{�@
    �	-�-1{�@
    �	�
    �)�	�
    �!
    '�/sys/servicepack.ucf
    ���`
    ��)�
    )�{��
    �
    �
    �
    �
    �
    �
    �
    
    �	-�-1{�@
    �
    	
    �
    '�/sys/date_time.cfg
    �
    >(��
    �
    '�/tmp/table.arp
    �l�%��
    �
    '�/tmp/phy.cal
    �]����
    �!
    '�/sys/pmcfg.ini
    �I�
    ��
    \
    a"<b
    �
    �
    
    �!
    '�/sys/servicepack.ucf
    ���`
    ���*�
    �!
    '�/s
    � -�-1{�@	��	��
    �
    �	-�-1{�@
    ����
    �
    �*��
    �
    �	�
    �*� -�G7����v*�330�8���
    �*� X���E#
    �	��
    �	��
    s��

  • seems that the init completes. 

    You said that it "ACK the format and disconnect commands" - what commands are you referring to?  

  • If you look at the "log of SPI traffic from a failed init" from my original message in this post, you can see that the driver is not getting notification that initialization is complete.  It appears to be timing out because it's reading just zeros from the CC3100 after the initial write and read:

    CC3100 0 Starting
    1692403191295: CC3100 SPI write complete (0): OK
    0x810ef50 - 4:
    0000: 65 87 78 56
    1692403191303: CC3100 SPI read complete (0): OK
    0x2000af68 - 8:
    0000: 00 00 00 00 50 9e 00 20

    When init fails in this way, my recovery process includes resetting the CC3100 into the bootloader so that the CC3100's SPI flash can be formatted.  The bootloader format and disconnect commands are the ones I was referring to.  They appear to be ACK'd correctly.  You should see one or more instances of that in the last NWP log I sent.

  • Can you check the interrupt line status?

    Check if it is asserted for the init-complete.

    I any way, please go through the design review. This seems like some kind of hardware related issue.

  • When the interrupt fires, it kicks off a task called the spawn task.  I can see on some resets that this is happening and sometimes it’s not.  When it does, we first write 4 bytes to the CC3100 via SPI and then read multiple times looking for the correct sync pattern (this is all down in the simplelink driver.)  With this CC3100, the correct sync pattern never appears in the reads.

  • again. this seems like a hardware issue. please check your design.