diff mbox

[OpenWrt-Devel,RFC,1/2] kernel: adds wpan related packages

Message ID 1428646375-13063-1-git-send-email-varkab@cdac.in
State Accepted
Headers show

Commit Message

Varka Bhadram April 10, 2015, 6:12 a.m. UTC
This patch adds the IEEE-802.15.4 and 6LoWPAN related
packages.

Signed-off-by: Varka Bhadram <varkab@cdac.in>
---
 package/kernel/linux/modules/wpan.mk |  122 ++++++++++++++++++++++++++++++++++
 1 file changed, 122 insertions(+)
 create mode 100644 package/kernel/linux/modules/wpan.mk

Comments

John Crispin April 10, 2015, 7:39 a.m. UTC | #1
Hi,

patches look good, just added them to my tree. have you considered also
adding a proto handler to netifd that will bring up and manage the devices ?

	John



On 10/04/2015 08:12, Varka Bhadram wrote:
> This patch adds the IEEE-802.15.4 and 6LoWPAN related
> packages.
> 
> Signed-off-by: Varka Bhadram <varkab@cdac.in>
> ---
>  package/kernel/linux/modules/wpan.mk |  122 ++++++++++++++++++++++++++++++++++
>  1 file changed, 122 insertions(+)
>  create mode 100644 package/kernel/linux/modules/wpan.mk
> 
> diff --git a/package/kernel/linux/modules/wpan.mk b/package/kernel/linux/modules/wpan.mk
> new file mode 100644
> index 0000000..ce5ab09
> --- /dev/null
> +++ b/package/kernel/linux/modules/wpan.mk
> @@ -0,0 +1,122 @@
> +#
> +# Copyright (C) 2015 OpenWrt.org
> +#
> +# This is free software, licensed under the GNU General Public License v2.
> +# See /LICENSE for more information.
> +
> +WPAN_MENU:=WPAN
> +
> +define KernelPackage/ieee802154
> +  SUBMENU:=$(WPAN_MENU)
> +  TITLE:=IEEE-802.15.4 support
> +  DEPENDS:=@!LINUX_4.0
> +  KCONFIG:= \
> +	CONFIG_IEEE802154 \
> +	CONFIG_IEEE802154_SOCKET=y
> +  FILES:= \
> +	$(LINUX_DIR)/net/ieee802154/ieee802154.ko \
> +	$(LINUX_DIR)/net/ieee802154/ieee802154_socket.ko
> +  AUTOLOAD:=$(call AutoLoad,90,ieee802154 ieee802154_socket)
> +endef
> +
> +define KernelPackage/ieee802154/description
> +  IEEE Std 802.15.4 defines a low data rate, low power and low
> +  complexity short range wireless personal area networks. It was
> +  designed to organise networks of sensors, switches, etc automation
> +  devices. Maximum allowed data rate is 250 kb/s and typical personal
> +  operating space around 10m.
> +endef
> +
> +$(eval $(call KernelPackage,ieee802154))
> +
> +define KernelPackage/mac802154
> +  SUBMENU:=$(WPAN_MENU)
> +  TITLE:=MAC-802.15.4 support
> +  DEPENDS:=@!LINUX_4.0
> +  KCONFIG:= \
> +	CONFIG_MAC802154 \
> +	CONFIG_IEEE802154_DRIVERS=y
> +  DEPENDS:=+kmod-ieee802154 +kmod-crypto-aead +kmod-lib-crc-ccitt @!LINUX_4.0
> +  FILES:=$(LINUX_DIR)/net/mac802154/mac802154.ko
> +  AUTOLOAD:=$(call AutoLoad,91,mac802154)
> +endef
> +
> +define KernelPackage/mac802154/description
> +  This option enables the hardware independent IEEE 802.15.4
> +  networking stack for SoftMAC devices (the ones implementing
> +  only PHY level of IEEE 802.15.4 standard).
> +
> +  Note: this implementation is neither certified, nor feature
> +  complete! Compatibility with other implementations hasn't
> +  been tested yet!
> +endef
> +
> +$(eval $(call KernelPackage,mac802154))
> +
> +define KernelPackage/fakelb
> +  SUBMENU:=$(WPAN_MENU)
> +  TITLE:=Fake LR-WPAN driver
> +  DEPENDS:=+kmod-mac802154 @!LINUX_4.0
> +  KCONFIG:=CONFIG_IEEE802154_FAKELB
> +  FILES:=$(LINUX_DIR)/drivers/net/ieee802154/fakelb.ko
> +  AUTOLOAD:=$(call AutoLoad,92,fakelb)
> +endef
> +
> +define KernelPackage/fakelb/description
> +  Say Y here to enable the fake driver that can emulate a net
> +  of several interconnected radio devices.
> +endef
> +
> +$(eval $(call KernelPackage,fakelb))
> +
> +define KernelPackage/at86rf230
> +  SUBMENU:=$(WPAN_MENU)
> +  TITLE:=AT86RF230 transceiver driver
> +  DEPENDS:=+kmod-mac802154
> +  KCONFIG:=CONFIG_IEEE802154_AT86RF230 \
> +	CONFIG_SPI=y \
> +	CONFIG_SPI_MASTER=y
> +  FILES:=$(LINUX_DIR)/drivers/net/ieee802154/at86rf230.ko
> +endef
> +
> +$(eval $(call KernelPackage,at86rf230))
> +
> +define KernelPackage/mrf24j40
> +  SUBMENU:=$(WPAN_MENU)
> +  TITLE:=MRF24J40 transceiver driver
> +  DEPENDS:=+kmod-mac802154
> +  KCONFIG:=CONFIG_IEEE802154_MRF24J40 \
> +	CONFIG_SPI=y \
> +	CONFIG_SPI_MASTER=y
> +  FILES:=$(LINUX_DIR)/drivers/net/ieee802154/mrf24j40.ko
> +endef
> +
> +$(eval $(call KernelPackage,mrf24j40))
> +
> +define KernelPackage/cc2520
> +  SUBMENU:=$(WPAN_MENU)
> +  TITLE:=CC2520 transceiver driver
> +  DEPENDS:=+kmod-mac802154
> +  KCONFIG:=CONFIG_IEEE802154_CC2520 \
> +	CONFIG_SPI=y \
> +	CONFIG_SPI_MASTER=y
> +  FILES:=$(LINUX_DIR)/drivers/net/ieee802154/cc2520.ko
> +endef
> +
> +$(eval $(call KernelPackage,cc2520))
> +
> +define KernelPackage/ieee802154_6lowpan
> +  SUBMENU:=$(WPAN_MENU)
> +  TITLE:= 6LoWPAN support over IEEE-802.15.4
> +  DEPENDS:=@!LINUX_4.0
> +  KCONFIG:=IEEE802154_6LOWPAN
> +  DEPENDS:=@!LINUX_4.0
> +  FILES:=$(LINUX_DIR)/net/ieee802154/6lowpan/ieee802154_6lowpan.ko
> +  AUTOLOAD:=$(call AutoLoad,91,ieee802154_6lowpan)
> +endef
> +
> +define KernelPackage/ieee802154_6lowpan/description
> + IPv6 compression over IEEE 802.15.4
> +endef
> +
> +$(eval $(call KernelPackage,ieee802154_6lowpan))
>
Varka Bhadram April 10, 2015, 8:09 a.m. UTC | #2
On 04/10/2015 01:09 PM, John Crispin wrote:
> Hi,
>
> patches look good, just added them to my tree. have you considered also
> adding a proto handler to netifd that will bring up and manage the devices ?
>
> 	John
>
It will be better if we add the proto handler to netifd to manage the device.

But i am not aware how to do that. I will look into that.

Thanks

>
> On 10/04/2015 08:12, Varka Bhadram wrote:
>> This patch adds the IEEE-802.15.4 and 6LoWPAN related
>> packages.
>>
>> Signed-off-by: Varka Bhadram <varkab@cdac.in>
>> ---
>>  package/kernel/linux/modules/wpan.mk |  122 ++++++++++++++++++++++++++++++++++
>>  1 file changed, 122 insertions(+)
>>  create mode 100644 package/kernel/linux/modules/wpan.mk
>>
>> diff --git a/package/kernel/linux/modules/wpan.mk b/package/kernel/linux/modules/wpan.mk
>> new file mode 100644
>> index 0000000..ce5ab09
>> --- /dev/null
>> +++ b/package/kernel/linux/modules/wpan.mk
>> @@ -0,0 +1,122 @@
>> +#
>> +# Copyright (C) 2015 OpenWrt.org
>> +#
>> +# This is free software, licensed under the GNU General Public License v2.
>> +# See /LICENSE for more information.
>> +
>> +WPAN_MENU:=WPAN
>> +
>> +define KernelPackage/ieee802154
>> +  SUBMENU:=$(WPAN_MENU)
>> +  TITLE:=IEEE-802.15.4 support
>> +  DEPENDS:=@!LINUX_4.0
>> +  KCONFIG:= \
>> +	CONFIG_IEEE802154 \
>> +	CONFIG_IEEE802154_SOCKET=y
>> +  FILES:= \
>> +	$(LINUX_DIR)/net/ieee802154/ieee802154.ko \
>> +	$(LINUX_DIR)/net/ieee802154/ieee802154_socket.ko
>> +  AUTOLOAD:=$(call AutoLoad,90,ieee802154 ieee802154_socket)
>> +endef
>> +
>> +define KernelPackage/ieee802154/description
>> +  IEEE Std 802.15.4 defines a low data rate, low power and low
>> +  complexity short range wireless personal area networks. It was
>> +  designed to organise networks of sensors, switches, etc automation
>> +  devices. Maximum allowed data rate is 250 kb/s and typical personal
>> +  operating space around 10m.
>> +endef
>> +
>> +$(eval $(call KernelPackage,ieee802154))
>> +
>> +define KernelPackage/mac802154
>> +  SUBMENU:=$(WPAN_MENU)
>> +  TITLE:=MAC-802.15.4 support
>> +  DEPENDS:=@!LINUX_4.0
>> +  KCONFIG:= \
>> +	CONFIG_MAC802154 \
>> +	CONFIG_IEEE802154_DRIVERS=y
>> +  DEPENDS:=+kmod-ieee802154 +kmod-crypto-aead +kmod-lib-crc-ccitt @!LINUX_4.0
>> +  FILES:=$(LINUX_DIR)/net/mac802154/mac802154.ko
>> +  AUTOLOAD:=$(call AutoLoad,91,mac802154)
>> +endef
>> +
>> +define KernelPackage/mac802154/description
>> +  This option enables the hardware independent IEEE 802.15.4
>> +  networking stack for SoftMAC devices (the ones implementing
>> +  only PHY level of IEEE 802.15.4 standard).
>> +
>> +  Note: this implementation is neither certified, nor feature
>> +  complete! Compatibility with other implementations hasn't
>> +  been tested yet!
>> +endef
>> +
>> +$(eval $(call KernelPackage,mac802154))
>> +
>> +define KernelPackage/fakelb
>> +  SUBMENU:=$(WPAN_MENU)
>> +  TITLE:=Fake LR-WPAN driver
>> +  DEPENDS:=+kmod-mac802154 @!LINUX_4.0
>> +  KCONFIG:=CONFIG_IEEE802154_FAKELB
>> +  FILES:=$(LINUX_DIR)/drivers/net/ieee802154/fakelb.ko
>> +  AUTOLOAD:=$(call AutoLoad,92,fakelb)
>> +endef
>> +
>> +define KernelPackage/fakelb/description
>> +  Say Y here to enable the fake driver that can emulate a net
>> +  of several interconnected radio devices.
>> +endef
>> +
>> +$(eval $(call KernelPackage,fakelb))
>> +
>> +define KernelPackage/at86rf230
>> +  SUBMENU:=$(WPAN_MENU)
>> +  TITLE:=AT86RF230 transceiver driver
>> +  DEPENDS:=+kmod-mac802154
>> +  KCONFIG:=CONFIG_IEEE802154_AT86RF230 \
>> +	CONFIG_SPI=y \
>> +	CONFIG_SPI_MASTER=y
>> +  FILES:=$(LINUX_DIR)/drivers/net/ieee802154/at86rf230.ko
>> +endef
>> +
>> +$(eval $(call KernelPackage,at86rf230))
>> +
>> +define KernelPackage/mrf24j40
>> +  SUBMENU:=$(WPAN_MENU)
>> +  TITLE:=MRF24J40 transceiver driver
>> +  DEPENDS:=+kmod-mac802154
>> +  KCONFIG:=CONFIG_IEEE802154_MRF24J40 \
>> +	CONFIG_SPI=y \
>> +	CONFIG_SPI_MASTER=y
>> +  FILES:=$(LINUX_DIR)/drivers/net/ieee802154/mrf24j40.ko
>> +endef
>> +
>> +$(eval $(call KernelPackage,mrf24j40))
>> +
>> +define KernelPackage/cc2520
>> +  SUBMENU:=$(WPAN_MENU)
>> +  TITLE:=CC2520 transceiver driver
>> +  DEPENDS:=+kmod-mac802154
>> +  KCONFIG:=CONFIG_IEEE802154_CC2520 \
>> +	CONFIG_SPI=y \
>> +	CONFIG_SPI_MASTER=y
>> +  FILES:=$(LINUX_DIR)/drivers/net/ieee802154/cc2520.ko
>> +endef
>> +
>> +$(eval $(call KernelPackage,cc2520))
>> +
>> +define KernelPackage/ieee802154_6lowpan
>> +  SUBMENU:=$(WPAN_MENU)
>> +  TITLE:= 6LoWPAN support over IEEE-802.15.4
>> +  DEPENDS:=@!LINUX_4.0
>> +  KCONFIG:=IEEE802154_6LOWPAN
>> +  DEPENDS:=@!LINUX_4.0
>> +  FILES:=$(LINUX_DIR)/net/ieee802154/6lowpan/ieee802154_6lowpan.ko
>> +  AUTOLOAD:=$(call AutoLoad,91,ieee802154_6lowpan)
>> +endef
>> +
>> +define KernelPackage/ieee802154_6lowpan/description
>> + IPv6 compression over IEEE 802.15.4
>> +endef
>> +
>> +$(eval $(call KernelPackage,ieee802154_6lowpan))
>>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
diff mbox

Patch

diff --git a/package/kernel/linux/modules/wpan.mk b/package/kernel/linux/modules/wpan.mk
new file mode 100644
index 0000000..ce5ab09
--- /dev/null
+++ b/package/kernel/linux/modules/wpan.mk
@@ -0,0 +1,122 @@ 
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+
+WPAN_MENU:=WPAN
+
+define KernelPackage/ieee802154
+  SUBMENU:=$(WPAN_MENU)
+  TITLE:=IEEE-802.15.4 support
+  DEPENDS:=@!LINUX_4.0
+  KCONFIG:= \
+	CONFIG_IEEE802154 \
+	CONFIG_IEEE802154_SOCKET=y
+  FILES:= \
+	$(LINUX_DIR)/net/ieee802154/ieee802154.ko \
+	$(LINUX_DIR)/net/ieee802154/ieee802154_socket.ko
+  AUTOLOAD:=$(call AutoLoad,90,ieee802154 ieee802154_socket)
+endef
+
+define KernelPackage/ieee802154/description
+  IEEE Std 802.15.4 defines a low data rate, low power and low
+  complexity short range wireless personal area networks. It was
+  designed to organise networks of sensors, switches, etc automation
+  devices. Maximum allowed data rate is 250 kb/s and typical personal
+  operating space around 10m.
+endef
+
+$(eval $(call KernelPackage,ieee802154))
+
+define KernelPackage/mac802154
+  SUBMENU:=$(WPAN_MENU)
+  TITLE:=MAC-802.15.4 support
+  DEPENDS:=@!LINUX_4.0
+  KCONFIG:= \
+	CONFIG_MAC802154 \
+	CONFIG_IEEE802154_DRIVERS=y
+  DEPENDS:=+kmod-ieee802154 +kmod-crypto-aead +kmod-lib-crc-ccitt @!LINUX_4.0
+  FILES:=$(LINUX_DIR)/net/mac802154/mac802154.ko
+  AUTOLOAD:=$(call AutoLoad,91,mac802154)
+endef
+
+define KernelPackage/mac802154/description
+  This option enables the hardware independent IEEE 802.15.4
+  networking stack for SoftMAC devices (the ones implementing
+  only PHY level of IEEE 802.15.4 standard).
+
+  Note: this implementation is neither certified, nor feature
+  complete! Compatibility with other implementations hasn't
+  been tested yet!
+endef
+
+$(eval $(call KernelPackage,mac802154))
+
+define KernelPackage/fakelb
+  SUBMENU:=$(WPAN_MENU)
+  TITLE:=Fake LR-WPAN driver
+  DEPENDS:=+kmod-mac802154 @!LINUX_4.0
+  KCONFIG:=CONFIG_IEEE802154_FAKELB
+  FILES:=$(LINUX_DIR)/drivers/net/ieee802154/fakelb.ko
+  AUTOLOAD:=$(call AutoLoad,92,fakelb)
+endef
+
+define KernelPackage/fakelb/description
+  Say Y here to enable the fake driver that can emulate a net
+  of several interconnected radio devices.
+endef
+
+$(eval $(call KernelPackage,fakelb))
+
+define KernelPackage/at86rf230
+  SUBMENU:=$(WPAN_MENU)
+  TITLE:=AT86RF230 transceiver driver
+  DEPENDS:=+kmod-mac802154
+  KCONFIG:=CONFIG_IEEE802154_AT86RF230 \
+	CONFIG_SPI=y \
+	CONFIG_SPI_MASTER=y
+  FILES:=$(LINUX_DIR)/drivers/net/ieee802154/at86rf230.ko
+endef
+
+$(eval $(call KernelPackage,at86rf230))
+
+define KernelPackage/mrf24j40
+  SUBMENU:=$(WPAN_MENU)
+  TITLE:=MRF24J40 transceiver driver
+  DEPENDS:=+kmod-mac802154
+  KCONFIG:=CONFIG_IEEE802154_MRF24J40 \
+	CONFIG_SPI=y \
+	CONFIG_SPI_MASTER=y
+  FILES:=$(LINUX_DIR)/drivers/net/ieee802154/mrf24j40.ko
+endef
+
+$(eval $(call KernelPackage,mrf24j40))
+
+define KernelPackage/cc2520
+  SUBMENU:=$(WPAN_MENU)
+  TITLE:=CC2520 transceiver driver
+  DEPENDS:=+kmod-mac802154
+  KCONFIG:=CONFIG_IEEE802154_CC2520 \
+	CONFIG_SPI=y \
+	CONFIG_SPI_MASTER=y
+  FILES:=$(LINUX_DIR)/drivers/net/ieee802154/cc2520.ko
+endef
+
+$(eval $(call KernelPackage,cc2520))
+
+define KernelPackage/ieee802154_6lowpan
+  SUBMENU:=$(WPAN_MENU)
+  TITLE:= 6LoWPAN support over IEEE-802.15.4
+  DEPENDS:=@!LINUX_4.0
+  KCONFIG:=IEEE802154_6LOWPAN
+  DEPENDS:=@!LINUX_4.0
+  FILES:=$(LINUX_DIR)/net/ieee802154/6lowpan/ieee802154_6lowpan.ko
+  AUTOLOAD:=$(call AutoLoad,91,ieee802154_6lowpan)
+endef
+
+define KernelPackage/ieee802154_6lowpan/description
+ IPv6 compression over IEEE 802.15.4
+endef
+
+$(eval $(call KernelPackage,ieee802154_6lowpan))