Explorar el Código

add support for wlan and bluetooth on cubox, only wlan verified and working

Waldemar Brodkorb hace 11 años
padre
commit
8711c32216

+ 22 - 2
mk/modules.mk

@@ -70,10 +70,18 @@ $(eval $(call KMOD_template,RFKILL,rfkill,\
 	$(MODULES_DIR)/kernel/net/rfkill/rfkill \
 	$(MODULES_DIR)/kernel/net/rfkill/rfkill \
 ,10))
 ,10))
 
 
-$(eval $(call KMOD_template,MAC80211,mac80211,\
+$(eval $(call KMOD_template,CFG80211,cfg80211,\
 	$(MODULES_DIR)/kernel/net/wireless/cfg80211 \
 	$(MODULES_DIR)/kernel/net/wireless/cfg80211 \
+,14))
+
+$(eval $(call KMOD_template,MAC80211,mac80211,\
 	$(MODULES_DIR)/kernel/net/mac80211/mac80211 \
 	$(MODULES_DIR)/kernel/net/mac80211/mac80211 \
-,15, kmod-crypto-arc4 kmod-crypto-ecb))
+,15, kmod-cfg80211 kmod-crypto-arc4 kmod-crypto-ecb))
+
+$(eval $(call KMOD_template,BRCMFMAC,brcmfmac,\
+	$(MODULES_DIR)/kernel/drivers/net/wireless/brcm80211/brcmutil/brcmutil \
+	$(MODULES_DIR)/kernel/drivers/net/wireless/brcm80211/brcmfmac/brcmfmac \
+,20))
 
 
 $(eval $(call KMOD_template,ATH6KL,ath6kl,\
 $(eval $(call KMOD_template,ATH6KL,ath6kl,\
 	$(MODULES_DIR)/kernel/drivers/net/wireless/ath/ath6kl/ath6kl_core \
 	$(MODULES_DIR)/kernel/drivers/net/wireless/ath/ath6kl/ath6kl_core \
@@ -1417,6 +1425,18 @@ $(eval $(call KMOD_template,BT_HCIBTUSB,bt-hcibtusb,\
 	$(MODULES_DIR)/kernel/drivers/bluetooth/btusb \
 	$(MODULES_DIR)/kernel/drivers/bluetooth/btusb \
 ,76))
 ,76))
 
 
+$(eval $(call KMOD_template,BT_HCIBTSDIO,bt-hcibtsdio,\
+	$(MODULES_DIR)/kernel/drivers/bluetooth/btsdio \
+,76))
+
+$(eval $(call KMOD_template,BT_MRVL,bt-mrvl,\
+	$(MODULES_DIR)/kernel/drivers/bluetooth/btmrvl \
+,77))
+
+$(eval $(call KMOD_template,BT_MRVL_SDIO,bt-mrvl-sdio,\
+	$(MODULES_DIR)/kernel/drivers/bluetooth/btmrvl_sdio \
+,78))
+
 $(eval $(call KMOD_template,BT_HCIUART,bt-hciuart,\
 $(eval $(call KMOD_template,BT_HCIUART,bt-hciuart,\
 	$(MODULES_DIR)/kernel/drivers/bluetooth/hci_uart \
 	$(MODULES_DIR)/kernel/drivers/bluetooth/hci_uart \
 ,75))
 ,75))

+ 2 - 2
package/bluez/Makefile

@@ -6,9 +6,9 @@ include ${TOPDIR}/rules.mk
 PKG_NAME:=		bluez
 PKG_NAME:=		bluez
 PKG_VERSION:=		5.12
 PKG_VERSION:=		5.12
 PKG_RELEASE:=		1
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		981b34c2ae7e2ed2e25a167d8a902a25
+PKG_MD5SUM:=		5d37e581107b3d6f91b81194a5006407
 PKG_DESCR:=		bluetooth applications
 PKG_DESCR:=		bluetooth applications
-PKG_SECTION:=		misc	
+PKG_SECTION:=		wifi
 PKG_DEPENDS:=		kmod-bt glib dbus libreadline
 PKG_DEPENDS:=		kmod-bt glib dbus libreadline
 PKG_BUILDDEP:=		autotool glib dbus readline
 PKG_BUILDDEP:=		autotool glib dbus readline
 PKG_URL:=		http://www.bluez.org/
 PKG_URL:=		http://www.bluez.org/

+ 5 - 0
package/busybox/Config.in.manual

@@ -191,3 +191,8 @@ config BUSYBOX_DISABLE_FIND
 	depends on ADK_PACKAGE_FINDUTILS
 	depends on ADK_PACKAGE_FINDUTILS
 	default n
 	default n
 
 
+config BUSYBOX_DISABLE_RFKILL
+	boolean
+	default y if ADK_PACKAGE_RFKILL
+	depends on ADK_PACKAGE_RFKILL
+	default n

+ 2 - 1
package/busybox/config/miscutils/Config.in

@@ -652,7 +652,8 @@ config BUSYBOX_READAHEAD
 
 
 config BUSYBOX_RFKILL
 config BUSYBOX_RFKILL
 	bool "rfkill"
 	bool "rfkill"
-	default y  # doesn't build on Ubuntu 9.04
+	depends on !BUSYBOX_DISABLE_RFKILL
+	default n
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
 	  Enable/disable wireless devices.
 	  Enable/disable wireless devices.

+ 4 - 0
package/busybox/config/networking/Config.in

@@ -35,11 +35,13 @@ config BUSYBOX_FEATURE_NAMEIF_EXTENDED
 	    new_interface_name  phy_address=2 00:80:C8:38:91:B5
 	    new_interface_name  phy_address=2 00:80:C8:38:91:B5
 	    new_interface_name  mac=00:80:C8:38:91:B5
 	    new_interface_name  mac=00:80:C8:38:91:B5
 	    new_interface_name  00:80:C8:38:91:B5
 	    new_interface_name  00:80:C8:38:91:B5
+
 config BUSYBOX_NBDCLIENT
 config BUSYBOX_NBDCLIENT
 	bool "nbd-client"
 	bool "nbd-client"
 	default n
 	default n
 	help
 	help
 	  Network block device client
 	  Network block device client
+
 config BUSYBOX_NC
 config BUSYBOX_NC
 	bool "nc"
 	bool "nc"
 	default y
 	default y
@@ -72,6 +74,7 @@ config BUSYBOX_NC_110_COMPAT
 	  The code is about 2.5k bigger. It enables
 	  The code is about 2.5k bigger. It enables
 	  -s ADDR, -n, -u, -v, -o FILE, -z options, but loses
 	  -s ADDR, -n, -u, -v, -o FILE, -z options, but loses
 	  busybox-specific extensions: -f FILE and -ll.
 	  busybox-specific extensions: -f FILE and -ll.
+
 config BUSYBOX_PING
 config BUSYBOX_PING
 	bool "ping"
 	bool "ping"
 	default y
 	default y
@@ -94,6 +97,7 @@ config BUSYBOX_FEATURE_FANCY_PING
 	help
 	help
 	  Make the output from the ping applet include statistics, and at the
 	  Make the output from the ping applet include statistics, and at the
 	  same time provide full support for ICMP packets.
 	  same time provide full support for ICMP packets.
+
 config BUSYBOX_WHOIS
 config BUSYBOX_WHOIS
 	bool "whois"
 	bool "whois"
 	default y
 	default y

+ 59 - 26
target/linux/config/Config.in.bluetooth

@@ -1,8 +1,8 @@
-menu "Bluetooth"
-depends on ADK_TARGET_WITH_USB || ADK_TARGET_WITH_MINIPCI
+menu "Bluetooth support and drivers"
+depends on ADK_TARGET_WITH_USB || ADK_TARGET_WITH_MINIPCI || ADK_TARGET_WITH_SDIO
 
 
 config ADK_KPACKAGE_KMOD_BT
 config ADK_KPACKAGE_KMOD_BT
-	prompt "kmod-bt.................... Bluetooth drivers and network stack"
+	prompt "Bluetooth network stack"
 	tristate
 	tristate
 	default n
 	default n
 	help
 	help
@@ -23,10 +23,10 @@ config ADK_KPACKAGE_KMOD_BT
 	     HIDP Module (Human Interface Device Protocol)
 	     HIDP Module (Human Interface Device Protocol)
 
 
 config ADK_KERNEL_BT_L2CAP
 config ADK_KERNEL_BT_L2CAP
-	prompt "........................... L2CAP protocol support"
+	prompt "L2CAP protocol support"
 	boolean
 	boolean
+	select ADK_KPACKAGE_KMOD_BT
 	default n
 	default n
-	depends on ADK_KPACKAGE_KMOD_BT
 	help
 	help
 	  L2CAP (Logical Link Control and Adaptation Protocol) provides
 	  L2CAP (Logical Link Control and Adaptation Protocol) provides
 	  connection oriented and connection-less data transport.  L2CAP
 	  connection oriented and connection-less data transport.  L2CAP
@@ -34,65 +34,77 @@ config ADK_KERNEL_BT_L2CAP
 
 
 
 
 config ADK_KERNEL_BT_SCO
 config ADK_KERNEL_BT_SCO
-	prompt "........................... SCO links support"
+	prompt "SCO link support"
 	boolean
 	boolean
+	select ADK_KPACKAGE_KMOD_BT
 	default n
 	default n
-	depends on ADK_KPACKAGE_KMOD_BT
 	help
 	help
 	  SCO link provides voice transport over Bluetooth.  SCO support is
 	  SCO link provides voice transport over Bluetooth.  SCO support is
 	  required for voice applications like Headset and Audio.
 	  required for voice applications like Headset and Audio.
 
 
 config ADK_KPACKAGE_KMOD_BT_RFCOMM
 config ADK_KPACKAGE_KMOD_BT_RFCOMM
-	prompt "kmod-bt-rfcomm............. RFCOMM protocol support"
+	prompt "RFCOMM protocol support"
 	tristate
 	tristate
-	default n
-	depends on ADK_KPACKAGE_KMOD_BT
+	select ADK_KPACKAGE_KMOD_BT
 	depends on ADK_KPACKAGE_KMOD_BT_L2CAP
 	depends on ADK_KPACKAGE_KMOD_BT_L2CAP
+	default n
 	help
 	help
 	  RFCOMM provides connection oriented stream transport.  RFCOMM
 	  RFCOMM provides connection oriented stream transport.  RFCOMM
 	  support is required for Dialup Networking, OBEX and other Bluetooth
 	  support is required for Dialup Networking, OBEX and other Bluetooth
 	  applications.
 	  applications.
 
 
 config ADK_KPACKAGE_KMOD_BT_BNEP
 config ADK_KPACKAGE_KMOD_BT_BNEP
-	prompt "kmod-bt-bnep............... BNEP protocol support"
+	prompt "BNEP protocol support"
 	tristate
 	tristate
-	default n
-	depends on ADK_KPACKAGE_KMOD_BT
+	select ADK_KPACKAGE_KMOD_BT
 	depends on ADK_KPACKAGE_KMOD_BT_L2CAP
 	depends on ADK_KPACKAGE_KMOD_BT_L2CAP
+	default n
 	help
 	help
 	  BNEP (Bluetooth Network Encapsulation Protocol) is Ethernet
 	  BNEP (Bluetooth Network Encapsulation Protocol) is Ethernet
 	  emulation layer on top of Bluetooth.  BNEP is required for
 	  emulation layer on top of Bluetooth.  BNEP is required for
 	  Bluetooth PAN (Personal Area Network).
 	  Bluetooth PAN (Personal Area Network).
 
 
 config ADK_KPACKAGE_KMOD_BT_HIDP
 config ADK_KPACKAGE_KMOD_BT_HIDP
-	prompt "kmod-bt-hidp............... HIDP protocol support"
+	prompt "HIDP protocol support"
 	tristate
 	tristate
-	default n
 	select ADK_KERNEL_INPUT
 	select ADK_KERNEL_INPUT
 	select ADK_KERNEL_HID
 	select ADK_KERNEL_HID
-	depends on ADK_KPACKAGE_KMOD_BT
+	select ADK_KPACKAGE_KMOD_BT
 	depends on ADK_KPACKAGE_KMOD_BT_L2CAP
 	depends on ADK_KPACKAGE_KMOD_BT_L2CAP
+	default n
 	help
 	help
 	  HIDP (Human Interface Device Protocol) is a transport layer
 	  HIDP (Human Interface Device Protocol) is a transport layer
 	  for HID reports.  HIDP is required for the Bluetooth Human
 	  for HID reports.  HIDP is required for the Bluetooth Human
 	  Interface Device Profile.
 	  Interface Device Profile.
 
 
-config ADK_KPACKAGE_KMOD_BT_HCIBTUSB
-	prompt "kmod-bt-hcibtusb.......... HCI USB driver"
+config ADK_KPACKAGE_KMOD_BT_HCIBTSDIO
+	prompt "HCI SDIO driver"
 	tristate
 	tristate
+	select ADK_KPACKAGE_KMOD_BT
+	depends on ADK_TARGET_WITH_SDIO
+	default y if ADK_TARGET_SYSTEM_CUBOX_I
 	default n
 	default n
-	depends on ADK_KPACKAGE_KMOD_BT
+	help
+	  Bluetooth HCI SDIO driver.
+	  This driver is required if you want to use Bluetooth devices with
+	  SDIO interface.
+
+config ADK_KPACKAGE_KMOD_BT_HCIBTUSB
+	prompt "HCI USB driver"
+	tristate
+	select ADK_KPACKAGE_KMOD_BT
 	depends on ADK_TARGET_WITH_USB
 	depends on ADK_TARGET_WITH_USB
+	default n
 	help
 	help
 	  Bluetooth HCI USB driver.
 	  Bluetooth HCI USB driver.
 	  This driver is required if you want to use Bluetooth devices with
 	  This driver is required if you want to use Bluetooth devices with
 	  USB interface.
 	  USB interface.
 
 
 config ADK_KPACKAGE_KMOD_BT_HCIUART
 config ADK_KPACKAGE_KMOD_BT_HCIUART
-	prompt "kmod-bt-hciuart........... HCI UART driver"
+	prompt "HCI UART driver"
 	tristate
 	tristate
+	select ADK_KPACKAGE_KMOD_BT
 	default n
 	default n
-	depends on ADK_KPACKAGE_KMOD_BT
 	help
 	help
 	  Bluetooth HCI UART driver.
 	  Bluetooth HCI UART driver.
 	  This driver is required if you want to use Bluetooth devices with
 	  This driver is required if you want to use Bluetooth devices with
@@ -100,24 +112,45 @@ config ADK_KPACKAGE_KMOD_BT_HCIUART
 	  UART based Bluetooth PCMCIA and CF devices like Xircom Credit Card 
 	  UART based Bluetooth PCMCIA and CF devices like Xircom Credit Card 
 	  adapter and BrainBoxes Bluetooth PC Card.
 	  adapter and BrainBoxes Bluetooth PC Card.
 
 
-config ADK_KPACKAGE_KMOD_BT_HCIBCM203X
-	prompt "kmod-bt-hcibcm203x........ HCI BCM203x USB driver"
+config ADK_KPACKAGE_KMOD_BT_MRVL
+	prompt "Marvell driver"
+	tristate
+	select ADK_KPACKAGE_KMOD_BT
+	default y if ADK_TARGET_SYSTEM_CUBOX_I
+	default n
+	help
+	  Bluetooth Marvell driver.
+
+config ADK_KPACKAGE_KMOD_BT_MRVL_SDIO
+	prompt "Marvell SDIO driver"
 	tristate
 	tristate
+	depends on ADK_KPACKAGE_KMOD_BT_MRVL
+	depends on ADK_KPACKAGE_KMOD_BT_HCIBTSDIO
+	depends on ADK_TARGET_WITH_SDIO
+	default y if ADK_TARGET_SYSTEM_CUBOX_I
 	default n
 	default n
+	help
+	  Bluetooth Marvell driver.
+
+config ADK_KPACKAGE_KMOD_BT_HCIBCM203X
+	prompt "HCI BCM203x USB driver"
+	tristate
 	select ADK_KPACKAGE_KMOD_FW_LOADER
 	select ADK_KPACKAGE_KMOD_FW_LOADER
 	select ADK_KPACKAGE_KMOD_BT_HCIBTUSB
 	select ADK_KPACKAGE_KMOD_BT_HCIBTUSB
-	depends on ADK_KPACKAGE_KMOD_BT
+	select ADK_KPACKAGE_KMOD_BT
 	depends on ADK_TARGET_WITH_USB
 	depends on ADK_TARGET_WITH_USB
+	default n
 	help
 	help
 	  Bluetooth HCI BCM203x USB driver.
 	  Bluetooth HCI BCM203x USB driver.
 	  This driver provides the firmware loading mechanism for the Broadcom
 	  This driver provides the firmware loading mechanism for the Broadcom
 	  Blutonium based devices.
 	  Blutonium based devices.
 
 
 config ADK_KPACKAGE_KMOD_BT_HCIBPA10X
 config ADK_KPACKAGE_KMOD_BT_HCIBPA10X
-	prompt "kmod-bt-hci-bpa10x......... HCI BPA10x USB driver"
+	prompt "HCI BPA10x USB driver"
 	tristate
 	tristate
+	select ADK_KPACKAGE_KMOD_BT
+	select ADK_KPACKAGE_KMOD_BT_HCIBTUSB
 	default n
 	default n
-	depends on ADK_KPACKAGE_KMOD_BT
 	help
 	help
 	  Bluetooth HCI BPA10x USB driver.
 	  Bluetooth HCI BPA10x USB driver.
 	  This driver provides support for the Digianswer BPA 100/105 Bluetooth
 	  This driver provides support for the Digianswer BPA 100/105 Bluetooth

+ 28 - 4
target/linux/config/Config.in.wireless

@@ -39,6 +39,9 @@ config ADK_KERNEL_ATH_CARDS
 config ADK_KERNEL_RTL_CARDS
 config ADK_KERNEL_RTL_CARDS
 	boolean
 	boolean
 
 
+config ADK_KERNEL_BCMA_POSSIBLE
+	boolean
+
 config ADK_KERNEL_RT2X00
 config ADK_KERNEL_RT2X00
 	boolean
 	boolean
 	select ADK_KPACKAGE_KMOD_RT2X00
 	select ADK_KPACKAGE_KMOD_RT2X00
@@ -57,9 +60,6 @@ config ADK_KERNEL_RT2800USB_RT55XX
 config ADK_KERNEL_RT2800USB_UNKNOWN
 config ADK_KERNEL_RT2800USB_UNKNOWN
 	boolean
 	boolean
 
 
-config ADK_KERNEL_MOD_CFG80211
-	tristate
-
 config ADK_KERNEL_MOD_LIB80211
 config ADK_KERNEL_MOD_LIB80211
 	select ADK_KPACKAGE_KMOD_CRYPTO_MICHAEL_MIC
 	select ADK_KPACKAGE_KMOD_CRYPTO_MICHAEL_MIC
 	tristate
 	tristate
@@ -83,12 +83,18 @@ config ADK_KERNEL_MAC80211_VERBOSE_DEBUG
 config ADK_KERNEL_MAC80211_DEBUGFS
 config ADK_KERNEL_MAC80211_DEBUGFS
 	boolean
 	boolean
 
 
+config ADK_KPACKAGE_KMOD_CFG80211
+	tristate
+	select ADK_KERNEL_WIRELESS
+	select ADK_KERNEL_WLAN_80211
+	select ADK_KPACKAGE_KMOD_RFKILL
+
 config ADK_KPACKAGE_KMOD_MAC80211
 config ADK_KPACKAGE_KMOD_MAC80211
 	tristate
 	tristate
 	select ADK_KERNEL_WIRELESS
 	select ADK_KERNEL_WIRELESS
 	select ADK_KERNEL_WLAN_80211
 	select ADK_KERNEL_WLAN_80211
-	select ADK_KERNEL_MOD_CFG80211
 	select ADK_KERNEL_MOD_LIB80211
 	select ADK_KERNEL_MOD_LIB80211
+	select ADK_KPACKAGE_KMOD_CFG80211
 	select ADK_KPACKAGE_KMOD_CRYPTO_AES
 	select ADK_KPACKAGE_KMOD_CRYPTO_AES
 	select ADK_KPACKAGE_KMOD_CRYPTO_ECB
 	select ADK_KPACKAGE_KMOD_CRYPTO_ECB
 	select ADK_KPACKAGE_KMOD_CRYPTO_ARC4
 	select ADK_KPACKAGE_KMOD_CRYPTO_ARC4
@@ -103,6 +109,24 @@ config ADK_DEBUG_MAC80211
 menu "Wireless network card support"
 menu "Wireless network card support"
 depends on ADK_TARGET_WITH_CARDBUS || ADK_TARGET_WITH_PCMCIA || ADK_TARGET_WITH_MINIPCI || ADK_TARGET_WITH_PCI || ADK_TARGET_WITH_USB || ADK_TARGET_WITH_SSB || ADK_TARGET_WITH_AHB || ADK_TARGET_WITH_SDIO
 depends on ADK_TARGET_WITH_CARDBUS || ADK_TARGET_WITH_PCMCIA || ADK_TARGET_WITH_MINIPCI || ADK_TARGET_WITH_PCI || ADK_TARGET_WITH_USB || ADK_TARGET_WITH_SSB || ADK_TARGET_WITH_AHB || ADK_TARGET_WITH_SDIO
 
 
+config ADK_KERNEL_BRCMFMAC_SDIO
+	boolean
+
+config ADK_KPACKAGE_KMOD_BRCMFMAC
+	prompt "Broadcom brcmfmac wireless driver"
+	tristate
+	select ADK_KERNEL_WIRELESS
+	select ADK_KERNEL_WLAN_80211
+	select ADK_KPACKAGE_KMOD_CFG80211
+	select ADK_PACKAGE_BRCMFMAC_FIRMWARE
+	select ADK_KERNEL_BCMA_POSSIBLE
+	select ADK_KERNEL_BRCMFMAC_SDIO
+	depends on ADK_TARGET_WITH_SDIO
+	default y if ADK_TARGET_SYSTEM_CUBOX_I
+	default n
+	help
+	  Driver for Broadcom wireless.
+
 config ADK_KERNEL_ATH6KL_SDIO
 config ADK_KERNEL_ATH6KL_SDIO
 	boolean
 	boolean