Commit 5b13fc05 authored by Antoine Ténart's avatar Antoine Ténart Committed by Thomas Petazzoni
Browse files

wf111: new package

Adds support for the BlueGiga WF111 WiFi driver and the binary utilities
distributed alongside the driver. An account is required to download the
sources from the BlueGiga website, which can be created freely. The
driver is available for armv5, arm7a and i386.

Since it is not possible to automatically retrieve the sources, because
of the required user account needed on the BlueGiga website, an option
is added to let the Buildroot user specify the directory where the
driver tarball was downloaded.

Finally, two options must be selected in the Linux kernel configuration:
CONFIG_WIRELESS_EXT and CONFIG_WEXT_PRIV. These are blind options (i.e.
not selectable directly) so they cannot be enabled by a change in
linux/linux.mk. The user as two choices to enable these options:
- By making them non blind, with a "WF111 support" configuration entry
  for example.
- By enabling another WiFi driver that select them.

The work behind this commit was funded by ECA Group
<http://www.ecagroup.com

>. ECA Group is the copyright owner of the
contributed code.

Signed-off-by: default avatarAntoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent c39ba6af
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -391,6 +391,7 @@ endif
	source "package/usbmount/Config.in"
	source "package/usbutils/Config.in"
	source "package/w_scan/Config.in"
	source "package/wf111/Config.in"
	source "package/wipe/Config.in"
	source "package/xorriso/Config.in"
endmenu
+36 −0
Original line number Diff line number Diff line
config BR2_PACKAGE_WF111
	bool "wf111"
	depends on BR2_LINUX_KERNEL
	depends on BR2_ARM_CPU_ARMV5 || BR2_ARM_CPU_ARMV7A || BR2_i386
	# Binary tools are distributed alongside the driver, and are
	# dynamically linked against the glibc.
	depends on BR2_TOOLCHAIN_USES_GLIBC
	help
	  BlueGiga WF111 WiFi driver and utilities.

	  Warning: CONFIG_WIRELESS_EXT and CONFIG_WEXT_PRIV must be
	  selected in the Linux kernel configuration. These are blind
	  options (i.e. not selectable directly) so they cannot be
	  enabled by a change in linux/linux.mk. There are two choices
	  to enable these options:
	  - By making them non blind, with a "WF111 support" configuration
	    entry that selects them, for example.
	  - By enabling another random WiFi driver that select them.

	  http://www.bluegiga.com/en-US/products/wifi-modules/wf111-wifi-module/

if BR2_PACKAGE_WF111

config BR2_PACKAGE_WF111_TARBALL_PATH
	string "Local tarball location"
	help
	  The WF111 tarball can be retrieved on the BlueGiga website
	  after registration. This option specifies the path where the
	  tarball is locally saved.

endif

comment "wf111 needs an (e)glibc toolchain"
	depends on BR2_LINUX_KERNEL
	depends on BR2_ARM_CPU_ARMV5 || BR2_ARM_CPU_ARMV7A || BR2_i386
	depends on !BR2_TOOLCHAIN_USES_GLIBC

package/wf111/wf111.mk

0 → 100644
+34 −0
Original line number Diff line number Diff line
################################################################################
#
# wf111
#
################################################################################

WF111_VERSION = 5.2.2
WF111_SITE_METHOD = file
WF111_SITE = $(call qstrip,$(BR2_PACKAGE_WF111_TARBALL_PATH))
WF111_DEPENDENCIES = linux

ifeq ($(BR2_PACKAGE_WF111)$(call qstrip,$(BR2_PACKAGE_WF111_TARBALL_PATH)),y)
$(error No tarball location specified, check BR2_PACKAGE_WF111_TARBALL_PATH)
endif

ifeq ($(BR2_ARM_CPU_ARMV7A),y)
WF111_SOURCE = wf111-linux-driver_5.2.2-r1_armv7-a.tar.gz
else ifeq ($(BR2_ARM_CPU_ARMV5),y)
WF111_SOURCE = wf111-linux-driver_5.2.2-r1_armv5t.tar.gz
else ifeq ($(BR2_i386),y)
WF111_SOURCE = wf111-linux-driver_5.2.2-r1_x86.tar.gz
endif

define WF111_BUILD_CMDS
	$(MAKE) -C $(@D) PWD=$(@D) \
		$(LINUX_MAKE_FLAGS) KDIR=$(LINUX_DIR) \
		install_static
endef

define WF111_INSTALL_TARGET_CMDS
	cp -dpfr $(@D)/output/* $(TARGET_DIR)
endef

$(eval $(generic-package))