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.

CC3200 ARP problem

Other Parts Discussed in Thread: CC3200, CC3200-LAUNCHXL, CC3200SDK

I am using tcp_socket and udp_socket examples on CC3200. launchpad  I use default code and disabled USER_INPUT_ENABLE. I use a Linux computer as a client and it has no problem to send an udp/tcp packet to another Linux device ( I use the example codes on http://www.linuxhowtos.org/C_C++/socket.htm)

I have problem on server functionality of CC3200 (both UDP and TCP) which doesn't work reliably. Client almost can never access to the server (CC3200). When I monitor the packets on wireshark, CC3200 doesn't reply the ARP broadcasts. PCs can't ping it neither. I have two networks at work place, one network assigns a private IP addresses, the other one assigns public IP addr. The server functionality never works with the public IP addr, and it rarely works (after replying the ARP request) with the private IP address network.

I tested the same software at my home that assigns private IP addr in a very small network and I didn't have experience any problem. I think it is not example code related problem, but might be firmware related issue (I use the latest release). Has anyone experienced that CC3200 problem on replying ARP requests? Or do you have any suggestion what I can do about it? Or why wouldn't it reply the requests ?

  • Hi,

    Can you please clarify regarding "public IP addr" & "private IP addr" ?
    Can you also share the wireshark traces?

    Regards,
    Gigi Joseph.
  • Hi Joseph,

    I mean with private IP address: publicly not accessible, 192.168.x.x (C class); public IP address: publicly accessible, as an example 85.x.x.221. Please see the attached .pcapng file for a sample capture on .....;(I removed the capture and send this question to ASKTI, I can share the information privately if anyones needs it).

    CC3200 IP addr: 85.x.x.221

    Client PC addr: 85.x.x.58

    index 49 (on .pcapng): DHCP initiation

    index 76: CC3200 outputs MDSN (to fetch time info from a NTP server)

    index 102, the client broadcasts ARP request but gets no reply

    Meanwhile, I run UDP client code on Linux, but I guess it does not output any udp packet as it doesn't get ARP request. 

    So far, CC3200 is usually fine on the network that gets private IP address (I see that it replies the ARP requests there). Could the problem be related with the public IP (or belonging a large network - network processor can't handle too much incoming data)? 

  • I am also seeing problems with my cc3200 not responding to arp requests. Also disconnects WiFi frequently on some networks and dhcp only seems to function intermittently in station mode.

  • Hi,

    I tried the public address on my local network, and I didn’t see any issue .

    Approximately, how much devices connected on each network, and how much wifi devices around you ?

    Which channels are used ? and finally pls post the version that used .

     Regards

    Nir

  • Hi Nir,

    My point with the public address was the network size. Although, both networks that I was connecting have the  user same limit (255) based on the subnet mask, the network with public IP assignment has significantly higher density traffic (and more users). I don't know the infrastructure topology, but when I connect to the network with real IP assignment, I see too frequent ARP broadcasts.I guess it should have couple hundred users, the other one that I don't have any problem should have less than hundred users.Both APs use channel 13.

    When I run CC3200 on the debug mode and pause the code, I notice that it somtimes stops at a function with stackoverflow. I suspect too many ARP requests (or other incoming packets) causes the stackoverflow on CC3200.

    Hardware version: CC3200-LAUNCHXL Rev4.1

    SW version: CC3200SDK_1.1.0

    I use "wlan_station" example. I don't think it should be code related, but I attached the source code I am using for your reference.

    Do you know  how many devices approximately exist on the network that you were connected?

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/968/CC3200_2D00_Gateway.7z

  • Do you see frequent ARP broadcasts by other devices on your network? When you pause your code, have you ever seen it to stop at any stackoverflow related function (I can't remember the name of the function now)?
  • This was happening to me. I resolved the issue by changing the Power Management Policy to always be ON. The network processor was going to sleep to conserve power. The code I started with was set to NORMAL which meant it would go into low power mode.

    The example code I started with

        // Set PM policy to normal
        lRetVal = sl_WlanPolicySet(SL_POLICY_PM , SL_NORMAL_POLICY, NULL, 0);
        ASSERT_ON_ERROR(lRetVal);

    This is what I changed it to..... no more problems with the network processor not responding to pings or arps.

            // Set PM policy to always on
            // otherwise the device doesn't
            // respond for long periods of time
            lRetVal = sl_WlanPolicySet(SL_POLICY_PM , SL_ALWAYS_ON_POLICY, NULL, 0);

  • Hi Jill,

    Thank you for sharing the answer. I stopped using CC3200, but it is good to know the solution in case I need to use it.

    I note my disappointment with TI that is not able to provide any support. I sent the question through ASKTI and distributors, but TI only ignored.