<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://e2e.ti.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Wi-Fi</title><link>https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/</link><description>&lt;p style="display:none;"&gt;blank&lt;/p&gt;</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><item><title>Forum Post: RE: CC3551E: Using 128 KB NVOCMP/NVS Flash vs. Vendor Specific Flash to store custom Data</title><link>https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1684694/cc3551e-using-128-kb-nvocmp-nvs-flash-vs-vendor-specific-flash-to-store-custom-data/6505706</link><pubDate>Thu, 08 Oct 2026 20:28:00 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:7ec77c99-985e-4d49-9861-19c5357b129a</guid><dc:creator>BLiu</dc:creator><description>Hi Vignesh, I would be careful using the NVS SYSID already allotted as the one you are using is specified by Wi-Fi. I took the network terminal and modified a random command to do the following for ease of development, and used SYSID 20 instead of 12: #include #include int32_t cmdBleStartCallback(void *arg) { int ret = 0; NVINTF_nvFuncts_t NVIF; NVOCMP_loadApiPtrs(&amp;amp;NVIF); NVIF.initNV(NULL); NVINTF_itemID_t item; item.systemID = 20; item.itemID = 2; item.subID = 4; char payloadRead[256]; char payloadWrite[] = &amp;quot;Hello, NVS!&amp;quot;; Report(&amp;quot;Reading item: SysID=%d ItemID=%d SubID=%d\r\n&amp;quot;, item.systemID, item.itemID, item.subID); memset(payloadRead, 0, sizeof(payloadRead)); ret = NVIF.readItem(item, 0, sizeof(payloadWrite), payloadRead); Report(&amp;quot;Read Status = %d\r\n&amp;quot;, ret); if (ret == NVINTF_SUCCESS) { Report(&amp;quot;Existing Item = %s\r\n&amp;quot;, payloadRead); } else { Report(&amp;quot;Item not found, creating...\r\n&amp;quot;); strcpy(payloadWrite, &amp;quot;Hello, NVS!&amp;quot;); ret = NVIF.createItem(item, strlen(payloadWrite), payloadWrite); Report(&amp;quot;Create Status = %d\r\n&amp;quot;, ret); if (ret == NVINTF_SUCCESS) { memset(payloadRead, 0, sizeof(payloadWrite)); ret = NVIF.readItem(item, 0, sizeof(payloadWrite), payloadRead); Report(&amp;quot;Read After Create Status = %d\r\n&amp;quot;, ret); if (ret == NVINTF_SUCCESS) { Report(&amp;quot;Item After Create = %s\r\n&amp;quot;, payloadRead); } } } return ret; } In this scenario I modified the ble start callback. Here is my terminal output: ****************************************************************** ***************** Network Terminal ******************* ***************** upper_mac_3.0.10.78 ******************* ****************************************************************** ================================================================================ Compiled with Clang LwIP Configuration: Single stream ================================================================================ Available commands: help clear wlan_ap_role_up wlan_ap_role_down wlan_sta_role_up wlan_sta_role_down wlan_connect wlan_set_early_term wlan_get_early_term wlan_disconnect wlan_set_tx_power wlan_get_tx_power wlan_scan wlan_get_mac wlan_set_mac wlan_get_ps wlan_set_ps wlan_set_pm wlan_set_if_ip wlan_get_if_ip wlan_set_dhcp wlan_get_dhcp ifconfig wlan_set_LSI wlan_get_fw_ver wlan_start wlan_stop iperf iperf_stop tls_iperf ble_adv_cfg ble_adv_enable ble_scan_cfg ble_scan_enable ble_connect ble_disconnect ble_cycle ble_cycle_stop ble_peers ble_delete_bonds ble_get_bd_addr ble_set_bd_addr ble_set_tx_pwr ble_conn_update ble_set_phy ble_start ble_stop csi_enable csi_stop csi_disable csi_get_results csi_config csi_set_mac calibrator sntp_config_servers sntp_update set_date_time get_date_time vend_IE_add vend_IE_remove set_peer_aging p2p_role_up p2p_role_down p2p_find p2p_connect p2p_stop_find p2p_group_remove p2p_set_channel p2p_get_channel p2p_listen p2p_cancel p2p_group_add start_ap_wps wlan_set_con_policy wlan_get_con_policy wlan_add_profile wlan_del_profile wlan_get_profile wlan_set_dwell_time wlan_profile_connect ping ping_stop set_cstm_reg_domain get_cstm_reg_domain ================================================================================ Reading item: SysID=20 ItemID=2 SubID=4 Read Status = 10 Item not found, creating... Create Status = 0 Read After Create Status = 0 Item After Create = Hello, NVS! Reading item: SysID=20 ItemID=2 SubID=4 Read Status = 0 Existing Item = Hello, NVS! user:****************************************************************** ***************** Network Terminal ******************* ***************** upper_mac_3.0.10.78 ******************* ****************************************************************** ================================================================================ Compiled with Clang LwIP Configuration: Single stream ================================================================================ Available commands: help clear wlan_ap_role_up wlan_ap_role_down wlan_sta_role_up wlan_sta_role_down wlan_connect wlan_set_early_term wlan_get_early_term wlan_disconnect wlan_set_tx_power wlan_get_tx_power wlan_scan wlan_get_mac wlan_set_mac wlan_get_ps wlan_set_ps wlan_set_pm wlan_set_if_ip wlan_get_if_ip wlan_set_dhcp wlan_get_dhcp ifconfig wlan_set_LSI wlan_get_fw_ver wlan_start wlan_stop iperf iperf_stop tls_iperf ble_adv_cfg ble_adv_enable ble_scan_cfg ble_scan_enable ble_connect ble_disconnect ble_cycle ble_cycle_stop ble_peers ble_delete_bonds ble_get_bd_addr ble_set_bd_addr ble_set_tx_pwr ble_conn_update ble_set_phy ble_start ble_stop csi_enable csi_stop csi_disable csi_get_results csi_config csi_set_mac calibrator sntp_config_servers sntp_update set_date_time get_date_time vend_IE_add vend_IE_remove set_peer_aging p2p_role_up p2p_role_down p2p_find p2p_connect p2p_stop_find p2p_group_remove p2p_set_channel p2p_get_channel p2p_listen p2p_cancel p2p_group_add start_ap_wps wlan_set_con_policy wlan_get_con_policy wlan_add_profile wlan_del_profile wlan_get_profile wlan_set_dwell_time wlan_profile_connect ping ping_stop set_cstm_reg_domain get_cstm_reg_domain ================================================================================ Reading item: SysID=20 ItemID=2 SubID=4 Read Status = 0 Existing Item = Hello, NVS! As for checking the state of NVOCMP region, I&amp;#39;d look at the action variable and see whether it was assigned as NVOCMP_NORMAL_INIT etc. See NVOCMP_initAction_t.</description></item><item><title>Forum Post: RE: CC3351: BLE Advertising while Connected</title><link>https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1685108/cc3351-ble-advertising-while-connected/6505555</link><pubDate>Thu, 08 Oct 2026 17:41:00 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:95b7cd44-4c11-4f82-bb75-39c9d442de45</guid><dc:creator>Dean Ramsier</dc:creator><description>Hi, Can you provide instructions on how to do this? The customer has been unsuccessful with everything they&amp;#39;ve tried. I have also tried to implement this using non-connectable advertisements, but the firmware fails even without being connected. The easiest repro is to go into broadcaster mode, which is how you do non-connectable advertising with BlueZ. This one command fails immediately: bluetoothctl advertise broadcast Thanks, Dean</description></item><item><title>Forum Post: RE: CC3351: BLE Advertising while Connected</title><link>https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1685108/cc3351-ble-advertising-while-connected/6505496</link><pubDate>Thu, 08 Oct 2026 16:30:00 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:3791b63f-539a-44fa-a4cb-c577d883fff2</guid><dc:creator>BLiu</dc:creator><description>Hi Dean, After an internal assessment, this feature is supported.</description></item><item><title>Forum Post: RE: CC3551E: Using 128 KB NVOCMP/NVS Flash vs. Vendor Specific Flash to store custom Data</title><link>https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1684694/cc3551e-using-128-kb-nvocmp-nvs-flash-vs-vendor-specific-flash-to-store-custom-data/6503737</link><pubDate>Wed, 07 Oct 2026 10:37:00 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:70b8b9e3-403c-4991-b341-6b95d4ce2671</guid><dc:creator>vignesh s</dc:creator><description>Hi BLiu, Thank you for confirming that we can use the existing NVOCMP/NVS flash region for application-specific data. We followed the NVOCMP/NVS example and tested using our own identifiers: SYSID = 12 ItemID = 2 SubID = 4 Data = &amp;quot;Hello, NVS!&amp;quot; The item is successfully created and can be read immediately but However, after performing a device reset, the item is no longer available: e2e.ti.com/.../nvs_5F00_log.txt Code : NVOCMP_loadApiPtrs(&amp;amp;NVIF); ret = NVIF.initNV(NULL); Report(&amp;quot;NV Init Status = %d\r\n&amp;quot;, ret); if (ret != NVINTF_SUCCESS) { Report(&amp;quot;NV Init Failed: %d\r\n&amp;quot;, ret); } else { Report(&amp;quot;NV Init Success\r\n&amp;quot;); } item.systemID = APPLICATION_SYSID; item.itemID = APPLICATION_ITEMID; item.subID = APPLICATION_SUBID; Report(&amp;quot;Reading item: SysID=%d ItemID=%d SubID=%d\r\n&amp;quot;, item.systemID, item.itemID, item.subID); memset(payloadRead, 0, sizeof(payloadRead)); ret = NVIF.readItem(item, 0, sizeof(payloadWrite), payloadRead); Report(&amp;quot;Read Status = %d\r\n&amp;quot;, ret); if (ret == NVINTF_SUCCESS) { Report(&amp;quot;Existing Item = %s\r\n&amp;quot;, payloadRead); } else { Report(&amp;quot;Item not found, creating...\r\n&amp;quot;); strcpy(payloadWrite, &amp;quot;Hello, NVS!&amp;quot;); ret = NVIF.createItem(item, strlen(payloadWrite), payloadWrite); Report(&amp;quot;Create Status = %d\r\n&amp;quot;, ret); if (ret == NVINTF_SUCCESS) { memset(payloadRead, 0, sizeof(payloadWrite)); ret = NVIF.readItem(item, 0, sizeof(payloadWrite), payloadRead); Report(&amp;quot;Read After Create Status = %d\r\n&amp;quot;, ret); if (ret == NVINTF_SUCCESS) { Report(&amp;quot;Item After Create = %s\r\n&amp;quot;, payloadRead); } } } Could you please clarify whether this software download/initialization process can erase or reinitialize the NVOCMP/NVS flash region? Since `NVIF.initNV()` returns success and the item can be read immediately after `createItem()`, we would like to understand why the item is not restored after reboot. Could you also suggest how we can verify whether the NVOCMP region is being erased or reinitialized during the boot sequence? Thanks, Vignesh</description></item><item><title>Forum Post: RE: CC3551E: CC3551E: Request for official MCUboot serial recovery support for single-slot products</title><link>https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1683459/cc3551e-cc3551e-request-for-official-mcuboot-serial-recovery-support-for-single-slot-products/6503605</link><pubDate>Wed, 07 Oct 2026 07:34:00 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:4ca12d73-1f45-4c3f-9b04-2f6854d6f200</guid><dc:creator>Jakob Krantz</dc:creator><description>Much appreciated info! Thanks!</description></item><item><title>Forum Post: RE: CC3230SF: CC3230SF: Does it have built-in BLE or only coexistence support?</title><link>https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1687215/cc3230sf-cc3230sf-does-it-have-built-in-ble-or-only-coexistence-support/6503081</link><pubDate>Tue, 06 Oct 2026 18:20:00 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:757aebcf-8627-44fd-872f-0c250da90538</guid><dc:creator>Sabeeh Khan1</dc:creator><description>Hello Hamza, Thanks for your question. The cc3230SF device is a Wi-Fi only device, so it does not have BLE built-in. What you are referring to is the coexistence feature on the cc3230sf that allows for a BLE device (the cc13x2/cc26x2 are BLE devices given as examples) to communicate on 2.4GHz frequencies alongside the cc3230sf. The coexistence features ensure that both devices are not transmitting at the same time.</description></item><item><title>Forum Post: RE: CC3551E: Question regarding CC3551E</title><link>https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1686606/cc3551e-question-regarding-cc3551e/6503017</link><pubDate>Tue, 06 Oct 2026 17:01:00 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:655811ff-4d1a-42d7-aa40-82bf0db178f3</guid><dc:creator>reza salehi</dc:creator><description>Hi, Thank you for the detailed response. This answers most of our questions and is very helpful. I have two additional questions to confirm our intended architecture. 1. BLE HCI Architecture In our existing design, the BLE controller is connected to our application processor through a standard UART HCI interface(CC2652). The BLE Host, GAP/GATT, and application layers run on the external application processor. Can the CC3551E operate in a BLE controller-only configuration and expose standard Bluetooth HCI over UART to an external host processor? If yes, can this configuration operate simultaneously with Wi-Fi SoftAP, lwIP networking, and SPI communication ? Do you have an SDK example or reference implementation demonstrating the CC3551E as a BLE controller with an external BLE Host over UART HCI? 2. TCP/UDP Proxy Implementation Due to limitations on our external application/cellular processor, we cannot forward raw IP packets directly to it over SPI. Therefore, we are considering implementing a TCP/UDP proxy on the CC3551E . For TCP, our intention is for the CC3551E to intercept and terminate the TCP connection from the SoftAP client locally , obtain the original destination IP address/port, and send the destination information and application payload over SPI to the external processor. The external processor would then create a separate TCP socket to the Internet server. Conceptually: Wi-Fi Client CC3551E External Processor Internet We believe this should be possible based on your confirmation of SoftAP packet access and lwIP support, but would like to confirm that the CC3551E/lwIP can transparently terminate TCP connections originally addressed to external IP addresses while retaining the original destination IP/port . For UDP, we would use a similar approach: identify the destination IP/port and relay the UDP payload over SPI, with the external processor creating the corresponding UDP socket. Is this TCP/UDP proxy architecture supported/feasible with the CC3551E? If so, is there a recommended lwIP mechanism or example for implementing it? Our goal is for this to be transparent to the Wi-Fi client , without requiring any proxy configuration on the client device. Thanks again for your help. Best Regards, Reza</description></item><item><title>Forum Post: RE: CC3551E: Question regarding CC3551E</title><link>https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1686606/cc3551e-question-regarding-cc3551e/6502935</link><pubDate>Tue, 06 Oct 2026 15:49:00 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:dda4d6ec-1a88-41ea-a959-71341dbc22b7</guid><dc:creator>Josh Prushing</dc:creator><description>Hi Reza, [quote userid=&amp;quot;516893&amp;quot; url=&amp;quot;~/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1686606/cc3551e-question-regarding-cc3551e&amp;quot;] SoftAP and packet-level access: Does the SimpleLink SDK provide access to IP packets received from Wi-Fi clients in SoftAP mode? Can our application process and forward these packets to an external interface rather than using the local TCP/UDP socket APIs? lwIP and custom network interfaces: Can we create a custom lwIP netif representing an SPI-based WAN interface and route traffic between the SoftAP interface and this custom interface? [/quote] Yes, this is supported. You can create a custom lwIP netif to forward packets to a custom interface. [quote userid=&amp;quot;516893&amp;quot; url=&amp;quot;~/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1686606/cc3551e-question-regarding-cc3551e&amp;quot;] NAT/IP forwarding: Does the SDK provide support for IPv4 forwarding and NAT/NAPT between two network interfaces? If not, can these capabilities be enabled or integrated into the supplied lwIP stack?[/quote] Yes, IPv4 forwarding is supported. [quote userid=&amp;quot;516893&amp;quot; url=&amp;quot;~/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1686606/cc3551e-question-regarding-cc3551e&amp;quot;] PPP support: Does the SDK include lwIP PPP support (PPPoS), or can it be enabled? Would it be possible to use PPP over UART or a custom SPI transport to communicate with the cellular modem?[/quote] Yes, PPP is supported but it should be enabled in lwipopts.h under #define PPP_SUPPORT. [quote userid=&amp;quot;516893&amp;quot; url=&amp;quot;~/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1686606/cc3551e-question-regarding-cc3551e&amp;quot;] SPI interface: Can the CC3551E SPI peripheral be used for continuous bidirectional network packet transfer while operating in SoftAP mode? Are there any known throughput limitations or recommended flow-control mechanisms?[/quote] Yes, this is supported. I do not have a benchmark for any throughput limitations. [quote userid=&amp;quot;516893&amp;quot; url=&amp;quot;~/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1686606/cc3551e-question-regarding-cc3551e&amp;quot;] SoftAP and BLE coexistence: Can SoftAP and BLE operate simultaneously? Are there any significant performance or memory limitations when supporting multiple Wi-Fi clients and BLE connections?[/quote] Yes, coexistence is supported. Because we use 3-wire PTA, any performance impact should be minimal. [quote userid=&amp;quot;516893&amp;quot; url=&amp;quot;~/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1686606/cc3551e-question-regarding-cc3551e&amp;quot;] Reference implementation: Does TI provide any examples or reference designs for a Wi-Fi-to-cellular gateway, particularly involving SoftAP, NAT/IP forwarding, PPP, or a custom SPI network interface?[/quote] There are some specific driver examples in the source folder that may be helpful, but the Network Terminal example is where most of these are integrated. In this example, you will still need to implement the custom lwIP netif and fowarding, but it will support STA/AP modes and PPP support. Please let me know if you have any additional questions! Best Regards, Josh Prushing</description></item><item><title>Forum Post: RE: CC3551E: CC3551E: Request for official MCUboot serial recovery support for single-slot products</title><link>https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1683459/cc3551e-cc3551e-request-for-official-mcuboot-serial-recovery-support-for-single-slot-products/6502925</link><pubDate>Tue, 06 Oct 2026 15:33:00 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:7cd2066d-6f5d-4a93-94ec-1a501df6b927</guid><dc:creator>BLiu</dc:creator><description>One example feature is the multi-level key signing that was released with the 10.20.00.39 SDK. The associated toolbox can allow vendors to use multi-level key signing instead of classic root of trust (see documentation for more details). This was not supported previously, so this is an example of a new bootloader feature which validates against a key info TLV instead of just the vendor image major version number.</description></item><item><title>Forum Post: RE: CC3501E: Can't seem to read/write GPIO using SimpleLink_wifi_toolbox CLI commands</title><link>https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1686843/cc3501e-can-t-seem-to-read-write-gpio-using-simplelink_wifi_toolbox-cli-commands/6502868</link><pubDate>Tue, 06 Oct 2026 14:46:00 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:ffa09cdb-98f1-4d7b-8e3a-7563fb2c239a</guid><dc:creator>Josh Prushing</dc:creator><description>Hi Eric, Glad to hear this is working for you now! Please let me know if you run into any other issues. Best Regards, Josh Prushing</description></item><item><title>Forum Post: RE: CC3551E: CC3551E: Request for official MCUboot serial recovery support for single-slot products</title><link>https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1683459/cc3551e-cc3551e-request-for-official-mcuboot-serial-recovery-support-for-single-slot-products/6502500</link><pubDate>Tue, 06 Oct 2026 07:18:00 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:c49cf650-8862-4c3e-b6cb-a691a35c027b</guid><dc:creator>Jakob Krantz</dc:creator><description>Thanks! Could you give an example of what this type of &amp;quot;feature&amp;quot; could be?</description></item><item><title>Forum Post: CC3230SF: CC3230SF: Does it have built-in BLE or only coexistence support?</title><link>https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1687215/cc3230sf-cc3230sf-does-it-have-built-in-ble-or-only-coexistence-support</link><pubDate>Tue, 06 Oct 2026 01:58:00 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:a87117c4-0ae7-48b6-85b3-0907a21bd089</guid><dc:creator>Hamza Imtiaz</dc:creator><description>Part Number: CC3230SF Hi, I am using the CC3230SF for a new project and I need to confirm whether this device has built-in Bluetooth Low Energy (BLE) capability. In the datasheet and product page, I see repeated mentions of: “Coexistence with BLE radios (CC13x2/CC26x2)” “Bluetooth Low Energy and Wi-Fi 2.4GHz radio coexistence” I am a bit confused by this wording. Does the CC3230SF itself contain a BLE radio, or does “coexistence” only mean it can work together with an external BLE chip (such as CC26x2)? Could you please clarify if the CC3230SF has native BLE support or if an external BLE device is required? Thank you!</description><category domain="https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/tags/CC3230SF">CC3230SF</category></item><item><title>Forum Post: RE: CC3501E: Can't seem to read/write GPIO using SimpleLink_wifi_toolbox CLI commands</title><link>https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1686843/cc3501e-can-t-seem-to-read-write-gpio-using-simplelink_wifi_toolbox-cli-commands/6502267</link><pubDate>Tue, 06 Oct 2026 01:17:00 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:e48c9883-fe69-4d21-bc64-6c5e63d6f06d</guid><dc:creator>Eric Buras</dc:creator><description>import subprocess import os import sys import time import shutil # ============================================================================== # --- CONFIGURATION PATHS --- # ============================================================================== TOOLBOX_DIR = r&amp;quot;C:\ti\simplelink_wifi_toolbox_win_4_3_23&amp;quot; TOOLBOX_BIN_DIR = os.path.join(TOOLBOX_DIR, &amp;quot;radio-tool\\binaries\\CC3501E&amp;quot;) TOOLBOX_EXE = os.path.join(TOOLBOX_DIR, &amp;quot;simplelink-wifi-toolbox.exe&amp;quot;) # ============================================================================== # --- HELPER ROUTINES --- # ============================================================================== def run_cmd(executable, base_args, extra_args, cwd_dir, success_keyword=None, description=&amp;quot;Command&amp;quot;): &amp;quot;&amp;quot;&amp;quot; Executes a tool command synchronously, monitors the return code, and asserts whether expected keywords exist in console output. &amp;quot;&amp;quot;&amp;quot; full_cmd = [executable] + base_args + extra_args print(f&amp;quot;\n[RUNNING] {description}...&amp;quot;) result = subprocess.run( full_cmd, cwd=cwd_dir, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True, check=False ) print(result.stdout) if result.returncode != 0: print(f&amp;quot;[ERROR] {description} failed with code {result.returncode}.&amp;quot;, file=sys.stderr) sys.exit(1) if success_keyword and success_keyword not in result.stdout: print(f&amp;quot;[ERROR] Expected phrase &amp;#39;{success_keyword}&amp;#39; missing from tool log.&amp;quot;, file=sys.stderr) sys.exit(1) print(f&amp;quot;[SUCCESS] {description} complete.&amp;quot;) return result.stdout # ============================================================================== # --- MAIN AUTOMATION CORE --- # ============================================================================== def main(): if not os.path.exists(TOOLBOX_EXE): print(f&amp;quot;[CRITICAL ERROR] Wi-Fi Toolbox executable missing: {TOOLBOX_EXE}&amp;quot;) sys.exit(1) print(&amp;quot;=== Starting Automated Test ===&amp;quot;) # 1. Auto-Detect Onboard Flash Type Layout detect_flash_args = [&amp;quot;detect_flash_type&amp;quot;] run_cmd( executable=TOOLBOX_EXE, base_args=[&amp;quot;programmer&amp;quot;, &amp;quot;-i&amp;quot;, &amp;quot;XDS110&amp;quot;, &amp;quot;-param1&amp;quot;, &amp;quot;auto&amp;quot;], extra_args=detect_flash_args, cwd_dir=TOOLBOX_DIR, success_keyword=&amp;quot;FLASH DETECTION RESULT&amp;quot;, description=&amp;quot;Auto-Detecting Target Onboard Flash Type&amp;quot; ) # 2. Load the Radio Tool Firmware and Configurations load_fw_args = [ &amp;quot;common&amp;quot;, &amp;quot;load_radio_tool&amp;quot;, &amp;quot;--firmware&amp;quot;, os.path.join(TOOLBOX_BIN_DIR, &amp;quot;cc35xx_radiotool_plt.bin&amp;quot;), &amp;quot;--conf_bin&amp;quot;, os.path.join(TOOLBOX_BIN_DIR, &amp;quot;cc35xx-conf.bin&amp;quot;), &amp;quot;--device_family&amp;quot;, &amp;quot;CC35XXE&amp;quot; ] run_cmd( executable=TOOLBOX_EXE, base_args=[&amp;quot;radio-tool&amp;quot;, &amp;quot;-i&amp;quot;, &amp;quot;XDS110&amp;quot;, &amp;quot;-param1&amp;quot;, &amp;quot;auto&amp;quot;], extra_args=load_fw_args, cwd_dir=TOOLBOX_DIR, success_keyword=&amp;quot;Total Time:&amp;quot;, description=&amp;quot;Loading Radio Tool Firmware&amp;quot; ) # 3. Enable Production Line Test (PLT) Mode run_cmd( executable=TOOLBOX_EXE, base_args=[&amp;quot;radio-tool&amp;quot;, &amp;quot;-i&amp;quot;, &amp;quot;XDS110&amp;quot;, &amp;quot;-param1&amp;quot;, &amp;quot;auto&amp;quot;], extra_args=[&amp;quot;wlan&amp;quot;, &amp;quot;plt&amp;quot;, &amp;quot;--on&amp;quot;], cwd_dir=TOOLBOX_DIR, success_keyword=&amp;quot;PLT Mode turned On successfully&amp;quot;, description=&amp;quot;Turning PLT Mode ON&amp;quot; ) # 4. Start the Transmit Tone Generation (Channel 11, Calibrated Single Tone) tx_tone_start_args = [ &amp;quot;wlan&amp;quot;, &amp;quot;tx_tone&amp;quot;, &amp;quot;start&amp;quot;, &amp;quot;--mode&amp;quot;, &amp;quot;single_tone&amp;quot;, &amp;quot;--offset&amp;quot;, &amp;quot;0&amp;quot;, &amp;quot;--channel&amp;quot;, &amp;quot;11&amp;quot;, &amp;quot;--band&amp;quot;, &amp;quot;b24Ghz&amp;quot;, &amp;quot;--calibrate&amp;quot; ] run_cmd( executable=TOOLBOX_EXE, base_args=[&amp;quot;radio-tool&amp;quot;, &amp;quot;-i&amp;quot;, &amp;quot;XDS110&amp;quot;, &amp;quot;-param1&amp;quot;, &amp;quot;auto&amp;quot;], extra_args=tx_tone_start_args, cwd_dir=TOOLBOX_DIR, success_keyword=&amp;quot;Starting TX Tone ...&amp;quot;, description=&amp;quot;Starting TX Tone (CH11)&amp;quot; ) # -------------------------------------------------------------------------- # 5. READ GPIO # -------------------------------------------------------------------------- gpio_output = run_cmd( executable=TOOLBOX_EXE, base_args=[&amp;quot;radio-tool&amp;quot;, &amp;quot;-i&amp;quot;, &amp;quot;XDS110&amp;quot;, &amp;quot;-param1&amp;quot;, &amp;quot;auto&amp;quot;], extra_args=[&amp;quot;common&amp;quot;, &amp;quot;io_mux&amp;quot;, &amp;quot;cc35xxe_get&amp;quot;, &amp;quot;--io_id&amp;quot;, &amp;quot;GPIO35&amp;quot;], cwd_dir=TOOLBOX_DIR, success_keyword=&amp;quot;GPIO35&amp;quot;, description=&amp;quot;Reading GPIO35 Configuration&amp;quot; ) expected = [&amp;quot;GPIO35&amp;quot;, &amp;quot;INPUT&amp;quot;, &amp;quot;LOW&amp;quot;] for item in expected: if item not in gpio_output: print(f&amp;quot;[ERROR] Expected &amp;#39;{item}&amp;#39; not found in GPIO35 status.&amp;quot;, file=sys.stderr) sys.exit(1) print(&amp;quot;[SUCCESS] GPIO35 verified as INPUT/LOW.&amp;quot;) # -------------------------------------------------------------------------- # 6. Check Internal Calibration Matrix Flags # -------------------------------------------------------------------------- run_cmd( executable=TOOLBOX_EXE, base_args=[&amp;quot;radio-tool&amp;quot;, &amp;quot;-i&amp;quot;, &amp;quot;XDS110&amp;quot;, &amp;quot;-param1&amp;quot;, &amp;quot;auto&amp;quot;], extra_args=[&amp;quot;common&amp;quot;, &amp;quot;calibration&amp;quot;, &amp;quot;status&amp;quot;], cwd_dir=TOOLBOX_DIR, success_keyword=&amp;quot;TX_RFNL_AND_DPD_ID_DONE&amp;quot;, description=&amp;quot;Reviewing Calibration Registers&amp;quot; ) # -------------------------------------------------------------------------- # 7. SHUTDOWN AND REAP ENERGYTRACE PROCESS ENGINE # -------------------------------------------------------------------------- # 8. Halt Active RF Transmission run_cmd( executable=TOOLBOX_EXE, base_args=[&amp;quot;radio-tool&amp;quot;, &amp;quot;-i&amp;quot;, &amp;quot;XDS110&amp;quot;, &amp;quot;-param1&amp;quot;, &amp;quot;auto&amp;quot;], extra_args=[&amp;quot;wlan&amp;quot;, &amp;quot;tx_tone&amp;quot;, &amp;quot;stop&amp;quot;], cwd_dir=TOOLBOX_DIR, success_keyword=&amp;quot;TX Tone stopped successfully&amp;quot;, description=&amp;quot;Stopping TX Tone&amp;quot; ) # 9. Disable Production Line Test (PLT) Mode run_cmd( executable=TOOLBOX_EXE, base_args=[&amp;quot;radio-tool&amp;quot;, &amp;quot;-i&amp;quot;, &amp;quot;XDS110&amp;quot;, &amp;quot;-param1&amp;quot;, &amp;quot;auto&amp;quot;], extra_args=[&amp;quot;wlan&amp;quot;, &amp;quot;plt&amp;quot;, &amp;quot;--off&amp;quot;], cwd_dir=TOOLBOX_DIR, success_keyword=&amp;quot;PLT Mode turned Off successfully&amp;quot;, description=&amp;quot;Turning PLT Mode OFF&amp;quot; ) print(&amp;quot;\n=== Automation Sequence Completed Successfully ===&amp;quot;) if __name__ == &amp;quot;__main__&amp;quot;: main()</description></item><item><title>Forum Post: RE: CC3501E: Can't seem to read/write GPIO using SimpleLink_wifi_toolbox CLI commands</title><link>https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1686843/cc3501e-can-t-seem-to-read-write-gpio-using-simplelink_wifi_toolbox-cli-commands/6502263</link><pubDate>Tue, 06 Oct 2026 01:11:00 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:23cc30e0-90f2-4de9-8b5a-38cf3428b256</guid><dc:creator>Eric Buras</dc:creator><description>Thanks. After loading the .bin files you have it looks like i am able to run GPIO commands successfully. Here is sequence I&amp;#39;m calling: PS C:\ti\simplelink_wifi_toolbox_win_4_3_23&amp;gt; ./simplelink-wifi-toolbox.exe programmer -i XDS110 -param1 auto detect_flash_type 2026-10-05 13:17:37,653: Starting flash type detection (SN: auto) 2026-10-05 13:17:38,726: Reading binary file: C:\ti\simplelink_wifi_toolbox_win_4_3_23\programmer\binaries\bl2\ti_programmer.CC35XXE.sign.bin 2026-10-05 13:17:38,731: Loading binary using bulk function 2026-10-05 13:17:41,117: Writing binary size of 150744 bytes within 2.391100400011055 sec 2026-10-05 13:17:46,348: +==============================================================================+ | FLASH DETECTION RESULT | +==============================================================================+ | | | Flash Type: IS25WJ064F | | Flash Size: 8MB | | | +==============================================================================+ PS C:\ti\simplelink_wifi_toolbox_win_4_3_23&amp;gt; ./simplelink-wifi-toolbox.exe radio-tool -i XDS110 -param1 auto common load_radio_tool --firmware .\radio-tool\binaries\CC3551E\cc35xx_radiotool_plt.bin --conf_bin .\radio-tool\binaries\CC3501E\cc35xx-conf.bin --device_family CC35XXE 2026-10-05 13:17:59,860: Loading Firmware ... 2026-10-05 13:18:09,527: Loading Configuration ... 2026-10-05 13:18:10,283: Summary: 2026-10-05 13:18:10,284: +---------------------------+-----------+------------+ | Operation | Size (KB) | Time (sec) | +---------------------------+-----------+------------+ | Loading Firmware | 176.572 | 8.167 | | Wait for Firmware to load | 0 | 1.500 | | Loading Configuration | 1.288 | 0.756 | +---------------------------+-----------+------------+ 2026-10-05 13:18:10,284: Total Size: 177.860 KB 2026-10-05 13:18:10,284: Total Time: 10.424 sec PS C:\ti\simplelink_wifi_toolbox_win_4_3_23&amp;gt; ./simplelink-wifi-toolbox radio-tool -i XDS110 -param1 auto wlan plt --on 2026-10-05 13:18:47,935: Turning on PLT ... 2026-10-05 13:18:48,273: PLT Mode turned On successfully PS C:\ti\simplelink_wifi_toolbox_win_4_3_23&amp;gt; ./simplelink-wifi-toolbox radio-tool -i XDS110 -param1 auto wlan tx_tone start --mode single_tone --offset 0 --channel 6 --band b24Ghz --calibrate 2026-10-05 13:19:36,162: Starting channel tune 2026-10-05 13:19:36,495: Channel 6 tuned successfully 2026-10-05 13:19:36,496: Starting manual calibration 2026-10-05 13:19:37,068: Requesting manual calibration execution status 2026-10-05 13:19:37,900: Starting TX Tone ... PS C:\ti\simplelink_wifi_toolbox_win_4_3_23&amp;gt; ./simplelink-wifi-toolbox radio-tool -i XDS110 -param1 auto common io_mux cc35xxe_get --io_id GPIO16 2026-10-05 13:20:50,901: Requesting IO GPIO16 configuration 2026-10-05 13:20:51,236: +-----------+--------+ | Key | Value | +-----------+--------+ | ID | GPIO16 | | DIRECTION | INPUT | | STATE | HIGH | +-----------+--------+ PS C:\ti\simplelink_wifi_toolbox_win_4_3_23&amp;gt; ./simplelink-wifi-toolbox communicator -i XDS110 -param1 auto general device_status 2026-10-05 13:21:33,634: Connected to DAP using XDS110 SN: 2026-10-05 13:21:33,646: Config Ap Status: 2026-10-05 13:21:33,647: +------------------+----------+-------------------+ | Register Name | Offset | Reg Value (Hex) | +==================+==========+===================+ | DEVICE ID | 0 | 0x1bb9602f | +------------------+----------+-------------------+ | DEVICE EXT INFO | 4 | 0x00000000 | +------------------+----------+-------------------+ | DEBUG SS VERSION | 8 | 0x40000098 | +------------------+----------+-------------------+ | SYS | 12 | 0x00000000 | +------------------+----------+-------------------+ | DEVICE INFO | 16 | 0x004c0002 | +------------------+----------+-------------------+ | LIFE CYCLE STATE | 20 | 0x33020003 | +------------------+----------+-------------------+ | DFT EN | 24 | 0x00000000 | +------------------+----------+-------------------+ | RESET REQ | 28 | 0x00000000 | +------------------+----------+-------------------+ | UNIQUE DEVICE ID | 40 | 0x57105e90 | +------------------+----------+-------------------+ | UNIQUE DEVICE ID | 44 | 0x46075a04 | +------------------+----------+-------------------+ 2026-10-05 13:21:33,857: Disconnected from DAP using XDS110 SN: PS C:\ti\simplelink_wifi_toolbox_win_4_3_23&amp;gt; ./simplelink-wifi-toolbox communicator -i XDS110 -param1 auto general device_info 2026-10-05 13:22:04,229: Connected to DAP using XDS110 SN: 2026-10-05 13:22:04,230: Detecting Device Type 2026-10-05 13:22:04,442: Disconnected from DAP using XDS110 SN: 2026-10-05 13:22:04,564: Connected to DAP using XDS110 SN: 2026-10-05 13:22:04,571: Reading Device Life Cycle State 2026-10-05 13:22:04,781: Disconnected from DAP using XDS110 SN: 2026-10-05 13:22:04,900: Connected to DAP using XDS110 SN: 2026-10-05 13:22:04,913: Reading Device Information 2026-10-05 13:22:04,914: +---------------+---------------------+ | Name | Value | +---------------+---------------------+ | SW Life Cycle | OPERATIONAL | | HW Life Cycle | OPERATIONAL | | PG Version | 2 | | Part Number | CC3501ENIB | | UDID | 4607-5a04-5710-5e90 | +---------------+---------------------+ 2026-10-05 13:22:05,123: Disconnected from DAP using XDS110 SN: PS C:\ti\simplelink_wifi_toolbox_win_4_3_23&amp;gt; ./simplelink-wifi-toolbox radio-tool -i XDS110 -param1 auto common calibration status 2026-10-05 13:24:28,727: Requesting manual calibration execution status 2026-10-05 13:24:29,565: +--------------------------+--------+ | Calibration Name | Status | +--------------------------+--------+ | RX_IQMM_ID_DONE | True | | RX_DC_CORRECTION_ID_DONE | True | | RX_SPUR_CANCELER_ID_DONE | True | | TX_AUX_RX_DC_ID_DONE | True | | TX_LOL_ID_DONE | True | | TX_IQMM_ID_DONE | True | | TX_RFNL_AND_DPD_ID_DONE | True | +--------------------------+--------+ PS C:\ti\simplelink_wifi_toolbox_win_4_3_23&amp;gt; ./simplelink-wifi-toolbox radio-tool -i XDS110 -param1 auto common io_mux cc35xxe_set --io_id GPIO35 --io_direction OUTPUT --io_state HIGH 2026-10-05 13:25:17,305: Setting IO GPIO35 with direction OUTPUT and state HIGH 2026-10-05 13:25:17,639: IO GPIO35 set successfully</description></item><item><title>Forum Post: RE: WL1837MOD: WL18XX-CERTIFICATION: EN 301 893 V2.2.1 (November 2024)</title><link>https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1687181/wl1837mod-wl18xx-certification-en-301-893-v2-2-1-november-2024/6502105</link><pubDate>Mon, 05 Oct 2026 21:14:00 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:02428a0c-142a-4f40-927d-3fbc62ecda8f</guid><dc:creator>Pierluigi Passaro</dc:creator><description>Thanks Josh Smith !</description></item><item><title>Forum Post: RE: WL1837MOD: WL18XX-CERTIFICATION: EN 301 893 V2.2.1 (November 2024)</title><link>https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1687181/wl1837mod-wl18xx-certification-en-301-893-v2-2-1-november-2024/6502099</link><pubDate>Mon, 05 Oct 2026 21:11:00 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:f3feb81e-a76d-469b-bcb0-f221e1a970fc</guid><dc:creator>Josh Smith</dc:creator><description>Hi Pier, My deepest apologies. I let this slip. I do have the updated document. Please see here. e2e.ti.com/.../WL18MODGI_5F00_CE_5F00_082026.zip Best, Josh</description></item><item><title>Forum Post: WL1837MOD: WL18XX-CERTIFICATION: EN 301 893 V2.2.1 (November 2024)</title><link>https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1687181/wl1837mod-wl18xx-certification-en-301-893-v2-2-1-november-2024</link><pubDate>Mon, 05 Oct 2026 20:24:00 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:bc4e2cfa-a698-4da6-8840-9feb4437defb</guid><dc:creator>Pierluigi Passaro</dc:creator><description>Part Number: WL1837MOD Hi Josh Smith , any update about EN 301 893 V2.2.1 certification expected by end-August ? Thanks Best Regards Pier</description><category domain="https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/tags/WL1837MOD">WL1837MOD</category><category domain="https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/tags/WL18XX_2D00_CERTIFICATION">WL18XX-CERTIFICATION</category></item><item><title>Forum Post: RE: CC3551E: Question regarding CC3551E</title><link>https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1686606/cc3551e-question-regarding-cc3551e/6501910</link><pubDate>Mon, 05 Oct 2026 17:47:00 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:48975d6b-4e2e-4ecd-851c-c40807ee7502</guid><dc:creator>reza salehi</dc:creator><description>Hi TI Team - Any update on this request?</description></item><item><title>Forum Post: RE: CC3551E: where and how to set RSSI threshold value during conducting the roaming</title><link>https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1686689/cc3551e-where-and-how-to-set-rssi-threshold-value-during-conducting-the-roaming/6501012</link><pubDate>Sun, 04 Oct 2026 02:00:00 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:860a5ab1-8499-429c-bfb5-e89f183e2b9a</guid><dc:creator>Mark Kim</dc:creator><description>Hi BLiu I just realized that 802.11 k/v/r roaming of CC3551 is a lot different from the soft roaming CC3235 supported. 1. Even though I set RSSI threshold, there is nothing for STA to do for the roaming in CC3551. As long as Wi-Fi connection to AP is kept, the AP give the instruction to STA for the roaming. Am I right? 2. could you please check whether CC3551 will support Soft Roaming? 3. when AP is set to hidden SSID, is there any way for CC3551 to know SSID ? Thanks</description></item><item><title>Forum Post: RE: CC3501E: Can't seem to read/write GPIO using SimpleLink_wifi_toolbox CLI commands</title><link>https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1686843/cc3501e-can-t-seem-to-read-write-gpio-using-simplelink_wifi_toolbox-cli-commands/6500903</link><pubDate>Fri, 02 Oct 2026 22:45:00 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:df1db39a-d6ea-49ef-8d40-2925d620ece8</guid><dc:creator>Josh Prushing</dc:creator><description>Hi Eric, In order to do GPIO set/get commands with CC35xxE, there are two things to note: PLT mode should be enabled. You can accomplish this with the below commands: ./simplelink-wifi-toolbox.exe radio-tool -i XDS110 -param1 LS420CK2 common load_radio_tool --firmware .\radio-tool\binaries\CC3551E\cc35xx_radiotool_plt.bin --conf_bin .\radio-tool\binaries\CC3551E\cc35xx-conf.bin --device_family CC35XXE ./simplelink-wifi-toolbox radio-tool -i XDS110 -param1 auto wlan plt --on LS420CK2 is my XDS ID, you can replace this with &amp;#39;auto&amp;#39; or your XDS id. The device needs to be unactivated in order to set/get GPIO values. If the device is activated, these commands will not work Please let me know if you have any additional quesitons! Best Regards, Josh Prushing</description></item></channel></rss>