I am [now] running the latest CC33300 firmware (1.24) and host software (1.11.1). The general scenario I am running is described here. After upgrading to this latest software, I am no longer seeing the issue described by this earlier post, but rather encountering a new problem. What I am observing now is invalid data being sent by the CC3300. I have attached a logic analyzer capture that clearly illustrates this (named InvalidEvent_0x0404.logicdata). Free software can be downloaded from here to view this capture.
As can be seen by the capture, roughly 17 connect-send-recv-closesocket sequences complete successfully prior to failure. One example of a good scenario is as follows:
timestamp (ms) within
logic analyzer trace observed traffic
-------------------- ----------------
11,369.1 socket CMD
11,369.4 socket EVT
11,369.4 connect CMD
11,372.9 connect EVT
11,373.0 setsocketopt CMD
11,373.2 setsocketopt EVT
11,373.2 send CMD
11,373.4 send EVT
11,373.5 recv CMD
11,378.2 recv EVT
11,378.3 recv DATA
11,392.9 freebuffer EVT
11,392.9 closesocket CMD
11,392.9 TCP close wait EVT
11,492.3 closesocket EVT
At timestamp 12,216.6ms, the last command is sent out by the host - a closesocket CMD. Almost immediately following this, an EVT with opcode 0x0404 is received from the CC3300. This appears to be an invalid event, and is the last bit of communication that occurs on the SPI bus. The host continues to wait indefinitely for the EVT corresponding to the closesocket CMD that was sent out.
I am running SPI at ~5.3MHz, and see slightly better behavior when this is slowed down (similar issues can still be observed, just less frequently).