I'm using this CC3000 module: http://www.digikey.ca/product-detail/en/CC3000MODR/296-35512-1-ND/3768439
When I first started writing software for the module (for STM32F429), I sent it HCI_CMND_SIMPLE_LINK_START with argument 0x00 (load patch from EEPROM) and it responded properly with HCI_EVNT_SIMPLE_LINK_START. Any commands after that would return 02 00 FF 00 00 for some reason. Recently the behaviour of the module changed. When I send it HCI_CMND_SIMPLE_LINK_START with argument 0x00 it responds with HCI_EVENT_PATCHES_FW_REQ and keeps the IRQ line pulled high indefinitely. If I try to send it a command while IRQ is high it responds with 02 00 FF 00 00 or 02 00 FA 00 00. According to this page: http://processors.wiki.ti.com/index.php/CC3000_HCI_PATCH_messages I can send the module a patch with length 0 to skip the update, but again, I'm unable to try this since IRQ stays high. Why is my module requesting a patch update all of the sudden and how can I make IRQ go low so I can continue sending commands?
The next thing I tried was to send HCI_CMND_SIMPLE_LINK_START with argument 0x02 (don't load patches) to which the module responded with HCI_EVNT_SIMPLE_LINK_START. However, the IRQ line is still pulled high indefinitely after that. What's going on here? What should I try next? Most importantly, is it possible to 'brick' the module by uploading an incorrect patch? I'm avoiding writing a patch programmer for the time being because I'm scared that the module will become useless.