[submodule "openembedded-core"]
path = openembedded-core
- url = git://git.openembedded.org/openembedded-core-contrib
+ url = git://git.openembedded.org/openembedded-core
[submodule "meta-openembedded"]
path = meta-openembedded
- url = git://git.openembedded.org/meta-openembedded-contrib
+ url = git://git.openembedded.org/meta-openembedded
[submodule "bitbake"]
path = bitbake
url = git://git.openembedded.org/bitbake
$(CURDIR)/meta-bsp/common \
$(CURDIR)/meta-openvuplus \
$(CURDIR)/meta-openembedded/meta-oe \
+ $(CURDIR)/meta-openembedded/meta-networking \
+ $(CURDIR)/meta-openembedded/meta-multimedia \
+ $(CURDIR)/meta-openembedded/meta-filesystems \
$(CURDIR)/openembedded-core/meta
CONFFILES = \
-Subproject commit 270a05b0b4ba0959fe0624d2a4885d7b70426da5
+Subproject commit ef2bf63e56b87e19d1a9059dd2d81a9a1a537254
+++ /dev/null
-#
-# Automatically generated file; DO NOT EDIT.
-# Linux/mips 3.1.1 Kernel Configuration
-#
-CONFIG_MIPS=y
-
-#
-# Machine selection
-#
-# CONFIG_MIPS_ALCHEMY is not set
-# CONFIG_AR7 is not set
-# CONFIG_ATH79 is not set
-# CONFIG_BCM47XX is not set
-# CONFIG_BCM63XX is not set
-CONFIG_BRCMSTB=y
-# CONFIG_MIPS_COBALT is not set
-# CONFIG_MACH_DECSTATION is not set
-# CONFIG_MACH_JAZZ is not set
-# CONFIG_MACH_JZ4740 is not set
-# CONFIG_LANTIQ is not set
-# CONFIG_LASAT is not set
-# CONFIG_MACH_LOONGSON is not set
-# CONFIG_MIPS_MALTA is not set
-# CONFIG_MIPS_SIM is not set
-# CONFIG_NEC_MARKEINS is not set
-# CONFIG_MACH_VR41XX is not set
-# CONFIG_NXP_STB220 is not set
-# CONFIG_NXP_STB225 is not set
-# CONFIG_PNX8550_JBS is not set
-# CONFIG_PNX8550_STB810 is not set
-# CONFIG_PMC_MSP is not set
-# CONFIG_PMC_YOSEMITE is not set
-# CONFIG_POWERTV is not set
-# CONFIG_SGI_IP22 is not set
-# CONFIG_SGI_IP27 is not set
-# CONFIG_SGI_IP28 is not set
-# CONFIG_SGI_IP32 is not set
-# CONFIG_SIBYTE_CRHINE is not set
-# CONFIG_SIBYTE_CARMEL is not set
-# CONFIG_SIBYTE_CRHONE is not set
-# CONFIG_SIBYTE_RHONE is not set
-# CONFIG_SIBYTE_SWARM is not set
-# CONFIG_SIBYTE_LITTLESUR is not set
-# CONFIG_SIBYTE_SENTOSA is not set
-# CONFIG_SIBYTE_BIGSUR is not set
-# CONFIG_SNI_RM is not set
-# CONFIG_MACH_TX39XX is not set
-# CONFIG_MACH_TX49XX is not set
-# CONFIG_MIKROTIK_RB532 is not set
-# CONFIG_WR_PPMC is not set
-# CONFIG_CAVIUM_OCTEON_SIMULATOR is not set
-# CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD is not set
-# CONFIG_NLM_XLR_BOARD is not set
-# CONFIG_ALCHEMY_GPIO_INDIRECT is not set
-
-#
-# Broadcom STB options
-#
-# CONFIG_BRCM_LEGACY is not set
-# CONFIG_BCM3548B0 is not set
-# CONFIG_BCM35125A0 is not set
-# CONFIG_BCM35230C0 is not set
-# CONFIG_BCM35330A0 is not set
-# CONFIG_BCM7125C0 is not set
-# CONFIG_BCM7135A0 is not set
-# CONFIG_BCM7231A0 is not set
-# CONFIG_BCM7325B0 is not set
-CONFIG_BCM7335B0=y
-# CONFIG_BCM7340B0 is not set
-# CONFIG_BCM7342B0 is not set
-# CONFIG_BCM7344A0 is not set
-# CONFIG_BCM7346A0 is not set
-# CONFIG_BCM7358A0 is not set
-# CONFIG_BCM7405B0 is not set
-# CONFIG_BCM7405D0 is not set
-# CONFIG_BCM7408B0 is not set
-# CONFIG_BCM7420C0 is not set
-# CONFIG_BCM7422A0 is not set
-# CONFIG_BCM7425A0 is not set
-# CONFIG_BCM7468B0 is not set
-# CONFIG_BCM7550A0 is not set
-# CONFIG_BCM7550B0 is not set
-# CONFIG_BCM7552A0 is not set
-# CONFIG_BCM7601B0 is not set
-# CONFIG_BCM7630B0 is not set
-# CONFIG_BCM7631B0 is not set
-# CONFIG_BCM7635A0 is not set
-# CONFIG_BCM7640A0 is not set
-
-#
-# Memory map
-#
-# CONFIG_BRCM_UPPER_MEMORY is not set
-# CONFIG_BRCM_OVERRIDE_RAM_SIZE is not set
-
-#
-# Onchip peripherals
-#
-CONFIG_BRCM_CONSOLE_DEVICE=0
-CONFIG_BRCM_FLASH=y
-CONFIG_BRCM_FIXED_MTD_PARTITIONS=y
-CONFIG_MTD_BRCMNAND=y
-CONFIG_BRCMNAND_MTD_EXTENSION=y
-# CONFIG_MTD_BRCMNAND_VERIFY_WRITE is not set
-# CONFIG_MTD_BRCMNAND_CORRECTABLE_ERR_HANDLING is not set
-CONFIG_BCMEMAC=y
-CONFIG_SATA_BRCMSTB=y
-CONFIG_BRCM_USB=y
-# CONFIG_BRCM_OVERRIDE_USB is not set
-CONFIG_BRCM_PM=y
-CONFIG_CSRC_UPG=y
-
-#
-# Miscellaneous options
-#
-# CONFIG_BRCM_FORCE_DOCSIS is not set
-CONFIG_BRCM_LIBGCC=y
-# CONFIG_BRCM_SCSI_NO_RW10_RETRIES is not set
-# CONFIG_BRCM_DEBUG_OPTIONS is not set
-CONFIG_BMIPS4380=y
-CONFIG_BRCM_HAS_16550=y
-CONFIG_BRCM_HAS_UARTA=y
-CONFIG_BRCM_HAS_UARTB=y
-CONFIG_BRCM_HAS_UARTC=y
-CONFIG_BRCM_UARTA_IS_16550=y
-CONFIG_BRCM_UARTB_IS_16550=y
-CONFIG_BRCM_UARTC_IS_16550=y
-CONFIG_BRCM_HAS_PCI23=y
-CONFIG_BRCM_HAS_EMAC_0=y
-CONFIG_BRCM_HAS_EMAC_1=y
-CONFIG_BRCM_HAS_SATA=y
-CONFIG_BRCM_HAS_SATA2=y
-# CONFIG_BRCM_SATA_75MHZ_PLL is not set
-# CONFIG_BRCM_SATA_SINGLE_PORT is not set
-CONFIG_BRCM_HAS_NOR=y
-CONFIG_BRCM_HAS_NAND_MINOR_1=y
-CONFIG_BRCM_HAS_NAND_MAJOR_2=y
-CONFIG_BRCMNAND_MAJOR_VERS=2
-CONFIG_BRCMNAND_MINOR_VERS=1
-CONFIG_BRCM_HAS_NAND=y
-CONFIG_BRCM_CPU_DIV=y
-CONFIG_BRCM_HAS_UPPER_MEMORY=y
-CONFIG_BRCM_HAS_1GB_MEMC0=y
-CONFIG_BRCM_PLATFORM_DEFAULTS=y
-CONFIG_BCM7335=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-CONFIG_ARCH_SUPPORTS_OPROFILE=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CMOS_UPDATE=y
-CONFIG_SCHED_OMIT_FRAME_POINTER=y
-CONFIG_BOOT_RAW=y
-CONFIG_CEVT_R4K_LIB=y
-CONFIG_CEVT_R4K=y
-CONFIG_CFE=y
-# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set
-CONFIG_DMA_NONCOHERENT=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_SYS_HAS_EARLY_PRINTK=y
-# CONFIG_HOTPLUG_CPU is not set
-CONFIG_SYS_SUPPORTS_HOTPLUG_CPU=y
-# CONFIG_MIPS_MACHINE is not set
-# CONFIG_NO_IOPORT is not set
-# CONFIG_CPU_BIG_ENDIAN is not set
-CONFIG_CPU_LITTLE_ENDIAN=y
-CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
-CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
-CONFIG_IRQ_CPU=y
-CONFIG_SWAP_IO_SPACE=y
-CONFIG_MIPS_L1_CACHE_SHIFT=5
-
-#
-# CPU selection
-#
-CONFIG_CPU_MIPS32_R1=y
-CONFIG_SYS_HAS_CPU_MIPS32_R1=y
-CONFIG_WEAK_ORDERING=y
-CONFIG_CPU_MIPS32=y
-CONFIG_CPU_MIPSR1=y
-CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
-CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
-CONFIG_HARDWARE_WATCHPOINTS=y
-
-#
-# Kernel type
-#
-CONFIG_32BIT=y
-CONFIG_PAGE_SIZE_4KB=y
-# CONFIG_PAGE_SIZE_16KB is not set
-# CONFIG_PAGE_SIZE_64KB is not set
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_CPU_HAS_PREFETCH=y
-CONFIG_MIPS_MT_DISABLED=y
-# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
-CONFIG_CPU_HAS_SYNC=y
-CONFIG_CPU_SUPPORTS_HIGHMEM=y
-CONFIG_ARCH_FLATMEM_ENABLE=y
-CONFIG_ARCH_POPULATES_NODE_MAP=y
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-# CONFIG_COMPACTION is not set
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-# CONFIG_CLEANCACHE is not set
-CONFIG_SMP=y
-CONFIG_SYS_SUPPORTS_SMP=y
-CONFIG_NR_CPUS=2
-CONFIG_TICK_ONESHOT=y
-# CONFIG_NO_HZ is not set
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-# CONFIG_HZ_48 is not set
-# CONFIG_HZ_100 is not set
-# CONFIG_HZ_128 is not set
-# CONFIG_HZ_250 is not set
-# CONFIG_HZ_256 is not set
-CONFIG_HZ_1000=y
-# CONFIG_HZ_1024 is not set
-CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
-CONFIG_HZ=1000
-CONFIG_PREEMPT_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-# CONFIG_KEXEC is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_USE_OF is not set
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_HAVE_IRQ_WORK=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_DEFAULT_HOSTNAME="(none)"
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-# CONFIG_POSIX_MQUEUE is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_FHANDLE is not set
-# CONFIG_TASKSTATS is not set
-# CONFIG_AUDIT is not set
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_GENERIC_IRQ_SHOW=y
-CONFIG_IRQ_FORCED_THREADING=y
-
-#
-# RCU Subsystem
-#
-CONFIG_TREE_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_RCU_TRACE is not set
-CONFIG_RCU_FANOUT=32
-# CONFIG_RCU_FANOUT_EXACT is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_CGROUPS is not set
-# CONFIG_NAMESPACES is not set
-# CONFIG_SCHED_AUTOGROUP is not set
-CONFIG_SYSFS_DEPRECATED=y
-CONFIG_SYSFS_DEPRECATED_V2=y
-CONFIG_RELAY=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_RD_GZIP=y
-# CONFIG_RD_BZIP2 is not set
-# CONFIG_RD_LZMA is not set
-# CONFIG_RD_XZ is not set
-# CONFIG_RD_LZO is not set
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EXPERT=y
-CONFIG_SYSCTL_SYSCALL=y
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_EMBEDDED=y
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-# CONFIG_PERF_EVENTS is not set
-# CONFIG_PERF_COUNTERS is not set
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_PCI_QUIRKS=y
-CONFIG_COMPAT_BRK=y
-CONFIG_SLAB=y
-# CONFIG_SLUB is not set
-# CONFIG_SLOB is not set
-# CONFIG_PROFILING is not set
-CONFIG_HAVE_OPROFILE=y
-# CONFIG_KPROBES is not set
-# CONFIG_JUMP_LABEL is not set
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_DMA_ATTRS=y
-CONFIG_USE_GENERIC_SMP_HELPERS=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-CONFIG_HAVE_ARCH_JUMP_LABEL=y
-
-#
-# GCOV-based kernel profiling
-#
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-CONFIG_MODULE_FORCE_LOAD=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODULE_FORCE_UNLOAD is not set
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_STOP_MACHINE=y
-CONFIG_BLOCK=y
-CONFIG_LBDAF=y
-# CONFIG_BLK_DEV_BSG is not set
-# CONFIG_BLK_DEV_BSGLIB is not set
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-# CONFIG_IOSCHED_DEADLINE is not set
-CONFIG_IOSCHED_CFQ=y
-CONFIG_DEFAULT_CFQ=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-CONFIG_MUTEX_SPIN_ON_OWNER=y
-# CONFIG_FREEZER is not set
-
-#
-# Bus options (PCI, PCMCIA, EISA, ISA, TC)
-#
-CONFIG_HW_HAS_PCI=y
-CONFIG_PCI=y
-CONFIG_PCI_DOMAINS=y
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-# CONFIG_PCI_DEBUG is not set
-# CONFIG_PCI_STUB is not set
-# CONFIG_PCI_IOV is not set
-CONFIG_MMU=y
-# CONFIG_PCCARD is not set
-# CONFIG_HOTPLUG_PCI is not set
-# CONFIG_RAPIDIO is not set
-
-#
-# Executable file formats
-#
-CONFIG_BINFMT_ELF=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-# CONFIG_HAVE_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-CONFIG_TRAD_SIGNALS=y
-
-#
-# Power management options
-#
-CONFIG_ARCH_HIBERNATION_POSSIBLE=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_SUSPEND is not set
-# CONFIG_HIBERNATION is not set
-# CONFIG_PM_RUNTIME is not set
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-# CONFIG_XFRM_USER is not set
-# CONFIG_XFRM_SUB_POLICY is not set
-# CONFIG_XFRM_MIGRATE is not set
-# CONFIG_XFRM_STATISTICS is not set
-CONFIG_XFRM_IPCOMP=m
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-# CONFIG_IP_ADVANCED_ROUTER is not set
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IP_PNP_RARP=y
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE_DEMUX is not set
-# CONFIG_IP_MROUTE is not set
-# CONFIG_ARPD is not set
-# CONFIG_SYN_COOKIES is not set
-# CONFIG_INET_AH is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_XFRM_TUNNEL is not set
-CONFIG_INET_TUNNEL=m
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_LRO is not set
-CONFIG_INET_DIAG=y
-CONFIG_INET_TCP_DIAG=y
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
-CONFIG_IPV6=m
-CONFIG_IPV6_PRIVACY=y
-CONFIG_IPV6_ROUTER_PREF=y
-# CONFIG_IPV6_ROUTE_INFO is not set
-# CONFIG_IPV6_OPTIMISTIC_DAD is not set
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-CONFIG_INET6_IPCOMP=m
-CONFIG_IPV6_MIP6=m
-CONFIG_INET6_XFRM_TUNNEL=m
-CONFIG_INET6_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_TRANSPORT=m
-CONFIG_INET6_XFRM_MODE_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_BEET=m
-CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
-CONFIG_IPV6_SIT=m
-# CONFIG_IPV6_SIT_6RD is not set
-CONFIG_IPV6_NDISC_NODETYPE=y
-CONFIG_IPV6_TUNNEL=m
-# CONFIG_IPV6_MULTIPLE_TABLES is not set
-CONFIG_IPV6_MROUTE=y
-# CONFIG_IPV6_MROUTE_MULTIPLE_TABLES is not set
-CONFIG_IPV6_PIMSM_V2=y
-# CONFIG_NETWORK_SECMARK is not set
-# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
-# CONFIG_NETFILTER is not set
-# CONFIG_IP_DCCP is not set
-# CONFIG_IP_SCTP is not set
-# CONFIG_RDS is not set
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-# CONFIG_L2TP is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_NET_DSA is not set
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-# CONFIG_PHONET is not set
-# CONFIG_IEEE802154 is not set
-# CONFIG_NET_SCHED is not set
-# CONFIG_DCB is not set
-# CONFIG_BATMAN_ADV is not set
-CONFIG_RPS=y
-CONFIG_RFS_ACCEL=y
-CONFIG_XPS=y
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_CAN is not set
-# CONFIG_IRDA is not set
-CONFIG_BT=y
-CONFIG_BT_L2CAP=y
-# CONFIG_BT_SCO is not set
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-# CONFIG_BT_BNEP_MC_FILTER is not set
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_HIDP=y
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_HCIBTUSB=y
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
-# CONFIG_BT_HCIUART_ATH3K is not set
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIVHCI=m
-# CONFIG_BT_MRVL is not set
-# CONFIG_BT_ATH3K is not set
-# CONFIG_AF_RXRPC is not set
-CONFIG_WIRELESS=y
-CONFIG_WIRELESS_EXT=y
-CONFIG_WEXT_CORE=y
-CONFIG_WEXT_PROC=y
-CONFIG_WEXT_SPY=y
-CONFIG_WEXT_PRIV=y
-CONFIG_CFG80211=y
-# CONFIG_NL80211_TESTMODE is not set
-# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
-# CONFIG_CFG80211_REG_DEBUG is not set
-CONFIG_CFG80211_DEFAULT_PS=y
-# CONFIG_CFG80211_INTERNAL_REGDB is not set
-CONFIG_CFG80211_WEXT=y
-CONFIG_WIRELESS_EXT_SYSFS=y
-CONFIG_LIB80211=y
-CONFIG_LIB80211_CRYPT_WEP=m
-CONFIG_LIB80211_CRYPT_CCMP=m
-CONFIG_LIB80211_CRYPT_TKIP=m
-# CONFIG_LIB80211_DEBUG is not set
-CONFIG_MAC80211=m
-CONFIG_MAC80211_HAS_RC=y
-# CONFIG_MAC80211_RC_PID is not set
-CONFIG_MAC80211_RC_MINSTREL=y
-CONFIG_MAC80211_RC_MINSTREL_HT=y
-CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
-CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
-# CONFIG_MAC80211_MESH is not set
-CONFIG_MAC80211_LEDS=y
-# CONFIG_MAC80211_DEBUG_MENU is not set
-# CONFIG_WIMAX is not set
-# CONFIG_RFKILL is not set
-# CONFIG_NET_9P is not set
-# CONFIG_CAIF is not set
-# CONFIG_CEPH_LIB is not set
-# CONFIG_NFC is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
-# CONFIG_DEVTMPFS is not set
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
-CONFIG_FIRMWARE_IN_KERNEL=y
-CONFIG_EXTRA_FIRMWARE=""
-# CONFIG_DEBUG_DRIVER is not set
-# CONFIG_DEBUG_DEVRES is not set
-# CONFIG_SYS_HYPERVISOR is not set
-# CONFIG_CONNECTOR is not set
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_TESTS is not set
-# CONFIG_MTD_REDBOOT_PARTS is not set
-# CONFIG_MTD_CMDLINE_PARTS is not set
-# CONFIG_MTD_AR7_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLKDEVS=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-# CONFIG_INFTL is not set
-# CONFIG_RFD_FTL is not set
-# CONFIG_SSFDC is not set
-# CONFIG_SM_FTL is not set
-# CONFIG_MTD_OOPS is not set
-# CONFIG_MTD_SWAP is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=y
-CONFIG_MTD_JEDECPROBE=y
-CONFIG_MTD_GEN_PROBE=y
-# CONFIG_MTD_CFI_ADV_OPTIONS is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-CONFIG_MTD_CFI_INTELEXT=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_CFI_STAA=y
-CONFIG_MTD_CFI_UTIL=y
-# CONFIG_MTD_RAM is not set
-CONFIG_MTD_ROM=y
-CONFIG_MTD_ABSENT=y
-
-#
-# Mapping drivers for chip access
-#
-# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-CONFIG_MTD_PHYSMAP=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_INTEL_VR_NOR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_PMC551 is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLOCK2MTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOC2001PLUS is not set
-CONFIG_MTD_NAND_ECC=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_BCH is not set
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_DENALI is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_RICOH is not set
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_MTD_NAND_CAFE is not set
-# CONFIG_MTD_NAND_NANDSIM is not set
-# CONFIG_MTD_NAND_PLATFORM is not set
-# CONFIG_MTD_ALAUDA is not set
-# CONFIG_MTD_ONENAND is not set
-
-#
-# LPDDR flash memory drivers
-#
-# CONFIG_MTD_LPDDR is not set
-CONFIG_MTD_UBI=y
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-# CONFIG_MTD_UBI_GLUEBI is not set
-# CONFIG_MTD_UBI_DEBUG is not set
-# CONFIG_PARPORT is not set
-CONFIG_BLK_DEV=y
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_UMEM is not set
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-
-#
-# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
-#
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_SX8 is not set
-# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=m
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=4096
-# CONFIG_BLK_DEV_XIP is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-# CONFIG_BLK_DEV_HD is not set
-# CONFIG_BLK_DEV_RBD is not set
-# CONFIG_SENSORS_LIS3LV02D is not set
-CONFIG_MISC_DEVICES=y
-# CONFIG_AD525X_DPOT is not set
-# CONFIG_PHANTOM is not set
-# CONFIG_INTEL_MID_PTI is not set
-# CONFIG_SGI_IOC4 is not set
-# CONFIG_TIFM_CORE is not set
-# CONFIG_ICS932S401 is not set
-# CONFIG_ENCLOSURE_SERVICES is not set
-# CONFIG_HP_ILO is not set
-# CONFIG_APDS9802ALS is not set
-# CONFIG_ISL29003 is not set
-# CONFIG_ISL29020 is not set
-# CONFIG_SENSORS_TSL2550 is not set
-# CONFIG_SENSORS_BH1780 is not set
-# CONFIG_SENSORS_BH1770 is not set
-# CONFIG_SENSORS_APDS990X is not set
-# CONFIG_HMC6352 is not set
-# CONFIG_DS1682 is not set
-# CONFIG_BMP085 is not set
-# CONFIG_PCH_PHUB is not set
-# CONFIG_USB_SWITCH_FSA9480 is not set
-# CONFIG_C2PORT is not set
-
-#
-# EEPROM support
-#
-# CONFIG_EEPROM_AT24 is not set
-# CONFIG_EEPROM_LEGACY is not set
-# CONFIG_EEPROM_MAX6875 is not set
-CONFIG_EEPROM_93CX6=y
-# CONFIG_CB710_CORE is not set
-
-#
-# Texas Instruments shared transport line discipline
-#
-# CONFIG_SENSORS_LIS3_I2C is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-# CONFIG_SCSI_TGT is not set
-# CONFIG_SCSI_NETLINK is not set
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-CONFIG_BLK_DEV_SR=y
-# CONFIG_BLK_DEV_SR_VENDOR is not set
-CONFIG_CHR_DEV_SG=y
-# CONFIG_CHR_DEV_SCH is not set
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-CONFIG_SCSI_WAIT_SCAN=m
-
-#
-# SCSI Transports
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_ISCSI_ATTRS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_ISCSI_TCP is not set
-# CONFIG_ISCSI_BOOT_SYSFS is not set
-# CONFIG_SCSI_CXGB3_ISCSI is not set
-# CONFIG_SCSI_CXGB4_ISCSI is not set
-# CONFIG_SCSI_BNX2_ISCSI is not set
-# CONFIG_SCSI_BNX2X_FCOE is not set
-# CONFIG_BE2ISCSI is not set
-# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
-# CONFIG_SCSI_HPSA is not set
-# CONFIG_SCSI_3W_9XXX is not set
-# CONFIG_SCSI_3W_SAS is not set
-# CONFIG_SCSI_ACARD is not set
-# CONFIG_SCSI_AACRAID is not set
-# CONFIG_SCSI_AIC7XXX is not set
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_AIC79XX is not set
-# CONFIG_SCSI_AIC94XX is not set
-# CONFIG_SCSI_MVSAS is not set
-# CONFIG_SCSI_DPT_I2O is not set
-# CONFIG_SCSI_ADVANSYS is not set
-# CONFIG_SCSI_ARCMSR is not set
-# CONFIG_MEGARAID_NEWGEN is not set
-# CONFIG_MEGARAID_LEGACY is not set
-# CONFIG_MEGARAID_SAS is not set
-# CONFIG_SCSI_MPT2SAS is not set
-# CONFIG_SCSI_HPTIOP is not set
-# CONFIG_LIBFC is not set
-# CONFIG_LIBFCOE is not set
-# CONFIG_FCOE is not set
-# CONFIG_SCSI_DMX3191D is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_IPS is not set
-# CONFIG_SCSI_INITIO is not set
-# CONFIG_SCSI_INIA100 is not set
-# CONFIG_SCSI_STEX is not set
-# CONFIG_SCSI_SYM53C8XX_2 is not set
-# CONFIG_SCSI_IPR is not set
-# CONFIG_SCSI_QLOGIC_1280 is not set
-# CONFIG_SCSI_QLA_FC is not set
-# CONFIG_SCSI_QLA_ISCSI is not set
-# CONFIG_SCSI_LPFC is not set
-# CONFIG_SCSI_DC395x is not set
-# CONFIG_SCSI_DC390T is not set
-# CONFIG_SCSI_NSP32 is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_PMCRAID is not set
-# CONFIG_SCSI_PM8001 is not set
-# CONFIG_SCSI_SRP is not set
-# CONFIG_SCSI_BFA_FC is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR is not set
-CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
-CONFIG_ATA_VERBOSE_ERROR=y
-CONFIG_SATA_PMP=y
-
-#
-# Controllers with non-SFF native interface
-#
-# CONFIG_SATA_AHCI is not set
-# CONFIG_SATA_AHCI_PLATFORM is not set
-# CONFIG_SATA_INIC162X is not set
-# CONFIG_SATA_ACARD_AHCI is not set
-# CONFIG_SATA_SIL24 is not set
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-# CONFIG_PDC_ADMA is not set
-# CONFIG_SATA_QSTOR is not set
-# CONFIG_SATA_SX4 is not set
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-# CONFIG_ATA_PIIX is not set
-# CONFIG_SATA_MV is not set
-# CONFIG_SATA_NV is not set
-# CONFIG_SATA_PROMISE is not set
-# CONFIG_SATA_SIL is not set
-# CONFIG_SATA_SIS is not set
-# CONFIG_SATA_SVW is not set
-# CONFIG_SATA_ULI is not set
-# CONFIG_SATA_VIA is not set
-# CONFIG_SATA_VITESSE is not set
-
-#
-# PATA SFF controllers with BMDMA
-#
-# CONFIG_PATA_ALI is not set
-# CONFIG_PATA_AMD is not set
-# CONFIG_PATA_ARTOP is not set
-# CONFIG_PATA_ATIIXP is not set
-# CONFIG_PATA_ATP867X is not set
-# CONFIG_PATA_CMD64X is not set
-# CONFIG_PATA_CS5520 is not set
-# CONFIG_PATA_CS5530 is not set
-# CONFIG_PATA_CS5536 is not set
-# CONFIG_PATA_CYPRESS is not set
-# CONFIG_PATA_EFAR is not set
-# CONFIG_PATA_HPT366 is not set
-# CONFIG_PATA_HPT37X is not set
-# CONFIG_PATA_HPT3X2N is not set
-# CONFIG_PATA_HPT3X3 is not set
-# CONFIG_PATA_IT8213 is not set
-# CONFIG_PATA_IT821X is not set
-# CONFIG_PATA_JMICRON is not set
-# CONFIG_PATA_MARVELL is not set
-# CONFIG_PATA_NETCELL is not set
-# CONFIG_PATA_NINJA32 is not set
-# CONFIG_PATA_NS87415 is not set
-# CONFIG_PATA_OLDPIIX is not set
-# CONFIG_PATA_OPTIDMA is not set
-# CONFIG_PATA_PDC2027X is not set
-# CONFIG_PATA_PDC_OLD is not set
-# CONFIG_PATA_RADISYS is not set
-# CONFIG_PATA_RDC is not set
-# CONFIG_PATA_SC1200 is not set
-# CONFIG_PATA_SCH is not set
-# CONFIG_PATA_SERVERWORKS is not set
-# CONFIG_PATA_SIL680 is not set
-# CONFIG_PATA_SIS is not set
-# CONFIG_PATA_TOSHIBA is not set
-# CONFIG_PATA_TRIFLEX is not set
-# CONFIG_PATA_VIA is not set
-# CONFIG_PATA_WINBOND is not set
-
-#
-# PIO-only SFF controllers
-#
-# CONFIG_PATA_CMD640_PCI is not set
-# CONFIG_PATA_MPIIX is not set
-# CONFIG_PATA_NS87410 is not set
-# CONFIG_PATA_OPTI is not set
-# CONFIG_PATA_PLATFORM is not set
-# CONFIG_PATA_RZ1000 is not set
-
-#
-# Generic fallback / legacy drivers
-#
-# CONFIG_ATA_GENERIC is not set
-# CONFIG_PATA_LEGACY is not set
-# CONFIG_MD is not set
-# CONFIG_TARGET_CORE is not set
-# CONFIG_FUSION is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-# CONFIG_FIREWIRE is not set
-# CONFIG_FIREWIRE_NOSY is not set
-# CONFIG_I2O is not set
-CONFIG_NETDEVICES=y
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_MACVLAN is not set
-# CONFIG_EQUALIZER is not set
-CONFIG_TUN=m
-# CONFIG_VETH is not set
-# CONFIG_ARCNET is not set
-CONFIG_MII=y
-# CONFIG_PHYLIB is not set
-CONFIG_NET_ETHERNET=y
-# CONFIG_AX88796 is not set
-# CONFIG_HAPPYMEAL is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_CASSINI is not set
-# CONFIG_NET_VENDOR_3COM is not set
-# CONFIG_SMC91X is not set
-# CONFIG_DM9000 is not set
-# CONFIG_ETHOC is not set
-# CONFIG_SMSC911X is not set
-# CONFIG_DNET is not set
-# CONFIG_NET_TULIP is not set
-# CONFIG_HP100 is not set
-# CONFIG_IBM_NEW_EMAC_ZMII is not set
-# CONFIG_IBM_NEW_EMAC_RGMII is not set
-# CONFIG_IBM_NEW_EMAC_TAH is not set
-# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
-# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
-# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
-# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
-# CONFIG_NET_PCI is not set
-# CONFIG_B44 is not set
-# CONFIG_KS8851_MLL is not set
-# CONFIG_ATL2 is not set
-CONFIG_NETDEV_1000=y
-# CONFIG_ACENIC is not set
-# CONFIG_DL2K is not set
-# CONFIG_E1000 is not set
-# CONFIG_E1000E is not set
-# CONFIG_IP1000 is not set
-# CONFIG_IGB is not set
-# CONFIG_IGBVF is not set
-# CONFIG_NS83820 is not set
-# CONFIG_HAMACHI is not set
-# CONFIG_YELLOWFIN is not set
-# CONFIG_R8169 is not set
-# CONFIG_SIS190 is not set
-# CONFIG_SKGE is not set
-# CONFIG_SKY2 is not set
-# CONFIG_VIA_VELOCITY is not set
-# CONFIG_TIGON3 is not set
-# CONFIG_BNX2 is not set
-# CONFIG_CNIC is not set
-# CONFIG_QLA3XXX is not set
-# CONFIG_ATL1 is not set
-# CONFIG_ATL1E is not set
-# CONFIG_ATL1C is not set
-# CONFIG_JME is not set
-# CONFIG_STMMAC_ETH is not set
-# CONFIG_PCH_GBE is not set
-# CONFIG_NETDEV_10000 is not set
-# CONFIG_TR is not set
-CONFIG_WLAN=y
-CONFIG_LIBERTAS_THINFIRM=m
-# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
-CONFIG_LIBERTAS_THINFIRM_USB=m
-# CONFIG_ATMEL is not set
-CONFIG_AT76C50X_USB=m
-# CONFIG_PRISM54 is not set
-CONFIG_USB_ZD1201=y
-# CONFIG_USB_NET_RNDIS_WLAN is not set
-# CONFIG_RTL8180 is not set
-CONFIG_RTL8187=m
-CONFIG_RTL8187_LEDS=y
-# CONFIG_ADM8211 is not set
-# CONFIG_MAC80211_HWSIM is not set
-# CONFIG_MWL8K is not set
-CONFIG_ATH_COMMON=m
-# CONFIG_ATH_DEBUG is not set
-# CONFIG_ATH5K is not set
-# CONFIG_ATH5K_PCI is not set
-CONFIG_ATH9K_HW=m
-CONFIG_ATH9K_COMMON=m
-CONFIG_ATH9K=m
-# CONFIG_ATH9K_PCI is not set
-# CONFIG_ATH9K_AHB is not set
-CONFIG_ATH9K_RATE_CONTROL=y
-CONFIG_ATH9K_HTC=m
-CONFIG_CARL9170=m
-CONFIG_CARL9170_LEDS=y
-CONFIG_CARL9170_WPC=y
-# CONFIG_B43 is not set
-# CONFIG_B43LEGACY is not set
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
-# CONFIG_HOSTAP_PLX is not set
-# CONFIG_HOSTAP_PCI is not set
-# CONFIG_IPW2100 is not set
-# CONFIG_IPW2200 is not set
-# CONFIG_IWLAGN is not set
-# CONFIG_IWL4965 is not set
-# CONFIG_IWL3945 is not set
-CONFIG_LIBERTAS=m
-# CONFIG_LIBERTAS_USB is not set
-# CONFIG_LIBERTAS_DEBUG is not set
-# CONFIG_LIBERTAS_MESH is not set
-# CONFIG_HERMES is not set
-CONFIG_P54_COMMON=m
-# CONFIG_P54_USB is not set
-# CONFIG_P54_PCI is not set
-CONFIG_P54_LEDS=y
-CONFIG_RT2X00=m
-# CONFIG_RT2400PCI is not set
-# CONFIG_RT2500PCI is not set
-# CONFIG_RT61PCI is not set
-# CONFIG_RT2800PCI is not set
-CONFIG_RT2500USB=m
-CONFIG_RT73USB=m
-CONFIG_RT2800USB=m
-CONFIG_RT2800USB_RT33XX=y
-CONFIG_RT2800USB_RT35XX=y
-CONFIG_RT2800USB_RT53XX=y
-CONFIG_RT2800USB_UNKNOWN=y
-CONFIG_RT2800_LIB=m
-CONFIG_RT2X00_LIB_USB=m
-CONFIG_RT2X00_LIB=m
-CONFIG_RT2X00_LIB_FIRMWARE=y
-CONFIG_RT2X00_LIB_CRYPTO=y
-CONFIG_RT2X00_LIB_LEDS=y
-# CONFIG_RT2X00_DEBUG is not set
-# CONFIG_RTL8192CE is not set
-# CONFIG_RTL8192SE is not set
-# CONFIG_RTL8192DE is not set
-CONFIG_RTL8192CU=m
-CONFIG_RTLWIFI=m
-CONFIG_RTL8192C_COMMON=m
-CONFIG_WL1251=m
-# CONFIG_WL12XX_MENU is not set
-CONFIG_ZD1211RW=m
-# CONFIG_ZD1211RW_DEBUG is not set
-CONFIG_MWIFIEX=y
-
-#
-# Enable WiMAX (Networking options) to see the WiMAX drivers
-#
-
-#
-# USB Network Adapters
-#
-# CONFIG_USB_CATC is not set
-# CONFIG_USB_KAWETH is not set
-# CONFIG_USB_PEGASUS is not set
-# CONFIG_USB_RTL8150 is not set
-# CONFIG_USB_USBNET is not set
-# CONFIG_USB_IPHETH is not set
-# CONFIG_WAN is not set
-
-#
-# CAIF transport drivers
-#
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-CONFIG_PPP=m
-CONFIG_PPP_MULTILINK=y
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_MPPE=m
-CONFIG_PPPOE=m
-# CONFIG_SLIP is not set
-CONFIG_SLHC=m
-# CONFIG_NET_FC is not set
-# CONFIG_NETCONSOLE is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-# CONFIG_VMXNET3 is not set
-# CONFIG_ISDN is not set
-# CONFIG_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-CONFIG_INPUT_POLLDEV=m
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-# CONFIG_INPUT_JOYDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
-# CONFIG_KEYBOARD_ADP5589 is not set
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_QT1070 is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_TCA6416 is not set
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_MPR121 is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-CONFIG_INPUT_MOUSE=y
-# CONFIG_MOUSE_PS2 is not set
-# CONFIG_MOUSE_SERIAL is not set
-# CONFIG_MOUSE_APPLETOUCH is not set
-# CONFIG_MOUSE_BCM5974 is not set
-# CONFIG_MOUSE_VSXXXAA is not set
-# CONFIG_MOUSE_SYNAPTICS_I2C is not set
-# CONFIG_INPUT_JOYSTICK is not set
-# CONFIG_INPUT_TABLET is not set
-# CONFIG_INPUT_TOUCHSCREEN is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
-# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-# CONFIG_VT is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-# CONFIG_NOZOMI is not set
-# CONFIG_N_GSM is not set
-# CONFIG_TRACE_SINK is not set
-CONFIG_DEVKMEM=y
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_PCI=y
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-# CONFIG_SERIAL_8250_EXTENDED is not set
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MFD_HSU is not set
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_JSM is not set
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-# CONFIG_SERIAL_PCH_UART is not set
-# CONFIG_SERIAL_XILINX_PS_UART is not set
-# CONFIG_TTY_PRINTK is not set
-# CONFIG_IPMI_HANDLER is not set
-CONFIG_HW_RANDOM=y
-# CONFIG_HW_RANDOM_TIMERIOMEM is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-CONFIG_DEVPORT=y
-# CONFIG_RAMOOPS is not set
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_COMPAT=y
-CONFIG_I2C_CHARDEV=y
-# CONFIG_I2C_MUX is not set
-CONFIG_I2C_HELPER_AUTO=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# PC SMBus host controller drivers
-#
-# CONFIG_I2C_ALI1535 is not set
-# CONFIG_I2C_ALI1563 is not set
-# CONFIG_I2C_ALI15X3 is not set
-# CONFIG_I2C_AMD756 is not set
-# CONFIG_I2C_AMD8111 is not set
-# CONFIG_I2C_I801 is not set
-# CONFIG_I2C_ISCH is not set
-# CONFIG_I2C_PIIX4 is not set
-# CONFIG_I2C_NFORCE2 is not set
-# CONFIG_I2C_SIS5595 is not set
-# CONFIG_I2C_SIS630 is not set
-# CONFIG_I2C_SIS96X is not set
-# CONFIG_I2C_VIA is not set
-# CONFIG_I2C_VIAPRO is not set
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_INTEL_MID is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-# CONFIG_I2C_PXA_PCI is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX is not set
-# CONFIG_I2C_EG20T is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-# CONFIG_I2C_DIOLAN_U2C is not set
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_TAOS_EVM is not set
-# CONFIG_I2C_TINY_USB is not set
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_STUB is not set
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_SPI is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-
-#
-# PPS generators support
-#
-
-#
-# PTP clock support
-#
-
-#
-# Enable Device Drivers -> PPS to see the PTP clock options.
-#
-# CONFIG_W1 is not set
-# CONFIG_POWER_SUPPLY is not set
-# CONFIG_HWMON is not set
-# CONFIG_THERMAL is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-CONFIG_BCMA_POSSIBLE=y
-
-#
-# Broadcom specific AMBA
-#
-# CONFIG_BCMA is not set
-CONFIG_MFD_SUPPORT=y
-# CONFIG_MFD_CORE is not set
-# CONFIG_MFD_88PM860X is not set
-# CONFIG_MFD_SM501 is not set
-# CONFIG_HTC_PASIC3 is not set
-# CONFIG_TPS6105X is not set
-# CONFIG_TPS6507X is not set
-# CONFIG_TWL4030_CORE is not set
-# CONFIG_MFD_STMPE is not set
-# CONFIG_MFD_TC3589X is not set
-# CONFIG_MFD_TMIO is not set
-# CONFIG_PMIC_DA903X is not set
-# CONFIG_PMIC_ADP5520 is not set
-# CONFIG_MFD_MAX8925 is not set
-# CONFIG_MFD_MAX8997 is not set
-# CONFIG_MFD_MAX8998 is not set
-# CONFIG_MFD_WM8400 is not set
-# CONFIG_MFD_WM831X_I2C is not set
-# CONFIG_MFD_WM8350_I2C is not set
-# CONFIG_MFD_WM8994 is not set
-# CONFIG_MFD_PCF50633 is not set
-# CONFIG_ABX500_CORE is not set
-# CONFIG_LPC_SCH is not set
-# CONFIG_MFD_RDC321X is not set
-# CONFIG_MFD_JANZ_CMODIO is not set
-# CONFIG_MFD_VX855 is not set
-# CONFIG_MFD_WL1273_CORE is not set
-# CONFIG_REGULATOR is not set
-CONFIG_MEDIA_SUPPORT=y
-
-#
-# Multimedia core support
-#
-# CONFIG_MEDIA_CONTROLLER is not set
-CONFIG_VIDEO_DEV=y
-CONFIG_VIDEO_V4L2_COMMON=y
-CONFIG_DVB_CORE=y
-CONFIG_DVB_NET=y
-CONFIG_VIDEO_MEDIA=y
-
-#
-# Multimedia drivers
-#
-CONFIG_RC_CORE=y
-CONFIG_LIRC=y
-CONFIG_RC_MAP=y
-CONFIG_IR_NEC_DECODER=y
-CONFIG_IR_RC5_DECODER=y
-CONFIG_IR_RC6_DECODER=y
-CONFIG_IR_JVC_DECODER=y
-CONFIG_IR_SONY_DECODER=y
-CONFIG_IR_RC5_SZ_DECODER=y
-CONFIG_IR_MCE_KBD_DECODER=y
-CONFIG_IR_LIRC_CODEC=y
-# CONFIG_IR_IMON is not set
-# CONFIG_IR_MCEUSB is not set
-# CONFIG_IR_REDRAT3 is not set
-# CONFIG_IR_STREAMZAP is not set
-# CONFIG_RC_LOOPBACK is not set
-CONFIG_MEDIA_ATTACH=y
-CONFIG_MEDIA_TUNER=y
-CONFIG_MEDIA_TUNER_CUSTOMISE=y
-
-#
-# Customize TV tuners
-#
-CONFIG_MEDIA_TUNER_SIMPLE=m
-CONFIG_MEDIA_TUNER_TDA8290=m
-CONFIG_MEDIA_TUNER_TDA827X=m
-CONFIG_MEDIA_TUNER_TDA18271=m
-CONFIG_MEDIA_TUNER_TDA9887=m
-CONFIG_MEDIA_TUNER_TEA5761=m
-CONFIG_MEDIA_TUNER_TEA5767=m
-CONFIG_MEDIA_TUNER_MT20XX=m
-CONFIG_MEDIA_TUNER_MT2060=m
-CONFIG_MEDIA_TUNER_MT2266=m
-CONFIG_MEDIA_TUNER_MT2131=m
-CONFIG_MEDIA_TUNER_QT1010=m
-CONFIG_MEDIA_TUNER_XC2028=m
-CONFIG_MEDIA_TUNER_XC5000=m
-CONFIG_MEDIA_TUNER_XC4000=m
-CONFIG_MEDIA_TUNER_MXL5005S=m
-CONFIG_MEDIA_TUNER_MXL5007T=m
-CONFIG_MEDIA_TUNER_MC44S803=m
-CONFIG_MEDIA_TUNER_MAX2165=m
-CONFIG_MEDIA_TUNER_TDA18218=m
-CONFIG_MEDIA_TUNER_TDA18212=m
-CONFIG_VIDEO_V4L2=y
-CONFIG_VIDEOBUF_GEN=m
-CONFIG_VIDEOBUF_VMALLOC=m
-CONFIG_VIDEOBUF_DVB=m
-CONFIG_VIDEO_TVEEPROM=m
-CONFIG_VIDEO_TUNER=m
-CONFIG_VIDEO_CAPTURE_DRIVERS=y
-# CONFIG_VIDEO_ADV_DEBUG is not set
-# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
-# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
-CONFIG_VIDEO_IR_I2C=y
-
-#
-# Encoders, decoders, sensors and other helper chips
-#
-
-#
-# Audio decoders, processors and mixers
-#
-# CONFIG_VIDEO_TVAUDIO is not set
-# CONFIG_VIDEO_TDA7432 is not set
-# CONFIG_VIDEO_TDA9840 is not set
-# CONFIG_VIDEO_TEA6415C is not set
-# CONFIG_VIDEO_TEA6420 is not set
-# CONFIG_VIDEO_MSP3400 is not set
-# CONFIG_VIDEO_CS5345 is not set
-# CONFIG_VIDEO_CS53L32A is not set
-# CONFIG_VIDEO_TLV320AIC23B is not set
-# CONFIG_VIDEO_WM8775 is not set
-# CONFIG_VIDEO_WM8739 is not set
-# CONFIG_VIDEO_VP27SMPX is not set
-
-#
-# RDS decoders
-#
-# CONFIG_VIDEO_SAA6588 is not set
-
-#
-# Video decoders
-#
-# CONFIG_VIDEO_ADV7180 is not set
-# CONFIG_VIDEO_BT819 is not set
-# CONFIG_VIDEO_BT856 is not set
-# CONFIG_VIDEO_BT866 is not set
-# CONFIG_VIDEO_KS0127 is not set
-# CONFIG_VIDEO_SAA7110 is not set
-# CONFIG_VIDEO_SAA711X is not set
-# CONFIG_VIDEO_SAA7191 is not set
-# CONFIG_VIDEO_TVP514X is not set
-# CONFIG_VIDEO_TVP5150 is not set
-# CONFIG_VIDEO_TVP7002 is not set
-# CONFIG_VIDEO_VPX3220 is not set
-
-#
-# Video and audio decoders
-#
-# CONFIG_VIDEO_SAA717X is not set
-# CONFIG_VIDEO_CX25840 is not set
-
-#
-# MPEG video encoders
-#
-# CONFIG_VIDEO_CX2341X is not set
-
-#
-# Video encoders
-#
-# CONFIG_VIDEO_SAA7127 is not set
-# CONFIG_VIDEO_SAA7185 is not set
-# CONFIG_VIDEO_ADV7170 is not set
-# CONFIG_VIDEO_ADV7175 is not set
-# CONFIG_VIDEO_ADV7343 is not set
-# CONFIG_VIDEO_AK881X is not set
-
-#
-# Camera sensor devices
-#
-# CONFIG_VIDEO_OV7670 is not set
-# CONFIG_VIDEO_MT9V011 is not set
-# CONFIG_VIDEO_TCM825X is not set
-
-#
-# Flash devices
-#
-
-#
-# Video improvement chips
-#
-# CONFIG_VIDEO_UPD64031A is not set
-# CONFIG_VIDEO_UPD64083 is not set
-
-#
-# Miscelaneous helper chips
-#
-# CONFIG_VIDEO_THS7303 is not set
-# CONFIG_VIDEO_M52790 is not set
-# CONFIG_VIDEO_BT848 is not set
-# CONFIG_VIDEO_CPIA2 is not set
-# CONFIG_VIDEO_SAA7134 is not set
-# CONFIG_VIDEO_MXB is not set
-# CONFIG_VIDEO_HEXIUM_ORION is not set
-# CONFIG_VIDEO_HEXIUM_GEMINI is not set
-# CONFIG_VIDEO_CX88 is not set
-# CONFIG_VIDEO_CX23885 is not set
-# CONFIG_VIDEO_AU0828 is not set
-# CONFIG_VIDEO_IVTV is not set
-# CONFIG_VIDEO_CX18 is not set
-# CONFIG_VIDEO_SAA7164 is not set
-# CONFIG_VIDEO_CAFE_CCIC is not set
-# CONFIG_VIDEO_SR030PC30 is not set
-# CONFIG_VIDEO_NOON010PC30 is not set
-# CONFIG_SOC_CAMERA is not set
-CONFIG_V4L_USB_DRIVERS=y
-# CONFIG_USB_VIDEO_CLASS is not set
-CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
-CONFIG_USB_GSPCA=m
-# CONFIG_USB_M5602 is not set
-# CONFIG_USB_STV06XX is not set
-# CONFIG_USB_GL860 is not set
-# CONFIG_USB_GSPCA_BENQ is not set
-# CONFIG_USB_GSPCA_CONEX is not set
-# CONFIG_USB_GSPCA_CPIA1 is not set
-# CONFIG_USB_GSPCA_ETOMS is not set
-# CONFIG_USB_GSPCA_FINEPIX is not set
-# CONFIG_USB_GSPCA_JEILINJ is not set
-# CONFIG_USB_GSPCA_KINECT is not set
-# CONFIG_USB_GSPCA_KONICA is not set
-# CONFIG_USB_GSPCA_MARS is not set
-# CONFIG_USB_GSPCA_MR97310A is not set
-# CONFIG_USB_GSPCA_NW80X is not set
-# CONFIG_USB_GSPCA_OV519 is not set
-# CONFIG_USB_GSPCA_OV534 is not set
-# CONFIG_USB_GSPCA_OV534_9 is not set
-# CONFIG_USB_GSPCA_PAC207 is not set
-# CONFIG_USB_GSPCA_PAC7302 is not set
-# CONFIG_USB_GSPCA_PAC7311 is not set
-# CONFIG_USB_GSPCA_SE401 is not set
-# CONFIG_USB_GSPCA_SN9C2028 is not set
-# CONFIG_USB_GSPCA_SN9C20X is not set
-# CONFIG_USB_GSPCA_SONIXB is not set
-# CONFIG_USB_GSPCA_SONIXJ is not set
-# CONFIG_USB_GSPCA_SPCA500 is not set
-# CONFIG_USB_GSPCA_SPCA501 is not set
-# CONFIG_USB_GSPCA_SPCA505 is not set
-# CONFIG_USB_GSPCA_SPCA506 is not set
-# CONFIG_USB_GSPCA_SPCA508 is not set
-# CONFIG_USB_GSPCA_SPCA561 is not set
-# CONFIG_USB_GSPCA_SPCA1528 is not set
-# CONFIG_USB_GSPCA_SQ905 is not set
-# CONFIG_USB_GSPCA_SQ905C is not set
-# CONFIG_USB_GSPCA_SQ930X is not set
-# CONFIG_USB_GSPCA_STK014 is not set
-# CONFIG_USB_GSPCA_STV0680 is not set
-# CONFIG_USB_GSPCA_SUNPLUS is not set
-# CONFIG_USB_GSPCA_T613 is not set
-# CONFIG_USB_GSPCA_TV8532 is not set
-# CONFIG_USB_GSPCA_VC032X is not set
-# CONFIG_USB_GSPCA_VICAM is not set
-# CONFIG_USB_GSPCA_XIRLINK_CIT is not set
-# CONFIG_USB_GSPCA_ZC3XX is not set
-# CONFIG_VIDEO_PVRUSB2 is not set
-# CONFIG_VIDEO_HDPVR is not set
-CONFIG_VIDEO_EM28XX=m
-CONFIG_VIDEO_EM28XX_ALSA=m
-CONFIG_VIDEO_EM28XX_DVB=m
-CONFIG_VIDEO_EM28XX_RC=y
-# CONFIG_VIDEO_TLG2300 is not set
-# CONFIG_VIDEO_CX231XX is not set
-# CONFIG_VIDEO_USBVISION is not set
-# CONFIG_USB_ET61X251 is not set
-# CONFIG_USB_SN9C102 is not set
-# CONFIG_USB_PWC is not set
-# CONFIG_USB_ZR364XX is not set
-# CONFIG_USB_STKWEBCAM is not set
-# CONFIG_USB_S2255 is not set
-# CONFIG_V4L_MEM2MEM_DRIVERS is not set
-CONFIG_RADIO_ADAPTERS=y
-# CONFIG_RADIO_MAXIRADIO is not set
-# CONFIG_I2C_SI4713 is not set
-# CONFIG_RADIO_SI4713 is not set
-# CONFIG_USB_DSBR is not set
-# CONFIG_RADIO_SI470X is not set
-# CONFIG_USB_MR800 is not set
-# CONFIG_RADIO_TEA5764 is not set
-# CONFIG_RADIO_SAA7706H is not set
-# CONFIG_RADIO_TEF6862 is not set
-# CONFIG_RADIO_WL1273 is not set
-
-#
-# Texas Instruments WL128x FM driver (ST based)
-#
-CONFIG_DVB_MAX_ADAPTERS=8
-CONFIG_DVB_DYNAMIC_MINORS=y
-CONFIG_DVB_CAPTURE_DRIVERS=y
-
-#
-# Supported SAA7146 based PCI Adapters
-#
-# CONFIG_TTPCI_EEPROM is not set
-# CONFIG_DVB_AV7110 is not set
-# CONFIG_DVB_BUDGET_CORE is not set
-
-#
-# Supported USB Adapters
-#
-CONFIG_DVB_USB=m
-# CONFIG_DVB_USB_DEBUG is not set
-CONFIG_DVB_USB_A800=m
-CONFIG_DVB_USB_DIBUSB_MB=m
-CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
-CONFIG_DVB_USB_DIBUSB_MC=m
-CONFIG_DVB_USB_DIB0700=m
-CONFIG_DVB_USB_UMT_010=m
-CONFIG_DVB_USB_CXUSB=m
-CONFIG_DVB_USB_M920X=m
-CONFIG_DVB_USB_GL861=m
-CONFIG_DVB_USB_AU6610=m
-CONFIG_DVB_USB_DIGITV=m
-CONFIG_DVB_USB_VP7045=m
-CONFIG_DVB_USB_VP702X=m
-CONFIG_DVB_USB_GP8PSK=m
-CONFIG_DVB_USB_NOVA_T_USB2=m
-CONFIG_DVB_USB_TTUSB2=m
-CONFIG_DVB_USB_DTT200U=m
-CONFIG_DVB_USB_OPERA1=m
-CONFIG_DVB_USB_AF9005=m
-CONFIG_DVB_USB_AF9005_REMOTE=m
-CONFIG_DVB_USB_DW2102=m
-CONFIG_DVB_USB_CINERGY_T2=m
-CONFIG_DVB_USB_ANYSEE=m
-CONFIG_DVB_USB_DTV5100=m
-CONFIG_DVB_USB_AF9015=m
-CONFIG_DVB_USB_CE6230=m
-CONFIG_DVB_USB_FRIIO=m
-CONFIG_DVB_USB_EC168=m
-CONFIG_DVB_USB_AZ6027=m
-CONFIG_DVB_USB_LME2510=m
-CONFIG_DVB_USB_TECHNISAT_USB2=m
-CONFIG_DVB_TTUSB_BUDGET=m
-# CONFIG_DVB_TTUSB_DEC is not set
-CONFIG_SMS_SIANO_MDTV=m
-
-#
-# Siano module components
-#
-CONFIG_SMS_USB_DRV=m
-
-#
-# Supported FlexCopII (B2C2) Adapters
-#
-# CONFIG_DVB_B2C2_FLEXCOP is not set
-
-#
-# Supported BT878 Adapters
-#
-
-#
-# Supported Pluto2 Adapters
-#
-# CONFIG_DVB_PLUTO2 is not set
-
-#
-# Supported SDMC DM1105 Adapters
-#
-# CONFIG_DVB_DM1105 is not set
-
-#
-# Supported Earthsoft PT1 Adapters
-#
-# CONFIG_DVB_PT1 is not set
-
-#
-# Supported Mantis Adapters
-#
-# CONFIG_MANTIS_CORE is not set
-
-#
-# Supported nGene Adapters
-#
-# CONFIG_DVB_NGENE is not set
-
-#
-# Supported ddbridge ('Octopus') Adapters
-#
-# CONFIG_DVB_DDBRIDGE is not set
-
-#
-# Supported DVB Frontends
-#
-CONFIG_DVB_FE_CUSTOMISE=y
-
-#
-# Customise DVB Frontends
-#
-
-#
-# Multistandard (satellite) frontends
-#
-CONFIG_DVB_STB0899=m
-CONFIG_DVB_STB6100=m
-CONFIG_DVB_STV090x=m
-CONFIG_DVB_STV6110x=m
-
-#
-# Multistandard (cable + terrestrial) frontends
-#
-CONFIG_DVB_DRXK=m
-CONFIG_DVB_TDA18271C2DD=m
-
-#
-# DVB-S (satellite) frontends
-#
-CONFIG_DVB_CX24110=m
-CONFIG_DVB_CX24123=m
-CONFIG_DVB_MT312=m
-CONFIG_DVB_ZL10036=m
-CONFIG_DVB_ZL10039=m
-CONFIG_DVB_S5H1420=m
-CONFIG_DVB_STV0288=m
-CONFIG_DVB_STB6000=m
-CONFIG_DVB_STV0299=m
-CONFIG_DVB_STV6110=m
-CONFIG_DVB_STV0900=m
-CONFIG_DVB_TDA8083=m
-CONFIG_DVB_TDA10086=m
-CONFIG_DVB_TDA8261=m
-CONFIG_DVB_VES1X93=m
-CONFIG_DVB_TUNER_ITD1000=m
-CONFIG_DVB_TUNER_CX24113=m
-CONFIG_DVB_TDA826X=m
-CONFIG_DVB_TUA6100=m
-CONFIG_DVB_CX24116=m
-CONFIG_DVB_SI21XX=m
-CONFIG_DVB_DS3000=m
-CONFIG_DVB_MB86A16=m
-
-#
-# DVB-T (terrestrial) frontends
-#
-CONFIG_DVB_SP8870=m
-CONFIG_DVB_SP887X=m
-CONFIG_DVB_CX22700=m
-CONFIG_DVB_CX22702=m
-CONFIG_DVB_S5H1432=m
-CONFIG_DVB_DRXD=m
-CONFIG_DVB_L64781=m
-CONFIG_DVB_TDA1004X=m
-CONFIG_DVB_NXT6000=m
-CONFIG_DVB_MT352=m
-CONFIG_DVB_ZL10353=m
-CONFIG_DVB_DIB3000MB=m
-CONFIG_DVB_DIB3000MC=m
-CONFIG_DVB_DIB7000M=m
-CONFIG_DVB_DIB7000P=m
-CONFIG_DVB_DIB9000=m
-CONFIG_DVB_TDA10048=m
-CONFIG_DVB_AF9013=m
-CONFIG_DVB_EC100=m
-CONFIG_DVB_STV0367=m
-CONFIG_DVB_CXD2820R=m
-
-#
-# DVB-C (cable) frontends
-#
-CONFIG_DVB_VES1820=m
-CONFIG_DVB_TDA10021=m
-CONFIG_DVB_TDA10023=m
-CONFIG_DVB_STV0297=m
-
-#
-# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
-#
-CONFIG_DVB_NXT200X=m
-CONFIG_DVB_OR51211=m
-CONFIG_DVB_OR51132=m
-CONFIG_DVB_BCM3510=m
-CONFIG_DVB_LGDT330X=m
-CONFIG_DVB_LGDT3305=m
-CONFIG_DVB_S5H1409=m
-CONFIG_DVB_AU8522=m
-CONFIG_DVB_S5H1411=m
-
-#
-# ISDB-T (terrestrial) frontends
-#
-CONFIG_DVB_S921=m
-CONFIG_DVB_DIB8000=m
-CONFIG_DVB_MB86A20S=m
-
-#
-# Digital terrestrial only tuners/PLL
-#
-CONFIG_DVB_PLL=m
-CONFIG_DVB_TUNER_DIB0070=m
-CONFIG_DVB_TUNER_DIB0090=m
-
-#
-# SEC control devices for DVB-S
-#
-CONFIG_DVB_LNBP21=m
-CONFIG_DVB_ISL6405=m
-CONFIG_DVB_ISL6421=m
-CONFIG_DVB_ISL6423=m
-CONFIG_DVB_LGS8GL5=m
-CONFIG_DVB_LGS8GXX=m
-CONFIG_DVB_ATBM8830=m
-CONFIG_DVB_TDA665x=m
-CONFIG_DVB_IX2505V=m
-
-#
-# Tools to develop new frontends
-#
-# CONFIG_DVB_DUMMY_FE is not set
-
-#
-# Graphics support
-#
-# CONFIG_VGA_ARB is not set
-# CONFIG_DRM is not set
-# CONFIG_STUB_POULSBO is not set
-# CONFIG_VGASTATE is not set
-# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-CONFIG_FB=y
-# CONFIG_FIRMWARE_EDID is not set
-# CONFIG_FB_DDC is not set
-# CONFIG_FB_BOOT_VESA_SUPPORT is not set
-# CONFIG_FB_CFB_FILLRECT is not set
-# CONFIG_FB_CFB_COPYAREA is not set
-# CONFIG_FB_CFB_IMAGEBLIT is not set
-# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-# CONFIG_FB_SYS_FILLRECT is not set
-# CONFIG_FB_SYS_COPYAREA is not set
-# CONFIG_FB_SYS_IMAGEBLIT is not set
-# CONFIG_FB_FOREIGN_ENDIAN is not set
-# CONFIG_FB_SYS_FOPS is not set
-# CONFIG_FB_WMT_GE_ROPS is not set
-# CONFIG_FB_SVGALIB is not set
-# CONFIG_FB_MACMODES is not set
-# CONFIG_FB_BACKLIGHT is not set
-# CONFIG_FB_MODE_HELPERS is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_CIRRUS is not set
-# CONFIG_FB_PM2 is not set
-# CONFIG_FB_CYBER2000 is not set
-# CONFIG_FB_ASILIANT is not set
-# CONFIG_FB_IMSTT is not set
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_NVIDIA is not set
-# CONFIG_FB_RIVA is not set
-# CONFIG_FB_MATROX is not set
-# CONFIG_FB_RADEON is not set
-# CONFIG_FB_ATY128 is not set
-# CONFIG_FB_ATY is not set
-# CONFIG_FB_S3 is not set
-# CONFIG_FB_SAVAGE is not set
-# CONFIG_FB_SIS is not set
-# CONFIG_FB_NEOMAGIC is not set
-# CONFIG_FB_KYRO is not set
-# CONFIG_FB_3DFX is not set
-# CONFIG_FB_VOODOO1 is not set
-# CONFIG_FB_VT8623 is not set
-# CONFIG_FB_TRIDENT is not set
-# CONFIG_FB_ARK is not set
-# CONFIG_FB_PM3 is not set
-# CONFIG_FB_CARMINE is not set
-# CONFIG_FB_UDL is not set
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_BROADSHEET is not set
-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-# CONFIG_LOGO is not set
-CONFIG_SOUND=y
-CONFIG_SOUND_OSS_CORE=y
-CONFIG_SOUND_OSS_CORE_PRECLAIM=y
-CONFIG_SND=y
-CONFIG_SND_TIMER=y
-CONFIG_SND_PCM=y
-CONFIG_SND_SEQUENCER=y
-# CONFIG_SND_SEQ_DUMMY is not set
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=y
-CONFIG_SND_PCM_OSS=y
-# CONFIG_SND_PCM_OSS_PLUGINS is not set
-# CONFIG_SND_SEQUENCER_OSS is not set
-# CONFIG_SND_HRTIMER is not set
-# CONFIG_SND_DYNAMIC_MINORS is not set
-CONFIG_SND_SUPPORT_OLD_API=y
-CONFIG_SND_VERBOSE_PROCFS=y
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-# CONFIG_SND_RAWMIDI_SEQ is not set
-# CONFIG_SND_OPL3_LIB_SEQ is not set
-# CONFIG_SND_OPL4_LIB_SEQ is not set
-# CONFIG_SND_SBAWE_SEQ is not set
-# CONFIG_SND_EMU10K1_SEQ is not set
-# CONFIG_SND_DRIVERS is not set
-# CONFIG_SND_PCI is not set
-# CONFIG_SND_MIPS is not set
-# CONFIG_SND_USB is not set
-# CONFIG_SND_SOC is not set
-# CONFIG_SOUND_PRIME is not set
-CONFIG_HID_SUPPORT=y
-CONFIG_HID=y
-CONFIG_HIDRAW=y
-
-#
-# USB Input Devices
-#
-CONFIG_USB_HID=y
-# CONFIG_HID_PID is not set
-CONFIG_USB_HIDDEV=y
-
-#
-# Special HID drivers
-#
-# CONFIG_HID_A4TECH is not set
-# CONFIG_HID_ACRUX is not set
-# CONFIG_HID_APPLE is not set
-# CONFIG_HID_BELKIN is not set
-# CONFIG_HID_CHERRY is not set
-# CONFIG_HID_CHICONY is not set
-# CONFIG_HID_PRODIKEYS is not set
-# CONFIG_HID_CYPRESS is not set
-# CONFIG_HID_DRAGONRISE is not set
-# CONFIG_HID_EMS_FF is not set
-# CONFIG_HID_ELECOM is not set
-# CONFIG_HID_EZKEY is not set
-# CONFIG_HID_HOLTEK is not set
-# CONFIG_HID_KEYTOUCH is not set
-# CONFIG_HID_KYE is not set
-# CONFIG_HID_UCLOGIC is not set
-# CONFIG_HID_WALTOP is not set
-# CONFIG_HID_GYRATION is not set
-# CONFIG_HID_TWINHAN is not set
-# CONFIG_HID_KENSINGTON is not set
-# CONFIG_HID_LCPOWER is not set
-# CONFIG_HID_LOGITECH is not set
-# CONFIG_HID_MAGICMOUSE is not set
-# CONFIG_HID_MICROSOFT is not set
-# CONFIG_HID_MONTEREY is not set
-# CONFIG_HID_MULTITOUCH is not set
-# CONFIG_HID_NTRIG is not set
-# CONFIG_HID_ORTEK is not set
-# CONFIG_HID_PANTHERLORD is not set
-# CONFIG_HID_PETALYNX is not set
-# CONFIG_HID_PICOLCD is not set
-# CONFIG_HID_QUANTA is not set
-# CONFIG_HID_ROCCAT is not set
-# CONFIG_HID_SAMSUNG is not set
-# CONFIG_HID_SONY is not set
-# CONFIG_HID_SPEEDLINK is not set
-# CONFIG_HID_SUNPLUS is not set
-# CONFIG_HID_GREENASIA is not set
-# CONFIG_HID_SMARTJOYPLUS is not set
-# CONFIG_HID_TOPSEED is not set
-# CONFIG_HID_THRUSTMASTER is not set
-CONFIG_HID_WACOM=m
-# CONFIG_HID_WACOM_POWER_SUPPLY is not set
-# CONFIG_HID_WIIMOTE is not set
-# CONFIG_HID_ZEROPLUS is not set
-# CONFIG_HID_ZYDACRON is not set
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB_ARCH_HAS_EHCI=y
-CONFIG_USB=y
-# CONFIG_USB_DEBUG is not set
-# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-CONFIG_USB_DEVICE_CLASS=y
-# CONFIG_USB_DYNAMIC_MINORS is not set
-# CONFIG_USB_OTG_WHITELIST is not set
-# CONFIG_USB_OTG_BLACKLIST_HUB is not set
-# CONFIG_USB_MON is not set
-# CONFIG_USB_WUSB is not set
-# CONFIG_USB_WUSB_CBAF is not set
-
-#
-# USB Host Controller Drivers
-#
-# CONFIG_USB_C67X00_HCD is not set
-# CONFIG_USB_XHCI_HCD is not set
-# CONFIG_USB_EHCI_HCD is not set
-# CONFIG_USB_OXU210HP_HCD is not set
-# CONFIG_USB_ISP116X_HCD is not set
-# CONFIG_USB_ISP1760_HCD is not set
-# CONFIG_USB_ISP1362_HCD is not set
-# CONFIG_USB_OHCI_HCD is not set
-# CONFIG_USB_UHCI_HCD is not set
-# CONFIG_USB_SL811_HCD is not set
-# CONFIG_USB_R8A66597_HCD is not set
-# CONFIG_USB_WHCI_HCD is not set
-# CONFIG_USB_HWA_HCD is not set
-
-#
-# USB Device Class drivers
-#
-CONFIG_USB_ACM=m
-# CONFIG_USB_PRINTER is not set
-# CONFIG_USB_WDM is not set
-# CONFIG_USB_TMC is not set
-
-#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
-#
-
-#
-# also be needed; see USB_STORAGE Help for more info
-#
-CONFIG_USB_STORAGE=y
-# CONFIG_USB_STORAGE_DEBUG is not set
-# CONFIG_USB_STORAGE_REALTEK is not set
-# CONFIG_USB_STORAGE_DATAFAB is not set
-# CONFIG_USB_STORAGE_FREECOM is not set
-# CONFIG_USB_STORAGE_ISD200 is not set
-# CONFIG_USB_STORAGE_USBAT is not set
-# CONFIG_USB_STORAGE_SDDR09 is not set
-# CONFIG_USB_STORAGE_SDDR55 is not set
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-# CONFIG_USB_STORAGE_ALAUDA is not set
-# CONFIG_USB_STORAGE_ONETOUCH is not set
-# CONFIG_USB_STORAGE_KARMA is not set
-# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
-# CONFIG_USB_STORAGE_ENE_UB6250 is not set
-# CONFIG_USB_UAS is not set
-# CONFIG_USB_LIBUSUAL is not set
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_MICROTEK is not set
-
-#
-# USB port drivers
-#
-CONFIG_USB_SERIAL=m
-CONFIG_USB_EZUSB=y
-CONFIG_USB_SERIAL_GENERIC=y
-# CONFIG_USB_SERIAL_AIRCABLE is not set
-CONFIG_USB_SERIAL_ARK3116=m
-CONFIG_USB_SERIAL_BELKIN=m
-# CONFIG_USB_SERIAL_CH341 is not set
-# CONFIG_USB_SERIAL_WHITEHEAT is not set
-# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
-# CONFIG_USB_SERIAL_CP210X is not set
-# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
-# CONFIG_USB_SERIAL_EMPEG is not set
-CONFIG_USB_SERIAL_FTDI_SIO=m
-# CONFIG_USB_SERIAL_FUNSOFT is not set
-# CONFIG_USB_SERIAL_VISOR is not set
-# CONFIG_USB_SERIAL_IPAQ is not set
-# CONFIG_USB_SERIAL_IR is not set
-# CONFIG_USB_SERIAL_EDGEPORT is not set
-# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
-# CONFIG_USB_SERIAL_GARMIN is not set
-# CONFIG_USB_SERIAL_IPW is not set
-# CONFIG_USB_SERIAL_IUU is not set
-# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
-CONFIG_USB_SERIAL_KEYSPAN=m
-# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
-# CONFIG_USB_SERIAL_KLSI is not set
-# CONFIG_USB_SERIAL_KOBIL_SCT is not set
-# CONFIG_USB_SERIAL_MCT_U232 is not set
-# CONFIG_USB_SERIAL_MOS7720 is not set
-# CONFIG_USB_SERIAL_MOS7840 is not set
-# CONFIG_USB_SERIAL_MOTOROLA is not set
-# CONFIG_USB_SERIAL_NAVMAN is not set
-CONFIG_USB_SERIAL_PL2303=m
-# CONFIG_USB_SERIAL_OTI6858 is not set
-# CONFIG_USB_SERIAL_QCAUX is not set
-# CONFIG_USB_SERIAL_QUALCOMM is not set
-# CONFIG_USB_SERIAL_SPCP8X5 is not set
-# CONFIG_USB_SERIAL_HP4X is not set
-# CONFIG_USB_SERIAL_SAFE is not set
-# CONFIG_USB_SERIAL_SIEMENS_MPI is not set
-# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
-# CONFIG_USB_SERIAL_SYMBOL is not set
-# CONFIG_USB_SERIAL_TI is not set
-# CONFIG_USB_SERIAL_CYBERJACK is not set
-# CONFIG_USB_SERIAL_XIRCOM is not set
-CONFIG_USB_SERIAL_WWAN=m
-CONFIG_USB_SERIAL_OPTION=m
-# CONFIG_USB_SERIAL_OMNINET is not set
-# CONFIG_USB_SERIAL_OPTICON is not set
-# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set
-# CONFIG_USB_SERIAL_ZIO is not set
-# CONFIG_USB_SERIAL_SSU100 is not set
-# CONFIG_USB_SERIAL_DEBUG is not set
-
-#
-# USB Miscellaneous drivers
-#
-# CONFIG_USB_EMI62 is not set
-# CONFIG_USB_EMI26 is not set
-# CONFIG_USB_ADUTUX is not set
-# CONFIG_USB_SEVSEG is not set
-# CONFIG_USB_RIO500 is not set
-# CONFIG_USB_LEGOTOWER is not set
-# CONFIG_USB_LCD is not set
-# CONFIG_USB_LED is not set
-# CONFIG_USB_CYPRESS_CY7C63 is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_IDMOUSE is not set
-# CONFIG_USB_FTDI_ELAN is not set
-# CONFIG_USB_APPLEDISPLAY is not set
-# CONFIG_USB_LD is not set
-# CONFIG_USB_TRANCEVIBRATOR is not set
-# CONFIG_USB_IOWARRIOR is not set
-# CONFIG_USB_TEST is not set
-# CONFIG_USB_ISIGHTFW is not set
-# CONFIG_USB_YUREX is not set
-# CONFIG_USB_GADGET is not set
-
-#
-# OTG and related infrastructure
-#
-# CONFIG_NOP_USB_XCEIV is not set
-# CONFIG_UWB is not set
-# CONFIG_MMC is not set
-# CONFIG_MEMSTICK is not set
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
-# CONFIG_LEDS_LM3530 is not set
-# CONFIG_LEDS_PCA9532 is not set
-# CONFIG_LEDS_LP3944 is not set
-# CONFIG_LEDS_LP5521 is not set
-# CONFIG_LEDS_LP5523 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_BD2802 is not set
-CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
-# CONFIG_LEDS_TRIGGER_TIMER is not set
-# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_ACCESSIBILITY is not set
-# CONFIG_INFINIBAND is not set
-CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY is not set
-# CONFIG_UIO is not set
-
-#
-# Virtio drivers
-#
-# CONFIG_VIRTIO_PCI is not set
-# CONFIG_VIRTIO_BALLOON is not set
-CONFIG_STAGING=y
-# CONFIG_ET131X is not set
-# CONFIG_VIDEO_GO7007 is not set
-# CONFIG_VIDEO_CX25821 is not set
-# CONFIG_VIDEO_TM6000 is not set
-# CONFIG_DVB_CXD2099 is not set
-# CONFIG_USBIP_CORE is not set
-CONFIG_W35UND=m
-CONFIG_PRISM2_USB=m
-# CONFIG_ECHO is not set
-# CONFIG_BRCMUTIL is not set
-# CONFIG_BRCMSMAC is not set
-# CONFIG_ASUS_OLED is not set
-CONFIG_R8187SE=m
-CONFIG_RTL8192U=m
-# CONFIG_RTL8192E is not set
-CONFIG_R8712U=m
-# CONFIG_R8712_AP is not set
-# CONFIG_RTS_PSTOR is not set
-# CONFIG_TRANZPORT is not set
-# CONFIG_POHMELFS is not set
-# CONFIG_IDE_PHISON is not set
-# CONFIG_LINE6_USB is not set
-# CONFIG_USB_SERIAL_QUATECH2 is not set
-# CONFIG_USB_SERIAL_QUATECH_USB2 is not set
-# CONFIG_VT6655 is not set
-# CONFIG_VT6656 is not set
-# CONFIG_VME_BUS is not set
-# CONFIG_DX_SEP is not set
-# CONFIG_IIO is not set
-# CONFIG_XVMALLOC is not set
-# CONFIG_ZRAM is not set
-# CONFIG_FB_SM7XX is not set
-# CONFIG_VIDEO_DT3155 is not set
-# CONFIG_CRYSTALHD is not set
-# CONFIG_FB_XGI is not set
-# CONFIG_LIRC_STAGING is not set
-# CONFIG_EASYCAP is not set
-# CONFIG_SOLO6X10 is not set
-# CONFIG_USB_ENESTORAGE is not set
-# CONFIG_BCM_WIMAX is not set
-# CONFIG_FT1000 is not set
-
-#
-# Speakup console speech
-#
-# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set
-# CONFIG_ALTERA_STAPL is not set
-CONFIG_IOMMU_SUPPORT=y
-# CONFIG_VIRT_DRIVERS is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=m
-# CONFIG_EXT2_FS_XATTR is not set
-# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-# CONFIG_EXT3_FS_XATTR is not set
-CONFIG_EXT4_FS=y
-# CONFIG_EXT4_FS_XATTR is not set
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=y
-CONFIG_JBD2=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_GFS2_FS is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-# CONFIG_FS_POSIX_ACL is not set
-CONFIG_EXPORTFS=m
-CONFIG_FILE_LOCKING=y
-CONFIG_FSNOTIFY=y
-CONFIG_DNOTIFY=y
-CONFIG_INOTIFY_USER=y
-# CONFIG_FANOTIFY is not set
-# CONFIG_QUOTA is not set
-# CONFIG_QUOTACTL is not set
-CONFIG_AUTOFS4_FS=y
-CONFIG_FUSE_FS=m
-# CONFIG_CUSE is not set
-
-#
-# Caches
-#
-# CONFIG_FSCACHE is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=y
-CONFIG_JOLIET=y
-# CONFIG_ZISOFS is not set
-CONFIG_UDF_FS=y
-CONFIG_UDF_NLS=y
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-CONFIG_NTFS_FS=y
-# CONFIG_NTFS_DEBUG is not set
-CONFIG_NTFS_RW=y
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-# CONFIG_TMPFS_POSIX_ACL is not set
-# CONFIG_TMPFS_XATTR is not set
-# CONFIG_HUGETLB_PAGE is not set
-# CONFIG_CONFIGFS_FS is not set
-CONFIG_MISC_FILESYSTEMS=y
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-CONFIG_JFFS2_FS=m
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_WRITEBUFFER=y
-# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
-CONFIG_JFFS2_SUMMARY=y
-# CONFIG_JFFS2_FS_XATTR is not set
-CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
-CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-# CONFIG_JFFS2_CMODE_PRIORITY is not set
-# CONFIG_JFFS2_CMODE_SIZE is not set
-CONFIG_JFFS2_CMODE_FAVOURLZO=y
-CONFIG_UBIFS_FS=y
-# CONFIG_UBIFS_FS_XATTR is not set
-# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-# CONFIG_LOGFS is not set
-# CONFIG_CRAMFS is not set
-CONFIG_SQUASHFS=m
-# CONFIG_SQUASHFS_XATTR is not set
-CONFIG_SQUASHFS_ZLIB=y
-# CONFIG_SQUASHFS_LZO is not set
-# CONFIG_SQUASHFS_XZ is not set
-# CONFIG_SQUASHFS_EMBEDDED is not set
-CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
-# CONFIG_VXFS_FS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_MINIX_FS_NATIVE_ENDIAN is not set
-# CONFIG_OMFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_ROMFS_FS is not set
-# CONFIG_PSTORE is not set
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-# CONFIG_NFS_V3_ACL is not set
-# CONFIG_NFS_V4 is not set
-CONFIG_ROOT_NFS=y
-CONFIG_NFSD=m
-CONFIG_NFSD_V3=y
-# CONFIG_NFSD_V3_ACL is not set
-# CONFIG_NFSD_V4 is not set
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-# CONFIG_CEPH_FS is not set
-CONFIG_CIFS=y
-# CONFIG_CIFS_STATS is not set
-# CONFIG_CIFS_WEAK_PW_HASH is not set
-# CONFIG_CIFS_XATTR is not set
-# CONFIG_CIFS_DEBUG2 is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_CODA_FS is not set
-# CONFIG_AFS_FS is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-# CONFIG_OSF_PARTITION is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_ATARI_PARTITION is not set
-CONFIG_MAC_PARTITION=y
-CONFIG_MSDOS_PARTITION=y
-# CONFIG_BSD_DISKLABEL is not set
-# CONFIG_MINIX_SUBPARTITION is not set
-# CONFIG_SOLARIS_X86_PARTITION is not set
-# CONFIG_UNIXWARE_DISKLABEL is not set
-# CONFIG_LDM_PARTITION is not set
-# CONFIG_SGI_PARTITION is not set
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
-# CONFIG_KARMA_PARTITION is not set
-CONFIG_EFI_PARTITION=y
-# CONFIG_SYSV68_PARTITION is not set
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="iso8859-15"
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_737=m
-CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-CONFIG_NLS_CODEPAGE_857=m
-CONFIG_NLS_CODEPAGE_860=m
-CONFIG_NLS_CODEPAGE_861=m
-CONFIG_NLS_CODEPAGE_862=m
-CONFIG_NLS_CODEPAGE_863=m
-CONFIG_NLS_CODEPAGE_864=m
-CONFIG_NLS_CODEPAGE_865=m
-CONFIG_NLS_CODEPAGE_866=m
-CONFIG_NLS_CODEPAGE_869=m
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_CODEPAGE_932=m
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_CODEPAGE_874=m
-CONFIG_NLS_ISO8859_8=m
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-CONFIG_NLS_ASCII=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_2=m
-CONFIG_NLS_ISO8859_3=m
-CONFIG_NLS_ISO8859_4=m
-CONFIG_NLS_ISO8859_5=m
-CONFIG_NLS_ISO8859_6=m
-CONFIG_NLS_ISO8859_7=m
-CONFIG_NLS_ISO8859_9=m
-CONFIG_NLS_ISO8859_13=m
-CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=y
-CONFIG_NLS_KOI8_R=m
-CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_UTF8=y
-
-#
-# Kernel hacking
-#
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-# CONFIG_PRINTK_TIME is not set
-CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_FRAME_WARN=0
-# CONFIG_MAGIC_SYSRQ is not set
-# CONFIG_STRIP_ASM_SYMS is not set
-# CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_DEBUG_FS is not set
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_SECTION_MISMATCH is not set
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_SHIRQ is not set
-# CONFIG_LOCKUP_DETECTOR is not set
-# CONFIG_HARDLOCKUP_DETECTOR is not set
-# CONFIG_DETECT_HUNG_TASK is not set
-CONFIG_SCHED_DEBUG=y
-# CONFIG_SCHEDSTATS is not set
-# CONFIG_TIMER_STATS is not set
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_DEBUG_SLAB is not set
-# CONFIG_DEBUG_KMEMLEAK is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_RT_MUTEX_TESTER is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_LOCK_ALLOC is not set
-# CONFIG_PROVE_LOCKING is not set
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_LOCK_STAT is not set
-# CONFIG_DEBUG_ATOMIC_SLEEP is not set
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_KOBJECT is not set
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_WRITECOUNT is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-# CONFIG_DEBUG_LIST is not set
-# CONFIG_TEST_LIST_SORT is not set
-# CONFIG_DEBUG_SG is not set
-# CONFIG_DEBUG_NOTIFIERS is not set
-# CONFIG_DEBUG_CREDENTIALS is not set
-# CONFIG_BOOT_PRINTK_DELAY is not set
-# CONFIG_RCU_TORTURE_TEST is not set
-CONFIG_RCU_CPU_STALL_TIMEOUT=60
-# CONFIG_BACKTRACE_SELF_TEST is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
-# CONFIG_DEBUG_PER_CPU_MAPS is not set
-# CONFIG_FAULT_INJECTION is not set
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_DMA_API_DEBUG is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_KGDB is not set
-# CONFIG_TEST_KSTRTOX is not set
-CONFIG_EARLY_PRINTK=y
-CONFIG_CMDLINE_BOOL=y
-CONFIG_CMDLINE=""
-# CONFIG_CMDLINE_OVERRIDE is not set
-# CONFIG_DEBUG_STACKOVERFLOW is not set
-# CONFIG_RUNTIME_DEBUG is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-CONFIG_CRYPTO_AEAD=m
-CONFIG_CRYPTO_AEAD2=y
-CONFIG_CRYPTO_BLKCIPHER=y
-CONFIG_CRYPTO_BLKCIPHER2=y
-CONFIG_CRYPTO_HASH=y
-CONFIG_CRYPTO_HASH2=y
-CONFIG_CRYPTO_RNG2=y
-CONFIG_CRYPTO_PCOMP2=y
-CONFIG_CRYPTO_MANAGER=y
-CONFIG_CRYPTO_MANAGER2=y
-CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_PCRYPT is not set
-CONFIG_CRYPTO_WORKQUEUE=y
-# CONFIG_CRYPTO_CRYPTD is not set
-CONFIG_CRYPTO_AUTHENC=m
-# CONFIG_CRYPTO_TEST is not set
-
-#
-# Authenticated Encryption with Associated Data
-#
-# CONFIG_CRYPTO_CCM is not set
-# CONFIG_CRYPTO_GCM is not set
-# CONFIG_CRYPTO_SEQIV is not set
-
-#
-# Block modes
-#
-CONFIG_CRYPTO_CBC=m
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-CONFIG_CRYPTO_ECB=y
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_PCBC is not set
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-CONFIG_CRYPTO_HMAC=y
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_GHASH is not set
-CONFIG_CRYPTO_MD4=y
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_MICHAEL_MIC=m
-# CONFIG_CRYPTO_RMD128 is not set
-# CONFIG_CRYPTO_RMD160 is not set
-# CONFIG_CRYPTO_RMD256 is not set
-# CONFIG_CRYPTO_RMD320 is not set
-CONFIG_CRYPTO_SHA1=m
-# CONFIG_CRYPTO_SHA256 is not set
-# CONFIG_CRYPTO_SHA512 is not set
-# CONFIG_CRYPTO_TGR192 is not set
-# CONFIG_CRYPTO_WP512 is not set
-
-#
-# Ciphers
-#
-CONFIG_CRYPTO_AES=y
-# CONFIG_CRYPTO_ANUBIS is not set
-CONFIG_CRYPTO_ARC4=y
-# CONFIG_CRYPTO_BLOWFISH is not set
-# CONFIG_CRYPTO_CAMELLIA is not set
-# CONFIG_CRYPTO_CAST5 is not set
-# CONFIG_CRYPTO_CAST6 is not set
-CONFIG_CRYPTO_DES=y
-# CONFIG_CRYPTO_FCRYPT is not set
-# CONFIG_CRYPTO_KHAZAD is not set
-# CONFIG_CRYPTO_SALSA20 is not set
-# CONFIG_CRYPTO_SEED is not set
-# CONFIG_CRYPTO_SERPENT is not set
-# CONFIG_CRYPTO_TEA is not set
-# CONFIG_CRYPTO_TWOFISH is not set
-
-#
-# Compression
-#
-CONFIG_CRYPTO_DEFLATE=y
-# CONFIG_CRYPTO_ZLIB is not set
-CONFIG_CRYPTO_LZO=y
-
-#
-# Random Number Generation
-#
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_USER_API_HASH is not set
-# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
-CONFIG_CRYPTO_HW=y
-# CONFIG_CRYPTO_DEV_HIFN_795X is not set
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_CRC_CCITT=y
-CONFIG_CRC16=y
-# CONFIG_CRC_T10DIF is not set
-CONFIG_CRC_ITU_T=y
-CONFIG_CRC32=y
-CONFIG_CRC7=m
-# CONFIG_LIBCRC32C is not set
-# CONFIG_CRC8 is not set
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-# CONFIG_XZ_DEC is not set
-# CONFIG_XZ_DEC_BCJ is not set
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_CPU_RMAP=y
-CONFIG_NLATTR=y
-CONFIG_GENERIC_ATOMIC64=y
-CONFIG_AVERAGE=y
-# CONFIG_CORDIC is not set
#
CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:"
-PR .= "-bsp12"
+PR .= "-bsp13"
SRC_URI += "\
- file://linux_3.1.1_bm750.patch;patch=1;pnum=1 \
- file://linux-sata_brcm.patch;patch=1;pnum=1 \
+ file://linux_3.1.1_bm750.patch \
+ file://linux-sata_brcm.patch \
"
MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "vuplus-dvb-modules"
MACHINE_FEATURES += "kernel26 alsa pci wifi"
+MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc"
+
PREFERRED_PROVIDER_virtual/kernel = "linux-vuplus"
PREFERRED_VERSION_linux-vuplus = "${VUPLUS_KERNEL_VERSION}"
--- /dev/null
+commit 8511b7b083db01ad0538bea6a8af79f88fe02a8b
+Author: hschang <chang@dev3>
+Date: Wed Jan 8 20:32:42 2014 +0900
+
+ MIPS: Refactor 'clear_page' and 'copy_page' functions.
+
+ Remove usage of the '__attribute__((alias("...")))' hack that aliased
+ to integer arrays containing micro-assembled instructions. This hack
+ breaks when building a microMIPS kernel. It also makes the code much
+ easier to understand.
+
+ [ralf@linux-mips.org: Added back export of the clear_page and copy_page
+ symbols so certain modules will work again. Also fixed build with
+ CONFIG_SIBYTE_DMA_PAGEOPS enabled.]
+
+ Signed-off-by: Steven J. Hill <sjhill@mips.com>
+ Cc: linux-mips@linux-mips.org
+ Patchwork: https://patchwork.linux-mips.org/patch/3866/
+ Acked-by: David Daney <david.daney@cavium.com>
+ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
+
+diff --git a/arch/mips/kernel/mips_ksyms.c b/arch/mips/kernel/mips_ksyms.c
+index 1d04807..17160bf 100644
+--- a/arch/mips/kernel/mips_ksyms.c
++++ b/arch/mips/kernel/mips_ksyms.c
+@@ -5,7 +5,7 @@
+ * License. See the file "COPYING" in the main directory of this archive
+ * for more details.
+ *
+- * Copyright (C) 1996, 97, 98, 99, 2000, 01, 03, 04, 05 by Ralf Baechle
++ * Copyright (C) 1996, 97, 98, 99, 2000, 01, 03, 04, 05, 12 by Ralf Baechle
+ * Copyright (C) 1999, 2000, 01 Silicon Graphics, Inc.
+ */
+ #include <linux/interrupt.h>
+@@ -35,6 +35,13 @@ EXPORT_SYMBOL(memmove);
+ EXPORT_SYMBOL(kernel_thread);
+
+ /*
++ * Functions that operate on entire pages. Mostly used by memory management.
++ */
++
++EXPORT_SYMBOL(clear_page);
++EXPORT_SYMBOL(copy_page);
++
++/*
+ * Userspace access stuff.
+ */
+ EXPORT_SYMBOL(__copy_user);
+diff --git a/arch/mips/mm/Makefile b/arch/mips/mm/Makefile
+index 95e5ccb..2f2dc25 100644
+--- a/arch/mips/mm/Makefile
++++ b/arch/mips/mm/Makefile
+@@ -4,7 +4,7 @@
+
+ obj-y += cache.o dma-default.o extable.o fault.o \
+ init.o mmap.o tlbex.o tlbex-fault.o uasm.o \
+- page.o
++ page.o page-funcs.o
+
+ obj-$(CONFIG_32BIT) += ioremap.o pgtable-32.o
+ obj-$(CONFIG_64BIT) += pgtable-64.o
+diff --git a/arch/mips/mm/page-funcs.S b/arch/mips/mm/page-funcs.S
+new file mode 100644
+index 0000000..48a6b38
+--- /dev/null
++++ b/arch/mips/mm/page-funcs.S
+@@ -0,0 +1,50 @@
++/*
++ * This file is subject to the terms and conditions of the GNU General Public
++ * License. See the file "COPYING" in the main directory of this archive
++ * for more details.
++ *
++ * Micro-assembler generated clear_page/copy_page functions.
++ *
++ * Copyright (C) 2012 MIPS Technologies, Inc.
++ * Copyright (C) 2012 Ralf Baechle <ralf@linux-mips.org>
++ */
++#include <asm/asm.h>
++#include <asm/regdef.h>
++
++#ifdef CONFIG_SIBYTE_DMA_PAGEOPS
++#define cpu_clear_page_function_name clear_page_cpu
++#define cpu_copy_page_function_name copy_page_cpu
++#else
++#define cpu_clear_page_function_name clear_page
++#define cpu_copy_page_function_name copy_page
++#endif
++
++/*
++ * Maximum sizes:
++ *
++ * R4000 128 bytes S-cache: 0x058 bytes
++ * R4600 v1.7: 0x05c bytes
++ * R4600 v2.0: 0x060 bytes
++ * With prefetching, 16 word strides 0x120 bytes
++ */
++EXPORT(__clear_page_start)
++LEAF(cpu_clear_page_function_name)
++1: j 1b /* Dummy, will be replaced. */
++ .space 288
++END(cpu_clear_page_function_name)
++EXPORT(__clear_page_end)
++
++/*
++ * Maximum sizes:
++ *
++ * R4000 128 bytes S-cache: 0x11c bytes
++ * R4600 v1.7: 0x080 bytes
++ * R4600 v2.0: 0x07c bytes
++ * With prefetching, 16 word strides 0x540 bytes
++ */
++EXPORT(__copy_page_start)
++LEAF(cpu_copy_page_function_name)
++1: j 1b /* Dummy, will be replaced. */
++ .space 1344
++END(cpu_copy_page_function_name)
++EXPORT(__copy_page_end)
+diff --git a/arch/mips/mm/page.c b/arch/mips/mm/page.c
+index 36272f7..a22bd40 100644
+--- a/arch/mips/mm/page.c
++++ b/arch/mips/mm/page.c
+@@ -6,6 +6,7 @@
+ * Copyright (C) 2003, 04, 05 Ralf Baechle (ralf@linux-mips.org)
+ * Copyright (C) 2007 Maciej W. Rozycki
+ * Copyright (C) 2008 Thiemo Seufer
++ * Copyright (C) 2012 MIPS Technologies, Inc.
+ */
+ #include <linux/init.h>
+ #include <linux/kernel.h>
+@@ -72,45 +73,6 @@ static struct uasm_reloc __cpuinitdata relocs[5];
+ #define cpu_is_r4600_v1_x() ((read_c0_prid() & 0xfffffff0) == 0x00002010)
+ #define cpu_is_r4600_v2_x() ((read_c0_prid() & 0xfffffff0) == 0x00002020)
+
+-/*
+- * Maximum sizes:
+- *
+- * R4000 128 bytes S-cache: 0x058 bytes
+- * R4600 v1.7: 0x05c bytes
+- * R4600 v2.0: 0x060 bytes
+- * With prefetching, 16 word strides 0x120 bytes
+- */
+-
+-static u32 clear_page_array[0x120 / 4];
+-
+-#ifdef CONFIG_SIBYTE_DMA_PAGEOPS
+-void clear_page_cpu(void *page) __attribute__((alias("clear_page_array")));
+-#else
+-void clear_page(void *page) __attribute__((alias("clear_page_array")));
+-#endif
+-
+-EXPORT_SYMBOL(clear_page);
+-
+-/*
+- * Maximum sizes:
+- *
+- * R4000 128 bytes S-cache: 0x11c bytes
+- * R4600 v1.7: 0x080 bytes
+- * R4600 v2.0: 0x07c bytes
+- * With prefetching, 16 word strides 0x540 bytes
+- */
+-static u32 copy_page_array[0x540 / 4];
+-
+-#ifdef CONFIG_SIBYTE_DMA_PAGEOPS
+-void
+-copy_page_cpu(void *to, void *from) __attribute__((alias("copy_page_array")));
+-#else
+-void copy_page(void *to, void *from) __attribute__((alias("copy_page_array")));
+-#endif
+-
+-EXPORT_SYMBOL(copy_page);
+-
+-
+ static int pref_bias_clear_store __cpuinitdata;
+ static int pref_bias_copy_load __cpuinitdata;
+ static int pref_bias_copy_store __cpuinitdata;
+@@ -283,10 +245,15 @@ static inline void __cpuinit build_clear_pref(u32 **buf, int off)
+ }
+ }
+
++extern u32 __clear_page_start;
++extern u32 __clear_page_end;
++extern u32 __copy_page_start;
++extern u32 __copy_page_end;
++
+ void __cpuinit build_clear_page(void)
+ {
+ int off;
+- u32 *buf = (u32 *)&clear_page_array;
++ u32 *buf = &__clear_page_start;
+ struct uasm_label *l = labels;
+ struct uasm_reloc *r = relocs;
+ int i;
+@@ -357,17 +324,17 @@ void __cpuinit build_clear_page(void)
+ uasm_i_jr(&buf, RA);
+ uasm_i_nop(&buf);
+
+- BUG_ON(buf > clear_page_array + ARRAY_SIZE(clear_page_array));
++ BUG_ON(buf > &__clear_page_end);
+
+ uasm_resolve_relocs(relocs, labels);
+
+ pr_debug("Synthesized clear page handler (%u instructions).\n",
+- (u32)(buf - clear_page_array));
++ (u32)(buf - &__clear_page_start));
+
+ pr_debug("\t.set push\n");
+ pr_debug("\t.set noreorder\n");
+- for (i = 0; i < (buf - clear_page_array); i++)
+- pr_debug("\t.word 0x%08x\n", clear_page_array[i]);
++ for (i = 0; i < (buf - &__clear_page_start); i++)
++ pr_debug("\t.word 0x%08x\n", (&__clear_page_start)[i]);
+ pr_debug("\t.set pop\n");
+ }
+
+@@ -428,7 +395,7 @@ static inline void build_copy_store_pref(u32 **buf, int off)
+ void __cpuinit build_copy_page(void)
+ {
+ int off;
+- u32 *buf = (u32 *)©_page_array;
++ u32 *buf = &__copy_page_start;
+ struct uasm_label *l = labels;
+ struct uasm_reloc *r = relocs;
+ int i;
+@@ -596,21 +563,23 @@ void __cpuinit build_copy_page(void)
+ uasm_i_jr(&buf, RA);
+ uasm_i_nop(&buf);
+
+- BUG_ON(buf > copy_page_array + ARRAY_SIZE(copy_page_array));
++ BUG_ON(buf > &__copy_page_end);
+
+ uasm_resolve_relocs(relocs, labels);
+
+ pr_debug("Synthesized copy page handler (%u instructions).\n",
+- (u32)(buf - copy_page_array));
++ (u32)(buf - &__copy_page_start));
+
+ pr_debug("\t.set push\n");
+ pr_debug("\t.set noreorder\n");
+- for (i = 0; i < (buf - copy_page_array); i++)
+- pr_debug("\t.word 0x%08x\n", copy_page_array[i]);
++ for (i = 0; i < (buf - &__copy_page_start); i++)
++ pr_debug("\t.word 0x%08x\n", (&__copy_page_start)[i]);
+ pr_debug("\t.set pop\n");
+ }
+
+ #ifdef CONFIG_SIBYTE_DMA_PAGEOPS
++extern void clear_page_cpu(void *page);
++extern void copy_page_cpu(void *to, void *from);
+
+ /*
+ * Pad descriptors to cacheline, since each is exclusively owned by a
--- /dev/null
+commit c022630633624a75b3b58f43dd3c6cc896a56cff
+Author: Steven J. Hill <sjhill@mips.com>
+Date: Fri Jul 6 21:56:01 2012 +0200
+
+ MIPS: Refactor 'clear_page' and 'copy_page' functions.
+
+ Remove usage of the '__attribute__((alias("...")))' hack that aliased
+ to integer arrays containing micro-assembled instructions. This hack
+ breaks when building a microMIPS kernel. It also makes the code much
+ easier to understand.
+
+ [ralf@linux-mips.org: Added back export of the clear_page and copy_page
+ symbols so certain modules will work again. Also fixed build with
+ CONFIG_SIBYTE_DMA_PAGEOPS enabled.]
+
+ Signed-off-by: Steven J. Hill <sjhill@mips.com>
+ Cc: linux-mips@linux-mips.org
+ Patchwork: https://patchwork.linux-mips.org/patch/3866/
+ Acked-by: David Daney <david.daney@cavium.com>
+ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
+
+diff --git a/arch/mips/kernel/mips_ksyms.c b/arch/mips/kernel/mips_ksyms.c
+index 57ba13e..3fc1691 100644
+--- a/arch/mips/kernel/mips_ksyms.c
++++ b/arch/mips/kernel/mips_ksyms.c
+@@ -5,7 +5,7 @@
+ * License. See the file "COPYING" in the main directory of this archive
+ * for more details.
+ *
+- * Copyright (C) 1996, 97, 98, 99, 2000, 01, 03, 04, 05 by Ralf Baechle
++ * Copyright (C) 1996, 97, 98, 99, 2000, 01, 03, 04, 05, 12 by Ralf Baechle
+ * Copyright (C) 1999, 2000, 01 Silicon Graphics, Inc.
+ */
+ #include <linux/interrupt.h>
+@@ -35,6 +35,12 @@ EXPORT_SYMBOL(memmove);
+ EXPORT_SYMBOL(kernel_thread);
+
+ /*
++ * Functions that operate on entire pages. Mostly used by memory management.
++ */
++EXPORT_SYMBOL(clear_page);
++EXPORT_SYMBOL(copy_page);
++
++/*
+ * Userspace access stuff.
+ */
+ EXPORT_SYMBOL(__copy_user);
+diff --git a/arch/mips/mm/Makefile b/arch/mips/mm/Makefile
+index 4aa2028..fd6203f 100644
+--- a/arch/mips/mm/Makefile
++++ b/arch/mips/mm/Makefile
+@@ -3,8 +3,8 @@
+ #
+
+ obj-y += cache.o dma-default.o extable.o fault.o \
+- gup.o init.o mmap.o page.o tlbex.o \
+- tlbex-fault.o uasm.o
++ gup.o init.o mmap.o page.o page-funcs.o \
++ tlbex.o tlbex-fault.o uasm.o
+
+ obj-$(CONFIG_32BIT) += ioremap.o pgtable-32.o
+ obj-$(CONFIG_64BIT) += pgtable-64.o
+diff --git a/arch/mips/mm/page-funcs.S b/arch/mips/mm/page-funcs.S
+new file mode 100644
+index 0000000..48a6b38
+--- /dev/null
++++ b/arch/mips/mm/page-funcs.S
+@@ -0,0 +1,50 @@
++/*
++ * This file is subject to the terms and conditions of the GNU General Public
++ * License. See the file "COPYING" in the main directory of this archive
++ * for more details.
++ *
++ * Micro-assembler generated clear_page/copy_page functions.
++ *
++ * Copyright (C) 2012 MIPS Technologies, Inc.
++ * Copyright (C) 2012 Ralf Baechle <ralf@linux-mips.org>
++ */
++#include <asm/asm.h>
++#include <asm/regdef.h>
++
++#ifdef CONFIG_SIBYTE_DMA_PAGEOPS
++#define cpu_clear_page_function_name clear_page_cpu
++#define cpu_copy_page_function_name copy_page_cpu
++#else
++#define cpu_clear_page_function_name clear_page
++#define cpu_copy_page_function_name copy_page
++#endif
++
++/*
++ * Maximum sizes:
++ *
++ * R4000 128 bytes S-cache: 0x058 bytes
++ * R4600 v1.7: 0x05c bytes
++ * R4600 v2.0: 0x060 bytes
++ * With prefetching, 16 word strides 0x120 bytes
++ */
++EXPORT(__clear_page_start)
++LEAF(cpu_clear_page_function_name)
++1: j 1b /* Dummy, will be replaced. */
++ .space 288
++END(cpu_clear_page_function_name)
++EXPORT(__clear_page_end)
++
++/*
++ * Maximum sizes:
++ *
++ * R4000 128 bytes S-cache: 0x11c bytes
++ * R4600 v1.7: 0x080 bytes
++ * R4600 v2.0: 0x07c bytes
++ * With prefetching, 16 word strides 0x540 bytes
++ */
++EXPORT(__copy_page_start)
++LEAF(cpu_copy_page_function_name)
++1: j 1b /* Dummy, will be replaced. */
++ .space 1344
++END(cpu_copy_page_function_name)
++EXPORT(__copy_page_end)
+diff --git a/arch/mips/mm/page.c b/arch/mips/mm/page.c
+index cc0b626..98f530e 100644
+--- a/arch/mips/mm/page.c
++++ b/arch/mips/mm/page.c
+@@ -6,6 +6,7 @@
+ * Copyright (C) 2003, 04, 05 Ralf Baechle (ralf@linux-mips.org)
+ * Copyright (C) 2007 Maciej W. Rozycki
+ * Copyright (C) 2008 Thiemo Seufer
++ * Copyright (C) 2012 MIPS Technologies, Inc.
+ */
+ #include <linux/init.h>
+ #include <linux/kernel.h>
+@@ -71,45 +72,6 @@ static struct uasm_reloc __cpuinitdata relocs[5];
+ #define cpu_is_r4600_v1_x() ((read_c0_prid() & 0xfffffff0) == 0x00002010)
+ #define cpu_is_r4600_v2_x() ((read_c0_prid() & 0xfffffff0) == 0x00002020)
+
+-/*
+- * Maximum sizes:
+- *
+- * R4000 128 bytes S-cache: 0x058 bytes
+- * R4600 v1.7: 0x05c bytes
+- * R4600 v2.0: 0x060 bytes
+- * With prefetching, 16 word strides 0x120 bytes
+- */
+-
+-static u32 clear_page_array[0x120 / 4];
+-
+-#ifdef CONFIG_SIBYTE_DMA_PAGEOPS
+-void clear_page_cpu(void *page) __attribute__((alias("clear_page_array")));
+-#else
+-void clear_page(void *page) __attribute__((alias("clear_page_array")));
+-#endif
+-
+-EXPORT_SYMBOL(clear_page);
+-
+-/*
+- * Maximum sizes:
+- *
+- * R4000 128 bytes S-cache: 0x11c bytes
+- * R4600 v1.7: 0x080 bytes
+- * R4600 v2.0: 0x07c bytes
+- * With prefetching, 16 word strides 0x540 bytes
+- */
+-static u32 copy_page_array[0x540 / 4];
+-
+-#ifdef CONFIG_SIBYTE_DMA_PAGEOPS
+-void
+-copy_page_cpu(void *to, void *from) __attribute__((alias("copy_page_array")));
+-#else
+-void copy_page(void *to, void *from) __attribute__((alias("copy_page_array")));
+-#endif
+-
+-EXPORT_SYMBOL(copy_page);
+-
+-
+ static int pref_bias_clear_store __cpuinitdata;
+ static int pref_bias_copy_load __cpuinitdata;
+ static int pref_bias_copy_store __cpuinitdata;
+@@ -282,10 +244,15 @@ static inline void __cpuinit build_clear_pref(u32 **buf, int off)
+ }
+ }
+
++extern u32 __clear_page_start;
++extern u32 __clear_page_end;
++extern u32 __copy_page_start;
++extern u32 __copy_page_end;
++
+ void __cpuinit build_clear_page(void)
+ {
+ int off;
+- u32 *buf = (u32 *)&clear_page_array;
++ u32 *buf = &__clear_page_start;
+ struct uasm_label *l = labels;
+ struct uasm_reloc *r = relocs;
+ int i;
+@@ -356,17 +323,17 @@ void __cpuinit build_clear_page(void)
+ uasm_i_jr(&buf, RA);
+ uasm_i_nop(&buf);
+
+- BUG_ON(buf > clear_page_array + ARRAY_SIZE(clear_page_array));
++ BUG_ON(buf > &__clear_page_end);
+
+ uasm_resolve_relocs(relocs, labels);
+
+ pr_debug("Synthesized clear page handler (%u instructions).\n",
+- (u32)(buf - clear_page_array));
++ (u32)(buf - &__clear_page_start));
+
+ pr_debug("\t.set push\n");
+ pr_debug("\t.set noreorder\n");
+- for (i = 0; i < (buf - clear_page_array); i++)
+- pr_debug("\t.word 0x%08x\n", clear_page_array[i]);
++ for (i = 0; i < (buf - &__clear_page_start); i++)
++ pr_debug("\t.word 0x%08x\n", (&__clear_page_start)[i]);
+ pr_debug("\t.set pop\n");
+ }
+
+@@ -427,7 +394,7 @@ static inline void build_copy_store_pref(u32 **buf, int off)
+ void __cpuinit build_copy_page(void)
+ {
+ int off;
+- u32 *buf = (u32 *)©_page_array;
++ u32 *buf = &__copy_page_start;
+ struct uasm_label *l = labels;
+ struct uasm_reloc *r = relocs;
+ int i;
+@@ -595,21 +562,23 @@ void __cpuinit build_copy_page(void)
+ uasm_i_jr(&buf, RA);
+ uasm_i_nop(&buf);
+
+- BUG_ON(buf > copy_page_array + ARRAY_SIZE(copy_page_array));
++ BUG_ON(buf > &__copy_page_end);
+
+ uasm_resolve_relocs(relocs, labels);
+
+ pr_debug("Synthesized copy page handler (%u instructions).\n",
+- (u32)(buf - copy_page_array));
++ (u32)(buf - &__copy_page_start));
+
+ pr_debug("\t.set push\n");
+ pr_debug("\t.set noreorder\n");
+- for (i = 0; i < (buf - copy_page_array); i++)
+- pr_debug("\t.word 0x%08x\n", copy_page_array[i]);
++ for (i = 0; i < (buf - &__copy_page_start); i++)
++ pr_debug("\t.word 0x%08x\n", (&__copy_page_start)[i]);
+ pr_debug("\t.set pop\n");
+ }
+
+ #ifdef CONFIG_SIBYTE_DMA_PAGEOPS
++extern void clear_page_cpu(void *page);
++extern void copy_page_cpu(void *to, void *from);
+
+ /*
+ * Pad descriptors to cacheline, since each is exclusively owned by a
--- /dev/null
+diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
+index 098613e..a659677 100644
+--- a/drivers/net/wireless/rt2x00/rt2800usb.c
++++ b/drivers/net/wireless/rt2x00/rt2800usb.c
+@@ -128,7 +128,7 @@ static inline bool rt2800usb_entry_txstatus_timeout(struct queue_entry *entry)
+
+ tout = time_after(jiffies, entry->last_action + msecs_to_jiffies(100));
+ if (unlikely(tout))
+- WARNING(entry->queue->rt2x00dev,
++ DEBUG(entry->queue->rt2x00dev,
+ "TX status timeout for entry %d in queue %d\n",
+ entry->entry_idx, entry->queue->qid);
+ return tout;
MODULE = "linux-2.6.37"
SRC_URI += " http://archive.vuplus.com/download/kernel/stblinux-2.6.37-3.1.tar.bz2 \
- file://dvb-core.patch;patch=1;pnum=1 \
- file://fix_cpu_proc.patch;patch=1;pnum=1 \
- file://brcm_disable_enet1.patch;patch=1;pnum=1 \
- file://bcmgenet_oobctrl.patch;patch=1;pnum=1 \
- file://brcm_mtd_mac.patch;patch=1;pnum=1 \
+ file://dvb-core.patch \
+ file://fix_cpu_proc.patch \
+ file://brcm_disable_enet1.patch \
+ file://bcmgenet_oobctrl.patch \
+ file://brcm_mtd_mac.patch \
file://${MACHINE}_defconfig \
"
MODULE = "linux-3.1.1"
SRC_URI += "http://archive.vuplus.com/download/kernel/linux-${KV}_${SRCREV}.tar.bz2 \
- file://fix_cpu_proc.patch;patch=1;pnum=1 \
+ file://fix_cpu_proc.patch \
+ file://igmp.patch \
+ file://rt5372_kernel_3.1.1.patch \
+ file://kernel_miscompilation_with_gcc_4_8.patch \
file://${MACHINE}_defconfig \
- file://igmp.patch;patch=1;pnum=1 \
- file://rt5372_kernel_3.1.1.patch \
"
SRC_URI[md5sum] = "4dc3ac322453abbfaade7020cddea205"
MODULE = "linux-3.3.6"
SRC_URI += "http://archive.vuplus.com/download/kernel/stblinux-3.3.6-1.2.tar.bz2 \
- file://brcm_3.3.patch;patch=1;pnum=1 \
- file://fix_cpu_proc.patch;patch=1;pnum=1 \
- file://brcm_mtd_mac.patch;patch=1;pnum=1 \
- file://dvb_core_5.5.patch;patch=1;pnum=1 \
- file://brcm_remove_entire_mtd.patch;patch=1;pnum=1 \
+ file://brcm_3.3.patch \
+ file://fix_cpu_proc.patch \
+ file://brcm_mtd_mac.patch \
+ file://dvb_core_5.5.patch \
+ file://brcm_remove_entire_mtd.patch \
file://${MACHINE}_defconfig \
"
MODULE = "linux-3.3.8"
SRC_URI += "http://archive.vuplus.com/download/kernel/stblinux-3.3.6-2.0.tar.bz2 \
- file://brcm_3.3.patch;patch=1;pnum=1 \
- file://fix_cpu_proc.patch;patch=1;pnum=1 \
- file://brcm_mtd_mac.patch;patch=1;pnum=1 \
- file://dvb_core_5.5.patch;patch=1;pnum=1 \
- file://dvb_backport.patch;patch=1;pnum=1 \
- file://bmips-no-array-bounds.patch;patch=1;pnum=1 \
+ file://brcm_3.3.patch \
+ file://fix_cpu_proc.patch \
+ file://brcm_mtd_mac.patch \
+ file://dvb_core_5.5.patch \
+ file://dvb_backport.patch \
+ file://bmips-no-array-bounds.patch \
file://${MACHINE}_defconfig \
file://rt5372_kernel_3.3.8.patch \
- "
+ file://kernel_miscompilation_with_gcc_4_8.patch \
+"
S = "${WORKDIR}/linux"
KV = "3.9.6"
-PR = "r2"
+PR = "r3"
SRCREV = ""
MODULE = "linux-3.9.6"
SRC_URI += "http://archive.vuplus.com/download/kernel/stblinux-${KV}.tar.bz2 \
file://fix_fuse_for_linux_mips_3-9.patch \
+ file://rt2800usb_fix_warn_tx_status_timeout_to_dbg.patch \
file://${MACHINE}_defconfig \
"
PR .= "-bsp9"
-SRC_URI += "file://bmips-no-array-bounds.patch;patch=1;pnum=1 "
+SRC_URI += "file://bmips-no-array-bounds.patch "
PR .= "-bsp4"
-SRC_URI += "file://remove_genet1.patch;patch=1;pnum=1 \
- file://nand_base.patch;patch=1;pnum=1 \
- file://brcm_s3_wol.patch;patch=1;pnum=1 \
+SRC_URI += "file://remove_genet1.patch \
+ file://nand_base.patch \
+ file://brcm_s3_wol.patch \
"
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH=""
-# CONFIG_DEVTMPFS is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:"
-PR .= "-bsp9"
+PR .= "-bsp10"
SRC_URI += "\
- file://linux_3.1.1_vusolo.patch;patch=1;pnum=1 \
- file://fix_cpu_proc_solo.patch;patch=1;pnum=1 \
+ file://linux_3.1.1_vusolo.patch \
+ file://fix_cpu_proc_solo.patch \
"
PR .= "-bsp1"
-SRC_URI_append = " file://enigma2_vuplus_misc.patch;patch=1;pnum=1"
+SRC_URI_append = " file://enigma2_vuplus_misc.patch"
PR .= "-bsp10"
-SRC_URI += "file://bmips-no-array-bounds.patch;patch=1;pnum=1 "
-SRC_URI += "file://dvb_backport.patch;patch=1;pnum=1 "
+SRC_URI += "file://bmips-no-array-bounds.patch "
+SRC_URI += "file://dvb_backport.patch "
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH=""
-# CONFIG_DEVTMPFS is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:"
-PR .= "-bsp0"
+PR .= "-bsp1"
SRC_URI += "\
- file://linux-sata_brcm.patch;patch=1;pnum=1 \
+ file://linux-sata_brcm.patch \
"
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH=""
-# CONFIG_DEVTMPFS is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:"
-PR .= "-bsp11"
+PR .= "-bsp12"
SRC_URI += "\
- file://linux_3.1.1_vuuno.patch;patch=1;pnum=1 \
- file://linux-sata_brcm.patch;patch=1;pnum=1 \
+ file://linux_3.1.1_vuuno.patch \
+ file://linux-sata_brcm.patch \
"
-Subproject commit 835745de3fc9ad367d82a79983ca22f8694cf7ce
+Subproject commit 6434d97ee958e7f597b9cf358db0275315a33c47
+++ /dev/null
-def autotools_dep_prepend(d):
- if d.getVar('INHIBIT_AUTOTOOLS_DEPS', True):
- return ''
-
- pn = d.getVar('PN', True)
- deps = ''
-
- if pn in ['autoconf-native', 'automake-native', 'help2man-native']:
- return deps
- deps += 'autoconf-native automake-native '
-
- if not pn in ['libtool', 'libtool-native'] and not pn.endswith("libtool-cross"):
- deps += 'libtool-native '
- if not bb.data.inherits_class('native', d) \
- and not bb.data.inherits_class('nativesdk', d) \
- and not bb.data.inherits_class('cross', d) \
- and not d.getVar('INHIBIT_DEFAULT_DEPS', True):
- deps += 'libtool-cross '
-
- return deps + 'gnu-config-native '
-
-EXTRA_OEMAKE = ""
-
-DEPENDS_prepend = "${@autotools_dep_prepend(d)}"
-
-inherit siteinfo
-
-# Space separated list of shell scripts with variables defined to supply test
-# results for autoconf tests we cannot run at build time.
-export CONFIG_SITE = "${@siteinfo_get_files(d)}"
-
-acpaths = "default"
-EXTRA_AUTORECONF = "--exclude=autopoint"
-
-export lt_cv_sys_lib_dlsearch_path_spec = "${libdir} ${base_libdir}"
-
-def autotools_set_crosscompiling(d):
- if not bb.data.inherits_class('native', d):
- return " cross_compiling=yes"
- return ""
-
-def append_libtool_sysroot(d):
- # Only supply libtool sysroot option for non-native packages
- if not bb.data.inherits_class('native', d):
- return '--with-libtool-sysroot=${STAGING_DIR_HOST}'
- return ""
-
-# EXTRA_OECONF_append = "${@autotools_set_crosscompiling(d)}"
-
-CONFIGUREOPTS = " --build=${BUILD_SYS} \
- --host=${HOST_SYS} \
- --target=${TARGET_SYS} \
- --prefix=${prefix} \
- --exec_prefix=${exec_prefix} \
- --bindir=${bindir} \
- --sbindir=${sbindir} \
- --libexecdir=${libexecdir} \
- --datadir=${datadir} \
- --sysconfdir=${sysconfdir} \
- --sharedstatedir=${sharedstatedir} \
- --localstatedir=${localstatedir} \
- --libdir=${libdir} \
- --includedir=${includedir} \
- --oldincludedir=${oldincludedir} \
- --infodir=${infodir} \
- --mandir=${mandir} \
- --disable-silent-rules \
- ${CONFIGUREOPT_DEPTRACK} \
- ${@append_libtool_sysroot(d)}"
-CONFIGUREOPT_DEPTRACK = "--disable-dependency-tracking"
-
-
-oe_runconf () {
- cfgscript="${S}/configure"
- if [ -x "$cfgscript" ] ; then
- bbnote "Running $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} $@"
- ${CACHED_CONFIGUREVARS} $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} "$@" || bbfatal "oe_runconf failed"
- else
- bbfatal "no configure script found at $cfgscript"
- fi
-}
-
-AUTOTOOLS_AUXDIR ?= "${S}"
-
-autotools_do_configure() {
- case ${PN} in
- autoconf*)
- ;;
- automake*)
- ;;
- *)
- # WARNING: gross hack follows:
- # An autotools built package generally needs these scripts, however only
- # automake or libtoolize actually install the current versions of them.
- # This is a problem in builds that do not use libtool or automake, in the case
- # where we -need- the latest version of these scripts. e.g. running a build
- # for a package whose autotools are old, on an x86_64 machine, which the old
- # config.sub does not support. Work around this by installing them manually
- # regardless.
- ( for ac in `find ${S} -name configure.in -o -name configure.ac`; do
- rm -f `dirname $ac`/configure
- done )
- if [ -e ${S}/configure.in -o -e ${S}/configure.ac ]; then
- olddir=`pwd`
- cd ${S}
- # Remove any previous copy of the m4 macros
- rm -rf ${B}/aclocal-copy/
- if [ x"${acpaths}" = xdefault ]; then
- acpaths=
- for i in `find ${S} -maxdepth 2 -name \*.m4|grep -v 'aclocal.m4'| \
- grep -v 'acinclude.m4' | sed -e 's,\(.*/\).*$,\1,'|sort -u`; do
- acpaths="$acpaths -I $i"
- done
- else
- acpaths="${acpaths}"
- fi
- AUTOV=`automake --version |head -n 1 |sed "s/.* //;s/\.[0-9]\+$//"`
- automake --version
- echo "AUTOV is $AUTOV"
- if [ -d ${STAGING_DATADIR_NATIVE}/aclocal-$AUTOV ]; then
- acpaths="$acpaths -I${STAGING_DATADIR_NATIVE}/aclocal-$AUTOV"
- fi
- # The aclocal directory could get modified by other processes
- # uninstalling data from the sysroot. See Yocto #861 for details.
- # We avoid this by taking a copy here and then files cannot disappear.
- if [ -d ${STAGING_DATADIR}/aclocal ]; then
- mkdir -p ${B}/aclocal-copy/
- # for scratch build this directory can be empty
- # so avoid cp's no files to copy error
- cp -r ${STAGING_DATADIR}/aclocal/. ${B}/aclocal-copy/
- acpaths="$acpaths -I ${B}/aclocal-copy/"
- fi
- # autoreconf is too shy to overwrite aclocal.m4 if it doesn't look
- # like it was auto-generated. Work around this by blowing it away
- # by hand, unless the package specifically asked not to run aclocal.
- if ! echo ${EXTRA_AUTORECONF} | grep -q "aclocal"; then
- rm -f aclocal.m4
- fi
- if [ -e configure.in ]; then
- CONFIGURE_AC=configure.in
- else
- CONFIGURE_AC=configure.ac
- fi
- if ! echo ${EXTRA_OECONF} | grep -q "\-\-disable-nls"; then
- if grep "^[[:space:]]*AM_GLIB_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
- if grep "sed.*POTFILES" $CONFIGURE_AC >/dev/null; then
- : do nothing -- we still have an old unmodified configure.ac
- else
- bbnote Executing glib-gettextize --force --copy
- echo "no" | glib-gettextize --force --copy
- fi
- else if grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
- # We'd call gettextize here if it wasn't so broken...
- cp ${STAGING_DATADIR}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/
- if [ -d ${S}/po/ -a ! -e ${S}/po/Makefile.in.in ]; then
- cp ${STAGING_DATADIR}/gettext/po/Makefile.in.in ${S}/po/
- if [ ! -e ${S}/po/remove-potcdate.sin ]; then
- cp ${STAGING_DATADIR_NATIVE}/gettext/po/remove-potcdate.sin ${S}/po/
- fi
- fi
- fi
- fi
- fi
- mkdir -p m4
- if grep "^[[:space:]]*[AI][CT]_PROG_INTLTOOL" $CONFIGURE_AC >/dev/null; then
- bbnote Executing intltoolize --copy --force --automake
- intltoolize --copy --force --automake
- fi
- bbnote Executing autoreconf --verbose --install --force ${EXTRA_AUTORECONF} $acpaths
- autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || bbfatal "autoreconf execution failed."
- cd $olddir
- fi
- ;;
- esac
- if [ -e ${S}/configure ]; then
- oe_runconf
- else
- bbnote "nothing to configure"
- fi
-}
-
-autotools_do_install() {
- oe_runmake 'DESTDIR=${D}' install
- # Info dir listing isn't interesting at this point so remove it if it exists.
- if [ -e "${D}${infodir}/dir" ]; then
- rm -f ${D}${infodir}/dir
- fi
-}
-
-inherit siteconfig
-
-EXPORT_FUNCTIONS do_configure do_install
#@NAME: OpenVuplus
#@DESCRIPTION: Distribution configuration for OpenVuplus
-QA_LOG = "1"
+QA_LOGFILE = "${TMPDIR}/qa.log"
#USER_CLASSES += "image-prelink"
SANITY_REQUIRED_UTILITIES = "patch diffstat texi2html makeinfo svn bzip2 tar gzip gawk chrpath wget cpio sshpass"
-INHERIT += "buildhistory recipe_sanity testlab"
+INHERIT += "buildhistory recipe_sanity"
BUILDHISTORY_COMMIT = "1"
DISTRO = "vuplus"
DISTRO_NAME = "vuplus"
-DISTRO_VERSION = "2.1.0"
+DISTRO_VERSION = "3.0.0"
DISTRO_PR ?= ""
# meta/conf/distro/include/default-distrovars.inc
# package versions
PREFERRED_VERSION_pango ?= "1.28.4"
-PREFERRED_VERSION_wpa-supplicant ?= "0.7.3"
+PREFERRED_VERSION_wpa-supplicant ?= "2.1"
PREFERRED_VERSION_linux-libc-headers ?= "${LINUXLIBCVERSION}"
PREFERRED_VERSION_linux-libc-headers-nativesdk ?= "${LINUXLIBCVERSION}"
#PREFERRED_VERSION_linux-libc-headers = "3.1.1"
#PREFERRED_VERSION_linux-libc-headers-nativesdk = "3.1.1"
+PREFERRED_VERSION_orc ?= "0.4.14"
+PREFERRED_VERSION_freetype ?= "2.4.12"
+
# chang : udev_182 is not working with linux-libc-headers_2.6.31.
PREFERRED_VERSION_udev ?= "124"
+PREFERRED_VERSION_libpng ?= "1.6.8"
+
PREFERRED_PROVIDER_jpeg = "jpeg"
PREFERRED_PROVIDER_jpeg-native = "jpeg-native"
PREFERRED_PROVIDER_libfribidi = "libfribidi"
PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc:gcc-cross"
PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}g++:gcc-cross"
-LICENSE_FLAGS_WHITELIST = "commercial_gst-plugins-ugly commercial_lame commercial_libmad commercial_mpeg2dec"
+LICENSE_FLAGS_WHITELIST = "commercial_gst-plugins-ugly commercial_lame commercial_libmad commercial_mpeg2dec commercial_libav"
COMMERCIAL_AUDIO_PLUGINS ?= "gst-plugins-ugly-mad gst-plugins-ugly-mpegaudioparse"
COMMERCIAL_VIDEO_PLUGINS ?= "gst-plugins-ugly-mpeg2dec gst-plugins-ugly-mpegstream gst-plugins-bad-mpegvideoparse"
S = "${WORKDIR}/${BP}"
-inherit autotools update-rc.d
+inherit autotools-brokensep update-rc.d
do_configure_prepend () {
if [ ! -e acinclude.m4 ]; then
+++ /dev/null
-DESCRIPTION = "Tools for ethernet bridging."
-HOMEPAGE = "http://bridge.sourceforge.net/"
-SECTION = "console/network"
-LICENSE = "GPLv2"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/bridge/bridge-utils-${PV}.tar.gz"
-
-inherit autotools
-
-EXTRA_OECONF = "--with-linux-headers=${STAGING_INCDIR}"
-
-do_install_append () {
- mv ${D}${sbindir}/brctl ${D}${sbindir}/brctl.${PN}
- install -d ${D}/${datadir}/bridge-utils
- install -d ${D}/${sysconfdir}/network/if-pre-up.d
- install -d ${D}/${sysconfdir}/network/if-post-down.d
-}
-
-DEPENDS = "sysfsutils"
-RRECOMMENDS_${PN} = "kernel-module-bridge"
-
-pkg_postinst_${PN} () {
- update-alternatives --install ${sbindir}/brctl brctl brctl.${PN} 100
-}
-
-pkg_prerm_${PN} () {
- update-alternatives --remove brctl brctl.${PN}
-}
+++ /dev/null
-include missing kernel header
-
-Fixes errors like
-
-| /b/kraj/jlinux-next/poky/build/tmp-eglibc/sysroots/re-64b/usr/include/linux/if_bridge.h:172:20: error: field 'ip6' has incomplete type
-| In file included from ../libbridge/libbridge.h:24:0,
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
-Index: bridge-utils-1.5/libbridge/libbridge.h
-===================================================================
---- bridge-utils-1.5.orig/libbridge/libbridge.h 2011-03-28 17:52:54.000000000 -0700
-+++ bridge-utils-1.5/libbridge/libbridge.h 2013-03-04 21:16:25.781188309 -0800
-@@ -20,6 +20,7 @@
- #define _LIBBRIDGE_H
-
- #include <sys/socket.h>
-+#include <linux/in6.h>
- #include <linux/if.h>
- #include <linux/if_bridge.h>
-
+++ /dev/null
-require bridge-utils.inc
-
-SRC_URI += "file://kernel-headers.patch"
-
-PARALLEL_MAKE = ""
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=f9d20a453221a1b7e32ae84694da2c37"
-
-SRC_URI[md5sum] = "ec7b381160b340648dede58c31bb2238"
-SRC_URI[sha256sum] = "42f9e5fb8f6c52e63a98a43b81bd281c227c529f194913e1c51ec48a393b6688"
-
+++ /dev/null
-# Example hostapd build time configuration
-#
-# This file lists the configuration options that are used when building the
-# hostapd binary. All lines starting with # are ignored. Configuration option
-# lines must be commented out complete, if they are not to be included, i.e.,
-# just setting VARIABLE=n is not disabling that variable.
-#
-# This file is included in Makefile, so variables like CFLAGS and LIBS can also
-# be modified from here. In most cass, these lines should use += in order not
-# to override previous values of the variables.
-
-# Driver interface for Host AP driver
-CONFIG_DRIVER_HOSTAP=y
-
-# Driver interface for wired authenticator
-CONFIG_DRIVER_WIRED=y
-
-# Driver interface for madwifi driver
-#CONFIG_DRIVER_MADWIFI=y
-#CFLAGS += -I../../madwifi # change to the madwifi source directory
-
-# Driver interface for Prism54 driver
-CONFIG_DRIVER_PRISM54=y
-
-# Driver interface for drivers using the nl80211 kernel interface
-CONFIG_DRIVER_NL80211=y
-CONFIG_LIBNL20=y
-# driver_nl80211.c requires a rather new libnl (version 1.1) which may not be
-# shipped with your distribution yet. If that is the case, you need to build
-# newer libnl version and point the hostapd build to use it.
-#LIBNL=/usr/src/libnl
-#CFLAGS += -I$(LIBNL)/include
-#LIBS += -L$(LIBNL)/lib
-
-# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver)
-#CONFIG_DRIVER_BSD=y
-#CFLAGS += -I/usr/local/include
-#LIBS += -L/usr/local/lib
-
-# Driver interface for no driver (e.g., RADIUS server only)
-#CONFIG_DRIVER_NONE=y
-
-# IEEE 802.11F/IAPP
-CONFIG_IAPP=y
-
-# WPA2/IEEE 802.11i RSN pre-authentication
-CONFIG_RSN_PREAUTH=y
-
-# PeerKey handshake for Station to Station Link (IEEE 802.11e DLS)
-CONFIG_PEERKEY=y
-
-# IEEE 802.11w (management frame protection)
-# This version is an experimental implementation based on IEEE 802.11w/D1.0
-# draft and is subject to change since the standard has not yet been finalized.
-# Driver support is also needed for IEEE 802.11w.
-#CONFIG_IEEE80211W=y
-
-# Integrated EAP server
-CONFIG_EAP=y
-
-# EAP-MD5 for the integrated EAP server
-CONFIG_EAP_MD5=y
-
-# EAP-TLS for the integrated EAP server
-CONFIG_EAP_TLS=y
-
-# EAP-MSCHAPv2 for the integrated EAP server
-CONFIG_EAP_MSCHAPV2=y
-
-# EAP-PEAP for the integrated EAP server
-CONFIG_EAP_PEAP=y
-
-# EAP-GTC for the integrated EAP server
-CONFIG_EAP_GTC=y
-
-# EAP-TTLS for the integrated EAP server
-CONFIG_EAP_TTLS=y
-
-# EAP-SIM for the integrated EAP server
-#CONFIG_EAP_SIM=y
-
-# EAP-AKA for the integrated EAP server
-#CONFIG_EAP_AKA=y
-
-# EAP-AKA' for the integrated EAP server
-# This requires CONFIG_EAP_AKA to be enabled, too.
-#CONFIG_EAP_AKA_PRIME=y
-
-# EAP-PAX for the integrated EAP server
-#CONFIG_EAP_PAX=y
-
-# EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK)
-#CONFIG_EAP_PSK=y
-
-# EAP-SAKE for the integrated EAP server
-#CONFIG_EAP_SAKE=y
-
-# EAP-GPSK for the integrated EAP server
-#CONFIG_EAP_GPSK=y
-# Include support for optional SHA256 cipher suite in EAP-GPSK
-#CONFIG_EAP_GPSK_SHA256=y
-
-# EAP-FAST for the integrated EAP server
-# Note: Default OpenSSL package does not include support for all the
-# functionality needed for EAP-FAST. If EAP-FAST is enabled with OpenSSL,
-# the OpenSSL library must be patched (openssl-0.9.9-session-ticket.patch)
-# to add the needed functions.
-#CONFIG_EAP_FAST=y
-
-# Wi-Fi Protected Setup (WPS)
-CONFIG_WPS=y
-# Enable UPnP support for external WPS Registrars
-#CONFIG_WPS_UPNP=y
-
-# EAP-IKEv2
-#CONFIG_EAP_IKEV2=y
-
-# Trusted Network Connect (EAP-TNC)
-#CONFIG_EAP_TNC=y
-
-# PKCS#12 (PFX) support (used to read private key and certificate file from
-# a file that usually has extension .p12 or .pfx)
-CONFIG_PKCS12=y
-
-# RADIUS authentication server. This provides access to the integrated EAP
-# server from external hosts using RADIUS.
-CONFIG_RADIUS_SERVER=y
-
-# Build IPv6 support for RADIUS operations
-CONFIG_IPV6=y
-
-# IEEE Std 802.11r-2008 (Fast BSS Transition)
-#CONFIG_IEEE80211R=y
-
-# Use the hostapd's IEEE 802.11 authentication (ACL), but without
-# the IEEE 802.11 Management capability (e.g., madwifi or FreeBSD/net80211)
-CONFIG_DRIVER_RADIUS_ACL=y
-
-# IEEE 802.11n (High Throughput) support
-CONFIG_IEEE80211N=y
-
-# Remove debugging code that is printing out debug messages to stdout.
-# This can be used to reduce the size of the hostapd considerably if debugging
-# code is not needed.
-#CONFIG_NO_STDOUT_DEBUG=y
+++ /dev/null
-#!/bin/sh
-DAEMON=/usr/sbin/hostapd
-NAME=hostapd
-DESC="HOSTAP Daemon"
-ARGS="/etc/hostapd.conf -B"
-
-test -f $DAEMON || exit 0
-
-set -e
-
-case "$1" in
- start)
- echo -n "Starting $DESC: "
- start-stop-daemon -S -x $DAEMON -- $ARGS
- echo "$NAME."
- ;;
- stop)
- echo -n "Stopping $DESC: "
- start-stop-daemon -K -x $DAEMON
- echo "$NAME."
- ;;
- restart)
- $0 stop
- $0 start
- ;;
- reload)
- echo -n "Reloading $DESC: "
- killall -HUP $(basename ${DAEMON})
- echo "$NAME."
- ;;
- *)
- echo "Usage: $0 {start|stop|restart|reload}"
- exit 1
- ;;
-esac
-
-exit 0
+++ /dev/null
-HOMEPAGE = "http://hostap.epitest.fi"
-SECTION = "kernel/userland"
-PRIORITY = "optional"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://${WORKDIR}/hostapd-0.7.3/COPYING;md5=c54ce9345727175ff66d17b67ff51f58"
-DEPENDS = "libnl openssl"
-
-inherit update-rc.d
-INITSCRIPT_NAME="hostapd"
-
-do_configure() {
- install -m 0644 ${WORKDIR}/defconfig ${S}/.config
-}
-
-do_compile() {
- make
-}
-
-do_install() {
- install -d ${D}${sbindir} ${D}${sysconfdir}/init.d
- install -m 0755 ${S}/hostapd ${D}${sbindir}
- install -m 0755 ${S}/hostapd_cli ${D}${sbindir}
- install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/hostapd
-}
-
+++ /dev/null
-DESCRIPTION = "User space daemon for extended IEEE 802.11 management"
-
-require hostap-daemon-0.7.inc
-
-PR = "r4"
-
-DEFAULT_PREFERENCE = "-1"
-
-SRC_URI = "http://hostap.epitest.fi/releases/hostapd-${PV}.tar.gz \
- file://defconfig \
- file://init"
-SRC_URI[md5sum] = "91a7c8d0f090b7104152d3455a84c112"
-SRC_URI[sha256sum] = "31eb2781f37e1a4c27969d1594f8019c0ca87779349c099ab812833289961567"
-
-S = "${WORKDIR}/hostapd-${PV}/hostapd"
-
-
--- /dev/null
+PR .= "-vuplus0"
+
+do_install() {
+ install -d ${D}${sbindir} ${D}${sysconfdir}/init.d
+ install -m 0755 ${S}/hostapd ${D}${sbindir}
+ install -m 0755 ${S}/hostapd_cli ${D}${sbindir}
+ install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/hostapd
+}
+
S = "${WORKDIR}/${PN}"
-inherit autotools gettext
+inherit autotools-brokensep gettext
PACKAGES =+ "${PN}-utils"
require recipes-connectivity/openssl/openssl.inc
-PR = "${INC_PR}.1"
+PR .= "-vuplus0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=f9a8f968107345e0b75aa8c2ecaa7ec8"
--- /dev/null
+DESCRIPTION = "Vuplus: W-LAN package group for the Vuplus Distribution"
+SECTION = "vuplus/base"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+PR = "r16"
+
+inherit packagegroup
+
+DEPENDS_${PN} = "enigma2"
+RDEPENDS_${PN} = "\
+ enigma2-plugin-systemplugins-wirelesslansetup \
+ wireless-tools \
+ wpa-supplicant \
+"
+
+WIFI_FIRMWARES = "\
+ rt73-firmware \
+ zd1211-firmware \
+ firmware-htc9271 \
+ firmware-rt2561 \
+ firmware-rtl8721u \
+ firmware-rt3070 \
+"
+
+KERNEL_WIFI_MODULES = " \
+ kernel-module-ath9k-htc \
+ kernel-module-carl9170 \
+ kernel-module-prism2-usb \
+ kernel-module-rt73usb \
+ kernel-module-rt2500usb \
+ kernel-module-rtl8187 \
+ kernel-module-r8712u \
+ kernel-module-w35und \
+ kernel-module-zd1211rw \
+ kernel-module-llc \
+ kernel-module-stp \
+ kernel-module-bridge \
+ kernel-module-hostap \
+ kernel-module-rt2800usb \
+"
+
+KERNEL_WIFI_MODULES += "${@base_version_less_or_equal('VUPLUS_KERNEL_VERSION', '3.1.1', 'kernel-module-r8192u-usb', '', d)}"
+
+LEGACY_MODULES = " \
+ rt3070 \
+ r8192cu \
+"
+
+RDEPENDS_${PN}_append = "\
+ ${WIFI_FIRMWARES} \
+ ${KERNEL_WIFI_MODULES} \
+ ${LEGACY_MODULES} \
+ rt2870sta \
+"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+++ /dev/null
-PR .= "-vuplus0"
-
-do_install_append() {
- rm ${D}/${sysconfdir}/ppp/options
- rm ${D}/${sysconfdir}/ppp/pap-secrets
-}
-
-CONFFILES_${PN} = "${sysconfdir}/ppp/chap-secrets"
--- /dev/null
+PR .= "-vuplus0"
+
+do_install_append() {
+ rm ${D}/${sysconfdir}/ppp/options
+ rm ${D}/${sysconfdir}/ppp/pap-secrets
+}
+
+CONFFILES_${PN} = "${sysconfdir}/ppp/chap-secrets"
SRC_URI = " \
file://rtl8192_8188CU_linux_v3.1.2590.20110922.tar.gz \
- file://makefile.patch;patch=1 \
- file://linux_3.1.patch;patch=1 \
+ file://makefile.patch \
+ file://linux_3.1.patch \
"
S = "${WORKDIR}/rtl8192_8188CU_linux_v${PV}"
FILES_${PN} = "${base_libdir}/firmware/"
PACKAGE_ARCH = "all"
+
+SRC_URI[md5sum] = "0612338acc553d6809fed0632ab6619d"
+SRC_URI[sha256sum] = "5e075817e70db189674ef725502b7e6ac31426b0ac6066773438cc7bb7fff930"
--- /dev/null
+SRC_URI += "file://config-lfs.patch \
+ file://quota.patch;striplevel=0 \
+ "
+
+EXTRA_OECONF += "\
+ --without-ads \
+ --without-winbind \
+ --without-ldap \
+ --without-krb5"
+
+PACKAGES =+ "libnetapi libtdb libsmbsharemodes libsmbclient libsmbclient-dev cifs cifs-doc swat"
+
+FILES_libnetapi = "${libdir}/libnetapi.so.*"
+FILES_libsmbsharemodes = "${libdir}/libsmbsharemodes.so.*"
+FILES_libtdb = "${libdir}/libtdb.so.*"
+FILES_cifs = "${base_sbindir}/mount.cifs ${base_sbindir}/umount.cifs"
+FILES_cifs-doc = "${mandir}/man8/mount.cifs.8 ${mandir}/man8/umount.cifs.8"
+FILES_libsmbclient = "${libdir}/libsmbclient.so.*"
+FILES_libsmbclient-dev = "${libdir}/libsmbclient.so ${includedir}"
+FILES_swat = "${sbindir}/swat ${datadir}/swat ${libdir}/*.msg"
--- /dev/null
+SECTION = "console/network"
+LICENSE = "GPL"
+DEPENDS = "readline virtual/libiconv talloc"
+
+SRC_URI = "http://samba.org/samba/ftp/stable/samba-${PV}.tar.gz \
+ file://volatiles.03_samba \
+ file://smb.conf \
+ file://init \
+ file://tdb.pc \
+ "
+
+S = "${WORKDIR}/samba-${PV}/source"
+
+inherit autotools-brokensep update-rc.d
+
+FILES_${PN} += "${libdir}/vfs/*.so ${libdir}/charset/*.so ${libdir}/*.dat \
+ ${libdir}/auth/*.so ${libdir}/security/*.so"
+FILES_${PN}-dbg += "${libdir}/vfs/.debug/*.so ${libdir}/charset/.debug/*.so \
+ ${libdir}/auth/.debug/*.so ${libdir}/security/.debug/*.so"
+
+SAMBAMMAP = "no"
+SAMBAMMAP_libc-glibc = "yes"
+
+# The file system settings --foodir=dirfoo and overridden unconditionally
+# in the samba config by --with-foodir=dirfoo - even if the --with is not
+# specified! Fix that here. Set the privatedir to /etc/samba/private.
+EXTRA_OECONF='--disable-cups \
+ --with-readline=${STAGING_LIBDIR}/.. \
+ --with-libiconv=${STAGING_LIBDIR}/.. \
+ --without-automount \
+ --with-configdir=${sysconfdir}/samba \
+ --with-privatedir=${sysconfdir}/samba/private \
+ --with-lockdir=${localstatedir}/lock \
+ --with-piddir=${localstatedir}/run \
+ --with-logfilebase=${localstatedir}/log \
+ --with-libdir=${libdir} \
+ --with-mandir=${mandir} \
+ --with-swatdir=${datadir}/swat \
+ --with-aio-support \
+ --without-libtalloc \
+ samba_cv_struct_timespec=yes \
+ libreplace_cv_HAVE_MMAP=${SAMBAMMAP}'
+
+INITSCRIPT_NAME = "samba"
+# No dependencies, goes in at level 20 (NOTE: take care with the
+# level, later levels put the shutdown later too - see the links
+# in rc6.d, the shutdown must precede network shutdown).
+INITSCRIPT_PARAMS = "defaults"
+CONFFILES_${PN} = "${sysconfdir}/samba/smb.conf"
+
+do_configure_prepend () {
+ ./script/mkversion.sh
+ if [ ! -e acinclude.m4 ]; then
+ touch aclocal.m4
+ cat aclocal.m4 > acinclude.m4
+ fi
+}
+
+do_compile () {
+ oe_runmake proto_exists
+ base_do_compile
+}
+
+do_install_append() {
+ install -d ${D}${libdir}/pkgconfig/
+ cp ${WORKDIR}/tdb.pc ${D}${libdir}/pkgconfig/
+ mv ${D}${libdir}/libsmbclient.so ${D}${libdir}/libsmbclient.so.0 || true
+ ln -sf libsmbclient.so.0 ${D}${libdir}/libsmbclient.so
+ mkdir -p ${D}${base_sbindir}
+ rm -f ${D}${bindir}/*.old
+ rm -f ${D}${sbindir}/*.old
+ [ -f ${D}${sbindir}/mount.cifs ] && mv ${D}${sbindir}/mount.cifs ${D}${base_sbindir}/
+ [ -f ${D}${sbindir}/umount.cifs ] && mv ${D}${sbindir}/umount.cifs ${D}${base_sbindir}/
+
+ # This is needed for < 3.2.4
+ rm -f ${D}${sbindir}/mount.smbfs ${D}${base_sbindir}/mount.smbfs
+ if [ -f ${D}${bindir}/smbmount ]; then
+ ln -sf ${bindir}/smbmount ${D}${base_sbindir}/mount.smb
+ ln -sf ${bindir}/smbmount ${D}${base_sbindir}/mount.smbfs
+ fi
+
+ install -D -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/samba
+ install -D -m 644 ${WORKDIR}/smb.conf ${D}${sysconfdir}/samba/smb.conf
+ install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/volatiles.03_samba
+ install -d ${D}/var/log/samba
+ install -d ${D}/var/spool/samba
+ rmdir ${D}/var/run
+}
+
-require recipes-connectivity/samba/samba.inc
-require recipes-connectivity/samba/samba-basic.inc
+require samba.inc
+require samba-basic.inc
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://../COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
PR = "r2"
-PR .= "-vuplus3"
+PR .= "-vuplus0"
SRC_URI += " \
file://01samba-kill \
+++ /dev/null
-DESCRIPTION = "Vuplus: W-LAN Task for the Vuplus Distribution"
-SECTION = "vuplus/base"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-PR = "r16"
-
-inherit task
-
-DEPENDS_${PN} = "enigma2-plugins"
-RDEPENDS_${PN} = "\
- ${@base_contains("VUPLUS_FEATURES", "vuwlan", "enigma2-plugin-systemplugins-wirelesslansetup", "enigma2-plugin-systemplugins-wirelesslan", d)} \
- wireless-tools \
- wpa-supplicant \
-"
-
-WIFI_FIRMWARES = "\
- rt73-firmware \
- zd1211-firmware \
- firmware-htc9271 \
- firmware-rt2561 \
- firmware-rtl8721u \
- firmware-rt3070 \
-"
-
-KERNEL_WIFI_MODULES = " \
- kernel-module-ath9k-htc \
- kernel-module-carl9170 \
- kernel-module-prism2-usb \
- kernel-module-rt73usb \
- kernel-module-rt2500usb \
- kernel-module-rtl8187 \
- kernel-module-r8712u \
- kernel-module-w35und \
- kernel-module-zd1211rw \
- kernel-module-llc \
- kernel-module-stp \
- kernel-module-bridge \
- kernel-module-hostap \
- kernel-module-rt2800usb \
-"
-
-KERNEL_WIFI_MODULES += "${@base_version_less_or_equal('VUPLUS_KERNEL_VERSION', '3.1.1', 'kernel-module-r8192u-usb', '', d)}"
-
-LEGACY_MODULES = " \
- rt3070 \
- r8192cu \
-"
-
-RDEPENDS_${PN}_append = "\
- ${WIFI_FIRMWARES} \
- ${KERNEL_WIFI_MODULES} \
- ${LEGACY_MODULES} \
- rt2870sta \
-"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
inherit allarch
SRC_URI = "http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-data-${PV}.tar.bz2 \
- file://usb-modeswitch-data_20120215.patch;patch=1;pnum=1 \
+ file://usb-modeswitch-data_20120215.patch \
"
do_install() {
+++ /dev/null
-Author: Daniel Jacobowitz <dan@debian.org>
-Description: Build with tcpwrapper and SSL support.
-
-diff -Naurp vsftpd.orig/builddefs.h vsftpd/builddefs.h
---- vsftpd.orig/builddefs.h 2009-01-31 00:02:36.000000000 +0000
-+++ vsftpd/builddefs.h 2009-01-31 00:26:34.000000000 +0000
-@@ -1,9 +1,9 @@
- #ifndef VSF_BUILDDEFS_H
- #define VSF_BUILDDEFS_H
-
--#undef VSF_BUILD_TCPWRAPPERS
-+#define VSF_BUILD_TCPWRAPPERS 1
- #define VSF_BUILD_PAM
--#undef VSF_BUILD_SSL
-+#define VSF_BUILD_SSL
-
- #endif /* VSF_BUILDDEFS_H */
-
+++ /dev/null
-Author: Daniel Jacobowitz <dan@debian.org>
-Description: Set default configuration.
-
-diff -Naurp vsftpd.orig/tunables.c vsftpd/tunables.c
---- vsftpd.orig/tunables.c 2009-07-15 22:08:27.000000000 +0200
-+++ vsftpd/tunables.c 2009-11-06 13:33:34.000000000 +0100
-@@ -246,7 +246,7 @@ tunables_load_defaults()
- /* -rw------- */
- tunable_chown_upload_mode = 0600;
-
-- install_str_setting("/usr/share/empty", &tunable_secure_chroot_dir);
-+ install_str_setting("/var/run/vsftpd/empty", &tunable_secure_chroot_dir);
- install_str_setting("ftp", &tunable_ftp_username);
- install_str_setting("root", &tunable_chown_username);
- install_str_setting("/var/log/xferlog", &tunable_xferlog_file);
-@@ -256,7 +256,7 @@ tunables_load_defaults()
- install_str_setting(0, &tunable_ftpd_banner);
- install_str_setting("/etc/vsftpd.banned_emails", &tunable_banned_email_file);
- install_str_setting("/etc/vsftpd.chroot_list", &tunable_chroot_list_file);
-- install_str_setting("ftp", &tunable_pam_service_name);
-+ install_str_setting("vsftpd", &tunable_pam_service_name);
- install_str_setting("ftp", &tunable_guest_username);
- install_str_setting("/etc/vsftpd.user_list", &tunable_userlist_file);
- install_str_setting(0, &tunable_anon_root);
-diff -Naurp vsftpd.orig/vsftpd.conf vsftpd/vsftpd.conf
---- vsftpd.orig/vsftpd.conf 2009-11-06 08:41:11.000000000 +0100
-+++ vsftpd/vsftpd.conf 2009-11-06 13:35:37.000000000 +0100
-@@ -8,6 +8,17 @@
- # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
- # capabilities.
- #
-+#
-+# Run standalone? vsftpd can run either from an inetd or as a standalone
-+# daemon started from an initscript.
-+listen=YES
-+#
-+# Run standalone with IPv6?
-+# Like the listen parameter, except vsftpd will listen on an IPv6 socket
-+# instead of an IPv4 one. This parameter and the listen parameter are mutually
-+# exclusive.
-+#listen_ipv6=YES
-+#
- # Allow anonymous FTP? (Beware - allowed by default if you comment this out).
- anonymous_enable=YES
- #
-@@ -34,6 +45,12 @@ anonymous_enable=YES
- # go into a certain directory.
- dirmessage_enable=YES
- #
-+# If enabled, vsftpd will display directory listings with the time
-+# in your local time zone. The default is to display GMT. The
-+# times returned by the MDTM FTP command are also affected by this
-+# option.
-+use_localtime=YES
-+#
- # Activate logging of uploads/downloads.
- xferlog_enable=YES
- #
-@@ -89,6 +106,11 @@ connect_from_port_20=YES
- # (default follows)
- #banned_email_file=/etc/vsftpd.banned_emails
- #
-+# You may restrict local users to their home directories. See the FAQ for
-+# the possible risks in this before using chroot_local_user or
-+# chroot_list_enable below.
-+#chroot_local_user=YES
-+#
- # You may specify an explicit list of local users to chroot() to their home
- # directory. If chroot_local_user is YES, then this list becomes a list of
- # users to NOT chroot().
-@@ -103,12 +123,22 @@ connect_from_port_20=YES
- # the presence of the "-R" option, so there is a strong case for enabling it.
- #ls_recurse_enable=YES
- #
--# When "listen" directive is enabled, vsftpd runs in standalone mode and
--# listens on IPv4 sockets. This directive cannot be used in conjunction
--# with the listen_ipv6 directive.
--listen=YES
-+# Customization
- #
--# This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6
--# sockets, you must run two copies of vsftpd with two configuration files.
--# Make sure, that one of the listen options is commented !!
--#listen_ipv6=YES
-+# Some of vsftpd's settings don't fit the filesystem layout by
-+# default.
-+#
-+# This option should be the name of a directory which is empty. Also, the
-+# directory should not be writable by the ftp user. This directory is used
-+# as a secure chroot() jail at times vsftpd does not require filesystem
-+# access.
-+secure_chroot_dir=/var/run/vsftpd/empty
-+#
-+# This string is the name of the PAM service vsftpd will use.
-+pam_service_name=vsftpd
-+#
-+# This option specifies the location of the RSA certificate to use for SSL
-+# encrypted connections.
-+rsa_cert_file=/etc/ssl/private/vsftpd.pem
-+#
-+local_root=/
-diff -Naurp vsftpd.orig/vsftpd.conf.5 vsftpd/vsftpd.conf.5
---- vsftpd.orig/vsftpd.conf.5 2009-11-06 08:41:11.000000000 +0100
-+++ vsftpd/vsftpd.conf.5 2009-11-06 13:37:10.000000000 +0100
-@@ -940,7 +940,7 @@ Default: nobody
- .B pam_service_name
- This string is the name of the PAM service vsftpd will use.
-
--Default: ftp
-+Default: vsftpd
- .TP
- .B pasv_address
- Use this option to override the IP address that vsftpd will advertise in
-@@ -969,7 +969,7 @@ This option should be the name of a dire
- directory should not be writable by the ftp user. This directory is used
- as a secure chroot() jail at times vsftpd does not require filesystem access.
-
--Default: /usr/share/empty
-+Default: /var/run/vsftpd/empty
- .TP
- .B ssl_ciphers
- This option can be used to select which SSL ciphers vsftpd will allow for
+++ /dev/null
-Author: shaul Karl <shaulkarl@yahoo.com>
-Description:
- A short explanation how to find out the right db version (Closes: #478282).
-
-diff -Naurp vsftpd.orig/EXAMPLE/VIRTUAL_USERS/README vsftpd/EXAMPLE/VIRTUAL_USERS/README
---- vsftpd.orig/EXAMPLE/VIRTUAL_USERS/README 2009-01-31 00:02:36.000000000 +0000
-+++ vsftpd/EXAMPLE/VIRTUAL_USERS/README 2009-01-31 01:38:11.000000000 +0000
-@@ -21,7 +21,10 @@ NOTE: Many systems have multiple version
- need to use e.g. db3_load for correct operation. This is known to affect
- some Debian systems. The core issue is that pam_userdb expects its login
- database to be a specific db version (often db3, whereas db4 may be installed
--on your system).
-+on your system). You might check ahead what specific db version you'll need
-+by looking at the dependcies of the pam module. Some methods to do that is to
-+run ldd on the pam_userdb.so or look at the dependencies of the package with
-+the pam modules.
-
- This will create /etc/vsftpd_login.db. Obviously, you may want to make sure
- the permissions are restricted:
+++ /dev/null
-Author: Michael Stapelberg <michael@stapelberg.de>
-Description:
- vsftpd does not accept IPv6 scope identifier in listen_address6
- (Closes: #544993).
- .
- When specifying a link-local address, you need a scope identifier (tha name of
- the index usually), thus you cannot use the following:
- listen_address6=fe80::21f:16ff:fe06:3aab
- but you have to use:
- listen_address6=fe80::21f:16ff:fe06:3aab%eth0
- so that it is clear on which interface this link-local address should be used.
- .
- Unfortunately, vsftpd does not correctly parse the address mentioned above and
- thus fails to be useful in link-local-only environments.
- .
- This patch fixes it.
-
-diff -Naurp vsftpd.orig/standalone.c vsftpd/standalone.c
---- vsftpd.orig/standalone.c 2009-10-02 14:15:18.000000000 +0200
-+++ vsftpd/standalone.c 2009-10-17 17:10:02.000000000 +0200
-@@ -7,6 +7,8 @@
- * Code to listen on the network and launch children servants.
- */
-
-+#include <net/if.h>
-+
- #include "standalone.h"
-
- #include "parseconf.h"
-@@ -111,8 +113,17 @@ vsf_standalone_main(void)
- else
- {
- struct mystr addr_str = INIT_MYSTR;
-+ struct mystr scope_id = INIT_MYSTR;
- const unsigned char* p_raw_addr;
-+ unsigned int if_index = 0;
-+
-+ /* See if we got a scope id */
- str_alloc_text(&addr_str, tunable_listen_address6);
-+ str_split_char(&addr_str, &scope_id, '%');
-+ if (str_getlen(&scope_id) > 0) {
-+ if_index = if_nametoindex(str_getbuf(&scope_id));
-+ str_free(&scope_id);
-+ }
- p_raw_addr = vsf_sysutil_parse_ipv6(&addr_str);
- str_free(&addr_str);
- if (!p_raw_addr)
-@@ -120,6 +131,7 @@ vsf_standalone_main(void)
- die2("bad listen_address6: ", tunable_listen_address6);
- }
- vsf_sysutil_sockaddr_set_ipv6addr(p_sockaddr, p_raw_addr);
-+ vsf_sysutil_sockaddr_set_ipv6scope(p_sockaddr, if_index);
- }
- retval = vsf_sysutil_bind(listen_sock, p_sockaddr);
- vsf_sysutil_free(p_sockaddr);
-diff -Naurp vsftpd.orig/sysutil.c vsftpd/sysutil.c
---- vsftpd.orig/sysutil.c 2009-10-02 14:15:18.000000000 +0200
-+++ vsftpd/sysutil.c 2009-10-17 17:10:02.000000000 +0200
-@@ -2039,6 +2039,19 @@ vsf_sysutil_sockaddr_set_ipv6addr(struct
- }
- }
-
-+int
-+vsf_sysutil_sockaddr_get_ipv6scope(struct vsf_sysutil_sockaddr* p_sockptr)
-+{
-+ return p_sockptr->u.u_sockaddr_in6.sin6_scope_id;
-+}
-+
-+void
-+vsf_sysutil_sockaddr_set_ipv6scope(struct vsf_sysutil_sockaddr* p_sockptr,
-+ const int scope_id)
-+{
-+ p_sockptr->u.u_sockaddr_in6.sin6_scope_id = scope_id;
-+}
-+
- const void*
- vsf_sysutil_sockaddr_ipv6_v4(const struct vsf_sysutil_sockaddr* p_addr)
- {
-diff -Naurp vsftpd.orig/sysutil.h vsftpd/sysutil.h
---- vsftpd.orig/sysutil.h 2009-10-02 14:15:18.000000000 +0200
-+++ vsftpd/sysutil.h 2009-10-17 17:10:02.000000000 +0200
-@@ -228,6 +228,9 @@ void vsf_sysutil_sockaddr_set_ipv4addr(s
- const unsigned char* p_raw);
- void vsf_sysutil_sockaddr_set_ipv6addr(struct vsf_sysutil_sockaddr* p_sockptr,
- const unsigned char* p_raw);
-+void vsf_sysutil_sockaddr_set_ipv6scope(struct vsf_sysutil_sockaddr* p_sockptr,
-+ const int scope_id);
-+int vsf_sysutil_sockaddr_get_ipv6scope(struct vsf_sysutil_sockaddr* p_sockptr);
- void vsf_sysutil_sockaddr_set_any(struct vsf_sysutil_sockaddr* p_sockaddr);
- unsigned short vsf_sysutil_sockaddr_get_port(
- const struct vsf_sysutil_sockaddr* p_sockptr);
+++ /dev/null
-Author: Jiri Skala <jskala@redhat.com>
-Description: trim white spaces from option values (Closes: #419857, #536803).
-
-diff -Naurp vsftpd.orig/parseconf.c vsftpd/parseconf.c
---- vsftpd.orig/parseconf.c 2009-10-02 14:15:18.000000000 +0200
-+++ vsftpd/parseconf.c 2009-10-18 11:28:31.000000000 +0200
-@@ -275,7 +275,7 @@ vsf_parseconf_load_setting(const char* p
- }
- else
- {
-- *p_curr_setting = str_strdup(&s_value_str);
-+ *p_curr_setting = str_strdup_trimmed(&s_value_str);
- }
- return;
- }
-diff -Naurp vsftpd.orig/str.c vsftpd/str.c
---- vsftpd.orig/str.c 2009-10-02 14:15:18.000000000 +0200
-+++ vsftpd/str.c 2009-10-18 11:28:31.000000000 +0200
-@@ -89,6 +89,18 @@ str_strdup(const struct mystr* p_str)
- return vsf_sysutil_strdup(str_getbuf(p_str));
- }
-
-+const char*
-+str_strdup_trimmed(const struct mystr* p_str)
-+{
-+ const char* p_trimmed = str_getbuf(p_str);
-+ int h, t, newlen;
-+
-+ for (h = 0; h < (int)str_getlen(p_str) && vsf_sysutil_isspace(p_trimmed[h]); h++) ;
-+ for (t = str_getlen(p_str) - 1; t >= 0 && vsf_sysutil_isspace(p_trimmed[t]); t--) ;
-+ newlen = t - h + 1;
-+ return newlen ? vsf_sysutil_strndup(p_trimmed+h, (unsigned int)newlen) : 0L;
-+}
-+
- void
- str_alloc_alt_term(struct mystr* p_str, const char* p_src, char term)
- {
-diff -Naurp vsftpd.orig/str.h vsftpd/str.h
---- vsftpd.orig/str.h 2009-10-02 14:15:18.000000000 +0200
-+++ vsftpd/str.h 2009-10-18 11:28:31.000000000 +0200
-@@ -31,6 +31,7 @@ void str_alloc_ulong(struct mystr* p_str
- void str_alloc_filesize_t(struct mystr* p_str, filesize_t the_filesize);
- void str_copy(struct mystr* p_dest, const struct mystr* p_src);
- const char* str_strdup(const struct mystr* p_str);
-+const char* str_strdup_trimmed(const struct mystr* p_str);
- void str_empty(struct mystr* p_str);
- void str_free(struct mystr* p_str);
- void str_trunc(struct mystr* p_str, unsigned int trunc_len);
-diff -Naurp vsftpd.orig/sysutil.c vsftpd/sysutil.c
---- vsftpd.orig/sysutil.c 2009-10-02 14:15:18.000000000 +0200
-+++ vsftpd/sysutil.c 2009-10-18 11:28:31.000000000 +0200
-@@ -1033,6 +1033,18 @@ vsf_sysutil_strdup(const char* p_str)
- return strdup(p_str);
- }
-
-+char*
-+vsf_sysutil_strndup(const char* p_str, unsigned int p_len)
-+{
-+ char *new = (char *)malloc(p_len+1);
-+
-+ if (new == NULL)
-+ return NULL;
-+
-+ new[p_len]='\0';
-+ return (char *)memcpy(new, p_str, p_len);
-+}
-+
- void
- vsf_sysutil_memclr(void* p_dest, unsigned int size)
- {
-diff -Naurp vsftpd.orig/sysutil.h vsftpd/sysutil.h
---- vsftpd.orig/sysutil.h 2009-10-02 14:15:18.000000000 +0200
-+++ vsftpd/sysutil.h 2009-10-18 11:28:31.000000000 +0200
-@@ -186,6 +186,7 @@ int vsf_sysutil_wait_get_exitcode(
- /* Various string functions */
- unsigned int vsf_sysutil_strlen(const char* p_text);
- char* vsf_sysutil_strdup(const char* p_str);
-+char* vsf_sysutil_strndup(const char* p_str, unsigned int p_len);
- void vsf_sysutil_memclr(void* p_dest, unsigned int size);
- void vsf_sysutil_memcpy(void* p_dest, const void* p_src,
- const unsigned int size);
+++ /dev/null
-Author: Martin Nagy <mnagy@redhat.com>
-Description: Fix file listing issue with wildcard (Bugzilla: #392181).
-
-diff -Naurp vsftpd.orig/ls.c vsftpd/ls.c
---- vsftpd.orig/ls.c 2009-10-02 14:15:18.000000000 +0200
-+++ vsftpd/ls.c 2009-10-18 11:48:29.000000000 +0200
-@@ -281,6 +281,25 @@ vsf_filename_passes_filter(const struct
- {
- goto out;
- }
-+ if (!must_match_at_current_pos)
-+ {
-+ struct mystr scan_fwd = INIT_MYSTR;
-+
-+ str_mid_to_end(&name_remain_str, &scan_fwd,
-+ indexx + str_getlen(&s_match_needed_str));
-+ /* We're allowed to be greedy, test if it match further along
-+ * keep advancing indexx while we can still match.
-+ */
-+ while( (locate_result = str_locate_str(&scan_fwd, &s_match_needed_str)),
-+ locate_result.found )
-+ {
-+ indexx += locate_result.index + str_getlen(&s_match_needed_str);
-+ str_mid_to_end(&scan_fwd, &temp_str,
-+ locate_result.index + str_getlen(&s_match_needed_str));
-+ str_copy(&scan_fwd, &temp_str);
-+ }
-+ str_free(&scan_fwd);
-+ }
- /* Chop matched string out of remainder */
- str_mid_to_end(&name_remain_str, &temp_str,
- indexx + str_getlen(&s_match_needed_str));
+++ /dev/null
-Author: Chuck Short <zulcss@ubuntu.com>
-Description: Adding support for UTF8.
-
-diff -Naurp vsftpd.orig/features.c vsftpd/features.c
---- vsftpd.orig/features.c 2008-12-04 06:00:47.000000000 +0000
-+++ vsftpd/features.c 2010-02-25 13:28:06.000000000 +0000
-@@ -21,6 +21,10 @@ handle_feat(struct vsf_session* p_sess)
- vsf_cmdio_write_raw(p_sess, " AUTH SSL\r\n");
- vsf_cmdio_write_raw(p_sess, " AUTH TLS\r\n");
- }
-+ if (tunable_utf8_filesystem)
-+ {
-+ vsf_cmdio_write_raw(p_sess, " UTF8\r\n");
-+ }
- if (tunable_port_enable)
- {
- vsf_cmdio_write_raw(p_sess, " EPRT\r\n");
-diff -Naurp vsftpd.orig/parseconf.c vsftpd/parseconf.c
---- vsftpd.orig/parseconf.c 2009-08-07 18:46:40.000000000 +0000
-+++ vsftpd/parseconf.c 2010-02-25 13:28:06.000000000 +0000
-@@ -28,6 +28,7 @@ static struct parseconf_bool_setting
- parseconf_bool_array[] =
- {
- { "anonymous_enable", &tunable_anonymous_enable },
-+ { "utf8_filesystem", &tunable_utf8_filesystem },
- { "local_enable", &tunable_local_enable },
- { "pasv_enable", &tunable_pasv_enable },
- { "port_enable", &tunable_port_enable },
-diff -Naurp vsftpd.orig/tunables.c vsftpd/tunables.c
---- vsftpd.orig/tunables.c 2009-07-15 20:08:27.000000000 +0000
-+++ vsftpd/tunables.c 2010-02-25 13:28:06.000000000 +0000
-@@ -10,6 +10,7 @@
-
- int tunable_anonymous_enable;
- int tunable_local_enable;
-+int tunable_utf8_filesystem;
- int tunable_pasv_enable;
- int tunable_port_enable;
- int tunable_chroot_local_user;
-@@ -146,6 +147,7 @@ tunables_load_defaults()
- {
- tunable_anonymous_enable = 1;
- tunable_local_enable = 0;
-+ tunable_utf8_filesystem = 0;
- tunable_pasv_enable = 1;
- tunable_port_enable = 1;
- tunable_chroot_local_user = 0;
-diff -Naurp vsftpd.orig/tunables.h vsftpd/tunables.h
---- vsftpd.orig/tunables.h 2009-07-07 01:37:28.000000000 +0000
-+++ vsftpd/tunables.h 2010-02-25 13:28:06.000000000 +0000
-@@ -11,6 +11,7 @@ void tunables_load_defaults();
- /* Booleans */
- extern int tunable_anonymous_enable; /* Allow anon logins */
- extern int tunable_local_enable; /* Allow local logins */
-+extern int tunable_utf8_filesystem; /* Server uses UTF8 Filesystem */
- extern int tunable_pasv_enable; /* Allow PASV */
- extern int tunable_port_enable; /* Allow PORT */
- extern int tunable_chroot_local_user; /* Restrict local to home dir */
+++ /dev/null
-Author: Daniel Baumann <daniel.baumann@progress-technologies.net>
-Description: Fixing manpage formating.
-
-diff -Naurp vsftpd.orig/vsftpd.8 vsftpd/vsftpd.8
---- vsftpd.orig/vsftpd.8 2009-07-17 20:56:23.000000000 +0000
-+++ vsftpd/vsftpd.8 2010-04-08 05:18:00.000000000 +0000
-@@ -57,4 +57,3 @@ setting and any identical setting that w
- .Pa /etc/vsftpd.conf
- .Sh SEE ALSO
- .Xr vsftpd.conf 5
--.end
-diff -Naurp vsftpd.orig/vsftpd.conf.5 vsftpd/vsftpd.conf.5
---- vsftpd.orig/vsftpd.conf.5 2009-10-19 02:46:30.000000000 +0000
-+++ vsftpd/vsftpd.conf.5 2010-04-08 05:18:08.000000000 +0000
-@@ -404,7 +404,7 @@ reuse (which proves that they know the s
- channel). Although this is a secure default, it may break many FTP clients,
- so you may want to disable it. For a discussion of the consequences, see
- http://scarybeastsecurity.blogspot.com/2009/02/vsftpd-210-released.html
--(Added in v2.1.0).
-+ (Added in v2.1.0).
-
- Default: YES
- .TP
+++ /dev/null
-Author: Philipp Kern <pkern@debian.org>
-Description: Fix vsftpd on s390 (Closes: #602726).
-
-diff -Naurp vsftpd.orig/sysdeputil.c vsftpd/sysdeputil.c
---- vsftpd.orig/sysdeputil.c 2011-09-05 16:03:18.728857644 +0200
-+++ vsftpd/sysdeputil.c 2011-09-05 16:05:12.909423834 +0200
-@@ -64,7 +64,7 @@
- #include <utmpx.h>
-
- /* BEGIN config */
--#if defined(__linux__)
-+#if defined(__linux__) && !defined(__s390__)
- #include <errno.h>
- #include <syscall.h>
- #define VSF_SYSDEP_HAVE_LINUX_CLONE
+++ /dev/null
-Author: Ben Hutchings <ben@decadent.org.uk>
-Description: Remote DoS on Linux 2.6.32 (Closes: #629373).
-
-diff -Naurp vsftpd.orig/sysdeputil.c vsftpd/sysdeputil.c
---- vsftpd.orig/sysdeputil.c 2010-03-26 04:25:33.000000000 +0100
-+++ vsftpd/sysdeputil.c 2011-09-05 15:16:05.347070790 +0200
-@@ -25,6 +25,11 @@
- #define _LARGEFILE64_SOURCE 1
- #endif
-
-+#ifdef __linux__
-+ #include <stdio.h>
-+ #include <sys/utsname.h>
-+#endif
-+
- /* For INT_MAX */
- #include <limits.h>
-
-@@ -1259,11 +1264,36 @@ vsf_set_term_if_parent_dies()
- #endif
- }
-
-+#ifdef VSF_SYSDEP_HAVE_LINUX_CLONE
-+/* On Linux versions <2.6.35, netns cleanup may be so slow that
-+ * creating a netns per connection allows a remote denial-of-service.
-+ * We therefore do not use CLONE_NEWNET on these versions.
-+ */
-+static int
-+vsf_sysutil_netns_cleanup_is_fast(void)
-+{
-+#ifdef __linux__
-+ struct utsname utsname;
-+ int r1, r2, r3 = 0;
-+ return (uname(&utsname) == 0 &&
-+ sscanf(utsname.release, "%d.%d.%d", &r1, &r2, &r3) >= 2 &&
-+ ((r1 << 16) | (r2 << 8) | r3) >= ((2 << 16) | (6 << 8) | 35));
-+#else
-+ /* Assume any other kernel that has the feature don't have this problem */
-+ return 1;
-+#endif
-+}
-+#endif
-+
- int
- vsf_sysutil_fork_isolate_all_failok()
- {
- #ifdef VSF_SYSDEP_HAVE_LINUX_CLONE
-- static int cloneflags_work = 1;
-+ static int cloneflags_work = -1;
-+ if (cloneflags_work < 0)
-+ {
-+ cloneflags_work = vsf_sysutil_netns_cleanup_is_fast();
-+ }
- if (cloneflags_work)
- {
- int ret = syscall(__NR_clone,
-@@ -1309,7 +1339,11 @@ int
- vsf_sysutil_fork_newnet()
- {
- #ifdef VSF_SYSDEP_HAVE_LINUX_CLONE
-- static int cloneflags_work = 1;
-+ static int cloneflags_work = -1;
-+ if (cloneflags_work < 0)
-+ {
-+ cloneflags_work = vsf_sysutil_netns_cleanup_is_fast();
-+ }
- if (cloneflags_work)
- {
- int ret = syscall(__NR_clone, CLONE_NEWNET | SIGCHLD, NULL);
+++ /dev/null
-SUMMARY = "lightweight, efficient FTP server written for security"
-HOMEPAGE = "https://security.appspot.com/vsftpd.html"
-SECTION = "console/network"
-LICENSE = "GPL-2.0-with-OpenSSL-exception"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6067ad950b28336613aed9dd47b1271"
-DEPENDS = "libcap openssl"
-DEPENDS += "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-PR = "r5"
-
-SRC_URI = " \
- https://security.appspot.com/downloads/${BP}.tar.gz \
- file://01-builddefs.patch \
- file://02-config.patch \
- file://03-db-doc.patch \
- file://04-link-local.patch \
- file://05-whitespaces.patch \
- file://06-greedy.patch \
- file://07-utf8.patch \
- file://08-manpage.patch \
- file://09-s390.patch \
- file://10-remote-dos.patch \
-"
-SRC_URI[md5sum] = "01398a5bef8e85b6cf2c213a4b011eca"
-SRC_URI[sha256sum] = "d87ee2987df8f03e1dbe294905f7907b2798deb89c67ca965f6e2f60879e54f1"
-
-S = "${WORKDIR}/${BP}"
-
-inherit useradd
-
-CFLAGS = "${TARGET_CFLAGS}"
-CFLAGS += "-DVSF_BUILD_SSL=1"
-CFLAGS += "${@base_contains('DISTRO_FEATURES', 'pam', '-DVSF_BUILD_PAM=1', '', d)}"
-
-LIBS = "-lcap -lcrypt -lssl -lcrypto"
-LIBS += "${@base_contains('DISTRO_FEATURES', 'pam', '-lpam', '', d)}"
-
-LINK = "${TARGET_LDFLAGS}"
-
-SECURE_CHROOT_DIR = "${datadir}/${BPN}/chroot"
-RSA_CERT_FILE = "${sysconfdir}/ssl/private/${BPN}.pem"
-
-do_configure() {
- rm -f builddefs.h
- touch builddefs.h
- set_default() {
- NAME=$1
- VALUE=$2
- sed -e "s,^#\?${NAME}=.*,${NAME}=${VALUE}," -i vsftpd.conf
- }
- set_default listen NO
- set_default listen_ipv6 NO
- set_default anonymous_enable NO
- set_default local_enable YES
- set_default write_enable YES
- set_default anon_upload_enable NO
- set_default anon_mkdir_write_enable NO
- set_default dirmessage_enable NO
- set_default use_localtime YES
- set_default xferlog_enable NO
- set_default connect_from_port_20 YES
- set_default chown_uploads NO
- set_default nopriv_user vsftpd
- set_default async_abor_enable YES
- set_default ascii_upload_enable NO
- set_default ascii_download_enable NO
- set_default ftpd_banner "Welcome to the ${DISTRO_NAME} FTP service!"
- set_default chroot_local_user NO
- set_default chroot_list_enable NO
- set_default ls_recurse_enable YES
- set_default secure_chroot_dir "${SECURE_CHROOT_DIR}"
- set_default rsa_cert_file "${RSA_CERT_FILE}"
- set_default local_root "/"
-}
-do_compile() {
- oe_runmake 'CFLAGS=${CFLAGS}' 'LIBS=${LIBS}' 'LINK=${LINK}'
-}
-do_install() {
- install -d ${D}${sysconfdir}
- install -m 644 vsftpd.conf ${D}${sysconfdir}
- install -d ${D}${sbindir}
- install -m 755 vsftpd ${D}${sbindir}/vsftpd
- install -d ${D}${mandir}/man8
- install -m 644 vsftpd.8 ${D}${mandir}/man8/vsftpd.8
- install -d ${D}${mandir}/man5
- install -m 644 vsftpd.conf.5 ${D}${mandir}/man5/vsftpd.conf.5
- install -d ${D}${SECURE_CHROOT_DIR}
-}
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--home-dir ${SECURE_CHROOT_DIR} --no-create-home --system --shell /bin/false --user-group vsftpd"
+++ /dev/null
-#!/bin/sh
-
-# Action script to enable/disable wpa-roam interfaces in reaction to
-# ifplugd events.
-#
-# Copyright: Copyright (c) 2008-2010, Kel Modderman <kel@otaku42.de>
-# License: GPL-2
-#
-
-PATH=/sbin:/usr/sbin:/bin:/usr/bin
-
-if [ ! -x /usr/sbin/wpa_action ]; then
- exit 0
-fi
-
-# ifplugd(8) - <iface> <action>
-#
-# If an ifplugd managed interface is brought up, disconnect any
-# wpa-roam managed interfaces so that only one "roaming" interface
-# remains active on the system.
-
-IFPLUGD_IFACE="${1}"
-
-case "${2}" in
- up)
- COMMAND=disconnect
- ;;
- down)
- COMMAND=reconnect
- ;;
- *)
- echo "$0: unknown arguments: ${@}" >&2
- exit 1
- ;;
-esac
-
-for CTRL in /var/run/wpa_supplicant/*; do
- [ -S "${CTRL}" ] || continue
-
- IFACE="${CTRL#/var/run/wpa_supplicant/}"
-
- # skip if ifplugd is managing this interface
- if [ "${IFPLUGD_IFACE}" = "${IFACE}" ]; then
- continue
- fi
-
- if wpa_action "${IFACE}" check; then
- wpa_cli -i "${IFACE}" "${COMMAND}"
- fi
-done
+++ /dev/null
-#!/bin/sh
-
-#####################################################################
-## Purpose
-# This file contains common shell functions used by scripts of the
-# wpasupplicant package to allow ifupdown to manage wpa_supplicant.
-# It also contains some functions used by wpa_action(8) that allow
-# ifupdown to be managed by wpa_cli(8) action events.
-#
-# This file is provided by the wpasupplicant package.
-
-#####################################################################
-# Copyright (C) 2006 - 2009 Debian/Ubuntu wpasupplicant Maintainers
-# <pkg-wpa-devel@lists.alioth.debian.org>
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# On Debian GNU/Linux systems, the text of the GPL license,
-# version 2, can be found in /usr/share/common-licenses/GPL-2.
-
-#####################################################################
-## global variables
-# wpa_supplicant variables
-WPA_SUP_BIN="/usr/sbin/wpa_supplicant"
-WPA_SUP_PNAME="wpa_supplicant"
-WPA_SUP_PIDFILE="/var/run/wpa_supplicant.${WPA_IFACE}.pid"
-
-# wpa_cli variables
-WPA_CLI_BIN="/usr/sbin/wpa_cli"
-WPA_CLI_PNAME="wpa_cli"
-WPA_CLI_PIDFILE="/var/run/wpa_action.${WPA_IFACE}.pid"
-WPA_CLI_TIMESTAMP="/var/run/wpa_action.${WPA_IFACE}.timestamp"
-WPA_CLI_IFUPDOWN="/var/run/wpa_action.${WPA_IFACE}.ifupdown"
-
-# sendsigs omission interface, present in initscripts (>= 2.86.ds1-48)
-if [ -d /lib/init/rw/sendsigs.omit.d/ ]; then
- # Debian
- WPA_SUP_OMIT_PIDFILE="/lib/init/rw/sendsigs.omit.d/wpasupplicant.wpa_supplicant.${WPA_IFACE}.pid"
-elif [ -d /var/run/sendsigs.omit.d/ ]; then
- # Ubuntu, see https://launchpad.net/bugs/181541 for status
- WPA_SUP_OMIT_PIDFILE="/var/run/sendsigs.omit.d/wpasupplicant.wpa_supplicant.${WPA_IFACE}.pid"
-else
- WPA_SUP_OMIT_PIDFILE=
-fi
-
-# default ctrl_interface socket directory
-if [ -z "$WPA_CTRL_DIR" ]; then
- WPA_CTRL_DIR="/var/run/wpa_supplicant"
-fi
-
-# verbosity variables
-if [ -n "$IF_WPA_VERBOSITY" ] || [ "$VERBOSITY" = "1" ]; then
- TO_NULL="/dev/stdout"
- DAEMON_VERBOSITY="--verbose"
-else
- TO_NULL="/dev/null"
- DAEMON_VERBOSITY="--quiet"
-fi
-
-#####################################################################
-## wpa_cli wrapper
-# Path to common ctrl_interface socket and iface supplied.
-# NB: WPA_CTRL_DIR cannot be used for interactive commands, it is
-# set only in the environment that wpa_cli provides when processing
-# action events.
-#
-wpa_cli () {
- "$WPA_CLI_BIN" -p "$WPA_CTRL_DIR" -i "$WPA_IFACE" "$@"
-
- return "$?"
-}
-
-#####################################################################
-## verbose and stderr message wrapper
-# Ensures a standard and easily identifiable message is printed by
-# scripts using this function library.
-#
-# log Log a message to syslog when called non-interactively
-# by wpa_action
-#
-# verbose To stdout when IF_WPA_VERBOSITY or VERBOSITY is true
-#
-# action Same as verbose but without newline
-# Useful for allowing wpa_cli commands to echo result
-# value of 'OK' or 'FAILED'
-#
-# stderr Echo warning or error messages to stderr
-#
-# NB: when called by wpa_action, there is no redirection (verbose)
-#
-wpa_msg () {
- if [ "$1" = "log" ]; then
- shift
- case "$WPA_ACTION" in
- "CONNECTED"|"DISCONNECTED")
- [ -x /usr/bin/logger ] || return
- if [ "$#" -gt 0 ]; then
- logger -t "wpa_action" "$@"
- else
- logger -t "wpa_action"
- fi
- ;;
- *)
- [ "$#" -gt 0 ] && echo "wpa_action: $@"
- ;;
- esac
- return
- fi
-
- case "$1" in
- "verbose")
- shift
- echo "$WPA_SUP_PNAME: $@" >$TO_NULL
- ;;
- "action")
- shift
- echo -n "$WPA_SUP_PNAME: $@ -- " >$TO_NULL
- ;;
- "stderr")
- shift
- echo "$WPA_SUP_PNAME: $@" >/dev/stderr
- ;;
- *)
- ;;
- esac
-}
-
-#####################################################################
-## validate daemon pid files
-# Test daemon process ID files via start-stop-daemon with a signal 0
-# given the exec binary and pidfile location.
-#
-# $1 daemon
-# $2 pidfile
-#
-# Returns true when pidfile exists, the process ID exists _and_ was
-# created by the exec binary.
-#
-# If the test fails, but the pidfile exists, it is stale
-#
-test_daemon_pidfile () {
- local DAEMON
- local PIDFILE
-
- if [ -n "$1" ]; then
- DAEMON="$1"
- fi
-
- if [ -f "$2" ]; then
- PIDFILE="$2"
- fi
-
- if [ -n "$DAEMON" ] && [ -f "$PIDFILE" ]; then
- if start-stop-daemon --stop --quiet --signal 0 \
- --exec "$DAEMON" --pidfile "$PIDFILE"; then
- return 0
- else
- rm -f "$PIDFILE"
- return 1
- fi
- else
- return 1
- fi
-}
-
-# validate wpa_supplicant pidfile
-test_wpa_supplicant () {
- test_daemon_pidfile "$WPA_SUP_BIN" "$WPA_SUP_PIDFILE"
-}
-
-# validate wpa_cli pidfile
-test_wpa_cli () {
- test_daemon_pidfile "$WPA_CLI_BIN" "$WPA_CLI_PIDFILE"
-}
-
-#####################################################################
-## daemonize wpa_supplicant
-# Start wpa_supplicant via start-stop-dameon with all required
-# options. Will start if environment variable WPA_SUP_CONF is present
-#
-# Default options:
-# -B dameonize/background process
-# -D driver backend ('wext' if none given)
-# -P process ID file
-# -C path to ctrl_interface socket directory
-# -s log to syslog
-#
-# Conditional options:
-# -c configuration file
-# -W wait for wpa_cli to attach to ctrl_interface socket
-# -b bridge interface name
-# -f path to log file
-#
-init_wpa_supplicant () {
- [ -n "$WPA_SUP_CONF" ] || return 0
-
- local WPA_SUP_OPTIONS
- WPA_SUP_OPTIONS="-s -B -P $WPA_SUP_PIDFILE -i $WPA_IFACE"
-
- if [ -n "$WPA_ACTION_SCRIPT" ]; then
- if [ -x "$WPA_ACTION_SCRIPT" ]; then
- WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -W"
- wpa_msg verbose "wait for wpa_cli to attach"
- else
- wpa_msg stderr "action script \"$WPA_ACTION_SCRIPT\" not executable"
- return 1
- fi
- fi
-
- if [ -n "$IF_WPA_BRIDGE" ]; then
- WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -b $IF_WPA_BRIDGE"
- wpa_msg verbose "wpa-bridge $IF_WPA_BRIDGE"
- fi
-
- if [ -n "$IF_WPA_DRIVER" ]; then
- wpa_msg verbose "wpa-driver $IF_WPA_DRIVER"
- case "$IF_WPA_DRIVER" in
- hostap|ipw|madwifi|ndiswrapper)
- WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -D nl80211,wext"
- wpa_msg stderr "\"$IF_WPA_DRIVER\" wpa-driver is unsupported"
- wpa_msg stderr "using \"nl80211,wext\" wpa-driver instead ..."
- ;;
- *)
- WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -D $IF_WPA_DRIVER"
- ;;
- esac
- else
- WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -D nl80211,wext"
- wpa_msg verbose "wpa-driver nl80211,wext (default)"
- fi
-
- if [ -n "$IF_WPA_DEBUG_LEVEL" ]; then
- case "$IF_WPA_DEBUG_LEVEL" in
- 3)
- WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -t -ddd"
- ;;
- 2)
- WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -t -dd"
- ;;
- 1)
- WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -t -d"
- ;;
- 0)
- # wpa_supplicant default verbosity
- ;;
- -1)
- WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -q"
- ;;
- -2)
- WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -qq"
- ;;
- esac
- wpa_msg verbose "using debug level: $IF_WPA_DEBUG_LEVEL"
- fi
-
- if [ -n "$IF_WPA_LOGFILE" ]; then
- # custom log file
- WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -f $IF_WPA_LOGFILE"
- WPA_SUP_LOGFILE="$IF_WPA_LOGFILE"
- wpa_msg verbose "logging to $IF_WPA_LOGFILE"
- fi
-
- wpa_msg verbose "$WPA_SUP_BIN $WPA_SUP_OPTIONS $WPA_SUP_CONF"
-
- start-stop-daemon --start --oknodo $DAEMON_VERBOSITY \
- --name $WPA_SUP_PNAME --startas $WPA_SUP_BIN --pidfile $WPA_SUP_PIDFILE \
- -- $WPA_SUP_OPTIONS $WPA_SUP_CONF
-
- if [ "$?" -ne 0 ]; then
- wpa_msg stderr "$WPA_SUP_BIN daemon failed to start"
- return 1
- fi
-
- if [ -n "$WPA_SUP_OMIT_PIDFILE" ]; then
- local WPA_PIDFILE_WAIT
- local MAX_WPA_PIDFILE_WAIT
- WPA_PIDFILE_WAIT="0"
- MAX_WPA_PIDFILE_WAIT="5"
- until [ -s "$WPA_SUP_PIDFILE" ]; do
- if [ "$WPA_PIDFILE_WAIT" -ge "$MAX_WPA_PIDFILE_WAIT" ]; then
- wpa_msg stderr "timed out waiting for creation of $WPA_SUP_PIDFILE"
- return 1
- else
- wpa_msg verbose "waiting for \"$WPA_SUP_PIDFILE\": " \
- "$WPA_PIDFILE_WAIT (max. $MAX_WPA_PIDFILE_WAIT)"
- fi
-
- WPA_PIDFILE_WAIT=$(($WPA_PIDFILE_WAIT + 1))
- sleep 1
- done
- wpa_msg verbose "creating sendsigs omission pidfile: $WPA_SUP_OMIT_PIDFILE"
- cat "$WPA_SUP_PIDFILE" > "$WPA_SUP_OMIT_PIDFILE"
- else
- wpa_msg verbose "sendsigs omission pidfile not created"
- fi
-
- local WPA_SOCKET_WAIT
- local MAX_WPA_SOCKET_WAIT
- WPA_SOCKET_WAIT="0"
- MAX_WPA_SOCKET_WAIT="5"
- until [ -S "$WPA_CTRL_DIR/$WPA_IFACE" ]; do
- if [ "$WPA_SOCKET_WAIT" -ge "$MAX_WPA_SOCKET_WAIT" ]; then
- wpa_msg stderr "ctrl_interface socket not found at $WPA_CTRL_DIR/$WPA_IFACE"
- return 1
- else
- wpa_msg verbose "waiting for \"$WPA_CTRL_DIR/$WPA_IFACE\": " \
- "$WPA_SOCKET_WAIT (max. $MAX_WPA_SOCKET_WAIT)"
- fi
-
- WPA_SOCKET_WAIT=$(($WPA_SOCKET_WAIT + 1))
- sleep 1
- done
-
- wpa_msg verbose "ctrl_interface socket located at $WPA_CTRL_DIR/$WPA_IFACE"
-}
-
-#####################################################################
-## stop wpa_supplicant process
-# Kill wpa_supplicant via start-stop-daemon, given the location of
-# the pidfile or ctrl_interface socket path and interface name
-#
-kill_wpa_supplicant () {
- test_wpa_supplicant || return 0
-
- wpa_msg verbose "terminating $WPA_SUP_PNAME daemon via pidfile $WPA_SUP_PIDFILE"
-
- start-stop-daemon --stop --oknodo $DAEMON_VERBOSITY \
- --exec $WPA_SUP_BIN --pidfile $WPA_SUP_PIDFILE
-
- if [ -f "$WPA_SUP_PIDFILE" ]; then
- rm -f "$WPA_SUP_PIDFILE"
- fi
-
- if [ -f "$WPA_SUP_OMIT_PIDFILE" ]; then
- wpa_msg verbose "removing $WPA_SUP_OMIT_PIDFILE"
- rm -f "$WPA_SUP_OMIT_PIDFILE"
- fi
-}
-
-#####################################################################
-## reload wpa_supplicant process
-# Sending a HUP signal causes wpa_supplicant to reparse its
-# configuration file
-#
-reload_wpa_supplicant () {
- if test_wpa_supplicant; then
- wpa_msg verbose "reloading wpa_supplicant configuration file via HUP signal"
- start-stop-daemon --stop --signal HUP \
- --name "$WPA_SUP_PNAME" --pidfile "$WPA_SUP_PIDFILE"
- else
- wpa_msg verbose "cannot $WPA_ACTION, $WPA_SUP_PIDFILE does not exist"
- fi
-}
-
-#####################################################################
-## daemonize wpa_cli and action script
-# If environment variable WPA_ACTION_SCRIPT is present, wpa_cli will
-# be spawned via start-stop-daemon
-#
-# Required options:
-# -a action script => wpa_action
-# -P process ID file
-# -B background process
-#
-init_wpa_cli () {
- [ -n "$WPA_ACTION_SCRIPT" ] || return 0
-
- local WPA_CLI_OPTIONS
- WPA_CLI_OPTIONS="-B -P $WPA_CLI_PIDFILE -i $WPA_IFACE"
-
- wpa_msg verbose "$WPA_CLI_BIN $WPA_CLI_OPTIONS -p $WPA_CTRL_DIR -a $WPA_ACTION_SCRIPT"
-
- start-stop-daemon --start --oknodo $DAEMON_VERBOSITY \
- --name $WPA_CLI_PNAME --startas $WPA_CLI_BIN --pidfile $WPA_CLI_PIDFILE \
- -- $WPA_CLI_OPTIONS -p $WPA_CTRL_DIR -a $WPA_ACTION_SCRIPT
-
- if [ "$?" -ne 0 ]; then
- wpa_msg stderr "$WPA_CLI_BIN daemon failed to start"
- return 1
- fi
-}
-
-#####################################################################
-## stop wpa_cli process
-# Kill wpa_cli via start-stop-daemon, given the location of the
-# pidfile
-#
-kill_wpa_cli () {
- test_wpa_cli || return 0
-
- wpa_msg verbose "terminating $WPA_CLI_PNAME daemon via pidfile $WPA_CLI_PIDFILE"
-
- start-stop-daemon --stop --oknodo $DAEMON_VERBOSITY \
- --exec $WPA_CLI_BIN --pidfile $WPA_CLI_PIDFILE
-
- if [ -f "$WPA_CLI_PIDFILE" ]; then
- rm -f "$WPA_CLI_PIDFILE"
- fi
-
- if [ -f "$WPA_CLI_TIMESTAMP" ]; then
- rm -f "$WPA_CLI_TIMESTAMP"
- fi
-
- if [ -L "$WPA_CLI_IFUPDOWN" ]; then
- rm -f "$WPA_CLI_IFUPDOWN"
- fi
-}
-
-#####################################################################
-## higher level wpa_cli wrapper for variable and set_network commands
-# wpa_cli_do <value> <type> <variable> [set_network variable] <desc>
-#
-# $1 envorinment variable
-# $2 data type of variable {raw|ascii}
-# $3 wpa_cli variable, if $3 is set_network, shift and take
-# set_network subvariable
-# $4 wpa-* string as it would appear in interfaces file, enhances
-# verbose messages
-#
-wpa_cli_do () {
- if [ -z "$1" ]; then
- return 0
- fi
-
- local WPACLISET_VALUE
- local WPACLISET_VARIABLE
- local WPACLISET_DESC
-
- case "$2" in
- ascii)
- # Double quote
- WPACLISET_VALUE="\"$1\""
- ;;
- raw|*)
- # Provide raw value
- WPACLISET_VALUE="$1"
- ;;
- esac
-
- case "$3" in
- set_network)
- if [ -z "$WPA_ID" ]; then
- return 1
- fi
- shift
- WPACLISET_VARIABLE="set_network $WPA_ID $3"
- ;;
- *)
- WPACLISET_VARIABLE="$3"
- ;;
- esac
-
- case "$4" in
- *-psk|*-passphrase|*-passwd*|*-wep-key*)
- WPACLISET_DESC="$4 *****"
- ;;
- *)
- WPACLISET_DESC="$4 $WPACLISET_VALUE"
- ;;
- esac
-
- wpa_msg action "$WPACLISET_DESC"
-
- wpa_cli $WPACLISET_VARIABLE "$WPACLISET_VALUE" >$TO_NULL
-
- if [ "$?" -ne 0 ]; then
- wpa_msg stderr "$WPACLISET_DESC failed!"
- fi
-}
-
-#####################################################################
-## check value data type in plaintext or hex
-# returns 0 if input consists of hexadecimal digits only, 1 otherwise
-#
-ishex () {
- if [ -z "$1" ]; then
- return 0
- fi
-
- case "$1" in
- *[!0-9a-fA-F]*)
- # plaintext
- return 1
- ;;
- *)
- # hexadecimal
- return 0
- ;;
- esac
-}
-
-#####################################################################
-## sanity check and set psk|passphrase
-# Warn about strange psk|passphrase values
-#
-# $1 psk or passphrase value
-#
-# If psk is surrounded by quotes strip them.
-#
-# If psk contains all hexadecimal characters and string length is 64:
-# is 256bit hexadecimal
-# else:
-# is plaintext
-#
-# plaintext passphrases must be 8 - 63 characters in length
-# 256-bit hexadecimal key must be 64 characters in length
-#
-wpa_key_check_and_set () {
- if [ "$#" -ne 3 ]; then
- return 0
- fi
-
- local KEY
- local KEY_LEN
- local KEY_TYPE
- local ENC_TYPE
-
- case "$1" in
- '"'*'"')
- # Strip surrounding quotation marks
- KEY=$(echo -n "$1" | sed 's/^"//;s/"$//')
- ;;
- *)
- KEY="$1"
- ;;
- esac
-
- KEY_LEN="${#KEY}"
-
- case "$2" in
- wep_key*)
- ENC_TYPE="WEP"
- ;;
- psk)
- ENC_TYPE="WPA"
- ;;
- *)
- return 0
- ;;
- esac
-
- if [ "$ENC_TYPE" = "WEP" ]; then
- if ishex "$KEY"; then
- case "$KEY_LEN" in
- 10|26|32|58)
- # 64/128/152/256-bit WEP
- KEY_TYPE="raw"
- ;;
- *)
- KEY_TYPE="ascii"
- ;;
- esac
- else
- KEY_TYPE="ascii"
- fi
-
- if [ "$KEY_TYPE" = "ascii" ]; then
- if [ "$KEY_LEN" -lt "5" ]; then
- wpa_msg stderr "WARNING: plaintext or ascii WEP key has $KEY_LEN characters,"
- wpa_msg stderr "it must have at least 5 to be valid."
- fi
- fi
- elif [ "$ENC_TYPE" = "WPA" ]; then
- if ishex "$KEY"; then
- case "$KEY_LEN" in
- 64)
- # 256-bit WPA
- KEY_TYPE="raw"
- ;;
- *)
- KEY_TYPE="ascii"
- ;;
- esac
- else
- KEY_TYPE="ascii"
- fi
-
- if [ "$KEY_TYPE" = "ascii" ]; then
- if [ "$KEY_LEN" -lt "8" ] || [ "$KEY_LEN" -gt "63" ]; then
- wpa_msg stderr "WARNING: plaintext or ascii WPA key has $KEY_LEN characters,"
- wpa_msg stderr "it must have between 8 and 63 to be valid."
- wpa_msg stderr "If the WPA key is a 256-bit hexadecimal key, it must have"
- wpa_msg stderr "exactly 64 characters."
- fi
- fi
- fi
-
- wpa_cli_do "$KEY" "$KEY_TYPE" set_network "$2" "$3"
-}
-
-#####################################################################
-## formulate a usable configuration from interfaces(5) wpa- lines
-# A series of wpa_cli commands corresponding to environment variables
-# created as a result of wpa- lines in an interfaces stanza.
-#
-# NB: no-act when roaming daemon is used (to avoid prematurely
-# attaching to ctrl_interface socket)
-#
-conf_wpa_supplicant () {
- if [ -n "$WPA_ACTION_SCRIPT" ]; then
- return 0
- fi
-
- if [ "$IF_WPA_DRIVER" = "wired" ]; then
- IF_WPA_AP_SCAN="0"
- wpa_msg verbose "forcing ap_scan=0 (required for wired IEEE8021X auth)"
- fi
-
- if [ -n "$IF_WPA_ESSID" ]; then
- # #403316, be similar to wireless tools
- IF_WPA_SSID="$IF_WPA_ESSID"
- fi
-
- wpa_cli_do "$IF_WPA_AP_SCAN" raw \
- ap_scan wpa-ap-scan
-
- wpa_cli_do "$IF_WPA_PREAUTHENTICATE" raw \
- preauthenticate wpa-preauthenticate
-
- if [ -n "$IF_WPA_SSID" ] || [ "$IF_WPA_DRIVER" = "wired" ] || \
- [ -n "$IF_WPA_KEY_MGMT" ]; then
-
- case "$IF_WPA_SSID" in
- '"'*'"')
- IF_WPA_SSID=$(echo -n "$IF_WPA_SSID" | sed 's/^"//;s/"$//')
- ;;
- *)
- ;;
- esac
-
- WPA_ID=$(wpa_cli add_network)
-
- wpa_msg verbose "configuring network block -- $WPA_ID"
-
- wpa_cli_do "$IF_WPA_SSID" ascii \
- set_network ssid wpa-ssid
-
- wpa_cli_do "$IF_WPA_PRIORITY" raw \
- set_network priority wpa-priority
-
- wpa_cli_do "$IF_WPA_BSSID" raw \
- set_network bssid wpa-bssid
-
- if [ -s "$IF_WPA_PSK_FILE" ]; then
- IF_WPA_PSK=$(cat "$IF_WPA_PSK_FILE")
- fi
-
- # remain compat with wpa-passphrase-file
- if [ -s "$IF_WPA_PASSPHRASE_FILE" ]; then
- IF_WPA_PSK=$(cat "$IF_WPA_PASSPHRASE_FILE")
- fi
-
- # remain compat with wpa-passphrase
- if [ -n "$IF_WPA_PASSPHRASE" ]; then
- IF_WPA_PSK="$IF_WPA_PASSPHRASE"
- fi
-
- if [ -n "$IF_WPA_PSK" ]; then
- wpa_key_check_and_set "$IF_WPA_PSK" \
- psk wpa-psk
- fi
-
- wpa_cli_do "$IF_WPA_PAIRWISE" raw \
- set_network pairwise wpa-pairwise
-
- wpa_cli_do "$IF_WPA_GROUP" raw \
- set_network group wpa-group
-
- wpa_cli_do "$IF_WPA_MODE" raw \
- set_network mode wpa-mode
-
- wpa_cli_do "$IF_WPA_FREQUENCY" raw \
- set_network frequency wpa-frequency
-
- wpa_cli_do "$IF_WPA_SCAN_FREQ" raw \
- set_network scan_freq wpa-scan-freq
-
- wpa_cli_do "$IF_WPA_FREQ_LIST" raw \
- set_network freq_list wpa-freq-list
-
- wpa_cli_do "$IF_WPA_KEY_MGMT" raw \
- set_network key_mgmt wpa-key-mgmt
-
- wpa_cli_do "$IF_WPA_PROTO" raw \
- set_network proto wpa-proto
-
- wpa_cli_do "$IF_WPA_AUTH_ALG" raw \
- set_network auth_alg wpa-auth-alg
-
- wpa_cli_do "$IF_WPA_SCAN_SSID" raw \
- set_network scan_ssid wpa-scan-ssid
-
- wpa_cli_do "$IF_WPA_IDENTITY" ascii \
- set_network identity wpa-identity
-
- wpa_cli_do "$IF_WPA_ANONYMOUS_IDENTITY" ascii \
- set_network anonymous_identity wpa-anonymous-identity
-
- wpa_cli_do "$IF_WPA_EAP" raw \
- set_network eap wpa-eap
-
- wpa_cli_do "$IF_WPA_EAPPSK" raw \
- set_network eappsk wpa-eappsk
-
- wpa_cli_do "$IF_WPA_NAI" ascii \
- set_network nai wpa-nai
-
- wpa_cli_do "$IF_WPA_PASSWORD" ascii \
- set_network password wpa-password
-
- wpa_cli_do "$IF_WPA_CA_CERT" ascii \
- set_network ca_cert wpa-ca-cert
-
- wpa_cli_do "$IF_WPA_CA_PATH" ascii \
- set_network ca_path wpa-ca-path
-
- wpa_cli_do "$IF_WPA_CLIENT_CERT" ascii \
- set_network client_cert wpa-client-cert
-
- wpa_cli_do "$IF_WPA_PRIVATE_KEY" ascii \
- set_network private_key wpa-private-key
-
- wpa_cli_do "$IF_WPA_PRIVATE_KEY_PASSWD" ascii \
- set_network private_key_passwd wpa-private-key-passwd
-
- wpa_cli_do "$IF_WPA_DH_FILE" ascii \
- set_network dh_file wpa-dh-file
-
- wpa_cli_do "$IF_WPA_SUBJECT_MATCH" ascii \
- set_network subject_match wpa-subject-match
-
- wpa_cli_do "$IF_WPA_ALTSUBJECT_MATCH" ascii \
- set_network altsubject_match wpa-altsubject-match
-
- wpa_cli_do "$IF_WPA_CA_CERT2" ascii \
- set_network ca_cert2 wpa-ca-cert2
-
- wpa_cli_do "$IF_WPA_CA_PATH2" ascii \
- set_network ca_path2 wpa-ca-path2
-
- wpa_cli_do "$IF_WPA_CLIENT_CERT2" ascii \
- set_network client_cert2 wpa-client-cert2
-
- wpa_cli_do "$IF_WPA_PRIVATE_KEY2" ascii \
- set_network private_key2 wpa-private-key2
-
- wpa_cli_do "$IF_WPA_PRIVATE_KEY_PASSWD2" ascii \
- set_network private_key_passwd2 wpa-private-key-passwd2
-
- wpa_cli_do "$IF_WPA_DH_FILE2" ascii \
- set_network dh_file2 wpa-dh-file2
-
- wpa_cli_do "$IF_WPA_SUBJECT_MATCH2" ascii \
- set_network subject_match2 wpa-subject-match2
-
- wpa_cli_do "$IF_WPA_ALTSUBJECT_MATCH2" ascii \
- set_network altsubject_match2 wpa-altsubject-match2
-
- wpa_cli_do "$IF_WPA_EAP_METHODS" raw \
- set_network eap_methods wpa-eap-methods
-
- wpa_cli_do "$IF_WPA_PHASE1" ascii \
- set_network phase1 wpa-phase1
-
- wpa_cli_do "$IF_WPA_PHASE2" ascii \
- set_network phase2 wpa-phase2
-
- wpa_cli_do "$IF_WPA_PCSC" raw \
- set_network pcsc wpa-pcsc
-
- wpa_cli_do "$IF_WPA_PIN" ascii \
- set_network pin wpa-pin
-
- wpa_cli_do "$IF_WPA_ENGINE" raw \
- set_network engine wpa-engine
-
- wpa_cli_do "$IF_WPA_ENGINE_ID" ascii \
- set_network engine_id wpa-engine-id
-
- wpa_cli_do "$IF_WPA_KEY_ID" ascii \
- set_network key_id wpa-key-id
-
- wpa_cli_do "$IF_WPA_EAPOL_FLAGS" raw \
- set_network eapol_flags wpa-eapol-flags
-
- if [ -n "$IF_WPA_WEP_KEY0" ]; then
- wpa_key_check_and_set "$IF_WPA_WEP_KEY0" \
- wep_key0 wpa-wep-key0
- fi
-
- if [ -n "$IF_WPA_WEP_KEY1" ]; then
- wpa_key_check_and_set "$IF_WPA_WEP_KEY1" \
- wep_key1 wpa-wep-key1
- fi
-
- if [ -n "$IF_WPA_WEP_KEY2" ]; then
- wpa_key_check_and_set "$IF_WPA_WEP_KEY2" \
- wep_key2 wpa-wep-key2
- fi
-
- if [ -n "$IF_WPA_WEP_KEY3" ]; then
- wpa_key_check_and_set "$IF_WPA_WEP_KEY3" \
- wep_key3 wpa-wep-key3
- fi
-
- wpa_cli_do "$IF_WPA_WEP_TX_KEYIDX" raw \
- set_network wep_tx_keyidx wpa-wep-tx-keyidx
-
- wpa_cli_do "$IF_WPA_PROACTIVE_KEY_CACHING" raw \
- set_network proactive_key_caching wpa-proactive-key-caching
-
- wpa_cli_do "$IF_WPA_PAC_FILE" ascii \
- set_network pac_file wpa-pac-file
-
- wpa_cli_do "$IF_WPA_PEERKEY" raw \
- set_network peerkey wpa-peerkey
-
- wpa_cli_do "$IF_FRAGMENT_SIZE" raw \
- set_network fragment_size wpa-fragment-size
-
- wpa_cli_do "$IF_WPA_ID_STR" ascii \
- set_network id_str wpa-id-str
-
- wpa_cli_do "$WPA_ID" raw \
- enable_network "enabling network block"
- fi
-}
-
-#####################################################################
-## Log wpa_cli environment variables
-wpa_log_env () {
- wpa_msg log "WPA_IFACE=$WPA_IFACE WPA_ACTION=$WPA_ACTION"
- wpa_msg log "WPA_ID=$WPA_ID WPA_ID_STR=$WPA_ID_STR WPA_CTRL_DIR=$WPA_CTRL_DIR"
-}
-
-#####################################################################
-## hysteresis checking
-# Networking tools such as dhcp clients used with ifupdown can
-# synthesize artificial ACTION events, particuarly just after a
-# DISCONNECTED/CONNECTED events are experienced in quick succession.
-# This can lead to infinite event loops, and in extreme cases has the
-# potential to cause system instability.
-#
-wpa_hysteresis_event () {
- echo "$(date +%s)" > "$WPA_CLI_TIMESTAMP" 2>/dev/null
-}
-
-wpa_hysteresis_check () {
- if [ -f "$WPA_CLI_TIMESTAMP" ]; then
- local TIME
- local TIMESTAMP
- local TIMEWAIT
- TIME=$(date +%s)
- # current time minus 4 second event buffer
- TIMEWAIT=$(($TIME-4))
- # get time of last event
- TIMESTAMP=$(cat $WPA_CLI_TIMESTAMP)
- # compare values, allowing new action to be processed
- # only if last action was more than 4 seconds ago
- if [ "$TIMEWAIT" -le "$TIMESTAMP" ]; then
- wpa_msg log "$WPA_ACTION event blocked by hysteresis check"
- return 1
- fi
- fi
-
- return 0
-}
-
-#####################################################################
-## ifupdown locking functions
-# A collection of rudimentary locking functions to lock ifup/ifdown
-# actions.
-#
-
-ifupdown_lock () {
- ln -s lock "$WPA_CLI_IFUPDOWN"
-}
-
-ifupdown_locked () {
- [ -L "$WPA_CLI_IFUPDOWN" ] && return 0
-
- return 1
-}
-
-ifupdown_unlock () {
- rm -f "$WPA_CLI_IFUPDOWN"
-}
-
-#####################################################################
-## apply mapping logic and ifup logical interface
-# Apply mapping logic via id_str or external mapping script, check
-# state of IFACE with respect to ifupdown and ifup logical interaface
-#
-ifup () {
- local INTERFACES_FILE
- local IFSTATE_FILE
- local IFUP_RETVAL
- local WPA_LOGICAL_IFACE
-
- if [ -e /etc/network/interfaces ]; then
- INTERFACES_FILE="/etc/network/interfaces"
- else
- wpa_msg log "/etc/network/interfaces does not exist, $WPA_IFACE will not be configured"
- return 1
- fi
-
- if [ -e /etc/network/run/ifstate ]; then
- # debian's ifupdown
- IFSTATE_FILE="/etc/network/run/ifstate"
- elif [ -e /var/run/network/ifstate ]; then
- # ubuntu's
- IFSTATE_FILE="/var/run/network/ifstate"
- else
- unset IFSTATE_FILE
- fi
-
- if [ -z "$IF_WPA_MAPPING_SCRIPT_PRIORITY" ] && [ -n "$WPA_ID_STR" ]; then
- WPA_LOGICAL_IFACE="$WPA_ID_STR"
- fi
-
- if [ -z "$WPA_LOGICAL_IFACE" ] && [ -n "$IF_WPA_MAPPING_SCRIPT" ]; then
- local WPA_MAP_STDIN
-
- WPA_MAP_STDIN=$(set | sed -n 's/^\(IF_WPA_MAP[0-9]*\)=.*/echo \$\1/p')
-
- if [ -n "$WPA_MAP_STDIN" ]; then
- WPA_LOGICAL_IFACE=$(eval "$WPA_MAP_STDIN" | "$IF_WPA_MAPPING_SCRIPT" "$WPA_IFACE")
- else
- WPA_LOGICAL_IFACE=$("$IF_WPA_MAPPING_SCRIPT" "$WPA_IFACE")
- fi
-
- if [ -n "$WPA_LOGICAL_IFACE" ]; then
- wpa_msg log "mapping script result: $WPA_LOGICAL_IFACE"
- else
- wpa_msg log "mapping script failed."
- fi
- fi
-
- if [ -z "$WPA_LOGICAL_IFACE" ]; then
- if [ -n "$IF_WPA_ROAM_DEFAULT_IFACE" ]; then
- WPA_LOGICAL_IFACE="$IF_WPA_ROAM_DEFAULT_IFACE"
- else
- WPA_LOGICAL_IFACE="default"
- fi
- fi
-
- if [ -n "$WPA_LOGICAL_IFACE" ]; then
- if egrep -q "^iface[[:space:]]+${WPA_LOGICAL_IFACE}[[:space:]]+inet" "$INTERFACES_FILE"; then
- : # logical network is defined
- else
- wpa_msg log "network settings not defined for $WPA_LOGICAL_IFACE in $INTERFACES_FILE"
- WPA_LOGICAL_IFACE="default"
- fi
-
- wpa_msg log "ifup $WPA_IFACE=$WPA_LOGICAL_IFACE"
-
- ifupdown_lock
-
- if [ -n "$IFSTATE_FILE" ] && grep -q "^$WPA_IFACE=$WPA_IFACE" "$IFSTATE_FILE"; then
- # Force settings over the unconfigured "master" IFACE
- /sbin/ifup -v --force "$WPA_IFACE=$WPA_LOGICAL_IFACE"
- else
- /sbin/ifup -v "$WPA_IFACE=$WPA_LOGICAL_IFACE"
- fi
- IFUP_RETVAL="$?"
-
- ifupdown_unlock
- fi
-
- wpa_msg log "creating sendsigs omission pidfile: $WPA_SUP_OMIT_PIDFILE"
- cat "$WPA_SUP_PIDFILE" > "$WPA_SUP_OMIT_PIDFILE"
-
- return "$IFUP_RETVAL"
-}
-
-#####################################################################
-## ifdown IFACE
-# Check IFACE state and ifdown as requested.
-#
-ifdown () {
- wpa_msg log "ifdown $WPA_IFACE"
-
- ifupdown_lock
-
- /sbin/ifdown -v "$WPA_IFACE"
-
- ifupdown_unlock
-
- wpa_msg log "removing sendsigs omission pidfile: $WPA_SUP_OMIT_PIDFILE"
- rm -f "$WPA_SUP_OMIT_PIDFILE"
-}
-
-#####################################################################
-## keep IFACE scanning
-# After ifdown, the IFACE may be left "down", and inhibits
-# wpa_supplicant's ability to continue roaming.
-#
-# NB: use iproute if present, flushing the IFACE first
-#
-if_post_down_up () {
- if [ -x /bin/ip ]; then
- ip addr flush dev "$WPA_IFACE" 2>/dev/null
- ip link set "$WPA_IFACE" up
- else
- ifconfig "$WPA_IFACE" up
- fi
-}
+++ /dev/null
-#!/bin/sh
-
-#####################################################################
-## Purpose
-# This file is executed by ifupdown in pre-up, post-up, pre-down and
-# post-down phases of network interface configuration. It allows
-# ifup(8), and ifdown(8) to manage wpa_supplicant(8) and wpa_cli(8)
-# processes running in daemon mode.
-#
-# /etc/wpa_supplicant/functions.sh is sourced by this file.
-#
-# This file is provided by the wpasupplicant package.
-
-#####################################################################
-# Copyright (C) 2006 - 2009 Debian/Ubuntu wpasupplicant Maintainers
-# <pkg-wpa-devel@lists.alioth.debian.org>
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# On Debian GNU/Linux systems, the text of the GPL license,
-# version 2, can be found in /usr/share/common-licenses/GPL-2.
-
-if [ -n "$IF_WPA_MAINT_DEBUG" ]; then
- set -x
-fi
-
-# quit if we're called for the loopback
-if [ "$IFACE" = lo ]; then
- exit 0
-fi
-
-# allow wpa_supplicant interface to be specified via wpa-iface
-# useful for starting wpa_supplicant on one interface of a bridge
-if [ -n "$IF_WPA_IFACE" ]; then
- WPA_IFACE="$IF_WPA_IFACE"
-else
- WPA_IFACE="$IFACE"
-fi
-
-# source functions
-if [ -f /etc/wpa_supplicant/functions.sh ]; then
- . /etc/wpa_supplicant/functions.sh
-else
- exit 0
-fi
-
-# quit if executables are not installed
-if [ ! -x "$WPA_SUP_BIN" ] || [ ! -x "$WPA_CLI_BIN" ]; then
- exit 0
-fi
-
-do_start () {
- if test_wpa_cli; then
- # if wpa_action is active for this IFACE, do nothing
- ifupdown_locked && exit 0
-
- # if the administrator is calling ifup, say something useful
- if [ "$PHASE" = "pre-up" ]; then
- wpa_msg stderr "wpa_action is managing ifup/ifdown state of $WPA_IFACE"
- wpa_msg stderr "execute \`ifdown --force $WPA_IFACE' to stop wpa_action"
- fi
- exit 1
- elif ! set | grep -q "^IF_WPA"; then
- # no wpa- option defined for IFACE, do nothing
- exit 0
- fi
-
- # ensure stale ifupdown_lock marker is purged
- ifupdown_unlock
-
- # preliminary sanity checks for roaming daemon
- if [ -n "$IF_WPA_ROAM" ]; then
- if [ "$METHOD" != "manual" ]; then
- wpa_msg stderr "wpa-roam can only be used with the \"manual\" inet METHOD"
- exit 1
- fi
- if [ -n "$IF_WPA_MAPPING_SCRIPT" ]; then
- if ! type "$IF_WPA_MAPPING_SCRIPT" >/dev/null; then
- wpa_msg stderr "wpa-mapping-script \"$IF_WPA_MAPPING_SCRIPT\" is not valid"
- exit 1
- fi
- fi
- if [ -n "$IF_WPA_MAPPING_SCRIPT_PRIORITY" ] && [ -z "$IF_WPA_MAPPING_SCRIPT" ]; then
- wpa_msg stderr "\"wpa-mapping-script-priority 1\" is invalid without a wpa-mapping-script"
- exit 1
- fi
- IF_WPA_CONF="$IF_WPA_ROAM"
- WPA_ACTION_SCRIPT="/usr/sbin/wpa_action"
- fi
-
- # master function; determines if ifupdown.sh should do something or not
- if [ -n "$IF_WPA_CONF" ] && [ "$IF_WPA_CONF" != "managed" ]; then
- if [ ! -s "$IF_WPA_CONF" ]; then
- wpa_msg stderr "cannot read contents of $IF_WPA_CONF"
- exit 1
- fi
- WPA_SUP_CONF_CTRL_DIR=$(sed -n -e 's/[[:space:]]*#.*//g' -e 's/[[:space:]]\+.*$//g' \
- -e 's/^ctrl_interface=\(DIR=\)\?\(.*\)/\2/p' "$IF_WPA_CONF")
- if [ -n "$WPA_SUP_CONF_CTRL_DIR" ]; then
- WPA_CTRL_DIR="$WPA_SUP_CONF_CTRL_DIR"
- WPA_SUP_CONF="-c $IF_WPA_CONF"
- else
- # specify the default ctrl_interface since none was defined in
- # the given IF_WPA_CONF
- WPA_SUP_CONF="-c $IF_WPA_CONF -C $WPA_CTRL_DIR"
- fi
- else
- # specify the default ctrl_interface
- WPA_SUP_CONF="-C $WPA_CTRL_DIR"
- fi
-}
-
-do_stop () {
- if test_wpa_cli; then
- # if wpa_action is active for this IFACE and calling ifdown,
- # do nothing
- ifupdown_locked && exit 0
- elif test_wpa_supplicant; then
- # wpa_supplicant process exists for this IFACE, but wpa_cli
- # process does not. Allow stop mode to kill this process.
- :
- else
- exit 0
- fi
-}
-
-case "$MODE" in
- start)
- do_start
- case "$PHASE" in
- pre-up)
- kill_wpa_supplicant
- init_wpa_supplicant || exit 1
- conf_wpa_supplicant || { kill_wpa_supplicant; exit 1; }
- ;;
- post-up)
- init_wpa_cli || { kill_wpa_supplicant; exit 1; }
- ;;
- esac
- ;;
-
- stop)
- do_stop
- case "$PHASE" in
- pre-down)
- kill_wpa_cli
- ;;
- post-down)
- kill_wpa_supplicant
- ;;
- *)
- wpa_msg stderr "unknown phase: \"$PHASE\""
- exit 1
- ;;
- esac
- ;;
-
- *)
- wpa_msg stderr "unknown mode: \"$MODE\""
- exit 1
- ;;
-esac
-
-exit 0
+++ /dev/null
-#!/bin/sh
-
-# Copyright (C) 2006 - 2009 Debian/Ubuntu wpasupplicant Maintainers
-# <pkg-wpa-devel@lists.alioth.debian.org>
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# On Debian GNU/Linux systems, the text of the GPL license,
-# version 2, can be found in /usr/share/common-licenses/GPL-2.
-
-if [ -n "$IF_WPA_ROAM_MAINT_DEBUG" ]; then
- set -x
-fi
-
-if [ -z "$1" ] || [ -z "$2" ]; then
- echo "Usage: $0 IFACE ACTION"
- exit 1
-fi
-
-# network interface
-WPA_IFACE="$1"
-# [CONNECTED|DISCONNECTED|stop|reload|check]
-WPA_ACTION="$2"
-
-if [ -f /etc/wpa_supplicant/functions.sh ]; then
- . /etc/wpa_supplicant/functions.sh
-else
- exit 0
-fi
-
-case "$WPA_ACTION" in
- "CONNECTED")
- wpa_log_env
- wpa_hysteresis_check || exit 1
- wpa_hysteresis_event
- if ifup; then
- wpa_cli status | wpa_msg log
- else
- wpa_cli status | wpa_msg log
- wpa_cli reassociate
- fi
- ;;
-
- "DISCONNECTED")
- wpa_log_env
- wpa_hysteresis_check || exit 1
- ifdown
- if_post_down_up
- ;;
-
- "stop"|"down")
- test_wpa_cli && kill_wpa_cli
- ifdown
- test_wpa_supplicant && kill_wpa_supplicant
- ;;
-
- "restart"|"reload")
- test_wpa_supplicant || exit 1
- reload_wpa_supplicant
- ;;
-
- "check")
- test_wpa_supplicant || exit 1
- test_wpa_cli || exit 1
- ;;
-
- *)
- echo "Unknown action: \"$WPA_ACTION\""
- exit 1
- ;;
-esac
-
-exit 0
+++ /dev/null
-.TH WPA_ACTION "8" "26 May 2006" "" ""
-.SH NAME
-wpa_action \- wpa_cli action script
-.SH SYNOPSIS
-\fBwpa_action\fR \fIIFACE ACTION\fR
-.SH "DESCRIPTION"
-\fBwpa_action\fR is a shell script designed to control the \fBifupdown\fR
-framework according to \fIACTION\fR events received from \fBwpa_supplicant\fR.
-\fBwpa_cli\fR receives \fICONNECTED\fR and \fIDISCONNECTED\fR events from
-\fBwpa_supplicant\fR via the crtl_iface socket and gives the \fIACTION\fR event
-to the \fBwpa_action\fR script as an argument, along with the \fIIFACE\fR to be
-acted upon.
-.PP
-\fBwpa_action\fR also receives an environment variable from \fBwpa_cli\fR,
-\fIWPA_ID_STR\fR, containing an alphanumeric identification string for the
-\fICURRENT\fR network block. \fIWPA_ID_STR\fR is provided by the 'id_str'
-network block option of \fBwpa_supplicant.conf\fR, and provides a means to map
-the \fIACTION\fR to a \fILOGICAL\fR interface configured in the \fBinterfaces\fR
-file.
-.PP
-If either the ifupdown \fBinterfaces\fR or \fIifstate\fR file cannot be found,
-\fBwpa_action\fR will exit silently (status 0). \fBwpa_action\fR will search
-the following locations for their existance:
-.nf
- /etc/network/run/ifstate
- /var/run/network/ifstate
- /etc/network/interfaces
-.fi
-.PP
-.SH IFACE
-Network interface to be acted upon, for example 'eth1' or 'wlan0'.
-.SH ACTION
-An \fIACTION\fR to be performed on the \fIIFACE\fR.
-.TP
-\fBCONNECTED\fR
-\fBwpa_supplicant\fR has completed authentication.
-\fBifup\fR \fIIFACE=WPA_ID_STR\fR is invoked and the action is logged to
-syslog. Network settings for the \fILOGICAL\fR interface \fIWPA_ID_STR\fR
-are applied.
-.TP
-\fBDISCONNECTED\fR
-\fBwpa_supplicant\fR has detected disconnection.
-\fBifdown\fR \fIIFACE=WPA_ID_STR\fR is invoked and the action is logged to
-syslog. Network settings for the \fILOGICAL\fR interface \fIWPA_ID_STR\fR
-are undone.
-.TP
-\fBstop\fR
-The 'stop' \fIACTION\fR is a called manually by the user, to stop the
-\fBwpa_cli\fR daemon, invoke \fBifdown\fR \fIIFACE\fR (if the \fIIFACE\fR is
-present in the \fIifstate\fR file) and stop the \fBwpa_supplicant\fR daemon.
-.TP
-\fBreload\fR
-The 'reload' \fIACTION\fR can be used to reload the \fBwpa_supplicant\fR
-configuration file specified by \fIwpa-roam\fR . 'restart' is a synonym
-for 'reload' and can be used equally. The action is logged to
-\fI/var/log/wpa_action.log\fR.
-.SH ENVIRONMENT
-An alphanumeric identification string provided by the 'id_str' network block
-option of \fBwpa_supplicant.conf\fR is exported to \fBwpa_action\fR as an
-environment variable, \fIWPA_ID_STR\fR. When 'id_str' is not configured for the
-\fICURRENT\fR network block, 'default' is substituted for the absent
-\fIWPA_ID_STR\fR environment variable.
-.PP
-A unique network identifier, \fIWPA_ID\fR, is exported to \fBwpa_action\fR. It
-is the number assigned to the \fICURRENT\fR \fBwpa_supplicant\fR network block
-(network_id).
-.SH USAGE
-The only reasons for \fBwpa_action\fR to be explicitly executed by the user is
-to stop \fBwpa_cli\fR from controlling \fBifupdown\fR or reload the
-\fIwpa_supplicant.conf\fR file after editing.
-.PP
-.RS
-\fBwpa_action\fR \fIeth1 stop\fR
-.RE
-.PP
-Otherwise, \fBwpa_action\fR is given as an argument to a \fBwpa_cli\fR
-daemon.
-.PP
-.RS
-\fBwpa_cli\fR \fI-i eth1 -a /sbin/wpa_action -B\fR
-.RE
-.PP
-This can be done by using the \fIwpa-roam\fR option in the \fBinterfaces\fR
-file. \fIwpa-roam\fR takes one argument, a user provided
-\fBwpa_supplicant.conf\fR file.
-.PP
-The inet \fIMETHOD\fR must be 'manual' for this interface, as it will
-be configured according to \fBwpa_cli\fR action events. Also supply a 'default'
-\fBinterfaces\fR stanza using the dhcp inet \fIMETHOD\fR so that networks
-without an 'id_str' option can fallback to attempting to receive an ip via
-dhcp. If one or more networks requires additional network configuration,
-provide an unique 'id_str' for each network, and an \fBinterfaces\fR stanza
-using the 'id_str' value as a \fILOGICAL\fR interface. The following interfaces
-file is configured to use dhcp for any network without an 'id_str', a static ip
-for the network with an 'id_str' of 'home_static' and dhcp plus an additional
-post-up command for the network with an 'id_str' of 'uni'.
-.PP
-An example wpa_supplicant.conf configured to roam between 3 different networks:
-.PP
-.RS
-.nf
-network={
- ssid="foo"
- id_str="uni"
- key_mgmt=NONE
-}
-
-network={
- ssid="bar"
- id_str="home_static"
- psk=123456789...
-}
-
-network={
- ssid=""
- key_mgmt=NONE
-}
-.fi
-.RE
-.PP
-The corresponding \fBinterfaces\fR file would contain \fILOGICAL\fR interfaces,
-that correlate to each unique 'id_str' provided by the configuration file:
-.PP
-.RS
-.nf
-iface eth1 inet manual
- wpa-driver wext
- wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
-
-iface default inet dhcp
-
-iface uni inet dhcp
-
-iface home_static inet static
- address 192.168.0.20
- netmask 255.255.255.0
- network 192.168.0.0
- broadcast 192.168.0.255
- gateway 192.168.0.1
-.fi
-.RE
-.PP
-.SH SEE ALSO
-\fBwpa_cli(8)\fR, \fBwpa_supplicant(8)\fR, \fBwpa_supplicant.conf(5)\fR,
-\fBifup(8)\fR, \fBinterfaces(5)\fR
-.SH AUTHOR
-This manual page was written by Kel Modderman <kel@otaku42.de> for
-the Debian GNU system (but may be used by others).
--- /dev/null
+#!/bin/sh
+
+# Action script to enable/disable wpa-roam interfaces in reaction to
+# ifplugd events.
+#
+# Copyright: Copyright (c) 2008-2010, Kel Modderman <kel@otaku42.de>
+# License: GPL-2
+#
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+
+if [ ! -x /usr/sbin/wpa_action ]; then
+ exit 0
+fi
+
+# ifplugd(8) - <iface> <action>
+#
+# If an ifplugd managed interface is brought up, disconnect any
+# wpa-roam managed interfaces so that only one "roaming" interface
+# remains active on the system.
+
+IFPLUGD_IFACE="${1}"
+
+case "${2}" in
+ up)
+ COMMAND=disconnect
+ ;;
+ down)
+ COMMAND=reconnect
+ ;;
+ *)
+ echo "$0: unknown arguments: ${@}" >&2
+ exit 1
+ ;;
+esac
+
+for CTRL in /var/run/wpa_supplicant/*; do
+ [ -S "${CTRL}" ] || continue
+
+ IFACE="${CTRL#/var/run/wpa_supplicant/}"
+
+ # skip if ifplugd is managing this interface
+ if [ "${IFPLUGD_IFACE}" = "${IFACE}" ]; then
+ continue
+ fi
+
+ if wpa_action "${IFACE}" check; then
+ wpa_cli -i "${IFACE}" "${COMMAND}"
+ fi
+done
--- /dev/null
+#!/bin/sh
+
+#####################################################################
+## Purpose
+# This file contains common shell functions used by scripts of the
+# wpasupplicant package to allow ifupdown to manage wpa_supplicant.
+# It also contains some functions used by wpa_action(8) that allow
+# ifupdown to be managed by wpa_cli(8) action events.
+#
+# This file is provided by the wpasupplicant package.
+
+#####################################################################
+# Copyright (C) 2006 - 2009 Debian/Ubuntu wpasupplicant Maintainers
+# <pkg-wpa-devel@lists.alioth.debian.org>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# On Debian GNU/Linux systems, the text of the GPL license,
+# version 2, can be found in /usr/share/common-licenses/GPL-2.
+
+#####################################################################
+## global variables
+# wpa_supplicant variables
+WPA_SUP_BIN="/usr/sbin/wpa_supplicant"
+WPA_SUP_PNAME="wpa_supplicant"
+WPA_SUP_PIDFILE="/var/run/wpa_supplicant.${WPA_IFACE}.pid"
+
+# wpa_cli variables
+WPA_CLI_BIN="/usr/sbin/wpa_cli"
+WPA_CLI_PNAME="wpa_cli"
+WPA_CLI_PIDFILE="/var/run/wpa_action.${WPA_IFACE}.pid"
+WPA_CLI_TIMESTAMP="/var/run/wpa_action.${WPA_IFACE}.timestamp"
+WPA_CLI_IFUPDOWN="/var/run/wpa_action.${WPA_IFACE}.ifupdown"
+
+# sendsigs omission interface, present in initscripts (>= 2.86.ds1-48)
+if [ -d /lib/init/rw/sendsigs.omit.d/ ]; then
+ # Debian
+ WPA_SUP_OMIT_PIDFILE="/lib/init/rw/sendsigs.omit.d/wpasupplicant.wpa_supplicant.${WPA_IFACE}.pid"
+elif [ -d /var/run/sendsigs.omit.d/ ]; then
+ # Ubuntu, see https://launchpad.net/bugs/181541 for status
+ WPA_SUP_OMIT_PIDFILE="/var/run/sendsigs.omit.d/wpasupplicant.wpa_supplicant.${WPA_IFACE}.pid"
+else
+ WPA_SUP_OMIT_PIDFILE=
+fi
+
+# default ctrl_interface socket directory
+if [ -z "$WPA_CTRL_DIR" ]; then
+ WPA_CTRL_DIR="/var/run/wpa_supplicant"
+fi
+
+# verbosity variables
+if [ -n "$IF_WPA_VERBOSITY" ] || [ "$VERBOSITY" = "1" ]; then
+ TO_NULL="/dev/stdout"
+ DAEMON_VERBOSITY="--verbose"
+else
+ TO_NULL="/dev/null"
+ DAEMON_VERBOSITY="--quiet"
+fi
+
+#####################################################################
+## wpa_cli wrapper
+# Path to common ctrl_interface socket and iface supplied.
+# NB: WPA_CTRL_DIR cannot be used for interactive commands, it is
+# set only in the environment that wpa_cli provides when processing
+# action events.
+#
+wpa_cli () {
+ "$WPA_CLI_BIN" -p "$WPA_CTRL_DIR" -i "$WPA_IFACE" "$@"
+
+ return "$?"
+}
+
+#####################################################################
+## verbose and stderr message wrapper
+# Ensures a standard and easily identifiable message is printed by
+# scripts using this function library.
+#
+# log Log a message to syslog when called non-interactively
+# by wpa_action
+#
+# verbose To stdout when IF_WPA_VERBOSITY or VERBOSITY is true
+#
+# action Same as verbose but without newline
+# Useful for allowing wpa_cli commands to echo result
+# value of 'OK' or 'FAILED'
+#
+# stderr Echo warning or error messages to stderr
+#
+# NB: when called by wpa_action, there is no redirection (verbose)
+#
+wpa_msg () {
+ if [ "$1" = "log" ]; then
+ shift
+ case "$WPA_ACTION" in
+ "CONNECTED"|"DISCONNECTED")
+ [ -x /usr/bin/logger ] || return
+ if [ "$#" -gt 0 ]; then
+ logger -t "wpa_action" "$@"
+ else
+ logger -t "wpa_action"
+ fi
+ ;;
+ *)
+ [ "$#" -gt 0 ] && echo "wpa_action: $@"
+ ;;
+ esac
+ return
+ fi
+
+ case "$1" in
+ "verbose")
+ shift
+ echo "$WPA_SUP_PNAME: $@" >$TO_NULL
+ ;;
+ "action")
+ shift
+ echo -n "$WPA_SUP_PNAME: $@ -- " >$TO_NULL
+ ;;
+ "stderr")
+ shift
+ echo "$WPA_SUP_PNAME: $@" >/dev/stderr
+ ;;
+ *)
+ ;;
+ esac
+}
+
+#####################################################################
+## validate daemon pid files
+# Test daemon process ID files via start-stop-daemon with a signal 0
+# given the exec binary and pidfile location.
+#
+# $1 daemon
+# $2 pidfile
+#
+# Returns true when pidfile exists, the process ID exists _and_ was
+# created by the exec binary.
+#
+# If the test fails, but the pidfile exists, it is stale
+#
+test_daemon_pidfile () {
+ local DAEMON
+ local PIDFILE
+
+ if [ -n "$1" ]; then
+ DAEMON="$1"
+ fi
+
+ if [ -f "$2" ]; then
+ PIDFILE="$2"
+ fi
+
+ if [ -n "$DAEMON" ] && [ -f "$PIDFILE" ]; then
+ if start-stop-daemon --stop --quiet --signal 0 \
+ --exec "$DAEMON" --pidfile "$PIDFILE"; then
+ return 0
+ else
+ rm -f "$PIDFILE"
+ return 1
+ fi
+ else
+ return 1
+ fi
+}
+
+# validate wpa_supplicant pidfile
+test_wpa_supplicant () {
+ test_daemon_pidfile "$WPA_SUP_BIN" "$WPA_SUP_PIDFILE"
+}
+
+# validate wpa_cli pidfile
+test_wpa_cli () {
+ test_daemon_pidfile "$WPA_CLI_BIN" "$WPA_CLI_PIDFILE"
+}
+
+#####################################################################
+## daemonize wpa_supplicant
+# Start wpa_supplicant via start-stop-dameon with all required
+# options. Will start if environment variable WPA_SUP_CONF is present
+#
+# Default options:
+# -B dameonize/background process
+# -D driver backend ('wext' if none given)
+# -P process ID file
+# -C path to ctrl_interface socket directory
+# -s log to syslog
+#
+# Conditional options:
+# -c configuration file
+# -W wait for wpa_cli to attach to ctrl_interface socket
+# -b bridge interface name
+# -f path to log file
+#
+init_wpa_supplicant () {
+ [ -n "$WPA_SUP_CONF" ] || return 0
+
+ local WPA_SUP_OPTIONS
+ WPA_SUP_OPTIONS="-s -B -P $WPA_SUP_PIDFILE -i $WPA_IFACE"
+
+ if [ -n "$WPA_ACTION_SCRIPT" ]; then
+ if [ -x "$WPA_ACTION_SCRIPT" ]; then
+ WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -W"
+ wpa_msg verbose "wait for wpa_cli to attach"
+ else
+ wpa_msg stderr "action script \"$WPA_ACTION_SCRIPT\" not executable"
+ return 1
+ fi
+ fi
+
+ if [ -n "$IF_WPA_BRIDGE" ]; then
+ WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -b $IF_WPA_BRIDGE"
+ wpa_msg verbose "wpa-bridge $IF_WPA_BRIDGE"
+ fi
+
+ if [ -n "$IF_WPA_DRIVER" ]; then
+ wpa_msg verbose "wpa-driver $IF_WPA_DRIVER"
+ case "$IF_WPA_DRIVER" in
+ hostap|ipw|madwifi|ndiswrapper)
+ WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -D nl80211,wext"
+ wpa_msg stderr "\"$IF_WPA_DRIVER\" wpa-driver is unsupported"
+ wpa_msg stderr "using \"nl80211,wext\" wpa-driver instead ..."
+ ;;
+ *)
+ WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -D $IF_WPA_DRIVER"
+ ;;
+ esac
+ else
+ WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -D nl80211,wext"
+ wpa_msg verbose "wpa-driver nl80211,wext (default)"
+ fi
+
+ if [ -n "$IF_WPA_DEBUG_LEVEL" ]; then
+ case "$IF_WPA_DEBUG_LEVEL" in
+ 3)
+ WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -t -ddd"
+ ;;
+ 2)
+ WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -t -dd"
+ ;;
+ 1)
+ WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -t -d"
+ ;;
+ 0)
+ # wpa_supplicant default verbosity
+ ;;
+ -1)
+ WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -q"
+ ;;
+ -2)
+ WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -qq"
+ ;;
+ esac
+ wpa_msg verbose "using debug level: $IF_WPA_DEBUG_LEVEL"
+ fi
+
+ if [ -n "$IF_WPA_LOGFILE" ]; then
+ # custom log file
+ WPA_SUP_OPTIONS="$WPA_SUP_OPTIONS -f $IF_WPA_LOGFILE"
+ WPA_SUP_LOGFILE="$IF_WPA_LOGFILE"
+ wpa_msg verbose "logging to $IF_WPA_LOGFILE"
+ fi
+
+ wpa_msg verbose "$WPA_SUP_BIN $WPA_SUP_OPTIONS $WPA_SUP_CONF"
+
+ start-stop-daemon --start --oknodo $DAEMON_VERBOSITY \
+ --name $WPA_SUP_PNAME --startas $WPA_SUP_BIN --pidfile $WPA_SUP_PIDFILE \
+ -- $WPA_SUP_OPTIONS $WPA_SUP_CONF
+
+ if [ "$?" -ne 0 ]; then
+ wpa_msg stderr "$WPA_SUP_BIN daemon failed to start"
+ return 1
+ fi
+
+ if [ -n "$WPA_SUP_OMIT_PIDFILE" ]; then
+ local WPA_PIDFILE_WAIT
+ local MAX_WPA_PIDFILE_WAIT
+ WPA_PIDFILE_WAIT="0"
+ MAX_WPA_PIDFILE_WAIT="5"
+ until [ -s "$WPA_SUP_PIDFILE" ]; do
+ if [ "$WPA_PIDFILE_WAIT" -ge "$MAX_WPA_PIDFILE_WAIT" ]; then
+ wpa_msg stderr "timed out waiting for creation of $WPA_SUP_PIDFILE"
+ return 1
+ else
+ wpa_msg verbose "waiting for \"$WPA_SUP_PIDFILE\": " \
+ "$WPA_PIDFILE_WAIT (max. $MAX_WPA_PIDFILE_WAIT)"
+ fi
+
+ WPA_PIDFILE_WAIT=$(($WPA_PIDFILE_WAIT + 1))
+ sleep 1
+ done
+ wpa_msg verbose "creating sendsigs omission pidfile: $WPA_SUP_OMIT_PIDFILE"
+ cat "$WPA_SUP_PIDFILE" > "$WPA_SUP_OMIT_PIDFILE"
+ else
+ wpa_msg verbose "sendsigs omission pidfile not created"
+ fi
+
+ local WPA_SOCKET_WAIT
+ local MAX_WPA_SOCKET_WAIT
+ WPA_SOCKET_WAIT="0"
+ MAX_WPA_SOCKET_WAIT="5"
+ until [ -S "$WPA_CTRL_DIR/$WPA_IFACE" ]; do
+ if [ "$WPA_SOCKET_WAIT" -ge "$MAX_WPA_SOCKET_WAIT" ]; then
+ wpa_msg stderr "ctrl_interface socket not found at $WPA_CTRL_DIR/$WPA_IFACE"
+ return 1
+ else
+ wpa_msg verbose "waiting for \"$WPA_CTRL_DIR/$WPA_IFACE\": " \
+ "$WPA_SOCKET_WAIT (max. $MAX_WPA_SOCKET_WAIT)"
+ fi
+
+ WPA_SOCKET_WAIT=$(($WPA_SOCKET_WAIT + 1))
+ sleep 1
+ done
+
+ wpa_msg verbose "ctrl_interface socket located at $WPA_CTRL_DIR/$WPA_IFACE"
+}
+
+#####################################################################
+## stop wpa_supplicant process
+# Kill wpa_supplicant via start-stop-daemon, given the location of
+# the pidfile or ctrl_interface socket path and interface name
+#
+kill_wpa_supplicant () {
+ test_wpa_supplicant || return 0
+
+ wpa_msg verbose "terminating $WPA_SUP_PNAME daemon via pidfile $WPA_SUP_PIDFILE"
+
+ start-stop-daemon --stop --oknodo $DAEMON_VERBOSITY \
+ --exec $WPA_SUP_BIN --pidfile $WPA_SUP_PIDFILE
+
+ if [ -f "$WPA_SUP_PIDFILE" ]; then
+ rm -f "$WPA_SUP_PIDFILE"
+ fi
+
+ if [ -f "$WPA_SUP_OMIT_PIDFILE" ]; then
+ wpa_msg verbose "removing $WPA_SUP_OMIT_PIDFILE"
+ rm -f "$WPA_SUP_OMIT_PIDFILE"
+ fi
+}
+
+#####################################################################
+## reload wpa_supplicant process
+# Sending a HUP signal causes wpa_supplicant to reparse its
+# configuration file
+#
+reload_wpa_supplicant () {
+ if test_wpa_supplicant; then
+ wpa_msg verbose "reloading wpa_supplicant configuration file via HUP signal"
+ start-stop-daemon --stop --signal HUP \
+ --name "$WPA_SUP_PNAME" --pidfile "$WPA_SUP_PIDFILE"
+ else
+ wpa_msg verbose "cannot $WPA_ACTION, $WPA_SUP_PIDFILE does not exist"
+ fi
+}
+
+#####################################################################
+## daemonize wpa_cli and action script
+# If environment variable WPA_ACTION_SCRIPT is present, wpa_cli will
+# be spawned via start-stop-daemon
+#
+# Required options:
+# -a action script => wpa_action
+# -P process ID file
+# -B background process
+#
+init_wpa_cli () {
+ [ -n "$WPA_ACTION_SCRIPT" ] || return 0
+
+ local WPA_CLI_OPTIONS
+ WPA_CLI_OPTIONS="-B -P $WPA_CLI_PIDFILE -i $WPA_IFACE"
+
+ wpa_msg verbose "$WPA_CLI_BIN $WPA_CLI_OPTIONS -p $WPA_CTRL_DIR -a $WPA_ACTION_SCRIPT"
+
+ start-stop-daemon --start --oknodo $DAEMON_VERBOSITY \
+ --name $WPA_CLI_PNAME --startas $WPA_CLI_BIN --pidfile $WPA_CLI_PIDFILE \
+ -- $WPA_CLI_OPTIONS -p $WPA_CTRL_DIR -a $WPA_ACTION_SCRIPT
+
+ if [ "$?" -ne 0 ]; then
+ wpa_msg stderr "$WPA_CLI_BIN daemon failed to start"
+ return 1
+ fi
+}
+
+#####################################################################
+## stop wpa_cli process
+# Kill wpa_cli via start-stop-daemon, given the location of the
+# pidfile
+#
+kill_wpa_cli () {
+ test_wpa_cli || return 0
+
+ wpa_msg verbose "terminating $WPA_CLI_PNAME daemon via pidfile $WPA_CLI_PIDFILE"
+
+ start-stop-daemon --stop --oknodo $DAEMON_VERBOSITY \
+ --exec $WPA_CLI_BIN --pidfile $WPA_CLI_PIDFILE
+
+ if [ -f "$WPA_CLI_PIDFILE" ]; then
+ rm -f "$WPA_CLI_PIDFILE"
+ fi
+
+ if [ -f "$WPA_CLI_TIMESTAMP" ]; then
+ rm -f "$WPA_CLI_TIMESTAMP"
+ fi
+
+ if [ -L "$WPA_CLI_IFUPDOWN" ]; then
+ rm -f "$WPA_CLI_IFUPDOWN"
+ fi
+}
+
+#####################################################################
+## higher level wpa_cli wrapper for variable and set_network commands
+# wpa_cli_do <value> <type> <variable> [set_network variable] <desc>
+#
+# $1 envorinment variable
+# $2 data type of variable {raw|ascii}
+# $3 wpa_cli variable, if $3 is set_network, shift and take
+# set_network subvariable
+# $4 wpa-* string as it would appear in interfaces file, enhances
+# verbose messages
+#
+wpa_cli_do () {
+ if [ -z "$1" ]; then
+ return 0
+ fi
+
+ local WPACLISET_VALUE
+ local WPACLISET_VARIABLE
+ local WPACLISET_DESC
+
+ case "$2" in
+ ascii)
+ # Double quote
+ WPACLISET_VALUE="\"$1\""
+ ;;
+ raw|*)
+ # Provide raw value
+ WPACLISET_VALUE="$1"
+ ;;
+ esac
+
+ case "$3" in
+ set_network)
+ if [ -z "$WPA_ID" ]; then
+ return 1
+ fi
+ shift
+ WPACLISET_VARIABLE="set_network $WPA_ID $3"
+ ;;
+ *)
+ WPACLISET_VARIABLE="$3"
+ ;;
+ esac
+
+ case "$4" in
+ *-psk|*-passphrase|*-passwd*|*-wep-key*)
+ WPACLISET_DESC="$4 *****"
+ ;;
+ *)
+ WPACLISET_DESC="$4 $WPACLISET_VALUE"
+ ;;
+ esac
+
+ wpa_msg action "$WPACLISET_DESC"
+
+ wpa_cli $WPACLISET_VARIABLE "$WPACLISET_VALUE" >$TO_NULL
+
+ if [ "$?" -ne 0 ]; then
+ wpa_msg stderr "$WPACLISET_DESC failed!"
+ fi
+}
+
+#####################################################################
+## check value data type in plaintext or hex
+# returns 0 if input consists of hexadecimal digits only, 1 otherwise
+#
+ishex () {
+ if [ -z "$1" ]; then
+ return 0
+ fi
+
+ case "$1" in
+ *[!0-9a-fA-F]*)
+ # plaintext
+ return 1
+ ;;
+ *)
+ # hexadecimal
+ return 0
+ ;;
+ esac
+}
+
+#####################################################################
+## sanity check and set psk|passphrase
+# Warn about strange psk|passphrase values
+#
+# $1 psk or passphrase value
+#
+# If psk is surrounded by quotes strip them.
+#
+# If psk contains all hexadecimal characters and string length is 64:
+# is 256bit hexadecimal
+# else:
+# is plaintext
+#
+# plaintext passphrases must be 8 - 63 characters in length
+# 256-bit hexadecimal key must be 64 characters in length
+#
+wpa_key_check_and_set () {
+ if [ "$#" -ne 3 ]; then
+ return 0
+ fi
+
+ local KEY
+ local KEY_LEN
+ local KEY_TYPE
+ local ENC_TYPE
+
+ case "$1" in
+ '"'*'"')
+ # Strip surrounding quotation marks
+ KEY=$(echo -n "$1" | sed 's/^"//;s/"$//')
+ ;;
+ *)
+ KEY="$1"
+ ;;
+ esac
+
+ KEY_LEN="${#KEY}"
+
+ case "$2" in
+ wep_key*)
+ ENC_TYPE="WEP"
+ ;;
+ psk)
+ ENC_TYPE="WPA"
+ ;;
+ *)
+ return 0
+ ;;
+ esac
+
+ if [ "$ENC_TYPE" = "WEP" ]; then
+ if ishex "$KEY"; then
+ case "$KEY_LEN" in
+ 10|26|32|58)
+ # 64/128/152/256-bit WEP
+ KEY_TYPE="raw"
+ ;;
+ *)
+ KEY_TYPE="ascii"
+ ;;
+ esac
+ else
+ KEY_TYPE="ascii"
+ fi
+
+ if [ "$KEY_TYPE" = "ascii" ]; then
+ if [ "$KEY_LEN" -lt "5" ]; then
+ wpa_msg stderr "WARNING: plaintext or ascii WEP key has $KEY_LEN characters,"
+ wpa_msg stderr "it must have at least 5 to be valid."
+ fi
+ fi
+ elif [ "$ENC_TYPE" = "WPA" ]; then
+ if ishex "$KEY"; then
+ case "$KEY_LEN" in
+ 64)
+ # 256-bit WPA
+ KEY_TYPE="raw"
+ ;;
+ *)
+ KEY_TYPE="ascii"
+ ;;
+ esac
+ else
+ KEY_TYPE="ascii"
+ fi
+
+ if [ "$KEY_TYPE" = "ascii" ]; then
+ if [ "$KEY_LEN" -lt "8" ] || [ "$KEY_LEN" -gt "63" ]; then
+ wpa_msg stderr "WARNING: plaintext or ascii WPA key has $KEY_LEN characters,"
+ wpa_msg stderr "it must have between 8 and 63 to be valid."
+ wpa_msg stderr "If the WPA key is a 256-bit hexadecimal key, it must have"
+ wpa_msg stderr "exactly 64 characters."
+ fi
+ fi
+ fi
+
+ wpa_cli_do "$KEY" "$KEY_TYPE" set_network "$2" "$3"
+}
+
+#####################################################################
+## formulate a usable configuration from interfaces(5) wpa- lines
+# A series of wpa_cli commands corresponding to environment variables
+# created as a result of wpa- lines in an interfaces stanza.
+#
+# NB: no-act when roaming daemon is used (to avoid prematurely
+# attaching to ctrl_interface socket)
+#
+conf_wpa_supplicant () {
+ if [ -n "$WPA_ACTION_SCRIPT" ]; then
+ return 0
+ fi
+
+ if [ "$IF_WPA_DRIVER" = "wired" ]; then
+ IF_WPA_AP_SCAN="0"
+ wpa_msg verbose "forcing ap_scan=0 (required for wired IEEE8021X auth)"
+ fi
+
+ if [ -n "$IF_WPA_ESSID" ]; then
+ # #403316, be similar to wireless tools
+ IF_WPA_SSID="$IF_WPA_ESSID"
+ fi
+
+ wpa_cli_do "$IF_WPA_AP_SCAN" raw \
+ ap_scan wpa-ap-scan
+
+ wpa_cli_do "$IF_WPA_PREAUTHENTICATE" raw \
+ preauthenticate wpa-preauthenticate
+
+ if [ -n "$IF_WPA_SSID" ] || [ "$IF_WPA_DRIVER" = "wired" ] || \
+ [ -n "$IF_WPA_KEY_MGMT" ]; then
+
+ case "$IF_WPA_SSID" in
+ '"'*'"')
+ IF_WPA_SSID=$(echo -n "$IF_WPA_SSID" | sed 's/^"//;s/"$//')
+ ;;
+ *)
+ ;;
+ esac
+
+ WPA_ID=$(wpa_cli add_network)
+
+ wpa_msg verbose "configuring network block -- $WPA_ID"
+
+ wpa_cli_do "$IF_WPA_SSID" ascii \
+ set_network ssid wpa-ssid
+
+ wpa_cli_do "$IF_WPA_PRIORITY" raw \
+ set_network priority wpa-priority
+
+ wpa_cli_do "$IF_WPA_BSSID" raw \
+ set_network bssid wpa-bssid
+
+ if [ -s "$IF_WPA_PSK_FILE" ]; then
+ IF_WPA_PSK=$(cat "$IF_WPA_PSK_FILE")
+ fi
+
+ # remain compat with wpa-passphrase-file
+ if [ -s "$IF_WPA_PASSPHRASE_FILE" ]; then
+ IF_WPA_PSK=$(cat "$IF_WPA_PASSPHRASE_FILE")
+ fi
+
+ # remain compat with wpa-passphrase
+ if [ -n "$IF_WPA_PASSPHRASE" ]; then
+ IF_WPA_PSK="$IF_WPA_PASSPHRASE"
+ fi
+
+ if [ -n "$IF_WPA_PSK" ]; then
+ wpa_key_check_and_set "$IF_WPA_PSK" \
+ psk wpa-psk
+ fi
+
+ wpa_cli_do "$IF_WPA_PAIRWISE" raw \
+ set_network pairwise wpa-pairwise
+ &nb