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.

MSP-EXP432E401Y: MSP-EXP432E401Y and CC3120BOOST

Part Number: MSP-EXP432E401Y
Other Parts Discussed in Thread: CC3120BOOST, , CC3120

Hello,

I have run the project "ethernet_wifi_tcp_echo_MSP_EXP432E401Y_tirtos_ccs".

It is an example of sockets being opened independently on the Ethernet side and the WiFi side, and data received by reader thread on one interface is send to the writer thread over message queues and the writer sends the data over the socket connection opened over the other interface.

In effect devices connected to Ethernet don't see the devices (their IP Addresses that is) connected to WiFi.  Just that the data is being passed across the two interfaces.  This operation mode of the MSP-EXP432E401Y -- CC3120BOOST bundle is NOT like that of a router or gateway.

However, the document "http://www.ti.com/lit/wp/sway009/sway009.pdf" 

the MSP432E MCUs is to provide "intelligent gateway/router" functionality.

  1. Some example will be best.  Or at least some hints about the basic steps.
  2. Will Raw Socket be of some use here?

--

Regards,

Neeraj Sallh

  • Hi,

    the MSP432 support team is currently out on 4th of July, but will respond back to you as soon as possible.
    Sorry for any inconvenience this may cause.

    Best regards,
    Andre
  • Hello Neeraj,

    A gateway provides translation services between asymmetric networks, so address transparency is not a must. In this particular example data received on individual interfaces is echo-ed to all interfaces. The MSP432E4 and CC3120 in this case act as a server for this action.

    If a specific router function is required then the code needs to be restructured.
  • Hello Amit,

    My post does anticipate that restructuring of the code is required.

    But I can't figure out which of the available APIs will be of use.

    If I can get some hint about those APIs or some example, please share with me.

    From my point of view when TI claims that MSP-EXP432E401Y can be used as a router/intelligent gateway, then what are the APIs that will help me do this?

    I also wanted to know if the Raw sockets could be of some help?  

    Whether using Raw sockets will be inefficient, and therefore some other API/method needs to be considered to have the router functionality?

    --

    Regards,

    Neeraj Sallh

  • I will ask for further clarification, but the document you reference makes a distinction between gateways and routers and continues to distinguish intelligent gateways as including resources and intelligence for local applications.

    Traditional versus intelligent
    gateways
    There are several ways to implement an industrial
    gateway, depending on the application. Two
    common approaches are a traditional gateway and
    an intelligent gateway. Both provide consolidated
    connectivity by aggregating data from multiple end
    points. In general, a traditional gateway organizes
    and packetizes data for transport over the internet.
    It is also responsible for distributing data back
    to end points in applications where two-way
    communications are advantageous or required.
    Note that a gateway is different from a router. A
    router manages similar traffic and connects devices
    that share a common interface. For example,
    devices that connect to a home router all use IP.
    In contrast, because a gateway functions as a
    bridge, it must be able to route different types of
    traffic, aggregate data from varying communication
    interfaces and convert these streams to a common
    protocol for access across the WAN. Some devices
    might use IP natively, such as Wi-Fi or Thread, while
    others might use non-IP-based protocols such
    as Bluetooth® or various Sub-1 GHz protocols.
    Nodes that are sensors may need to leverage
    high-precision analog-to-digital conversion (ADC)
    to convert the raw analog voltage to a digital value
    before transport.
    An intelligent gateway extends the functionality
    of a traditional gateway by providing processing

    The router functionality is not available.

    Chris

  • Hello Chris,

    Thanks for showing interest.

    My basic requirement is to be able to use two SIMPLELINK-ETHERNET-WIFI bundles (MSP-EXP432E401Y + CC3120), such that there are two IP networks connected to the two

    Ethernet interfaces (of the MSP board).

    The WiFi interface will be used to provide the connectivity between the two "SIMPLELINK-ETHERNET-WIFI" bundles.  As a result I will be able to connect to IP networks over the Wireless interface.

    Now for IP applications on the two sides should be able to communicate (exchange data frames) with their counterparts on the other side.

    There may or may not be NAT implemented (making one side a private network behind the firewall and lets say the other side is the WAN side).

    For example, an IP Camera on one side and a VLC player on the other, both should be able to communicate as necessary for the camera video to play on the VLC player.

    The two may or may not be having the same IP subnet.

    Then there may be more deployments which might say demand that the two IP subnets are different.

    Now reading the documents (sway0009.pdf and spru524k.pdf), I think all this should be possible.

    But the problem is that I haven't actually implemented a router or a gateway.

    The example project "ethernet_wifi_tcp_echo_MSP_EXP432E401Y_tirtos_ccs" is only doing echo of packet received on Ethernet side over to WiFi and vice versa.

    This example does not show how to implement a gateway and figuring out the sequence of API calls from "spru524k.pdf" to achieve the gateway functionality was 

    not straightforward for me.

    So finally what I have been asking is:

    1. Which function calls to use from this document "spru524k.pdf" to achieve gateway functionality?
    2. I understand that the Cfg* and Nt* calls will be required but
      1. I am not sure of the sequence, 
      2. I am not sure about how to get the WiFi and Ethernet interfaces mapped onto the IP Addresses and then using those addresses in the routes.
    3. Also why do the responses to my queries say "the router functionality is not available", whereas "sway0009.pdf " says that 

    In Figure 2b, nodes connect directly to the internet
    using a WAN connection such as Wi-Fi or Ethernet.
    The gateway serves primarily as a router; in fact, it can
    actually be a router where the nodes have their own
    IoT agent and autonomously manage themselves.

            4. I was even exploring the possibility of using Raw sockets (over Ethernet and Wifi) in order to get a transparent path between the two ends.  This way

                the two sides could just view the connectivity provided between the Ethernet interfaces of the two "SIMPLELINK-ETHERNET-WIFI" bundles simply

                as a channel that passes their Layer 2 Ethernet packets as is (i.e. is a layer 2 connectivity).  

                However, the receive calls over these Raw sockets were failing (EACCES).

                I can explore this in depth too, but need your opinion if my plan of using Raw Sockets will work for the purpose of providing the connectivity (say that of 

                Camera on one side and Video player on the other).

    --

    Regards,

    Neeraj Sallh

  • Hello Neeraj,

    I apologize for the delay in getting back to you. I will try to address your questions to the best of my ability.

    From the description that you have provided, the following is how I understand the overview of the application. I have also added an image below to explain my understanding.

    • In System-1, the MSP432E4 receives packets from an IP Camera over Ethernet and forwards it to the CC3120 that transmits them over Wi-Fi.
    • In System-2, the CC3120 receives Wi-Fi packets from system 1 and forwards them to MSP432E4 which transmits them to the VLC Player over Ethernet.
    • All this communication is occurring over TCP/IP stack.
    • MSP432E4 on System-1 and System-2 are connected to two different networks - Network-1 and Network-2.
    • Wi-Fi on System-1 and System-2 are connected to the same Wi-Fi network.

    If the above understanding is correct, then I believe you should be able to use the example ethernet_wifi_tcp_echo_MSP_EXP432E401Y_tirtos_ccs from the Wi-Fi plugin. Here is a simplified example of how this could work.

    Assumptions:

    • Network-1 and Network-2 each runs a DHCP server that can assign IP addresses - any commercial router can create such a network.
    • IP Camera and VLC player act as a TCP clients and communicate using TCP packets.

    Network Connection: (total 3 networks - one for Wi-Fi)

    • MSP432E4 and IP Camera on System-1 connects to Network-1. 
    • CC3120 on System-1 acts as Wi-Fi Access Point and starts a network.
    • CC3120 on System-2 acts as Wi-Fi Station and joins the network started by CC3120 in System-1
    • MSP432E4 and VLC Player on System-2 connects to Network-2.

    Data Transfer:

    • In System-1, the data received from IP Camera over Ethernet by MSP432E4 is echoed on the Wi-Fi interface by CC3120.
    • In System-2, the data received over the Wi-Fi interface by CC3120 is echoed on the Ethernet interface by MSP432E4, which can be consumed by the VLC player.

    If this approach works for you then you don't have to use any of the low level APIs. The modifications to the example ethernet_wifi_tcp_echo_MSP_EXP432E401Y_tirtos_ccs are also minimal, mainly Wi-Fi network configuration and provisioning.

    Neeraj Sallh said:
    1. Also why do the responses to my queries say "the router functionality is not available", whereas "sway0009.pdf " says that 

    In Figure 2b, nodes ...

    sway009 is a white paper that, among other things, talks about:

    1. The connectivity challenge for IoT developers by providing two examples (gateways and routers)
    2. Differences between Traditional and intelligent gateways.
    3. And finally what MSP432E4 Ethernet MCU and the SimpleLink SDK can do. I have quoted that text below.
    1. "With the SimpleLink MSP432E4 Ethernet microcontroller (MCU) (explained in Figure 3) and the SimpleLink software development kit (SDK), developers can accelerate their intelligent gateway design by harnessing its advanced integration, wireless connectivity plug-ins and unified tool chain."

    sway009 does not intend to claim that MSP432E4 provides "router" capability. It only intends to highlight developing router capability as a challenge and provide intelligent gateway (as explained by Figure 3) as a potential solution for some applications.

    I hope this helps!

    Regards,

    Sai

**Attention** This is a public forum