From: Jian-Hong Pan <starnight@g.ncu.edu.tw> To: "Andreas Färber" <afaerber@suse.de>, "David S . Miller" <davem@davemloft.net>, "Alan Cox" <gnomes@lxorguk.ukuu.org.uk> Cc: linux-lpwan@lists.infradead.org, netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Marcel Holtmann <marcel@holtmann.org>, Dollar Chen <dollar.chen@wtmec.com>, Ken Yu <ken.yu@rakwireless.com>, linux-wpan@vger.kernel.org, Jian-Hong Pan <starnight@g.ncu.edu.tw> Subject: [PATCH v5 0/6] net: lorawan: Add LoRaWAN soft MAC module Date: Sun, 16 Dec 2018 18:18:53 +0800 [thread overview] Message-ID: <20181216101858.9585-1-starnight@g.ncu.edu.tw> (raw) In-Reply-To: <CAC=mGziyi1ierhg++SUcHMrq1JQ0vH4gZCKUZgchzb8aD1Rv5Q@mail.gmail.com> LoRaWAN(TM) is the MAC layer defined by LoRa Alliance(TM) over LoRa devices. LoRa is one of Low-Power Wide-Area Network (LPWAN) technology. LoRaWAN networks typically are laid out in a star-of-stars topology in which gateways relay messages between end-devices and a central network server at the backend. Gateways are connected to the network server via standard IP connections while end-devices use single hop LoRa(TM) or FSK communication to one or many gateways. A LoRa network distinguishes between a basic LoRaWAN (named Class A) and optional features (Class B, Class C ...): * Bi-directional end-devices (Class A) * Bi-directional end-devices with scheduled receive slots (Class B) * Bi-directional end-devices with maximal receive slots (Class C) This patch set add LoRaWAN class module implementing the stack, especially the soft MAC, between socket APIs and LoRa device drivers. socket APIs: send and receive the data ------------------------------------------------------------------------ LoRaWAN class module implements soft MAC: append the header/footer, encryption/decryption, timing slot and MAC commands ------------------------------------------------------------------------ LoRa device drivers: send and receive the messages for MAC layer ------------------------------------------------------------------------ LoRa devices This module starts from simple and implements partial Class A end-devices features defined in LoRaWAN(TM) Specification Ver. 1.0.2. More features and complexity, for example regional parameters, confirmed data messages, join request/accept messages for Over-The-Air Activation, MAC commands ... will be added in the future. Jian-Hong Pan (6): net: lorawan: Add LoRaWAN socket module net: lorawan: Add LoRaWAN API declaration for LoRa devices net: maclorawan: Add maclorawan module declaration net: maclorawan: Implement the crypto of maclorawan module net: maclorawan: Implement maclorawan class module net: lorawan: List LORAWAN in menuconfig include/linux/lora/lorawan.h | 131 ++++++ include/linux/lora/lorawan_netdev.h | 52 +++ net/Kconfig | 2 + net/Makefile | 2 + net/lorawan/Kconfig | 10 + net/lorawan/Makefile | 2 + net/lorawan/socket.c | 686 ++++++++++++++++++++++++++++ net/maclorawan/Kconfig | 14 + net/maclorawan/Makefile | 2 + net/maclorawan/crypto.c | 212 +++++++++ net/maclorawan/crypto.h | 27 ++ net/maclorawan/mac.c | 555 ++++++++++++++++++++++ net/maclorawan/maclorawan.h | 202 ++++++++ net/maclorawan/main.c | 606 ++++++++++++++++++++++++ 14 files changed, 2503 insertions(+) create mode 100644 include/linux/lora/lorawan.h create mode 100644 include/linux/lora/lorawan_netdev.h create mode 100644 net/lorawan/Kconfig create mode 100644 net/lorawan/Makefile create mode 100644 net/lorawan/socket.c create mode 100644 net/maclorawan/Kconfig create mode 100644 net/maclorawan/Makefile create mode 100644 net/maclorawan/crypto.c create mode 100644 net/maclorawan/crypto.h create mode 100644 net/maclorawan/mac.c create mode 100644 net/maclorawan/maclorawan.h create mode 100644 net/maclorawan/main.c -- 2.20.0
WARNING: multiple messages have this Message-ID (diff)
From: Jian-Hong Pan <starnight@g.ncu.edu.tw> To: "Andreas Färber" <afaerber@suse.de>, "David S . Miller" <davem@davemloft.net>, "Alan Cox" <gnomes@lxorguk.ukuu.org.uk> Cc: netdev@vger.kernel.org, Marcel Holtmann <marcel@holtmann.org>, linux-lpwan@lists.infradead.org, linux-kernel@vger.kernel.org, Dollar Chen <dollar.chen@wtmec.com>, Ken Yu <ken.yu@rakwireless.com>, linux-wpan@vger.kernel.org, Jian-Hong Pan <starnight@g.ncu.edu.tw>, linux-arm-kernel@lists.infradead.org Subject: [PATCH v5 0/6] net: lorawan: Add LoRaWAN soft MAC module Date: Sun, 16 Dec 2018 18:18:53 +0800 [thread overview] Message-ID: <20181216101858.9585-1-starnight@g.ncu.edu.tw> (raw) In-Reply-To: <CAC=mGziyi1ierhg++SUcHMrq1JQ0vH4gZCKUZgchzb8aD1Rv5Q@mail.gmail.com> LoRaWAN(TM) is the MAC layer defined by LoRa Alliance(TM) over LoRa devices. LoRa is one of Low-Power Wide-Area Network (LPWAN) technology. LoRaWAN networks typically are laid out in a star-of-stars topology in which gateways relay messages between end-devices and a central network server at the backend. Gateways are connected to the network server via standard IP connections while end-devices use single hop LoRa(TM) or FSK communication to one or many gateways. A LoRa network distinguishes between a basic LoRaWAN (named Class A) and optional features (Class B, Class C ...): * Bi-directional end-devices (Class A) * Bi-directional end-devices with scheduled receive slots (Class B) * Bi-directional end-devices with maximal receive slots (Class C) This patch set add LoRaWAN class module implementing the stack, especially the soft MAC, between socket APIs and LoRa device drivers. socket APIs: send and receive the data ------------------------------------------------------------------------ LoRaWAN class module implements soft MAC: append the header/footer, encryption/decryption, timing slot and MAC commands ------------------------------------------------------------------------ LoRa device drivers: send and receive the messages for MAC layer ------------------------------------------------------------------------ LoRa devices This module starts from simple and implements partial Class A end-devices features defined in LoRaWAN(TM) Specification Ver. 1.0.2. More features and complexity, for example regional parameters, confirmed data messages, join request/accept messages for Over-The-Air Activation, MAC commands ... will be added in the future. Jian-Hong Pan (6): net: lorawan: Add LoRaWAN socket module net: lorawan: Add LoRaWAN API declaration for LoRa devices net: maclorawan: Add maclorawan module declaration net: maclorawan: Implement the crypto of maclorawan module net: maclorawan: Implement maclorawan class module net: lorawan: List LORAWAN in menuconfig include/linux/lora/lorawan.h | 131 ++++++ include/linux/lora/lorawan_netdev.h | 52 +++ net/Kconfig | 2 + net/Makefile | 2 + net/lorawan/Kconfig | 10 + net/lorawan/Makefile | 2 + net/lorawan/socket.c | 686 ++++++++++++++++++++++++++++ net/maclorawan/Kconfig | 14 + net/maclorawan/Makefile | 2 + net/maclorawan/crypto.c | 212 +++++++++ net/maclorawan/crypto.h | 27 ++ net/maclorawan/mac.c | 555 ++++++++++++++++++++++ net/maclorawan/maclorawan.h | 202 ++++++++ net/maclorawan/main.c | 606 ++++++++++++++++++++++++ 14 files changed, 2503 insertions(+) create mode 100644 include/linux/lora/lorawan.h create mode 100644 include/linux/lora/lorawan_netdev.h create mode 100644 net/lorawan/Kconfig create mode 100644 net/lorawan/Makefile create mode 100644 net/lorawan/socket.c create mode 100644 net/maclorawan/Kconfig create mode 100644 net/maclorawan/Makefile create mode 100644 net/maclorawan/crypto.c create mode 100644 net/maclorawan/crypto.h create mode 100644 net/maclorawan/mac.c create mode 100644 net/maclorawan/maclorawan.h create mode 100644 net/maclorawan/main.c -- 2.20.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2018-12-16 10:19 UTC|newest] Thread overview: 162+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-08-23 17:15 [RFC 0/3 net] lorawan: Add LoRaWAN soft MAC module Jian-Hong Pan 2018-08-23 17:15 ` Jian-Hong Pan 2018-08-23 17:15 ` Jian-Hong Pan 2018-08-23 17:15 ` [RFC 1/3 net] lorawan: Add LoRaWAN class module Jian-Hong Pan 2018-08-23 17:15 ` Jian-Hong Pan 2018-08-23 17:15 ` Jian-Hong Pan 2018-08-23 17:43 ` Randy Dunlap 2018-08-23 17:43 ` Randy Dunlap 2018-08-23 17:43 ` Randy Dunlap 2018-08-23 17:43 ` Randy Dunlap 2018-08-24 15:58 ` Jian-Hong Pan 2018-08-24 15:58 ` Jian-Hong Pan 2018-08-24 15:58 ` Jian-Hong Pan 2018-09-23 16:40 ` Andreas Färber 2018-09-23 16:40 ` Andreas Färber 2018-09-23 16:40 ` Andreas Färber 2018-09-26 15:52 ` Jian-Hong Pan 2018-09-26 15:52 ` Jian-Hong Pan 2018-09-26 15:52 ` Jian-Hong Pan 2018-11-05 16:55 ` [PATCH V2 0/7] net: lorawan: Add LoRaWAN soft MAC module Jian-Hong Pan 2018-11-05 16:55 ` Jian-Hong Pan 2018-11-05 16:55 ` [PATCH V2 1/7] net: lorawan: Add macro and definition for LoRaWAN Jian-Hong Pan 2018-11-05 16:55 ` Jian-Hong Pan 2018-11-05 16:55 ` [PATCH V2 2/7] net: lorawan: Add LoRaWAN socket module Jian-Hong Pan 2018-11-05 16:55 ` Jian-Hong Pan 2018-11-05 18:16 ` David Miller 2018-11-05 18:16 ` David Miller 2018-11-06 14:28 ` Jian-Hong Pan 2018-11-06 14:28 ` Jian-Hong Pan 2018-11-14 16:01 ` [PATCH V3 0/7] net: lorawan: Add LoRaWAN soft MAC module Jian-Hong Pan 2018-11-14 16:01 ` Jian-Hong Pan 2018-11-14 16:01 ` [PATCH V3 1/7] net: lorawan: Add macro and definition for LoRaWAN Jian-Hong Pan 2018-11-14 16:01 ` Jian-Hong Pan 2018-11-14 16:12 ` Andreas Färber 2018-11-14 16:12 ` Andreas Färber 2018-11-17 6:47 ` Jian-Hong Pan 2018-11-17 6:47 ` Jian-Hong Pan 2018-11-17 6:47 ` Jian-Hong Pan 2018-11-14 16:01 ` [PATCH V3 2/7] net: lorawan: Add LoRaWAN socket module Jian-Hong Pan 2018-11-14 16:01 ` Jian-Hong Pan 2018-11-17 4:32 ` David Miller 2018-11-17 4:32 ` David Miller 2018-11-17 14:54 ` Jian-Hong Pan 2018-11-17 14:54 ` Jian-Hong Pan 2018-12-04 14:13 ` [PATCH V4 0/6] net: lorawan: Add LoRaWAN soft MAC module Jian-Hong Pan 2018-12-04 14:13 ` Jian-Hong Pan 2018-12-04 14:13 ` [PATCH V4 1/6] net: lorawan: Add LoRaWAN socket module Jian-Hong Pan 2018-12-04 14:13 ` Jian-Hong Pan 2018-12-04 14:13 ` [PATCH V4 2/6] net: lorawan: Add LoRaWAN API declaration for LoRa devices Jian-Hong Pan 2018-12-04 14:13 ` Jian-Hong Pan 2018-12-04 14:13 ` [PATCH V4 3/6] net: maclorawan: Add maclorawan module declaration Jian-Hong Pan 2018-12-04 14:13 ` Jian-Hong Pan 2018-12-04 14:13 ` [PATCH V4 4/6] net: maclorawan: Implement the crypto of maclorawan module Jian-Hong Pan 2018-12-04 14:13 ` Jian-Hong Pan 2018-12-04 14:13 ` [PATCH V4 5/6] net: maclorawan: Implement maclorawan class module Jian-Hong Pan 2018-12-04 14:13 ` Jian-Hong Pan 2018-12-04 20:45 ` Alan Cox 2018-12-04 20:45 ` Alan Cox 2018-12-04 20:45 ` Alan Cox 2018-12-09 8:27 ` Jian-Hong Pan 2018-12-09 8:27 ` Jian-Hong Pan 2018-12-16 10:18 ` Jian-Hong Pan [this message] 2018-12-16 10:18 ` [PATCH v5 0/6] net: lorawan: Add LoRaWAN soft MAC module Jian-Hong Pan 2018-12-17 13:51 ` Jiri Pirko 2018-12-17 13:51 ` Jiri Pirko 2018-12-16 10:18 ` [PATCH v5 1/6] net: lorawan: Add LoRaWAN socket module Jian-Hong Pan 2018-12-16 10:18 ` Jian-Hong Pan 2018-12-29 7:27 ` Andreas Färber 2018-12-29 7:27 ` Andreas Färber 2019-01-07 14:47 ` Jian-Hong Pan 2019-01-07 14:47 ` Jian-Hong Pan 2019-01-07 14:47 ` Jian-Hong Pan 2019-01-13 14:51 ` Jian-Hong Pan 2019-01-13 14:51 ` Jian-Hong Pan 2019-01-13 14:51 ` Jian-Hong Pan 2018-12-16 10:18 ` [PATCH v5 2/6] net: lorawan: Add LoRaWAN API declaration for LoRa devices Jian-Hong Pan 2018-12-16 10:18 ` Jian-Hong Pan 2018-12-16 10:18 ` [PATCH v5 3/6] net: maclorawan: Add maclorawan module declaration Jian-Hong Pan 2018-12-16 10:18 ` Jian-Hong Pan 2018-12-16 10:18 ` [PATCH v5 4/6] net: maclorawan: Implement the crypto of maclorawan module Jian-Hong Pan 2018-12-16 10:18 ` Jian-Hong Pan 2018-12-16 10:18 ` [PATCH v5 5/6] net: maclorawan: Implement maclorawan class module Jian-Hong Pan 2018-12-16 10:18 ` Jian-Hong Pan 2018-12-17 14:02 ` Jiri Pirko 2018-12-17 14:02 ` Jiri Pirko 2018-12-18 14:27 ` Jian-Hong Pan 2018-12-18 14:27 ` Jian-Hong Pan 2018-12-18 14:27 ` Jiri Pirko 2018-12-18 14:27 ` Jiri Pirko 2018-12-18 15:34 ` Jian-Hong Pan 2018-12-18 15:34 ` Jian-Hong Pan 2018-12-18 18:49 ` Andreas Färber 2018-12-18 18:49 ` Andreas Färber 2018-12-19 11:27 ` Ben Whitten 2018-12-19 11:27 ` Ben Whitten 2018-12-19 11:27 ` Ben Whitten 2018-12-19 16:26 ` Jian-Hong Pan 2018-12-19 16:26 ` Jian-Hong Pan 2018-12-20 9:20 ` Xue Liu 2018-12-20 16:00 ` Jian-Hong Pan 2018-12-28 8:11 ` Netlink userspace tools for LoRa(WAN), FSK, Sigfox, BLE, etc. (was: [PATCH v5 5/6] net: maclorawan: Implement maclorawan class module) Andreas Färber 2018-12-28 15:49 ` Alexander Aring 2018-12-20 10:19 ` [PATCH v5 5/6] net: maclorawan: Implement maclorawan class module Ben Whitten 2018-12-20 10:19 ` Ben Whitten 2018-12-20 15:31 ` Andreas Färber 2018-12-20 15:31 ` Andreas Färber 2018-12-20 15:31 ` Andreas Färber 2018-12-16 10:19 ` [PATCH v5 6/6] net: lorawan: List LORAWAN in menuconfig Jian-Hong Pan 2018-12-16 10:19 ` Jian-Hong Pan 2018-12-17 8:50 ` Xue Liu 2018-12-17 8:50 ` Xue Liu 2018-12-17 14:19 ` Andreas Färber 2018-12-17 14:19 ` Andreas Färber 2018-12-18 13:50 ` Xue Liu 2018-12-18 13:50 ` Xue Liu 2018-12-24 15:32 ` Alexander Aring 2018-12-24 15:32 ` Alexander Aring 2018-12-28 4:57 ` Andreas Färber 2018-12-28 4:57 ` Andreas Färber 2018-12-28 15:43 ` Alexander Aring 2018-12-28 15:43 ` Alexander Aring 2018-12-29 6:28 ` Andreas Färber 2018-12-29 6:28 ` Andreas Färber 2018-12-04 14:13 ` [PATCH V4 " Jian-Hong Pan 2018-12-04 14:13 ` Jian-Hong Pan 2018-11-14 16:01 ` [PATCH V3 3/7] net: lorawan: Add LoRaWAN API declaration for LoRa devices Jian-Hong Pan 2018-11-14 16:01 ` Jian-Hong Pan 2018-11-14 16:01 ` [PATCH V3 4/7] net: maclorawan: Add maclorawan module declaration Jian-Hong Pan 2018-11-14 16:01 ` Jian-Hong Pan 2018-11-17 4:32 ` David Miller 2018-11-17 4:32 ` David Miller 2018-11-17 6:32 ` Jian-Hong Pan 2018-11-17 6:32 ` Jian-Hong Pan 2018-11-14 16:01 ` [PATCH V3 5/7] net: maclorawan: Implement the crypto of maclorawan module Jian-Hong Pan 2018-11-14 16:01 ` Jian-Hong Pan 2018-11-14 16:01 ` [PATCH V3 6/7] net: maclorawan: Implement maclorawan class module Jian-Hong Pan 2018-11-14 16:01 ` Jian-Hong Pan 2018-11-14 16:01 ` [PATCH V3 7/7] net: lorawan: List LORAWAN in menuconfig Jian-Hong Pan 2018-11-14 16:01 ` Jian-Hong Pan 2018-11-05 16:55 ` [PATCH V2 3/7] net: lorawan: Add LoRaWAN API declaration for LoRa devices Jian-Hong Pan 2018-11-05 16:55 ` Jian-Hong Pan 2018-11-05 16:55 ` [PATCH V2 4/7] net: maclorawan: Add maclorawan module declaration Jian-Hong Pan 2018-11-05 16:55 ` Jian-Hong Pan 2018-11-05 16:55 ` [PATCH V2 5/7] net: maclorawan: Implement the crypto of maclorawan module Jian-Hong Pan 2018-11-05 16:55 ` Jian-Hong Pan 2018-11-05 16:55 ` Jian-Hong Pan 2018-11-05 16:55 ` [PATCH V2 6/7] net: maclorawan: Implement maclorawan class module Jian-Hong Pan 2018-11-05 16:55 ` Jian-Hong Pan 2018-11-05 16:55 ` [PATCH V2 7/7] net: lorawan: List LORAWAN in menuconfig Jian-Hong Pan 2018-11-05 16:55 ` Jian-Hong Pan 2018-08-23 17:15 ` [RFC 2/3 net] lorawan: Add macro and definition for LoRaWAN class modlue Jian-Hong Pan 2018-08-23 17:15 ` Jian-Hong Pan 2018-08-23 17:15 ` Jian-Hong Pan 2018-09-23 16:06 ` Andreas Färber 2018-09-23 16:06 ` Andreas Färber 2018-09-23 16:06 ` Andreas Färber 2018-09-26 14:46 ` Jian-Hong Pan 2018-09-26 14:46 ` Jian-Hong Pan 2018-09-26 14:46 ` Jian-Hong Pan 2018-08-23 17:15 ` [RFC 3/3 net] lorawan: List LORAWAN in menuconfig Jian-Hong Pan 2018-08-23 17:15 ` Jian-Hong Pan 2018-08-23 17:15 ` Jian-Hong Pan
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20181216101858.9585-1-starnight@g.ncu.edu.tw \ --to=starnight@g.ncu.edu.tw \ --cc=afaerber@suse.de \ --cc=davem@davemloft.net \ --cc=dollar.chen@wtmec.com \ --cc=gnomes@lxorguk.ukuu.org.uk \ --cc=ken.yu@rakwireless.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-lpwan@lists.infradead.org \ --cc=linux-wpan@vger.kernel.org \ --cc=marcel@holtmann.org \ --cc=netdev@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.