Git Product home page Git Product logo

Comments (6)

abtink avatar abtink commented on July 26, 2024

Adding some hints here which hopefully help:

  • wpantund is a linux wpan driver which should preferably run on host which is always on and active (specially if we want to behave as active border router).
  • But it can still be used on power-aware embedded (linux based) platform where the host MCU itself may sleep (go to low-power modes)
    • wpantund provides mechanism to indicate whether it is busy or not (i.e., whether host can enter low-power/sleep mode or not). You can check ReadyForHostSleep and related properties/functions/signals.
    • At Nest/Google we have used this model (e.g., "Nest Secure" can run on battery and operate with a cell connection and is running wpantund with host going to sleep).
  • We can have a model of having a host MCU and and NCP where the host itself is running an RTOS based OS In this case we need a host side driver (equivalent to wpantund) to interface and control the NCP. We had internal projects/products which used this model (e.g. "Nest Connect") - however the code for this is not open-sourced (and I don't expect it to be in future). Just mentioning this that it is technically possible.
  • If you want everything to run on same chip, then this is SoC model and then there is no need for host side driver (no need for wpantund) instead we need border-router related functionality (e.g. IPv6 stack and otbr functionality to on the OS used by the SoC).

from wpantund.

farhangj avatar farhangj commented on July 26, 2024

@abtink thanks for the hints.

4th bullet point is interesting.

Are there any examples that use the SoC model? Or any C drivers that could help make it happen?
Zephyr does provide networking, socket and IPV6 drivers, just not fully sure how I can put all of these together. The goal would be to have the OT Thread router of the network act also as the internet router, translating the packets received via LTE-M over UART and distributing within the OT network (to the SEDs or other routers that aren't connected to a modem)

Seems like there's no "out of the box" OTBR with low power in mind.. I'm happy to do some coding, just need some more details on the architecture.

from wpantund.

jwhui avatar jwhui commented on July 26, 2024

You can find an example of an RTOS-based border router in the ESP-IDF:

Hope that helps.

from wpantund.

farhangj avatar farhangj commented on July 26, 2024

@jwhui Thanks, but that example is connecting to a wifi router.
All I have in my network is a LTE-M modem with AT cmd interface. e.g. can connect to end points and send/receive data. but it has no routing capabilities. This LTE-M modem is connected to a Nordic processor e.g. nRF52840 with a AT cmd modem driver - while simultaneously an FTD of the OT network.

I'd like to be able to provide IP connectivity through this processor for all the MTDs/SEDs in the network. Is this possible using networking drivers that Zephyr provides?
I do realize the question is a bit out of scope of wpantund...

from wpantund.

jwhui avatar jwhui commented on July 26, 2024

I presume the cellular link is just another IP-based network interface. In that case, it is just IP routing between the cellular network and Thread network and should not be much different than routing via a Wi-Fi or Ethernet interface.

As long as Zephyr supports IP forwarding between two network interfaces, it should be possible to have a Zephyr-based devices serve as a Thread border router.

from wpantund.

jwhui avatar jwhui commented on July 26, 2024

Closing stale issue.

from wpantund.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.