mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-02-17 17:14:43 +02:00
Merge commit 'nbd/master' into xburst
This commit is contained in:
commit
7d183397d9
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2006 OpenWrt.org
|
||||
# Copyright (C) 2006-2010 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
@ -15,14 +15,35 @@ override MAKEFLAGS=
|
||||
override MAKE:=$(SUBMAKE)
|
||||
KDIR=$(KERNEL_BUILD_DIR)
|
||||
|
||||
IMG_PREFIX:=openwrt-$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET))
|
||||
|
||||
ifneq ($(CONFIG_BIG_ENDIAN),y)
|
||||
JFFS2OPTS := --pad --little-endian --squash
|
||||
JFFS2OPTS := --pad --little-endian --squash -v
|
||||
SQUASHFS_OPTS := -le
|
||||
else
|
||||
JFFS2OPTS := --pad --big-endian --squash
|
||||
JFFS2OPTS := --pad --big-endian --squash -v
|
||||
SQUASHFS_OPTS := -be
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_JFFS2_RTIME),y)
|
||||
JFFS2OPTS+= -X rtime
|
||||
endif
|
||||
ifeq ($(CONFIG_JFFS2_ZLIB),y)
|
||||
JFFS2OPTS+= -X zlib
|
||||
endif
|
||||
ifeq ($(CONFIG_JFFS2_LZMA),y)
|
||||
JFFS2OPTS+= -X lzma --compression-mode=size
|
||||
endif
|
||||
ifneq ($(CONFIG_JFFS2_RTIME),y)
|
||||
JFFS2OPTS+= -x rtime
|
||||
endif
|
||||
ifneq ($(CONFIG_JFFS2_ZLIB),y)
|
||||
JFFS2OPTS+= -x zlib
|
||||
endif
|
||||
ifneq ($(CONFIG_JFFS2_LZMA),y)
|
||||
JFFS2OPTS+= -x lzma
|
||||
endif
|
||||
|
||||
ifneq ($(CONFIG_LINUX_2_4)$(CONFIG_LINUX_2_6_25),)
|
||||
USE_SQUASHFS3 := y
|
||||
endif
|
||||
@ -57,7 +78,7 @@ ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y)
|
||||
ifeq ($(CONFIG_TARGET_ROOTFS_JFFS2),y)
|
||||
define Image/mkfs/jffs2/sub
|
||||
# FIXME: removing this line will cause strange behaviour in the foreach loop below
|
||||
$(STAGING_DIR_HOST)/bin/mkfs.jffs2 $(JFFS2OPTS) -e $(patsubst %k,%KiB,$(1)) -o $(KDIR)/root.jffs2-$(1) -d $(TARGET_DIR)
|
||||
$(STAGING_DIR_HOST)/bin/mkfs.jffs2 $(JFFS2OPTS) -e $(patsubst %k,%KiB,$(1)) -o $(KDIR)/root.jffs2-$(1) -d $(TARGET_DIR) -v 2>&1 1>/dev/null | awk '/^.+$$$$/'
|
||||
$(call add_jffs2_mark,$(KDIR)/root.jffs2-$(1))
|
||||
$(call Image/Build,jffs2-$(1))
|
||||
endef
|
||||
@ -76,13 +97,13 @@ ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y)
|
||||
|
||||
ifeq ($(CONFIG_TARGET_ROOTFS_TGZ),y)
|
||||
define Image/mkfs/tgz
|
||||
$(TAR) -zcf $(BIN_DIR)/openwrt-$(BOARD)-rootfs.tgz --numeric-owner --owner=0 --group=0 -C $(TARGET_DIR)/ .
|
||||
$(TAR) -zcf $(BIN_DIR)/$(IMG_PREFIX)-rootfs.tgz --numeric-owner --owner=0 --group=0 -C $(TARGET_DIR)/ .
|
||||
endef
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_TARGET_ROOTFS_CPIOGZ),y)
|
||||
define Image/mkfs/cpiogz
|
||||
( cd $(TARGET_DIR); find . | cpio -o -H newc | gzip -9 >$(BIN_DIR)/openwrt-$(BOARD)-rootfs.cpio.gz )
|
||||
( cd $(TARGET_DIR); find . | cpio -o -H newc | gzip -9 >$(BIN_DIR)/$(IMG_PREFIX)-rootfs.cpio.gz )
|
||||
endef
|
||||
endif
|
||||
ifeq ($(CONFIG_TARGET_ROOTFS_UBIFS),y)
|
||||
@ -96,7 +117,7 @@ ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y)
|
||||
endif
|
||||
else
|
||||
define Image/BuildKernel
|
||||
cp $(KDIR)/vmlinux.elf $(BIN_DIR)/openwrt-$(BOARD)-vmlinux.elf
|
||||
cp $(KDIR)/vmlinux.elf $(BIN_DIR)/$(IMG_PREFIX)-vmlinux.elf
|
||||
$(call Image/Build/Initramfs)
|
||||
endef
|
||||
endif
|
||||
|
@ -97,9 +97,8 @@ define Kernel/Configure/2.6
|
||||
endef
|
||||
define Kernel/Configure/Default
|
||||
$(LINUX_CONFCMD) > $(LINUX_DIR)/.config.target
|
||||
echo "$(if $(CONFIG_KERNEL_KALLSYMS),CONFIG_KALLSYMS=y,# CONFIG_KALLSYMS is not set)" >> $(LINUX_DIR)/.config.target
|
||||
echo "$(if $(CONFIG_KERNEL_PROFILING),CONFIG_PROFILING=y,# CONFIG_PROFILING is not set)" >> $(LINUX_DIR)/.config.target
|
||||
echo "$(if $(CONFIG_KERNEL_DEBUG_FS),CONFIG_DEBUG_FS=y,# CONFIG_DEBUG_FS is not set)" >> $(LINUX_DIR)/.config.target
|
||||
# copy CONFIG_KERNEL_* settings over to .config.target
|
||||
awk '/^(#[[:space:]]+)?CONFIG_KERNEL/{sub("CONFIG_KERNEL_","CONFIG_");print}' $(TOPDIR)/.config >> $(LINUX_DIR)/.config.target
|
||||
echo "# CONFIG_KALLSYMS_EXTRA_PASS is not set" >> $(LINUX_DIR)/.config.target
|
||||
echo "# CONFIG_KALLSYMS_ALL is not set" >> $(LINUX_DIR)/.config.target
|
||||
echo "# CONFIG_KPROBES is not set" >> $(LINUX_DIR)/.config.target
|
||||
|
@ -20,12 +20,21 @@ endif
|
||||
ifeq ($(LINUX_VERSION),2.6.32.10)
|
||||
LINUX_KERNEL_MD5SUM:=5d996507ad482a3a8c8e6b2d48e7994b
|
||||
endif
|
||||
ifeq ($(LINUX_VERSION),2.6.32.11)
|
||||
LINUX_KERNEL_MD5SUM:=3709c691d909b4f8ca692edc6c726cb6
|
||||
endif
|
||||
ifeq ($(LINUX_VERSION),2.6.33)
|
||||
LINUX_KERNEL_MD5SUM:=c3883760b18d50e8d78819c54d579b00
|
||||
endif
|
||||
ifeq ($(LINUX_VERSION),2.6.33.1)
|
||||
LINUX_KERNEL_MD5SUM:=73b514ec918b88a45656be191b1ee226
|
||||
endif
|
||||
ifeq ($(LINUX_VERSION),2.6.33.2)
|
||||
LINUX_KERNEL_MD5SUM:=80c5ff544b0ee4d9b5d8b8b89d4a0ef9
|
||||
endif
|
||||
ifeq ($(LINUX_VERSION),2.6.34-rc4)
|
||||
LINUX_KERNEL_MD5SUM:=45b185f33300bbd69034779748b52c5f
|
||||
endif
|
||||
|
||||
# disable the md5sum check for unknown kernel versions
|
||||
LINUX_KERNEL_MD5SUM?=x
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2006-2008 OpenWrt.org
|
||||
# Copyright (C) 2006-2010 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
@ -29,41 +29,6 @@ $(eval $(if $(NF_KMOD),$(call nf_add,IPT_CORE,CONFIG_IP_NF_IPTABLES, $(P_V4)ip_t
|
||||
$(eval $(if $(NF_KMOD),$(call nf_add,IPT_CORE,CONFIG_IP_NF_FILTER, $(P_V4)iptable_filter),))
|
||||
$(eval $(if $(NF_KMOD),$(call nf_add,IPT_CORE,CONFIG_IP_NF_MANGLE, $(P_V4)iptable_mangle),))
|
||||
|
||||
#
|
||||
# ebtables
|
||||
#
|
||||
|
||||
$(eval $(if $(NF_KMOD),$(call nf_add,EBTABLES,CONFIG_BRIDGE_NF_EBTABLES, $(P_EBT)ebtables),))
|
||||
|
||||
# ebtables: tables
|
||||
$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_BROUTE, $(P_EBT)ebtable_broute))
|
||||
$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_T_FILTER, $(P_EBT)ebtable_filter))
|
||||
$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_T_NAT, $(P_EBT)ebtable_nat))
|
||||
|
||||
# ebtables: matches
|
||||
$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_802_3, $(P_EBT)ebt_802_3))
|
||||
$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_AMONG, $(P_EBT)ebt_among))
|
||||
$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_ARP, $(P_EBT)ebt_arp))
|
||||
$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_IP, $(P_EBT)ebt_ip))
|
||||
$(eval $(call nf_add,EBTABLES_IP6,CONFIG_BRIDGE_EBT_IP6, $(P_EBT)ebt_ip6))
|
||||
$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_LIMIT, $(P_EBT)ebt_limit))
|
||||
$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_MARK, $(P_EBT)ebt_mark_m))
|
||||
$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_PKTTYPE, $(P_EBT)ebt_pkttype))
|
||||
$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_STP, $(P_EBT)ebt_stp))
|
||||
$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_VLAN, $(P_EBT)ebt_vlan))
|
||||
|
||||
# targets
|
||||
$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_ARPREPLY, $(P_EBT)ebt_arpreply))
|
||||
$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_MARK_T, $(P_EBT)ebt_mark))
|
||||
$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_DNAT, $(P_EBT)ebt_dnat))
|
||||
$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_REDIRECT, $(P_EBT)ebt_redirect))
|
||||
$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_SNAT, $(P_EBT)ebt_snat))
|
||||
|
||||
# watchers
|
||||
$(eval $(call nf_add,EBTABLES_WATCHERS,CONFIG_BRIDGE_EBT_LOG, $(P_EBT)ebt_log))
|
||||
$(eval $(call nf_add,EBTABLES_WATCHERS,CONFIG_BRIDGE_EBT_ULOG, $(P_EBT)ebt_ulog))
|
||||
$(eval $(call nf_add,EBTABLES_WATCHERS,CONFIG_BRIDGE_EBT_NFLOG, $(P_EBT)ebt_nflog))
|
||||
|
||||
# userland only
|
||||
$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_CORE,CONFIG_IP_NF_IPTABLES, xt_standard ipt_icmp xt_tcp xt_udp xt_comment)))
|
||||
|
||||
@ -120,10 +85,11 @@ $(eval $(call nf_add,IPT_CONNTRACK_EXTRA,CONFIG_NETFILTER_XT_TARGET_CONNMARK, $(
|
||||
|
||||
$(eval $(call nf_add,IPT_EXTRA,CONFIG_IP_NF_MATCH_CONDITION, $(P_V4)ipt_condition))
|
||||
$(eval $(call nf_add,IPT_EXTRA,CONFIG_IP_NF_MATCH_OWNER, $(P_V4)ipt_owner))
|
||||
$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_OWNER, $(P_XT)xt_owner))
|
||||
$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_PHYSDEV, $(P_XT)xt_physdev))
|
||||
$(eval $(call nf_add,IPT_EXTRA,CONFIG_IP_NF_MATCH_PKTTYPE, $(P_V4)ipt_pkttype))
|
||||
$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_PKTTYPE, $(P_XT)xt_pkttype))
|
||||
#$(eval $(call nf_add,IPT_EXTRA,CONFIG_IP_NF_MATCH_QUOTA, $(P_V4)ipt_quota))
|
||||
$(eval $(call nf_add,IPT_EXTRA,CONFIG_IP_NF_MATCH_QUOTA, $(P_V4)ipt_quota))
|
||||
$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_QUOTA, $(P_XT)xt_quota))
|
||||
|
||||
#$(eval $(call nf_add,IPT_EXTRA,CONFIG_IP_NF_TARGET_ROUTE, $(P_V4)ipt_ROUTE))
|
||||
@ -257,6 +223,7 @@ $(eval $(call nf_add,IPT_NATHELPER,CONFIG_IP_NF_NAT_IRC, $(P_V4)ip_nat_irc))
|
||||
$(eval $(call nf_add,IPT_NATHELPER,CONFIG_NF_CONNTRACK_IRC, $(P_XT)nf_conntrack_irc))
|
||||
$(eval $(call nf_add,IPT_NATHELPER,CONFIG_NF_NAT_IRC, $(P_V4)nf_nat_irc))
|
||||
$(eval $(call nf_add,IPT_NATHELPER,CONFIG_IP_NF_TFTP, $(P_V4)ip_conntrack_tftp))
|
||||
$(eval $(call nf_add,IPT_NATHELPER,CONFIG_IP_NF_NAT_TFTP, $(P_V4)ip_nat_tftp))
|
||||
$(eval $(call nf_add,IPT_NATHELPER,CONFIG_NF_CONNTRACK_TFTP, $(P_XT)nf_conntrack_tftp))
|
||||
$(eval $(call nf_add,IPT_NATHELPER,CONFIG_NF_NAT_TFTP, $(P_V4)nf_nat_tftp))
|
||||
|
||||
@ -264,6 +231,7 @@ $(eval $(call nf_add,IPT_NATHELPER,CONFIG_NF_NAT_TFTP, $(P_V4)nf_nat_tftp))
|
||||
# nathelper-extra
|
||||
|
||||
$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_IP_NF_AMANDA, $(P_V4)ip_conntrack_amanda))
|
||||
$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_IP_NF_NAT_AMANDA, $(P_V4)ip_nat_amanda))
|
||||
$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_AMANDA, $(P_XT)nf_conntrack_amanda))
|
||||
$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_NF_NAT_AMANDA, $(P_V4)nf_nat_amanda))
|
||||
$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_IP_NF_CT_PROTO_GRE, $(P_V4)ip_conntrack_proto_gre))
|
||||
@ -302,6 +270,42 @@ $(eval $(call nf_add,IPT_QUEUE,CONFIG_IP_NF_QUEUE, $(P_V4)ip_queue))
|
||||
$(eval $(call nf_add,IPT_ULOG,CONFIG_IP_NF_TARGET_ULOG, $(P_V4)ipt_ULOG))
|
||||
|
||||
|
||||
#
|
||||
# ebtables
|
||||
#
|
||||
|
||||
$(eval $(if $(NF_KMOD),$(call nf_add,EBTABLES,CONFIG_BRIDGE_NF_EBTABLES, $(P_EBT)ebtables),))
|
||||
|
||||
# ebtables: tables
|
||||
$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_BROUTE, $(P_EBT)ebtable_broute))
|
||||
$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_T_FILTER, $(P_EBT)ebtable_filter))
|
||||
$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_T_NAT, $(P_EBT)ebtable_nat))
|
||||
|
||||
# ebtables: matches
|
||||
$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_802_3, $(P_EBT)ebt_802_3))
|
||||
$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_AMONG, $(P_EBT)ebt_among))
|
||||
$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_ARP, $(P_EBT)ebt_arp))
|
||||
$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_IP, $(P_EBT)ebt_ip))
|
||||
$(eval $(call nf_add,EBTABLES_IP6,CONFIG_BRIDGE_EBT_IP6, $(P_EBT)ebt_ip6))
|
||||
$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_LIMIT, $(P_EBT)ebt_limit))
|
||||
$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_MARK, $(P_EBT)ebt_mark_m))
|
||||
$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_PKTTYPE, $(P_EBT)ebt_pkttype))
|
||||
$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_STP, $(P_EBT)ebt_stp))
|
||||
$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_VLAN, $(P_EBT)ebt_vlan))
|
||||
|
||||
# targets
|
||||
$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_ARPREPLY, $(P_EBT)ebt_arpreply))
|
||||
$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_MARK_T, $(P_EBT)ebt_mark))
|
||||
$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_DNAT, $(P_EBT)ebt_dnat))
|
||||
$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_REDIRECT, $(P_EBT)ebt_redirect))
|
||||
$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_SNAT, $(P_EBT)ebt_snat))
|
||||
|
||||
# watchers
|
||||
$(eval $(call nf_add,EBTABLES_WATCHERS,CONFIG_BRIDGE_EBT_LOG, $(P_EBT)ebt_log))
|
||||
$(eval $(call nf_add,EBTABLES_WATCHERS,CONFIG_BRIDGE_EBT_ULOG, $(P_EBT)ebt_ulog))
|
||||
$(eval $(call nf_add,EBTABLES_WATCHERS,CONFIG_BRIDGE_EBT_NFLOG, $(P_EBT)ebt_nflog))
|
||||
|
||||
|
||||
# userland only
|
||||
IPT_BUILTIN += $(IPT_CORE-y) $(IPT_CORE-m)
|
||||
IPT_BUILTIN += $(IPT_CONNTRACK-y)
|
||||
|
@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=base-files
|
||||
PKG_RELEASE:=41
|
||||
PKG_RELEASE:=42
|
||||
|
||||
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
|
||||
|
||||
|
@ -1,4 +1,10 @@
|
||||
|
||||
# uncomment me to log hotplug events
|
||||
# DEVPATH is set {
|
||||
# nothrottle
|
||||
# exec logger -s -t hotplug -p daemon.info "name=%DEVICENAME%, path=%DEVPATH%"
|
||||
# }
|
||||
|
||||
DEVICENAME ~~ (null|full|ptmx|tty|zero|gpio|hvc) {
|
||||
nothrottle
|
||||
makedev /dev/%DEVICENAME% 0666
|
||||
@ -35,8 +41,8 @@ DEVPATH is set, SUBSYSTEM ~~ (input) {
|
||||
}
|
||||
|
||||
DEVICENAME == device-mapper {
|
||||
nothrottle
|
||||
makedev /dev/mapper/control 0600
|
||||
nothrottle
|
||||
makedev /dev/mapper/control 0600
|
||||
}
|
||||
|
||||
|
||||
@ -45,8 +51,8 @@ DEVPATH is set {
|
||||
makedev /dev/%DEVICENAME% 0644
|
||||
}
|
||||
|
||||
FIRMWARE is set {
|
||||
FIRMWARE is set, ACTION == add {
|
||||
nothrottle
|
||||
exec /sbin/hotplug-call firmware
|
||||
load-firmware /lib/firmware
|
||||
next
|
||||
}
|
||||
|
@ -9,9 +9,12 @@ boot() {
|
||||
|
||||
include /lib/network
|
||||
setup_switch
|
||||
[ -s /etc/config/wireless ] || \
|
||||
grep -qs config /etc/config/wireless && {
|
||||
/sbin/wifi up
|
||||
} || {
|
||||
rm -f /etc/config/wireless
|
||||
/sbin/wifi detect > /etc/config/wireless
|
||||
/sbin/wifi up
|
||||
}
|
||||
}
|
||||
|
||||
start() {
|
||||
|
@ -10,7 +10,12 @@ run_scripts() {
|
||||
LOGGER="cat"
|
||||
[ -x /usr/bin/logger ] && LOGGER="logger -s -p 6 -t sysinit"
|
||||
|
||||
if [ "$1" = "S" ]; then
|
||||
. /etc/functions.sh
|
||||
|
||||
config_load system
|
||||
config_get_bool foreground system foreground no
|
||||
|
||||
if [ "$1" = "S" -a "$foreground" != "yes" ]; then
|
||||
run_scripts "$1" "$2" &
|
||||
else
|
||||
run_scripts "$1" "$2"
|
||||
|
@ -1,19 +1,8 @@
|
||||
#!/bin/sh
|
||||
# Copyright (C) 2006 OpenWrt.org
|
||||
# Copyright (C) 2006-2010 OpenWrt.org
|
||||
|
||||
export HOTPLUG_TYPE="$1"
|
||||
|
||||
# bypass the normal hotplug path for firmware loading
|
||||
# would otherwise cause problems with drivers like bcm43xx
|
||||
[ -d /sys/firmware -a "firmware" = "$HOTPLUG_TYPE" -a "add" = "$ACTION" ] && {
|
||||
[ -f "/lib/firmware/$FIRMWARE" ] && {
|
||||
echo 1 > "/sys$DEVPATH/loading"
|
||||
dd if="/lib/firmware/$FIRMWARE" of="/sys$DEVPATH/data" bs=64k
|
||||
echo 0 > "/sys$DEVPATH/loading"
|
||||
} || echo -1 > "/sys$DEVPATH/loading"
|
||||
exit 0
|
||||
}
|
||||
|
||||
. /etc/functions.sh
|
||||
|
||||
PATH=/bin:/sbin:/usr/bin:/usr/sbin
|
||||
|
@ -23,4 +23,4 @@ preinit_echo() {
|
||||
echo "$@"
|
||||
}
|
||||
|
||||
boot_run_hook mount_root
|
||||
boot_run_hook preinit_mount_root
|
||||
|
@ -26,7 +26,7 @@ endef
|
||||
define Package/block-extroot
|
||||
$(call Package/block-extroot/Default)
|
||||
MENU:=1
|
||||
DEPENDS:=+block-mount @PACKAGE_kmod-ide-core||PACKAGE_kmod-usb-storage||PACKAGE_kmod-mmc
|
||||
DEPENDS:=+block-mount @PACKAGE_kmod-ide-core||PACKAGE_kmod-ata-core||PACKAGE_kmod-usb-storage||PACKAGE_kmod-mmc||PACKAGE_kmod-broadcom-sdhc
|
||||
endef
|
||||
|
||||
define Package/block-extroot/config
|
||||
|
@ -11,8 +11,6 @@ PKG_NAME:=block-mount
|
||||
PKG_VERSION:=0.1.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/block-mount/Default
|
||||
@ -25,27 +23,6 @@ define Package/block-mount
|
||||
TITLE:=Block device mounting and checking
|
||||
endef
|
||||
|
||||
define Package/block-mount/config
|
||||
select BUSYBOX_CONFIG_MKSWAP
|
||||
select BUSYBOX_CONFIG_FEATURE_MKSWAP_UUID
|
||||
select BUSYBOX_CONFIG_SWAPONOFF
|
||||
select BUSYBOX_CONFIG_BLKID
|
||||
select BUSYBOX_CONFIG_FEATURE_VOLUMEID_EXT
|
||||
select BUSYBOX_CONFIG_FEATURE_VOLUMEID_REISERFS
|
||||
select BUSYBOX_CONFIG_FEATURE_VOLUMEID_FAT
|
||||
select BUSYBOX_CONFIG_FEATURE_VOLUMEID_HFS
|
||||
select BUSYBOX_CONFIG_FEATURE_VOLUMEID_JFS
|
||||
select BUSYBOX_CONFIG_FEATURE_VOLUMEID_XFS
|
||||
select BUSYBOX_CONFIG_FEATURE_VOLUMEID_NTFS
|
||||
select BUSYBOX_CONFIG_FEATURE_VOLUMEID_SYSV
|
||||
select BUSYBOX_CONFIG_FEATURE_VOLUMEID_OCFS2
|
||||
select BUSYBOX_CONFIG_FEATURE_VOLUMEID_ISO9660
|
||||
select BUSYBOX_CONFIG_FEATURE_VOLUMEID_UDF
|
||||
select BUSYBOX_CONFIG_FEATURE_VOLUMEID_LINUXSWAP
|
||||
select BUSYBOX_CONFIG_FEATURE_VOLUMEID_CRAMFS
|
||||
select BUSYBOX_CONFIG_FEATURE_VOLUMEID_ROMFS
|
||||
endef
|
||||
|
||||
define Package/block-mount/description
|
||||
Scripts used to mount and check block devices (filesystems and swap)
|
||||
endef
|
||||
@ -53,7 +30,7 @@ endef
|
||||
define Package/block-hotplug
|
||||
$(call Package/block-mount/Default)
|
||||
TITLE:=Automount and autocheck block devices
|
||||
DEPENDS:=block-mount hotplug2
|
||||
DEPENDS:=+block-mount +hotplug2
|
||||
endef
|
||||
|
||||
define Package/block-hotplug/description
|
||||
|
@ -60,6 +60,7 @@ enum {
|
||||
WRT54G,
|
||||
WRTSL54GS,
|
||||
WRT54G3G,
|
||||
WRT54G3GV2_VF,
|
||||
WRT160N,
|
||||
WRT300NV11,
|
||||
WRT350N,
|
||||
@ -271,6 +272,18 @@ static struct platform_t __initdata platforms[] = {
|
||||
{ .name = "3g_blink", .gpio = 1 << 5, .polarity = NORMAL },
|
||||
},
|
||||
},
|
||||
[WRT54G3GV2_VF] = {
|
||||
.name = "Linksys WRT54G3GV2-VF",
|
||||
.buttons = {
|
||||
{ .name = "reset", .gpio = 1 << 6 },
|
||||
{ .name = "3g", .gpio = 1 << 4 },
|
||||
},
|
||||
.leds = {
|
||||
{ .name = "power", .gpio = 1 << 1, .polarity = NORMAL },
|
||||
{ .name = "3g_green", .gpio = 1 << 2, .polarity = NORMAL },
|
||||
{ .name = "3g_blue", .gpio = 1 << 3, .polarity = NORMAL },
|
||||
},
|
||||
},
|
||||
[WRT160N] = {
|
||||
.name = "Linksys WRT160N",
|
||||
.buttons = {
|
||||
@ -983,6 +996,9 @@ static struct platform_t __init *platform_detect(void)
|
||||
if (!strcmp(boardtype, "0x0101") && !strcmp(getvar("boot_ver"), "v3.6"))
|
||||
return &platforms[WRT54G3G];
|
||||
|
||||
if (!strcmp(boardtype, "0x042f") && !strcmp(getvar("model_name"), "WRT54G3GV2-VF"))
|
||||
return &platforms[WRT54G3GV2_VF];
|
||||
|
||||
if (!strcmp(getvar("et1phyaddr"),"5") && !strcmp(getvar("et1mdcport"), "1"))
|
||||
return &platforms[WRTSL54GS];
|
||||
|
||||
|
@ -128,6 +128,7 @@ enable_broadcom() {
|
||||
config_get txpower "$device" txpower
|
||||
config_get frag "$device" frag
|
||||
config_get rts "$device" rts
|
||||
config_get hwmode "$device" hwmode
|
||||
local vif_pre_up vif_post_up vif_do_up vif_txpower
|
||||
local doth=0
|
||||
local wmm=0
|
||||
@ -159,6 +160,15 @@ enable_broadcom() {
|
||||
;;
|
||||
esac
|
||||
|
||||
case "$hwmode" in
|
||||
*b) hwmode=0;;
|
||||
*bg) hwmode=1;;
|
||||
*g) hwmode=2;;
|
||||
*gst) hwmode=4;;
|
||||
*lrs) hwmode=5;;
|
||||
*) hwmode=1;;
|
||||
esac
|
||||
|
||||
for vif in $vifs; do
|
||||
config_get vif_txpower "$vif" txpower
|
||||
|
||||
@ -238,7 +248,7 @@ enable_broadcom() {
|
||||
append vif_do_up "wpa_auth $auth" "$N"
|
||||
append vif_do_up "wsec_restrict $wsec_r" "$N"
|
||||
append vif_do_up "eap_restrict $eap_r" "$N"
|
||||
|
||||
|
||||
config_get ssid "$vif" ssid
|
||||
append vif_post_up "vlan_mode 0" "$N"
|
||||
append vif_post_up "ssid $ssid" "$N"
|
||||
@ -256,9 +266,9 @@ enable_broadcom() {
|
||||
append vif_pre_up "allow_mode 1" "$N"
|
||||
}
|
||||
} || append vif_pre_up "allow_mode 0" "$N"
|
||||
|
||||
|
||||
append vif_post_up "enabled 1" "$N"
|
||||
|
||||
|
||||
config_get ifname "$vif" ifname
|
||||
#append if_up "ifconfig $ifname up" ";$N"
|
||||
|
||||
@ -278,7 +288,7 @@ enable_broadcom() {
|
||||
[ -z "$bridge" ] || {
|
||||
append vif_post_up "supplicant 1" "$N"
|
||||
append vif_post_up "passphrase $key" "$N"
|
||||
|
||||
|
||||
use_nas=0
|
||||
}
|
||||
}
|
||||
@ -290,6 +300,7 @@ enable_broadcom() {
|
||||
wlc ifname "$device" stdin <<EOF
|
||||
$ifdown
|
||||
|
||||
gmode ${hwmode:-1}
|
||||
apsta $apsta
|
||||
ap $ap
|
||||
${mssid:+mssid $mssid}
|
||||
|
@ -919,6 +919,13 @@ static const struct wlc_call wlc_calls[] = {
|
||||
.handler = wlc_maclist,
|
||||
.desc = "MACs of associated stations"
|
||||
},
|
||||
{
|
||||
.name = "gmode",
|
||||
.param = INT,
|
||||
.data.num = ((WLC_GET_GMODE << 16) | WLC_SET_GMODE),
|
||||
.handler = wlc_ioctl,
|
||||
.desc = "G Mode"
|
||||
},
|
||||
};
|
||||
#define wlc_calls_size (sizeof(wlc_calls) / sizeof(struct wlc_call))
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2006-2009 OpenWrt.org
|
||||
# Copyright (C) 2006-2010 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
@ -8,13 +8,13 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=busybox
|
||||
PKG_VERSION:=1.15.3
|
||||
PKG_RELEASE:=1
|
||||
PKG_VERSION:=1.16.1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:=http://www.busybox.net/downloads \
|
||||
http://distfiles.gentoo.org/distfiles/
|
||||
PKG_MD5SUM:=6059ac9456de6fb18dc8ee4cd0ec9240
|
||||
PKG_MD5SUM:=319486ec65078d07fde26eb620fecde7
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
@ -30,6 +30,7 @@ init-$(CONFIG_BUSYBOX_CONFIG_TELNETD) += telnet
|
||||
define Package/busybox
|
||||
SECTION:=base
|
||||
CATEGORY:=Base system
|
||||
MAINTAINER:=Nicolas Thill <nico@openwrt.org>
|
||||
TITLE:=Core utilities for embedded Linux
|
||||
URL:=http://busybox.net/
|
||||
MENU:=1
|
||||
|
@ -29,6 +29,23 @@ config BUSYBOX_CONFIG_EXTRA_COMPAT
|
||||
some GNU extensions in libc. You probably only need this option
|
||||
if you plan to run busybox on desktop.
|
||||
|
||||
config BUSYBOX_CONFIG_INCLUDE_SUSv2
|
||||
bool "Enable obsolete features removed before SUSv3"
|
||||
default y
|
||||
help
|
||||
This option will enable backwards compatibility with SuSv2,
|
||||
specifically, old-style numeric options ('command -1 <file>')
|
||||
will be supported in head, tail, and fold. (Note: should
|
||||
affect renice too.)
|
||||
|
||||
config BUSYBOX_CONFIG_USE_PORTABLE_CODE
|
||||
bool "Avoid using GCC-specific code constructs"
|
||||
default n
|
||||
help
|
||||
Use this option if you are trying to compile busybox with
|
||||
compiler other than gcc.
|
||||
If you do use gcc, this option may needlessly increase code size.
|
||||
|
||||
choice
|
||||
prompt "Buffer allocation policy"
|
||||
default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
|
||||
@ -502,17 +519,8 @@ config BUSYBOX_CONFIG_EFENCE
|
||||
|
||||
endchoice
|
||||
|
||||
config BUSYBOX_CONFIG_INCLUDE_SUSv2
|
||||
bool "Enable obsolete features removed before SUSv3?"
|
||||
default y
|
||||
help
|
||||
This option will enable backwards compatibility with SuSv2,
|
||||
specifically, old-style numeric options ('command -1 <file>')
|
||||
will be supported in head, tail, and fold. (Note: should
|
||||
affect renice too.)
|
||||
|
||||
### config PARSE
|
||||
### bool "Uniform config file parser debugging applet: parse"
|
||||
### bool "Uniform config file parser debugging applet: parse"
|
||||
|
||||
endmenu
|
||||
|
||||
|
@ -165,6 +165,13 @@ config BUSYBOX_CONFIG_GZIP
|
||||
gzip is used to compress files.
|
||||
It's probably the most widely used UNIX compression program.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_GZIP_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_GZIP && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Enable use of long options, increases size by about 106 Bytes
|
||||
|
||||
config BUSYBOX_CONFIG_LZOP
|
||||
bool "lzop"
|
||||
default n
|
||||
@ -269,6 +276,14 @@ config BUSYBOX_CONFIG_FEATURE_TAR_UNAME_GNAME
|
||||
listings (-t) and preserving permissions when unpacking (-p).
|
||||
+200 bytes.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TAR_NOPRESERVE_TIME
|
||||
bool "Enable -m (do not preserve time) option"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TAR
|
||||
help
|
||||
With this option busybox supports GNU tar -m
|
||||
(do not preserve time) option.
|
||||
|
||||
endif #tar
|
||||
|
||||
config BUSYBOX_CONFIG_UNCOMPRESS
|
||||
|
@ -52,6 +52,13 @@ config BUSYBOX_CONFIG_CHOWN
|
||||
chown is used to change the user and/or group ownership
|
||||
of files.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CHOWN_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_CHOWN && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Enable use of long options
|
||||
|
||||
config BUSYBOX_CONFIG_CHROOT
|
||||
bool "chroot"
|
||||
default y
|
||||
@ -78,6 +85,14 @@ config BUSYBOX_CONFIG_CP
|
||||
help
|
||||
cp is used to copy files and directories.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CP_LONG_OPTIONS
|
||||
bool "Enable long options for cp"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_CP && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Enable long options for cp.
|
||||
Also add support for --parents option.
|
||||
|
||||
config BUSYBOX_CONFIG_CUT
|
||||
bool "cut"
|
||||
default y
|
||||
@ -100,6 +115,22 @@ config BUSYBOX_CONFIG_FEATURE_DATE_ISOFMT
|
||||
Enable option (-I) to output an ISO-8601 compliant
|
||||
date/time string.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DATE_COMPAT
|
||||
bool "Support weird 'date MMDDhhmm[[YY]YY][.ss]' format"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_DATE
|
||||
help
|
||||
System time can be set by 'date -s DATE' and simply 'date DATE',
|
||||
but formats of DATE string are different. 'date DATE' accepts
|
||||
a rather weird MMDDhhmm[[YY]YY][.ss] format with completely
|
||||
unnatural placement of year between minutes and seconds.
|
||||
date -s (and other commands like touch -d) use more sensible
|
||||
formats (for one, ISO format YYYY-MM-DD hh:mm:ss.ssssss).
|
||||
|
||||
With this option off, 'date DATE' is 'date -s DATE' support
|
||||
the same format. With it on, 'date DATE' additionally supports
|
||||
MMDDhhmm[[YY]YY][.ss] format.
|
||||
|
||||
config BUSYBOX_CONFIG_DD
|
||||
bool "dd"
|
||||
default y
|
||||
@ -113,13 +144,22 @@ config BUSYBOX_CONFIG_FEATURE_DD_SIGNAL_HANDLING
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_DD
|
||||
help
|
||||
sending a SIGUSR1 signal to a running `dd' process makes it
|
||||
Sending a SIGUSR1 signal to a running `dd' process makes it
|
||||
print to standard error the number of records read and written
|
||||
so far, then to resume copying.
|
||||
|
||||
$ dd if=/dev/zero of=/dev/null&
|
||||
$ pid=$! kill -USR1 $pid; sleep 1; kill $pid
|
||||
10899206+0 records in 10899206+0 records out
|
||||
10899206+0 records in
|
||||
10899206+0 records out
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DD_THIRD_STATUS_LINE
|
||||
bool "Enable the third status line upon signal"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_DD && BUSYBOX_CONFIG_FEATURE_DD_SIGNAL_HANDLING
|
||||
help
|
||||
Displays a coreutils-like third status line with transferred bytes,
|
||||
elapsed time and speed.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DD_IBS_OBS
|
||||
bool "Enable ibs, obs and conv options"
|
||||
@ -829,13 +869,13 @@ config BUSYBOX_CONFIG_FEATURE_HUMAN_READABLE
|
||||
help
|
||||
Allow df, du, and ls to have human readable output.
|
||||
|
||||
comment "Common options for md5sum, sha1sum"
|
||||
depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM
|
||||
comment "Common options for md5sum, sha1sum, sha256sum, sha512sum"
|
||||
depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA512SUM
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MD5_SHA1_SUM_CHECK
|
||||
bool "Enable -c, -s and -w options"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM
|
||||
depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA512SUM
|
||||
help
|
||||
Enabling the -c options allows files to be checked
|
||||
against pre-calculated hash values.
|
||||
|
@ -35,13 +35,12 @@ config BUSYBOX_CONFIG_DIFF
|
||||
differences between them in a form that can be given to
|
||||
the patch command.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DIFF_BINARY
|
||||
bool "Enable checks for binary files"
|
||||
config BUSYBOX_CONFIG_FEATURE_DIFF_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_DIFF
|
||||
depends on BUSYBOX_CONFIG_DIFF && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
This option enables support for checking for binary files
|
||||
before a comparison is carried out.
|
||||
Enable use of long options.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DIFF_DIR
|
||||
bool "Enable directory support"
|
||||
@ -51,14 +50,6 @@ config BUSYBOX_CONFIG_FEATURE_DIFF_DIR
|
||||
This option enables support for directory and subdirectory
|
||||
comparison.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DIFF_MINIMAL
|
||||
bool "Enable -d option to find smaller sets of changes"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_DIFF
|
||||
help
|
||||
Enabling this option allows the use of -d to make diff
|
||||
try hard to find the smallest possible set of changes.
|
||||
|
||||
config BUSYBOX_CONFIG_ED
|
||||
bool "ed"
|
||||
default n
|
||||
|
@ -171,6 +171,13 @@ config BUSYBOX_CONFIG_FEATURE_FIND_CONTEXT
|
||||
help
|
||||
Support the 'find -context' option for matching security context.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_LINKS
|
||||
bool "Enable -links: link count matching"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
Support the 'find -links' option for matching number of links.
|
||||
|
||||
config BUSYBOX_CONFIG_GREP
|
||||
bool "grep"
|
||||
default y
|
||||
|
@ -111,7 +111,7 @@ config BUSYBOX_CONFIG_FEATURE_EDITING_ASK_TERMINAL
|
||||
current cursor position. This information is used to make line
|
||||
editing more robust in some cases.
|
||||
If you are not sure whether your terminals respond to this code
|
||||
correctly, or want to save on code size (about 300 bytes),
|
||||
correctly, or want to save on code size (about 400 bytes),
|
||||
then do not turn this option on.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_NON_POSIX_CP
|
||||
@ -134,9 +134,8 @@ config BUSYBOX_CONFIG_FEATURE_VERBOSE_CP_MESSAGE
|
||||
$ cp file /vmlinuz/file
|
||||
cp: cannot stat '/vmlinuz/file': Path has non-directory component
|
||||
If this feature is not enabled, they will be, respectively:
|
||||
cp: cannot remove '/does_not_exist/file': No such file or directory
|
||||
cp: cannot create '/does_not_exist/file': No such file or directory
|
||||
cp: cannot stat '/vmlinuz/file': Not a directory
|
||||
respectively.
|
||||
This will cost you ~60 bytes.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_COPYBUF_KB
|
||||
|
@ -137,11 +137,11 @@ config BUSYBOX_CONFIG_FEATURE_CROND_D
|
||||
-d sets loglevel to 0 (most verbose) and directs all output to stderr.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CROND_CALL_SENDMAIL
|
||||
bool "Using /usr/sbin/sendmail?"
|
||||
bool "Report command output via email (using sendmail)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_CROND
|
||||
help
|
||||
Support calling /usr/sbin/sendmail for send cmd outputs.
|
||||
Command output will be sent to corresponding user via email.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CROND_DIR
|
||||
string "crond spool directory"
|
||||
@ -272,6 +272,13 @@ config BUSYBOX_CONFIG_FBSPLASH
|
||||
"NN" (ASCII decimal number) - percentage to show on progress bar
|
||||
"exit" - well you guessed it
|
||||
|
||||
config BUSYBOX_CONFIG_FLASHCP
|
||||
bool "flashcp"
|
||||
default n
|
||||
help
|
||||
The flashcp binary, inspired by mtd-utils as of git head 5eceb74f7.
|
||||
This utility is used to copy images into a MTD device.
|
||||
|
||||
config BUSYBOX_CONFIG_FLASH_LOCK
|
||||
bool "flash_lock"
|
||||
default n
|
||||
@ -618,6 +625,12 @@ config BUSYBOX_CONFIG_VOLNAME
|
||||
help
|
||||
Prints a CD-ROM volume name.
|
||||
|
||||
config BUSYBOX_CONFIG_WALL
|
||||
bool "wall"
|
||||
default n
|
||||
help
|
||||
Write a message to all users that are logged in.
|
||||
|
||||
config BUSYBOX_CONFIG_WATCHDOG
|
||||
bool "watchdog"
|
||||
default y
|
||||
|
@ -121,6 +121,22 @@ config BUSYBOX_CONFIG_FEATURE_2_4_MODULES
|
||||
This increases size considerably. Say N unless you plan
|
||||
to run ancient kernels.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_INSMOD_TRY_MMAP
|
||||
bool "Try to load module from a mmap'ed area"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
help
|
||||
This option causes module loading code to try to mmap
|
||||
module first. If it does not work (for example,
|
||||
it does not work for compressed modules), module will be read
|
||||
(and unpacked if needed) into a memory block allocated by malloc.
|
||||
|
||||
The only case when mmap works but malloc does not is when
|
||||
you are trying to load a big module on a very memory-constrained
|
||||
machine. Malloc will momentarily need 2x as much memory as mmap.
|
||||
|
||||
Choosing N saves about 250 bytes of code (on 32-bit x86).
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_INSMOD_VERSION_CHECKING
|
||||
bool "Enable module version checking"
|
||||
default n
|
||||
|
@ -117,6 +117,17 @@ config BUSYBOX_CONFIG_FEATURE_FTP_WRITE
|
||||
help
|
||||
Enable all kinds of FTP upload commands (-w option)
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST
|
||||
bool "Enable workaround for RFC-violating clients"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FTPD
|
||||
help
|
||||
Some ftp-clients (among them KDE's Konqueror) issue illegal
|
||||
"LIST -la" requests. This option works around those problems.
|
||||
It might prevent you from listing files starting with "-" and
|
||||
it increases the code size by ~40 bytes.
|
||||
Most other ftp servers seem to behave similar to this.
|
||||
|
||||
config BUSYBOX_CONFIG_FTPGET
|
||||
bool "ftpget"
|
||||
default n
|
||||
@ -667,6 +678,20 @@ config BUSYBOX_CONFIG_NSLOOKUP
|
||||
help
|
||||
nslookup is a tool to query Internet name servers.
|
||||
|
||||
config BUSYBOX_CONFIG_NTPD
|
||||
bool "ntpd"
|
||||
default n
|
||||
help
|
||||
The NTP client/server daemon.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_NTPD_SERVER
|
||||
bool "Make ntpd usable as a NTP server"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_NTPD
|
||||
help
|
||||
Make ntpd usable as a NTP server. If you disable this option
|
||||
ntpd will be usable only as a NTP client.
|
||||
|
||||
config BUSYBOX_CONFIG_PING
|
||||
bool "ping"
|
||||
default y
|
||||
@ -794,6 +819,27 @@ config BUSYBOX_CONFIG_FEATURE_TELNETD_STANDALONE
|
||||
help
|
||||
Selecting this will make telnetd able to run standalone.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TELNETD_INETD_WAIT
|
||||
bool "Support -w SEC option (inetd wait mode)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_TELNETD_STANDALONE
|
||||
help
|
||||
This option allows you to run telnetd in "inet wait" mode.
|
||||
Example inetd.conf line (note "wait", not usual "nowait"):
|
||||
|
||||
telnet stream tcp wait root /bin/telnetd telnetd -w10
|
||||
|
||||
In this example, inetd passes _listening_ socket_ as fd 0
|
||||
to telnetd when connection appears.
|
||||
telnetd will wait for connections until all existing
|
||||
connections are closed, and no new connections
|
||||
appear during 10 seconds. Then it exits, and inetd continues
|
||||
to listen for new connections.
|
||||
|
||||
This option is rarely used. "tcp nowait" is much more usual
|
||||
way of running tcp services, including telnetd.
|
||||
You most probably want to say N here.
|
||||
|
||||
config BUSYBOX_CONFIG_TFTP
|
||||
bool "tftp"
|
||||
default n
|
||||
@ -831,12 +877,19 @@ config BUSYBOX_CONFIG_FEATURE_TFTP_PUT
|
||||
Also enable download support in tftpd, if tftpd is selected.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TFTP_BLOCKSIZE
|
||||
bool "Enable \"blksize\" protocol option"
|
||||
bool "Enable 'blksize' and 'tsize' protocol options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TFTP || BUSYBOX_CONFIG_TFTPD
|
||||
help
|
||||
Allow tftp to specify block size, and tftpd to understand
|
||||
"blksize" option.
|
||||
"blksize" and "tsize" options.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TFTP_PROGRESS_BAR
|
||||
bool "Enable tftp progress meter"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TFTP && BUSYBOX_CONFIG_FEATURE_TFTP_BLOCKSIZE
|
||||
help
|
||||
Show progress bar.
|
||||
|
||||
config BUSYBOX_CONFIG_TFTP_DEBUG
|
||||
bool "Enable debug"
|
||||
@ -852,6 +905,13 @@ config BUSYBOX_CONFIG_TRACEROUTE
|
||||
help
|
||||
Utility to trace the route of IP packets.
|
||||
|
||||
config BUSYBOX_CONFIG_TRACEROUTE6
|
||||
bool "traceroute6"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_IPV6 && BUSYBOX_CONFIG_TRACEROUTE
|
||||
help
|
||||
Utility to trace the route of IPv6 packets.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_VERBOSE
|
||||
bool "Enable verbose output"
|
||||
default y
|
||||
@ -880,7 +940,7 @@ source package/busybox/config/networking/udhcp/Config.in
|
||||
config BUSYBOX_CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS
|
||||
string "ifup udhcpc command line options"
|
||||
default "-R -n"
|
||||
depends on BUSYBOX_CONFIG_IFUPDOWN && BUSYBOX_CONFIG_APP_UDHCPC
|
||||
depends on BUSYBOX_CONFIG_IFUPDOWN && BUSYBOX_CONFIG_UDHCPC
|
||||
help
|
||||
Command line options to pass to udhcpc from ifup.
|
||||
Intended to alter options not available in /etc/network/interfaces.
|
||||
|
@ -3,26 +3,26 @@
|
||||
# see scripts/kbuild/config-language.txt.
|
||||
#
|
||||
|
||||
config BUSYBOX_CONFIG_APP_UDHCPD
|
||||
config BUSYBOX_CONFIG_UDHCPD
|
||||
bool "udhcp server (udhcpd)"
|
||||
default n
|
||||
help
|
||||
udhcpd is a DHCP server geared primarily toward embedded systems,
|
||||
while striving to be fully functional and RFC compliant.
|
||||
|
||||
config BUSYBOX_CONFIG_APP_DHCPRELAY
|
||||
config BUSYBOX_CONFIG_DHCPRELAY
|
||||
bool "dhcprelay"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_APP_UDHCPD
|
||||
depends on BUSYBOX_CONFIG_UDHCPD
|
||||
help
|
||||
dhcprelay listens for dhcp requests on one or more interfaces
|
||||
and forwards these requests to a different interface or dhcp
|
||||
server.
|
||||
|
||||
config BUSYBOX_CONFIG_APP_DUMPLEASES
|
||||
config BUSYBOX_CONFIG_DUMPLEASES
|
||||
bool "Lease display utility (dumpleases)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_APP_UDHCPD
|
||||
depends on BUSYBOX_CONFIG_UDHCPD
|
||||
help
|
||||
dumpleases displays the leases written out by the udhcpd server.
|
||||
Lease times are stored in the file by time remaining in lease, or
|
||||
@ -31,7 +31,7 @@ config BUSYBOX_CONFIG_APP_DUMPLEASES
|
||||
config BUSYBOX_CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY
|
||||
bool "Rewrite the lease file at every new acknowledge"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_APP_UDHCPD
|
||||
depends on BUSYBOX_CONFIG_UDHCPD
|
||||
help
|
||||
If selected, udhcpd will write a new file with leases every
|
||||
time a new lease has been accepted, thus eliminating the need
|
||||
@ -41,12 +41,12 @@ config BUSYBOX_CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY
|
||||
config BUSYBOX_CONFIG_DHCPD_LEASES_FILE
|
||||
string "Absolute path to lease file"
|
||||
default "/var/run/udhcpd.leases"
|
||||
depends on BUSYBOX_CONFIG_APP_UDHCPD
|
||||
depends on BUSYBOX_CONFIG_UDHCPD
|
||||
help
|
||||
udhcpd stores addresses in a lease file. This is the absolute path
|
||||
of the file. Normally it is safe to leave it untouched.
|
||||
|
||||
config BUSYBOX_CONFIG_APP_UDHCPC
|
||||
config BUSYBOX_CONFIG_UDHCPC
|
||||
bool "udhcp client (udhcpc)"
|
||||
default y
|
||||
help
|
||||
@ -59,7 +59,7 @@ config BUSYBOX_CONFIG_APP_UDHCPC
|
||||
config BUSYBOX_CONFIG_FEATURE_UDHCPC_ARPING
|
||||
bool "Verify that the offered address is free, using ARP ping"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_APP_UDHCPC
|
||||
depends on BUSYBOX_CONFIG_UDHCPC
|
||||
help
|
||||
If selected, udhcpc will send ARP probes and make sure
|
||||
the offered address is really not in use by anyone. The client
|
||||
@ -69,7 +69,7 @@ config BUSYBOX_CONFIG_FEATURE_UDHCPC_ARPING
|
||||
config BUSYBOX_CONFIG_FEATURE_UDHCP_PORT
|
||||
bool "Enable '-P port' option for udhcpd and udhcpc"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_APP_UDHCPD || BUSYBOX_CONFIG_APP_UDHCPC
|
||||
depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
|
||||
help
|
||||
At the cost of ~300 bytes, enables -P port option.
|
||||
This feature is typically not needed.
|
||||
@ -78,7 +78,7 @@ config BUSYBOX_CONFIG_UDHCP_DEBUG
|
||||
int "Maximum verbosity level for udhcp applets (0..9)"
|
||||
default 0
|
||||
range 0 9
|
||||
depends on BUSYBOX_CONFIG_APP_UDHCPD || BUSYBOX_CONFIG_APP_UDHCPC || BUSYBOX_CONFIG_APP_DHCPRELAY
|
||||
depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC || BUSYBOX_CONFIG_DHCPRELAY
|
||||
help
|
||||
Verbosity can be increased with multiple -v options.
|
||||
This options controls how high it can be cranked up.
|
||||
@ -89,7 +89,7 @@ config BUSYBOX_CONFIG_UDHCP_DEBUG
|
||||
config BUSYBOX_CONFIG_FEATURE_UDHCP_RFC3397
|
||||
bool "Support for RFC3397 domain search (experimental)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_APP_UDHCPD || BUSYBOX_CONFIG_APP_UDHCPC
|
||||
depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
|
||||
help
|
||||
If selected, both client and server will support passing of domain
|
||||
search lists via option 119, specified in RFC3397.
|
||||
@ -97,7 +97,7 @@ config BUSYBOX_CONFIG_FEATURE_UDHCP_RFC3397
|
||||
config BUSYBOX_CONFIG_UDHCPC_DEFAULT_SCRIPT
|
||||
string "Absolute path to config script"
|
||||
default "/usr/share/udhcpc/default.script"
|
||||
depends on BUSYBOX_CONFIG_APP_UDHCPC
|
||||
depends on BUSYBOX_CONFIG_UDHCPC
|
||||
help
|
||||
This script is called after udhcpc receives an answer. See
|
||||
examples/udhcp for a working example. Normally it is safe
|
||||
@ -107,7 +107,7 @@ config BUSYBOX_CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS
|
||||
int "DHCP options slack buffer size"
|
||||
default 80
|
||||
range 0 924
|
||||
depends on BUSYBOX_CONFIG_APP_UDHCPD || BUSYBOX_CONFIG_APP_UDHCPC
|
||||
depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
|
||||
help
|
||||
Some buggy DHCP servers send DHCP offer packets with option
|
||||
field larger than we expect (which might also be considered a
|
||||
|
@ -188,6 +188,13 @@ config BUSYBOX_CONFIG_FEATURE_TOPMEM
|
||||
help
|
||||
Enable 's' in top (gives lots of memory info).
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SHOW_THREADS
|
||||
bool "Support for showing threads in ps/top"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_PS || BUSYBOX_CONFIG_TOP
|
||||
help
|
||||
Enables ps -T option and 'h' command in top
|
||||
|
||||
config BUSYBOX_CONFIG_UPTIME
|
||||
bool "uptime"
|
||||
default y
|
||||
@ -203,5 +210,4 @@ config BUSYBOX_CONFIG_WATCH
|
||||
watch is used to execute a program periodically, showing
|
||||
output to the screen.
|
||||
|
||||
|
||||
endmenu
|
||||
|
@ -15,6 +15,7 @@ choice
|
||||
config BUSYBOX_CONFIG_FEATURE_SH_IS_ASH
|
||||
select BUSYBOX_CONFIG_ASH
|
||||
bool "ash"
|
||||
depends on !BUSYBOX_CONFIG_NOMMU
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SH_IS_HUSH
|
||||
select BUSYBOX_CONFIG_HUSH
|
||||
@ -36,6 +37,7 @@ endchoice
|
||||
config BUSYBOX_CONFIG_ASH
|
||||
bool "ash"
|
||||
default y
|
||||
depends on !BUSYBOX_CONFIG_NOMMU
|
||||
help
|
||||
Tha 'ash' shell adds about 60k in the default configuration and is
|
||||
the most complete and most pedantically correct shell included with
|
||||
@ -57,23 +59,6 @@ config BUSYBOX_CONFIG_ASH_JOB_CONTROL
|
||||
help
|
||||
Enable job control in the ash shell.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_READ_NCHARS
|
||||
bool "'read -n N' and 'read -s' support"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
'read -n N' will return a value after N characters have been read.
|
||||
'read -s' will read without echoing the user's input.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_READ_TIMEOUT
|
||||
bool "'read -t S' support"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
'read -t S' will return a value after S seconds have passed.
|
||||
This implementation will allow fractional seconds, expressed
|
||||
as a decimal fraction, e.g. 'read -t 2.5 foo'.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_ALIAS
|
||||
bool "alias support"
|
||||
default y
|
||||
@ -187,7 +172,7 @@ config BUSYBOX_CONFIG_HUSH_INTERACTIVE
|
||||
help
|
||||
Enable interactive mode (prompt and command editing).
|
||||
Without this, hush simply reads and executes commands
|
||||
from stdin just like a shell script from the file.
|
||||
from stdin just like a shell script from a file.
|
||||
No prompt, no PS1/PS2 magic shell variables.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_JOB
|
||||
@ -250,6 +235,14 @@ config BUSYBOX_CONFIG_HUSH_EXPORT_N
|
||||
help
|
||||
Enable support for export '-n' option in hush. It is a bash extension.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT
|
||||
bool "Pseudorandom generator and $RANDOM variable"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
help
|
||||
Enable pseudorandom generator and dynamic variable "$RANDOM".
|
||||
Each read of "$RANDOM" will generate a new pseudorandom value.
|
||||
|
||||
config BUSYBOX_CONFIG_LASH
|
||||
bool "lash (deprecated: aliased to hush)"
|
||||
default n
|
||||
|
@ -29,7 +29,7 @@ config BUSYBOX_CONFIG_FEATURE_ACPID_COMPAT
|
||||
|
||||
config BUSYBOX_CONFIG_BLKID
|
||||
bool "blkid"
|
||||
default n
|
||||
default y
|
||||
select BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
Lists labels and UUIDs of all filesystems.
|
||||
@ -213,6 +213,12 @@ config BUSYBOX_CONFIG_FSCK_MINIX
|
||||
check for and attempt to repair any corruption that occurs to a minix
|
||||
filesystem.
|
||||
|
||||
config BUSYBOX_CONFIG_MKFS_EXT2
|
||||
bool "mkfs_ext2"
|
||||
default n
|
||||
help
|
||||
Utility to create EXT2 filesystems.
|
||||
|
||||
config BUSYBOX_CONFIG_MKFS_MINIX
|
||||
bool "mkfs_minix"
|
||||
default n
|
||||
@ -233,6 +239,12 @@ config BUSYBOX_CONFIG_FEATURE_MINIX2
|
||||
this. If you enabled 'mkfs_minix' then you almost certainly want to
|
||||
be using the version 2 filesystem support.
|
||||
|
||||
config BUSYBOX_CONFIG_MKFS_REISER
|
||||
bool "mkfs_reiser"
|
||||
default n
|
||||
help
|
||||
Utility to create ReiserFS filesystems.
|
||||
|
||||
config BUSYBOX_CONFIG_MKFS_VFAT
|
||||
bool "mkfs_vfat"
|
||||
default n
|
||||
@ -336,6 +348,24 @@ config BUSYBOX_CONFIG_LOSETUP
|
||||
file or block device, and to query the status of a loop device. This
|
||||
version does not currently support enabling data encryption.
|
||||
|
||||
config BUSYBOX_CONFIG_LSPCI
|
||||
bool "lspci"
|
||||
default n
|
||||
help
|
||||
lspci is a utility for displaying information about PCI buses in the
|
||||
system and devices connected to them.
|
||||
|
||||
This version uses sysfs (/sys/bus/pci/devices) only.
|
||||
|
||||
config BUSYBOX_CONFIG_LSUSB
|
||||
bool "lsusb"
|
||||
default n
|
||||
help
|
||||
lsusb is a utility for displaying information about USB buses in the
|
||||
system and devices connected to them.
|
||||
|
||||
This version uses sysfs (/sys/bus/usb/devices) only.
|
||||
|
||||
config BUSYBOX_CONFIG_MDEV
|
||||
bool "mdev"
|
||||
default n
|
||||
@ -395,7 +425,7 @@ config BUSYBOX_CONFIG_FEATURE_MDEV_LOAD_FIRMWARE
|
||||
|
||||
config BUSYBOX_CONFIG_MKSWAP
|
||||
bool "mkswap"
|
||||
default n
|
||||
default y
|
||||
help
|
||||
The mkswap utility is used to configure a file or disk partition as
|
||||
Linux swap space. This allows Linux to use the entire file or
|
||||
@ -408,7 +438,7 @@ config BUSYBOX_CONFIG_MKSWAP
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MKSWAP_UUID
|
||||
bool "UUID support"
|
||||
default n
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_MKSWAP
|
||||
help
|
||||
Generate swap spaces with universally unique identifiers.
|
||||
@ -440,28 +470,35 @@ config BUSYBOX_CONFIG_VOLUMEID
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_EXT
|
||||
bool "Ext filesystem"
|
||||
default n
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_BTRFS
|
||||
bool "btrfs filesystem"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_REISERFS
|
||||
bool "Reiser filesystem"
|
||||
default n
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_FAT
|
||||
bool "fat filesystem"
|
||||
default n
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_HFS
|
||||
bool "hfs filesystem"
|
||||
default n
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
@ -482,28 +519,28 @@ config BUSYBOX_CONFIG_FEATURE_VOLUMEID_JFS
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_XFS
|
||||
bool "xfs filesystem"
|
||||
default n
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_NTFS
|
||||
bool "ntfs filesystem"
|
||||
default n
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_ISO9660
|
||||
bool "iso9660 filesystem"
|
||||
default n
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_UDF
|
||||
bool "udf filesystem"
|
||||
default n
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
@ -517,7 +554,7 @@ config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LUKS
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LINUXSWAP
|
||||
bool "linux swap filesystem"
|
||||
default n
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
@ -637,7 +674,7 @@ config BUSYBOX_CONFIG_FEATURE_VOLUMEID_OCFS2
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LINUXRAID
|
||||
bool "linuxraid"
|
||||
default n
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
@ -689,6 +726,7 @@ config BUSYBOX_CONFIG_FEATURE_MOUNT_LABEL
|
||||
help
|
||||
This allows for specifying a device by label or uuid, rather than by
|
||||
name. This feature utilizes the same functionality as blkid/findfs.
|
||||
This also enables label or uuid support for swapon.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MOUNT_NFS
|
||||
bool "Support mounting NFS file systems"
|
||||
@ -786,7 +824,7 @@ config BUSYBOX_CONFIG_SETARCH
|
||||
|
||||
config BUSYBOX_CONFIG_SWAPONOFF
|
||||
bool "swaponoff"
|
||||
default n
|
||||
default y
|
||||
help
|
||||
This option enables both the 'swapon' and the 'swapoff' utilities.
|
||||
Once you have created some swap space using 'mkswap', you also need
|
||||
|
@ -1,12 +1,12 @@
|
||||
--- a/applets/Kbuild
|
||||
+++ b/applets/Kbuild
|
||||
@@ -27,13 +27,13 @@ HOSTCFLAGS_usage.o = -I$(srctree_slash)i
|
||||
|
||||
@@ -28,13 +28,13 @@ HOSTCFLAGS_usage_pod.o = -I$(srctree_sla
|
||||
applets/applets.o: include/usage_compressed.h include/applet_tables.h
|
||||
|
||||
-applets/usage: .config $(srctree_slash)applets/usage_compressed
|
||||
+applets/usage: .config $(srctree_slash)applets/usage_compressed include/autoconf.h
|
||||
applets/applet_tables: .config
|
||||
applets/applet_tables: .config $(srctree_slash)include/applets.h
|
||||
-applets/usage: .config $(srctree_slash)include/applets.h
|
||||
+applets/usage: .config $(srctree_slash)include/applets.h include/autoconf.h
|
||||
applets/usage_pod: .config include/applet_tables.h $(srctree_slash)include/applets.h
|
||||
|
||||
quiet_cmd_gen_usage_compressed = GEN include/usage_compressed.h
|
||||
cmd_gen_usage_compressed = $(srctree_slash)applets/usage_compressed include/usage_compressed.h applets
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/init/init.c
|
||||
+++ b/init/init.c
|
||||
@@ -451,8 +451,11 @@ static void run_actions(int action_type)
|
||||
@@ -456,8 +456,11 @@ static void run_actions(int action_type)
|
||||
/* Only run stuff with pid == 0. If pid != 0,
|
||||
* it is already running
|
||||
*/
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/networking/wget.c
|
||||
+++ b/networking/wget.c
|
||||
@@ -653,7 +653,7 @@ int wget_main(int argc UNUSED_PARAM, cha
|
||||
@@ -543,7 +543,7 @@ int wget_main(int argc UNUSED_PARAM, cha
|
||||
// "tries\0" Required_argument "t"
|
||||
// "timeout\0" Required_argument "T"
|
||||
/* Ignored (we always use PASV): */
|
||||
@ -8,4 +8,4 @@
|
||||
+ "passive-ftp\0" No_argument "\xfd"
|
||||
"header\0" Required_argument "\xfe"
|
||||
"post-data\0" Required_argument "\xfd"
|
||||
;
|
||||
/* Ignored (we don't do ssl) */
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/shell/ash.c
|
||||
+++ b/shell/ash.c
|
||||
@@ -12351,8 +12351,17 @@ exportcmd(int argc UNUSED_PARAM, char **
|
||||
@@ -12340,8 +12340,17 @@ exportcmd(int argc UNUSED_PARAM, char **
|
||||
const char *p;
|
||||
char **aptr;
|
||||
int flag = argv[0][0] == 'r' ? VREADONLY : VEXPORT;
|
||||
@ -19,7 +19,7 @@
|
||||
aptr = argptr;
|
||||
name = *aptr;
|
||||
if (name) {
|
||||
@@ -12364,10 +12373,12 @@ exportcmd(int argc UNUSED_PARAM, char **
|
||||
@@ -12353,10 +12362,12 @@ exportcmd(int argc UNUSED_PARAM, char **
|
||||
vp = *findvar(hashvar(name), name);
|
||||
if (vp) {
|
||||
vp->flags |= flag;
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/include/applets.h
|
||||
+++ b/include/applets.h
|
||||
@@ -278,6 +278,7 @@ IF_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_D
|
||||
@@ -282,6 +282,7 @@ IF_MT(APPLET(mt, _BB_DIR_BIN, _BB_SUID_D
|
||||
IF_MV(APPLET(mv, _BB_DIR_BIN, _BB_SUID_DROP))
|
||||
IF_NAMEIF(APPLET(nameif, _BB_DIR_SBIN, _BB_SUID_DROP))
|
||||
IF_NC(APPLET(nc, _BB_DIR_USR_BIN, _BB_SUID_DROP))
|
||||
@ -10,7 +10,7 @@
|
||||
IF_NMETER(APPLET(nmeter, _BB_DIR_USR_BIN, _BB_SUID_DROP))
|
||||
--- a/include/usage.h
|
||||
+++ b/include/usage.h
|
||||
@@ -3101,6 +3101,9 @@
|
||||
@@ -3166,6 +3166,9 @@
|
||||
|
||||
#endif
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
#define netstat_full_usage "\n\n" \
|
||||
--- a/networking/Config.in
|
||||
+++ b/networking/Config.in
|
||||
@@ -617,6 +617,12 @@ config NC
|
||||
@@ -628,6 +628,12 @@ config NC
|
||||
A simple Unix utility which reads and writes data across network
|
||||
connections.
|
||||
|
||||
@ -44,7 +44,7 @@
|
||||
+lib-$(CONFIG_NETMSG) += netmsg.o
|
||||
lib-$(CONFIG_NETSTAT) += netstat.o
|
||||
lib-$(CONFIG_NSLOOKUP) += nslookup.o
|
||||
lib-$(CONFIG_PING) += ping.o
|
||||
lib-$(CONFIG_NTPD) += ntpd.o
|
||||
--- /dev/null
|
||||
+++ b/networking/netmsg.c
|
||||
@@ -0,0 +1,63 @@
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
--- a/networking/httpd.c
|
||||
+++ b/networking/httpd.c
|
||||
@@ -1699,21 +1699,32 @@ static int check_user_passwd(const char
|
||||
@@ -1716,21 +1716,32 @@ static int check_user_passwd(const char
|
||||
|
||||
if (ENABLE_FEATURE_HTTPD_AUTH_MD5) {
|
||||
char *md5_passwd;
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/include/applets.h
|
||||
+++ b/include/applets.h
|
||||
@@ -233,6 +233,7 @@ IF_LN(APPLET_NOEXEC(ln, ln, _BB_DIR_BIN,
|
||||
@@ -234,6 +234,7 @@ IF_LN(APPLET_NOEXEC(ln, ln, _BB_DIR_BIN,
|
||||
IF_LOAD_POLICY(APPLET(load_policy, _BB_DIR_USR_SBIN, _BB_SUID_DROP))
|
||||
IF_LOADFONT(APPLET(loadfont, _BB_DIR_USR_SBIN, _BB_SUID_DROP))
|
||||
IF_LOADKMAP(APPLET(loadkmap, _BB_DIR_SBIN, _BB_SUID_DROP))
|
||||
@ -10,7 +10,7 @@
|
||||
IF_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_DROP, logname))
|
||||
--- a/include/usage.h
|
||||
+++ b/include/usage.h
|
||||
@@ -2325,6 +2325,9 @@
|
||||
@@ -2357,6 +2357,9 @@
|
||||
#define loadkmap_example_usage \
|
||||
"$ loadkmap < /etc/i18n/lang-keymap\n"
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
#define logger_full_usage "\n\n" \
|
||||
--- a/miscutils/Config.in
|
||||
+++ b/miscutils/Config.in
|
||||
@@ -456,6 +456,11 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
|
||||
@@ -463,6 +463,11 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
|
||||
help
|
||||
Enables the 'hdparm -d' option to get/set using_dma flag.
|
||||
|
||||
@ -36,7 +36,7 @@
|
||||
default n
|
||||
--- a/miscutils/Kbuild
|
||||
+++ b/miscutils/Kbuild
|
||||
@@ -26,6 +26,7 @@ lib-$(CONFIG_INOTIFYD) += inotifyd.o
|
||||
@@ -27,6 +27,7 @@ lib-$(CONFIG_INOTIFYD) += inotifyd.o
|
||||
lib-$(CONFIG_FEATURE_LAST_SMALL)+= last.o
|
||||
lib-$(CONFIG_FEATURE_LAST_FANCY)+= last_fancy.o
|
||||
lib-$(CONFIG_LESS) += less.o
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/include/usage.h
|
||||
+++ b/include/usage.h
|
||||
@@ -1693,6 +1693,7 @@
|
||||
@@ -1727,6 +1727,7 @@
|
||||
IF_FEATURE_HTTPD_BASIC_AUTH(" [-r REALM]") \
|
||||
" [-h HOME]\n" \
|
||||
"or httpd -d/-e" IF_FEATURE_HTTPD_AUTH_MD5("/-m") " STRING"
|
||||
@ -8,18 +8,18 @@
|
||||
#define httpd_full_usage "\n\n" \
|
||||
"Listen for incoming HTTP requests\n" \
|
||||
"\nOptions:" \
|
||||
@@ -1710,6 +1711,8 @@
|
||||
@@ -1744,6 +1745,8 @@
|
||||
"\n -m STRING MD5 crypt STRING") \
|
||||
"\n -e STRING HTML encode STRING" \
|
||||
"\n -d STRING URL decode STRING" \
|
||||
+ "\n -R PATH Redirect target path" \
|
||||
+ "\n -H HOST Redirect target host" \
|
||||
+ "\n -R PATH Redirect target path" \
|
||||
+ "\n -H HOST Redirect target host" \
|
||||
|
||||
#define hwclock_trivial_usage \
|
||||
IF_FEATURE_HWCLOCK_LONG_OPTIONS( \
|
||||
--- a/networking/httpd.c
|
||||
+++ b/networking/httpd.c
|
||||
@@ -248,6 +248,8 @@ struct globals {
|
||||
@@ -250,6 +250,8 @@ struct globals {
|
||||
|
||||
const char *found_mime_type;
|
||||
const char *found_moved_temporarily;
|
||||
@ -28,7 +28,7 @@
|
||||
Htaccess_IP *ip_a_d; /* config allow/deny lines */
|
||||
|
||||
IF_FEATURE_HTTPD_BASIC_AUTH(const char *g_realm;)
|
||||
@@ -294,6 +296,8 @@ struct globals {
|
||||
@@ -296,6 +298,8 @@ struct globals {
|
||||
#define index_page (G.index_page )
|
||||
#define found_mime_type (G.found_mime_type )
|
||||
#define found_moved_temporarily (G.found_moved_temporarily)
|
||||
@ -37,7 +37,7 @@
|
||||
#define last_mod (G.last_mod )
|
||||
#define ip_a_d (G.ip_a_d )
|
||||
#define g_realm (G.g_realm )
|
||||
@@ -993,8 +997,11 @@ static void send_headers(int responseNum
|
||||
@@ -997,8 +1001,11 @@ static void send_headers(int responseNum
|
||||
}
|
||||
#endif
|
||||
if (responseNum == HTTP_MOVED_TEMPORARILY) {
|
||||
@ -50,7 +50,7 @@
|
||||
(g_query ? "?" : ""),
|
||||
(g_query ? g_query : ""));
|
||||
}
|
||||
@@ -1924,8 +1931,12 @@ static void handle_incoming_and_exit(con
|
||||
@@ -1941,8 +1948,12 @@ static void handle_incoming_and_exit(con
|
||||
} while (*++tptr);
|
||||
*++urlp = '\0'; /* terminate after last character */
|
||||
|
||||
@ -61,10 +61,10 @@
|
||||
/* If URL is a directory, add '/' */
|
||||
- if (urlp[-1] != '/') {
|
||||
+ if (!redirect_path && (urlp[-1] != '/')) {
|
||||
if (is_directory(urlcopy + 1, 1, &sb)) {
|
||||
if (is_directory(urlcopy + 1, 1, NULL)) {
|
||||
found_moved_temporarily = urlcopy;
|
||||
}
|
||||
@@ -2266,7 +2277,9 @@ static void sighup_handler(int sig UNUSE
|
||||
@@ -2283,7 +2294,9 @@ static void sighup_handler(int sig UNUSE
|
||||
}
|
||||
|
||||
enum {
|
||||
@ -75,7 +75,7 @@
|
||||
d_opt_decode_url,
|
||||
h_opt_home_httpd,
|
||||
IF_FEATURE_HTTPD_ENCODE_URL_STR(e_opt_encode_url,)
|
||||
@@ -2315,12 +2328,13 @@ int httpd_main(int argc UNUSED_PARAM, ch
|
||||
@@ -2332,12 +2345,13 @@ int httpd_main(int argc UNUSED_PARAM, ch
|
||||
/* We do not "absolutize" path given by -h (home) opt.
|
||||
* If user gives relative path in -h,
|
||||
* $SCRIPT_FILENAME will not be set. */
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/networking/httpd.c
|
||||
+++ b/networking/httpd.c
|
||||
@@ -1250,10 +1250,10 @@ static NOINLINE void cgi_io_loop_and_exi
|
||||
@@ -1254,10 +1254,10 @@ static NOINLINE void cgi_io_loop_and_exi
|
||||
if (full_write(STDOUT_FILENO, HTTP_200, sizeof(HTTP_200)-1) != sizeof(HTTP_200)-1)
|
||||
break;
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/networking/httpd.c
|
||||
+++ b/networking/httpd.c
|
||||
@@ -1810,6 +1810,7 @@ static void handle_incoming_and_exit(con
|
||||
@@ -1827,6 +1827,7 @@ static void handle_incoming_and_exit(con
|
||||
char *header_ptr = header_ptr;
|
||||
Htaccess_Proxy *proxy_entry;
|
||||
#endif
|
||||
|
@ -119,7 +119,7 @@
|
||||
}
|
||||
--- a/modutils/Config.in
|
||||
+++ b/modutils/Config.in
|
||||
@@ -210,7 +210,7 @@ config FEATURE_MODUTILS_SYMBOLS
|
||||
@@ -226,7 +226,7 @@ config FEATURE_MODUTILS_SYMBOLS
|
||||
config DEFAULT_MODULES_DIR
|
||||
string "Default directory containing modules"
|
||||
default "/lib/modules"
|
||||
|
@ -1,7 +1,7 @@
|
||||
--- a/util-linux/mount.c
|
||||
+++ b/util-linux/mount.c
|
||||
@@ -69,6 +69,10 @@
|
||||
#define MS_DIRSYNC 128 // Directory modifications are synchronous
|
||||
@@ -77,6 +77,10 @@
|
||||
# include <rpc/pmap_clnt.h>
|
||||
#endif
|
||||
|
||||
+#ifndef MS_UNION
|
||||
@ -11,7 +11,7 @@
|
||||
|
||||
#if defined(__dietlibc__)
|
||||
// 16.12.2006, Sampo Kellomaki (sampo@iki.fi)
|
||||
@@ -185,6 +189,7 @@ static const int32_t mount_options[] = {
|
||||
@@ -194,6 +198,7 @@ static const int32_t mount_options[] = {
|
||||
/* "rslave" */ MS_SLAVE|MS_RECURSIVE,
|
||||
/* "rprivate" */ MS_SLAVE|MS_RECURSIVE,
|
||||
/* "runbindable" */ MS_UNBINDABLE|MS_RECURSIVE,
|
||||
@ -19,7 +19,7 @@
|
||||
)
|
||||
|
||||
// Always understood.
|
||||
@@ -239,6 +244,7 @@ static const char mount_option_str[] =
|
||||
@@ -249,6 +254,7 @@ static const char mount_option_str[] =
|
||||
"rslave\0"
|
||||
"rprivate\0"
|
||||
"runbindable\0"
|
||||
|
@ -15,7 +15,7 @@
|
||||
} func;
|
||||
|
||||
/* I/O stream */
|
||||
@@ -1420,7 +1425,8 @@ static void parse_program(char *p)
|
||||
@@ -1424,7 +1429,8 @@ static void parse_program(char *p)
|
||||
next_token(TC_FUNCTION);
|
||||
g_pos++;
|
||||
f = newfunc(t_string);
|
||||
@ -25,7 +25,7 @@
|
||||
f->nargs = 0;
|
||||
while (next_token(TC_VARIABLE | TC_SEQTERM) & TC_VARIABLE) {
|
||||
v = findvar(ahash, t_string);
|
||||
@@ -1429,7 +1435,7 @@ static void parse_program(char *p)
|
||||
@@ -1433,7 +1439,7 @@ static void parse_program(char *p)
|
||||
if (next_token(TC_COMMA | TC_SEQTERM) & TC_SEQTERM)
|
||||
break;
|
||||
}
|
||||
@ -34,7 +34,7 @@
|
||||
chain_group();
|
||||
clear_array(ahash);
|
||||
|
||||
@@ -2410,7 +2416,8 @@ static var *evaluate(node *op, var *res)
|
||||
@@ -2446,7 +2452,8 @@ static var *evaluate(node *op, var *res)
|
||||
break;
|
||||
|
||||
case XC( OC_FUNC ):
|
||||
@ -43,8 +43,8 @@
|
||||
+ !op->r.f->x.body.first)
|
||||
syntax_error(EMSG_UNDEF_FUNC);
|
||||
|
||||
X.v = R.v = nvalloc(op->r.f->nargs+1);
|
||||
@@ -2427,7 +2434,10 @@ static var *evaluate(node *op, var *res)
|
||||
X.v = R.v = nvalloc(op->r.f->nargs + 1);
|
||||
@@ -2463,7 +2470,10 @@ static var *evaluate(node *op, var *res)
|
||||
fnargs = X.v;
|
||||
|
||||
L.s = g_progname;
|
||||
@ -56,7 +56,7 @@
|
||||
g_progname = L.s;
|
||||
|
||||
nvfree(fnargs);
|
||||
@@ -2790,6 +2800,143 @@ static rstream *next_input_file(void)
|
||||
@@ -2829,6 +2839,143 @@ static rstream *next_input_file(void)
|
||||
#undef files_happen
|
||||
}
|
||||
|
||||
@ -200,7 +200,7 @@
|
||||
int awk_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
|
||||
int awk_main(int argc, char **argv)
|
||||
{
|
||||
@@ -2855,6 +3002,9 @@ int awk_main(int argc, char **argv)
|
||||
@@ -2894,6 +3041,9 @@ int awk_main(int argc, char **argv)
|
||||
*s1 = '=';
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/networking/telnetd.c
|
||||
+++ b/networking/telnetd.c
|
||||
@@ -306,6 +306,7 @@ make_new_session(
|
||||
@@ -308,6 +308,7 @@ make_new_session(
|
||||
|
||||
/* Restore default signal handling ASAP */
|
||||
bb_signals((1 << SIGCHLD) + (1 << SIGPIPE), SIG_DFL);
|
||||
|
@ -24,7 +24,6 @@ define Package/libcyassl
|
||||
SECTION:=libs
|
||||
SUBMENU:=SSL
|
||||
CATEGORY:=Libraries
|
||||
DEPENDS:=+zlib
|
||||
TITLE:=CyaSSL library
|
||||
URL:=http://www.yassl.com/
|
||||
endef
|
||||
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=dnsmasq
|
||||
PKG_VERSION:=2.52
|
||||
PKG_RELEASE:=1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq
|
||||
|
@ -284,16 +284,22 @@ dhcp_option_add() {
|
||||
|
||||
dhcp_domain_add() {
|
||||
local cfg="$1"
|
||||
local ip name names
|
||||
|
||||
config_get name "$cfg" name
|
||||
[ -n "$name" ] || return 0
|
||||
config_get names "$cfg" name
|
||||
[ -n "$names" ] || return 0
|
||||
|
||||
config_get ip "$cfg" ip
|
||||
[ -n "$ip" ] || return 0
|
||||
|
||||
local oIFS="$IFS"; IFS="."; set -- $ip; IFS="$oIFS"
|
||||
append args "-A /$name${DOMAIN:+.$DOMAIN}/$ip"
|
||||
append args "--ptr-record=$4.$3.$2.$1.in-addr.arpa,$name${DOMAIN:+.$DOMAIN}"
|
||||
local raddr="${4:+$4.$3.$2.$1.in-addr.arpa}"
|
||||
|
||||
for name in $names; do
|
||||
append args "-A /$name${DOMAIN:+.$DOMAIN}/$ip"
|
||||
[ -n "$raddr" ] && \
|
||||
append args "--ptr-record=$raddr,$name${DOMAIN:+.$DOMAIN}"
|
||||
done
|
||||
}
|
||||
|
||||
start() {
|
||||
|
@ -31,20 +31,10 @@ define Package/grub
|
||||
URL:=http://www.gnu.org/software/grub/
|
||||
endef
|
||||
|
||||
ifeq ($(HOST_OS),Linux)
|
||||
NATIVEGRUB-i386:=1
|
||||
NATIVEGRUB-i686:=1
|
||||
NATIVEGRUB:=$(NATIVEGRUB-$(HOST_ARCH))
|
||||
endif
|
||||
|
||||
ifeq ($(NATIVEGRUB),)
|
||||
CONFIGURE_FLAGS:= \
|
||||
--target=$(GNU_TARGET_NAME) \
|
||||
--host=$(GNU_TARGET_NAME) \
|
||||
--build=$(GNU_HOST_NAME)
|
||||
else
|
||||
CONFIGURE_FLAGS:=
|
||||
endif
|
||||
|
||||
ifneq ($(HOST_OS),Darwin)
|
||||
define Build/Configure
|
||||
|
@ -134,7 +134,8 @@ hostapd_setup_vif() {
|
||||
config_get channel "$device" channel
|
||||
config_get hwmode "$device" hwmode
|
||||
case "$hwmode" in
|
||||
*bg) hwmode=g;;
|
||||
*bg|*gdt|*gst|*fh) hwmode=g;;
|
||||
*adt|*ast) hwmode=a;;
|
||||
esac
|
||||
[ "$channel" = auto ] && channel=
|
||||
[ -n "$channel" -a -z "$hwmode" ] && wifi_fixup_hwmode "$device"
|
||||
|
14
package/hotplug2/patches/120-sysfs_path_fix.patch
Normal file
14
package/hotplug2/patches/120-sysfs_path_fix.patch
Normal file
@ -0,0 +1,14 @@
|
||||
--- a/rules/command.c
|
||||
+++ b/rules/command.c
|
||||
@@ -374,9 +374,9 @@ RULES_COMMAND_F(cmd_firmware) {
|
||||
if (firmware == NULL)
|
||||
return -1;
|
||||
|
||||
- if (snprintf(sysfs_path_loading, PATH_MAX, "/sysfs%s/loading", devpath) >= PATH_MAX)
|
||||
+ if (snprintf(sysfs_path_loading, PATH_MAX, "/sys%s/loading", devpath) >= PATH_MAX)
|
||||
return -1;
|
||||
- if (snprintf(sysfs_path_data, PATH_MAX, "/sysfs%s/data", devpath) >= PATH_MAX)
|
||||
+ if (snprintf(sysfs_path_data, PATH_MAX, "/sys%s/data", devpath) >= PATH_MAX)
|
||||
return -1;
|
||||
if (snprintf(firmware_path, PATH_MAX, "%s/%s", argv[0], firmware) >= PATH_MAX)
|
||||
return -1;
|
18
package/hotplug2/patches/130-cancel_download_fix.patch
Normal file
18
package/hotplug2/patches/130-cancel_download_fix.patch
Normal file
@ -0,0 +1,18 @@
|
||||
--- a/rules/command.c
|
||||
+++ b/rules/command.c
|
||||
@@ -385,13 +385,13 @@ RULES_COMMAND_F(cmd_firmware) {
|
||||
|
||||
infp = fopen(firmware_path, "r");
|
||||
if (infp == NULL) {
|
||||
- echo_to_file(sysfs_path_loading, "0\n", 2);
|
||||
+ echo_to_file(sysfs_path_loading, "-1\n", 2);
|
||||
return -1;
|
||||
}
|
||||
outfp = fopen(sysfs_path_data, "w");
|
||||
if (outfp == NULL) {
|
||||
fclose(infp);
|
||||
- echo_to_file(sysfs_path_loading, "0\n", 2);
|
||||
+ echo_to_file(sysfs_path_loading, "-1\n", 2);
|
||||
return -1;
|
||||
}
|
||||
|
56
package/hotplug2/patches/140-worker_fork_fix.patch
Normal file
56
package/hotplug2/patches/140-worker_fork_fix.patch
Normal file
@ -0,0 +1,56 @@
|
||||
--- a/action.c
|
||||
+++ b/action.c
|
||||
@@ -39,7 +39,7 @@ static void action_dumb(const struct set
|
||||
* Returns: Newly allocated string in "key=value" form
|
||||
*
|
||||
*/
|
||||
-static char* alloc_env(const char *key, const char *value) {
|
||||
+char* alloc_env(const char *key, const char *value) {
|
||||
size_t keylen, vallen;
|
||||
char *combined;
|
||||
|
||||
--- a/action.h
|
||||
+++ b/action.h
|
||||
@@ -12,5 +12,6 @@
|
||||
#include "settings.h"
|
||||
|
||||
void action_perform(struct settings_t *, struct uevent_t *);
|
||||
+char* alloc_env(const char *, const char *);
|
||||
#endif /* ifndef ACTION_H */
|
||||
|
||||
--- a/workers/worker_fork.c
|
||||
+++ b/workers/worker_fork.c
|
||||
@@ -380,6 +380,7 @@ static void worker_fork_deinit(void *in_
|
||||
|
||||
|
||||
static int worker_fork_process(void *in_ctx, struct uevent_t *uevent) {
|
||||
+ char **env;
|
||||
int i;
|
||||
struct worker_fork_child_t *child;
|
||||
struct worker_fork_ctx_t *ctx = in_ctx;
|
||||
@@ -406,6 +407,12 @@ static int worker_fork_process(void *in_
|
||||
* No child process is currently available.
|
||||
*/
|
||||
if (child == NULL) {
|
||||
+ env = xmalloc(sizeof(char *) * uevent->env_vars_c);
|
||||
+ for (i = 0; i < uevent->env_vars_c; i++) {
|
||||
+ env[i] = alloc_env(uevent->env_vars[i].key, uevent->env_vars[i].value);
|
||||
+ putenv(env[i]);
|
||||
+ }
|
||||
+
|
||||
/*
|
||||
* Are the matching rules trivial enough that we
|
||||
* can execute them in the main process?
|
||||
@@ -421,6 +428,12 @@ static int worker_fork_process(void *in_
|
||||
*/
|
||||
if (ctx->children_count < ctx->max_children)
|
||||
child = worker_fork_spawn(ctx);
|
||||
+
|
||||
+ for (i = 0; i < uevent->env_vars_c; i++) {
|
||||
+ unsetenv(uevent->env_vars[i].key);
|
||||
+ free(env[i]);
|
||||
+ }
|
||||
+ free(env);
|
||||
}
|
||||
|
||||
/*
|
21
package/hotplug2/patches/150-force_fork_slow.patch
Normal file
21
package/hotplug2/patches/150-force_fork_slow.patch
Normal file
@ -0,0 +1,21 @@
|
||||
--- a/workers/worker_fork.c
|
||||
+++ b/workers/worker_fork.c
|
||||
@@ -396,7 +396,7 @@ static int worker_fork_process(void *in_
|
||||
worker_fork_update_children(ctx);
|
||||
|
||||
child = NULL;
|
||||
- for (i = 0; i < ctx->children_count; i++) {
|
||||
+ for (i = 0; i < ctx->children_count && i < ctx->max_children; i++) {
|
||||
if (ctx->children[i]->busy == 0) {
|
||||
child = ctx->children[i];
|
||||
break;
|
||||
@@ -426,7 +426,8 @@ static int worker_fork_process(void *in_
|
||||
/*
|
||||
* We have to fork off a new child.
|
||||
*/
|
||||
- if (ctx->children_count < ctx->max_children)
|
||||
+ if (ctx->children_count < ctx->max_children ||
|
||||
+ (ruleset_flags(&ctx->settings->rules, uevent) & FLAG_SLOW))
|
||||
child = worker_fork_spawn(ctx);
|
||||
|
||||
for (i = 0; i < uevent->env_vars_c; i++) {
|
200
package/hotplug2/patches/160-event_block_fix.patch
Normal file
200
package/hotplug2/patches/160-event_block_fix.patch
Normal file
@ -0,0 +1,200 @@
|
||||
--- a/uevent.c
|
||||
+++ b/uevent.c
|
||||
@@ -132,6 +132,8 @@ struct uevent_t *uevent_dup(const struct
|
||||
|
||||
dest = xmalloc(sizeof(struct uevent_t));
|
||||
dest->action = src->action;
|
||||
+ dest->seqnum = src->seqnum;
|
||||
+ dest->action_str = strdup(src->action_str);
|
||||
dest->env_vars_c = src->env_vars_c;
|
||||
dest->env_vars = xmalloc(sizeof(struct env_var_t) * dest->env_vars_c);
|
||||
dest->plain_s = src->plain_s;
|
||||
--- a/workers/worker_fork.c
|
||||
+++ b/workers/worker_fork.c
|
||||
@@ -1,6 +1,69 @@
|
||||
#include "worker_fork.h"
|
||||
|
||||
static struct worker_fork_ctx_t *global_ctx;
|
||||
+static struct worker_fork_uevent_t *uevent_list;
|
||||
+
|
||||
+static void worker_fork_uevent_free(struct worker_fork_uevent_t *node) {
|
||||
+ uevent_free(node->uevent);
|
||||
+ free(node);
|
||||
+}
|
||||
+
|
||||
+static void worker_fork_uevent_add(void *in_ctx, struct uevent_t *uevent) {
|
||||
+ char **env;
|
||||
+ int i;
|
||||
+ struct worker_fork_ctx_t *ctx = in_ctx;
|
||||
+ struct worker_fork_uevent_t *node, *walker;
|
||||
+
|
||||
+ node = malloc(sizeof (struct worker_fork_uevent_t));
|
||||
+ node->uevent = uevent_dup(uevent);
|
||||
+ node->next = NULL;
|
||||
+
|
||||
+ if (!uevent_list) uevent_list = node;
|
||||
+ else {
|
||||
+ /*
|
||||
+ * Put events that need to fork first and in reverse order
|
||||
+ */
|
||||
+ env = xmalloc(sizeof(char *) * node->uevent->env_vars_c);
|
||||
+ for (i = 0; i < node->uevent->env_vars_c; i++) {
|
||||
+ env[i] = alloc_env(node->uevent->env_vars[i].key, node->uevent->env_vars[i].value);
|
||||
+ putenv(env[i]);
|
||||
+ }
|
||||
+ if (ruleset_flags(&ctx->settings->rules, uevent) & FLAG_SLOW) {
|
||||
+ node->next = uevent_list;
|
||||
+ uevent_list = node;
|
||||
+ }
|
||||
+ else {
|
||||
+ for (walker = uevent_list; walker->next; walker = walker->next);
|
||||
+ walker->next = node;
|
||||
+ }
|
||||
+ for (i = 0; i < node->uevent->env_vars_c; i++) {
|
||||
+ unsetenv(node->uevent->env_vars[i].key);
|
||||
+ free(env[i]);
|
||||
+ }
|
||||
+ free(env);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void worker_fork_uevent_del(struct worker_fork_uevent_t *node) {
|
||||
+ struct worker_fork_uevent_t *walker;
|
||||
+
|
||||
+ if (node == uevent_list) {
|
||||
+ uevent_list = node->next;
|
||||
+ }
|
||||
+ else {
|
||||
+ for (walker = uevent_list; walker->next; walker = walker->next)
|
||||
+ if (walker->next == node) walker->next = node->next;
|
||||
+ }
|
||||
+ worker_fork_uevent_free(node);
|
||||
+}
|
||||
+
|
||||
+static void worker_fork_uevent_empty(void) {
|
||||
+ struct worker_fork_uevent_t *walker;
|
||||
+
|
||||
+ if (!uevent_list) return;
|
||||
+ for (walker = uevent_list; walker->next; walker = walker->next) worker_fork_uevent_free(walker);
|
||||
+ uevent_list = NULL;
|
||||
+}
|
||||
|
||||
/**
|
||||
* Destroys data structures related to the given child ID (not PID).
|
||||
@@ -315,6 +378,8 @@ static void *worker_fork_init(struct set
|
||||
struct worker_fork_ctx_t *ctx;
|
||||
PRINTFUNC();
|
||||
|
||||
+ uevent_list = NULL;
|
||||
+
|
||||
ctx = malloc(sizeof(struct worker_fork_ctx_t));
|
||||
ctx->children = NULL;
|
||||
ctx->children_count = 0;
|
||||
@@ -376,6 +441,7 @@ static void worker_fork_deinit(void *in_
|
||||
free(ctx->children);
|
||||
free(ctx);
|
||||
global_ctx = NULL;
|
||||
+ worker_fork_uevent_empty();
|
||||
}
|
||||
|
||||
|
||||
@@ -384,15 +450,26 @@ static int worker_fork_process(void *in_
|
||||
int i;
|
||||
struct worker_fork_child_t *child;
|
||||
struct worker_fork_ctx_t *ctx = in_ctx;
|
||||
+ struct worker_fork_uevent_t *node, *walker;
|
||||
+ event_seqnum_t seqnum;
|
||||
+
|
||||
+ worker_fork_uevent_add(ctx, uevent);
|
||||
+ walker = uevent_list;
|
||||
|
||||
/*
|
||||
- * A big loop, because if we fail to process the event,
|
||||
+ * A big loop, because if we fail to process the events,
|
||||
* we don't want to give up.
|
||||
*
|
||||
* TODO: Decide if we want to limit the number of attempts
|
||||
* or set a time limit before reporting terminal failure.
|
||||
*/
|
||||
do {
|
||||
+ /*
|
||||
+ * If more events are waiting, return to receive them
|
||||
+ */
|
||||
+ if (!seqnum_get(&seqnum) && seqnum > uevent->seqnum) break;
|
||||
+
|
||||
+ node = walker;
|
||||
worker_fork_update_children(ctx);
|
||||
|
||||
child = NULL;
|
||||
@@ -407,9 +484,9 @@ static int worker_fork_process(void *in_
|
||||
* No child process is currently available.
|
||||
*/
|
||||
if (child == NULL) {
|
||||
- env = xmalloc(sizeof(char *) * uevent->env_vars_c);
|
||||
- for (i = 0; i < uevent->env_vars_c; i++) {
|
||||
- env[i] = alloc_env(uevent->env_vars[i].key, uevent->env_vars[i].value);
|
||||
+ env = xmalloc(sizeof(char *) * node->uevent->env_vars_c);
|
||||
+ for (i = 0; i < node->uevent->env_vars_c; i++) {
|
||||
+ env[i] = alloc_env(node->uevent->env_vars[i].key, node->uevent->env_vars[i].value);
|
||||
putenv(env[i]);
|
||||
}
|
||||
|
||||
@@ -418,8 +495,11 @@ static int worker_fork_process(void *in_
|
||||
* can execute them in the main process?
|
||||
*/
|
||||
if (ctx->always_fork == 0 && ctx->settings->dumb == 0 &&
|
||||
- (ruleset_flags(&ctx->settings->rules, uevent) & FLAG_MASK_SLOW) == 0) {
|
||||
- action_perform(ctx->settings, uevent);
|
||||
+ (ruleset_flags(&ctx->settings->rules, node->uevent) & FLAG_MASK_SLOW) == 0) {
|
||||
+ action_perform(ctx->settings, node->uevent);
|
||||
+ walker = walker->next;
|
||||
+ worker_fork_uevent_del(node);
|
||||
+ if (walker) continue;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -427,11 +507,11 @@ static int worker_fork_process(void *in_
|
||||
* We have to fork off a new child.
|
||||
*/
|
||||
if (ctx->children_count < ctx->max_children ||
|
||||
- (ruleset_flags(&ctx->settings->rules, uevent) & FLAG_SLOW))
|
||||
+ (ruleset_flags(&ctx->settings->rules, node->uevent) & FLAG_SLOW))
|
||||
child = worker_fork_spawn(ctx);
|
||||
|
||||
- for (i = 0; i < uevent->env_vars_c; i++) {
|
||||
- unsetenv(uevent->env_vars[i].key);
|
||||
+ for (i = 0; i < node->uevent->env_vars_c; i++) {
|
||||
+ unsetenv(node->uevent->env_vars[i].key);
|
||||
free(env[i]);
|
||||
}
|
||||
free(env);
|
||||
@@ -442,9 +522,14 @@ static int worker_fork_process(void *in_
|
||||
*/
|
||||
if (child != NULL) {
|
||||
child->busy = 1;
|
||||
- if (!worker_fork_relay_event(child->event_fd, uevent));
|
||||
- break;
|
||||
- child->busy = 0;
|
||||
+ if (worker_fork_relay_event(child->event_fd, node->uevent)) {
|
||||
+ child->busy = 0;
|
||||
+ continue;
|
||||
+ }
|
||||
+ walker = walker->next;
|
||||
+ worker_fork_uevent_del(node);
|
||||
+ if (walker) continue;
|
||||
+ break;
|
||||
}
|
||||
|
||||
/*
|
||||
--- a/workers/worker_fork.h
|
||||
+++ b/workers/worker_fork.h
|
||||
@@ -35,4 +35,9 @@ struct worker_fork_ctx_t {
|
||||
struct settings_t *settings;
|
||||
};
|
||||
|
||||
+struct worker_fork_uevent_t {
|
||||
+ struct uevent_t *uevent;
|
||||
+ struct worker_fork_uevent_t *next;
|
||||
+};
|
||||
+
|
||||
#endif
|
@ -125,8 +125,10 @@ define Build/Prepare
|
||||
$(INSTALL_DIR) $(PKG_BUILD_DIR)/src/mei/
|
||||
$(CP) ./src/* $(PKG_BUILD_DIR)/src/mei/
|
||||
$(Build/Patch)
|
||||
ifeq ($(CONFIG_IFXMIPS_DSL_FIRMWARE),)
|
||||
$(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(FW_BASE_NAME)_a-$(FW_A_VER).tar.gz
|
||||
$(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(FW_BASE_NAME)_b-$(FW_B_VER).tar.gz
|
||||
endif
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2006-2008 OpenWrt.org
|
||||
# Copyright (C) 2006-2010 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
@ -156,6 +156,25 @@ endef
|
||||
$(eval $(call KernelPackage,ata-magicbox-cf))
|
||||
|
||||
|
||||
define KernelPackage/ata-pdc202xx-old
|
||||
SUBMENU:=$(BLOCK_MENU)
|
||||
TITLE:=Older Promise PATA controller support
|
||||
DEPENDS:=kmod-ata-core
|
||||
KCONFIG:= \
|
||||
CONFIG_ATA_SFF=y \
|
||||
CONFIG_PATA_PDC_OLD
|
||||
FILES:=$(LINUX_DIR)/drivers/ata/pata_pdc202xx_old.$(LINUX_KMOD_SUFFIX)
|
||||
AUTOLOAD:=$(call AutoLoad,41,pata_pdc202xx_old,1)
|
||||
endef
|
||||
|
||||
define KernelPackage/ata-pdc202xx-old/description
|
||||
This option enables support for the Promise 20246, 20262, 20263,
|
||||
20265 and 20267 adapters.
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,ata-pdc202xx-old))
|
||||
|
||||
|
||||
define KernelPackage/ata-piix
|
||||
$(call KernelPackage/ata/Depends,)
|
||||
TITLE:=Intel PIIX PATA/SATA support
|
||||
@ -193,8 +212,6 @@ define KernelPackage/ide-core
|
||||
DEPENDS:=@PCI_SUPPORT
|
||||
KCONFIG:= \
|
||||
CONFIG_IDE \
|
||||
CONFIG_IDE_GENERIC \
|
||||
CONFIG_BLK_DEV_GENERIC \
|
||||
CONFIG_BLK_DEV_IDE \
|
||||
CONFIG_BLK_DEV_IDEDISK \
|
||||
CONFIG_IDE_GD \
|
||||
@ -203,36 +220,26 @@ define KernelPackage/ide-core
|
||||
CONFIG_BLK_DEV_IDEDMA_PCI=y \
|
||||
CONFIG_BLK_DEV_IDEPCI=y
|
||||
FILES:= \
|
||||
$(LINUX_DIR)/drivers/ide/ide-core.$(LINUX_KMOD_SUFFIX) \
|
||||
$(LINUX_DIR)/drivers/ide/ide-gd_mod.$(LINUX_KMOD_SUFFIX)
|
||||
$(LINUX_DIR)/drivers/ide/ide-core.$(LINUX_KMOD_SUFFIX)
|
||||
AUTOLOAD:= \
|
||||
$(call AutoLoad,20,ide-core,1) \
|
||||
$(call AutoLoad,40,ide-gd_mod,1)
|
||||
$(call AutoLoad,20,ide-core,1)
|
||||
endef
|
||||
|
||||
define KernelPackage/ide-core/2.4
|
||||
FILES:= \
|
||||
$(LINUX_DIR)/drivers/ide/ide-core.$(LINUX_KMOD_SUFFIX) \
|
||||
FILES+= \
|
||||
$(LINUX_DIR)/drivers/ide/ide-detect.$(LINUX_KMOD_SUFFIX) \
|
||||
$(LINUX_DIR)/drivers/ide/ide-disk.$(LINUX_KMOD_SUFFIX)
|
||||
AUTOLOAD:= \
|
||||
$(call AutoLoad,20,ide-core,1) \
|
||||
AUTOLOAD+= \
|
||||
$(call AutoLoad,35,ide-detect,1) \
|
||||
$(call AutoLoad,40,ide-disk,1)
|
||||
endef
|
||||
|
||||
ifneq ($(CONFIG_arm)$(CONFIG_powerpc),y)
|
||||
define KernelPackage/ide-core/2.6
|
||||
ifeq ($(CONFIG_PCI_SUPPORT),y)
|
||||
FILES+=$(LINUX_DIR)/drivers/ide/ide-generic.$(LINUX_KMOD_SUFFIX) \
|
||||
$(LINUX_DIR)/drivers/ide/ide-pci-generic.$(LINUX_KMOD_SUFFIX)
|
||||
AUTOLOAD+=$(call AutoLoad,30,ide-generic ide-pci-generic,1)
|
||||
else
|
||||
FILES+=$(LINUX_DIR)/drivers/ide/ide-generic.$(LINUX_KMOD_SUFFIX)
|
||||
AUTOLOAD+=$(call AutoLoad,30,ide-generic,1)
|
||||
endif
|
||||
endef
|
||||
endif
|
||||
define KernelPackage/ide-core/2.6
|
||||
FILES+= \
|
||||
$(LINUX_DIR)/drivers/ide/ide-gd_mod.$(LINUX_KMOD_SUFFIX)
|
||||
AUTOLOAD+= \
|
||||
$(call AutoLoad,40,ide-gd_mod,1)
|
||||
endef
|
||||
|
||||
define KernelPackage/ide-core/description
|
||||
Kernel support for IDE, useful for usb mass storage devices (e.g. on WL-HDD)
|
||||
@ -251,6 +258,42 @@ define KernelPackage/ide/Depends
|
||||
endef
|
||||
|
||||
|
||||
define KernelPackage/ide-generic
|
||||
$(call KernelPackage/ide/Depends,@PCI_SUPPORT)
|
||||
SUBMENU:=$(BLOCK_MENU)
|
||||
TITLE:=Kernel support for generic PCI IDE chipsets
|
||||
KCONFIG:=CONFIG_BLK_DEV_GENERIC
|
||||
endef
|
||||
|
||||
define KernelPackage/ide-generic/2.4
|
||||
FILES+= \
|
||||
$(LINUX_DIR)/drivers/ide/pci/generic.$(LINUX_KMOD_SUFFIX)
|
||||
AUTOLOAD+= \
|
||||
$(call AutoLoad,30,generic,1)
|
||||
endef
|
||||
|
||||
define KernelPackage/ide-generic/2.6
|
||||
FILES+= \
|
||||
$(LINUX_DIR)/drivers/ide/ide-pci-generic.$(LINUX_KMOD_SUFFIX)
|
||||
AUTOLOAD+= \
|
||||
$(call AutoLoad,30,ide-pci-generic,1)
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,ide-generic))
|
||||
|
||||
|
||||
define KernelPackage/ide-generic-old
|
||||
$(call KernelPackage/ide/Depends,@LINUX_2_6)
|
||||
SUBMENU:=$(BLOCK_MENU)
|
||||
TITLE:=Kernel support for generic (legacy) IDE chipsets
|
||||
KCONFIG:=CONFIG_IDE_GENERIC
|
||||
FILES:=$(LINUX_DIR)/drivers/ide/ide-generic.$(LINUX_KMOD_SUFFIX)
|
||||
AUTOLOAD:=$(call AutoLoad,30,ide-generic,1)
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,ide-generic-old))
|
||||
|
||||
|
||||
define KernelPackage/ide-aec62xx
|
||||
$(call KernelPackage/ide/Depends,@PCI_SUPPORT)
|
||||
TITLE:=Acard AEC62xx IDE driver
|
||||
|
@ -21,18 +21,13 @@ endef
|
||||
define KernelPackage/ipt-core/description
|
||||
Netfilter core kernel modules
|
||||
Includes:
|
||||
- ipt_limit
|
||||
- xt_limit
|
||||
- ipt_mac
|
||||
- xt_mac
|
||||
- ipt_multiport
|
||||
- xt_multiport
|
||||
- ipt_comment
|
||||
- xt_comment
|
||||
- ipt_LOG
|
||||
- ipt_TCPMSS
|
||||
- xt_TCPMSS
|
||||
- ipt_REJECT
|
||||
- comment (2.6)
|
||||
- limit
|
||||
- LOG
|
||||
- mac
|
||||
- multiport
|
||||
- REJECT
|
||||
- TCPMSS
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,ipt-core))
|
||||
@ -56,11 +51,10 @@ define KernelPackage/ipt-conntrack/description
|
||||
Netfilter (IPv4) kernel modules for connection tracking
|
||||
Includes:
|
||||
- conntrack
|
||||
- defrag
|
||||
- defrag (2.6)
|
||||
- iptables_raw
|
||||
- NOTRACK
|
||||
- state
|
||||
- xt_NOTRACK
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,ipt-conntrack))
|
||||
@ -98,10 +92,8 @@ endef
|
||||
define KernelPackage/ipt-filter/description
|
||||
Netfilter (IPv4) kernel modules for packet content inspection
|
||||
Includes:
|
||||
- ipt_layer7
|
||||
- ipt_string
|
||||
- xt_layer7
|
||||
- xt_string
|
||||
- layer7
|
||||
- string
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,ipt-filter))
|
||||
@ -118,30 +110,18 @@ endef
|
||||
define KernelPackage/ipt-ipopt/description
|
||||
Netfilter (IPv4) modules for matching/changing IP packet options
|
||||
Includes:
|
||||
- ipt_dscp
|
||||
- xt_dscp
|
||||
- xt_DSCP
|
||||
- ipt_ecn
|
||||
- ipt_length
|
||||
- xt_length
|
||||
- ipt_mark
|
||||
- xt_mark
|
||||
- xt_statistic
|
||||
- ipt_tcpmss
|
||||
- xt_tcpmss
|
||||
- ipt_time
|
||||
- xt_time
|
||||
- ipt_unclean
|
||||
- ipt_CLASSIFY
|
||||
- xt_CLASSIFY
|
||||
- ipt_DSCP
|
||||
- ipt_ECN
|
||||
- ipt_MARK
|
||||
- xt_MARK
|
||||
- xt_tos
|
||||
- xt_TOS
|
||||
- xt_hl
|
||||
- xt_HL
|
||||
- CLASSIFY
|
||||
- dscp/DSCP
|
||||
- ecn/ECN
|
||||
- hl/HL (2.6.30 and later)
|
||||
- length
|
||||
- mark/MARK
|
||||
- statistic (2.6)
|
||||
- tcpmss
|
||||
- time
|
||||
- tos/TOS (prior to 2.6.25)
|
||||
- ttl/TTL (prior to 2.6.30)
|
||||
- unclean
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,ipt-ipopt))
|
||||
@ -158,10 +138,9 @@ endef
|
||||
define KernelPackage/ipt-ipsec/description
|
||||
Netfilter (IPv4) modules for matching IPSec packets
|
||||
Includes:
|
||||
- ipt_ah
|
||||
- ipt_esp
|
||||
- xt_esp
|
||||
- xt_policy
|
||||
- ah
|
||||
- esp
|
||||
- policy (2.6)
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,ipt-ipsec))
|
||||
@ -195,7 +174,7 @@ endef
|
||||
define KernelPackage/ipt-nat-extra/description
|
||||
Netfilter (IPv4) kernel modules for extra NAT targets
|
||||
Includes:
|
||||
- MIRROR
|
||||
- MIRROR (2.4)
|
||||
- NETMAP
|
||||
- REDIRECT
|
||||
endef
|
||||
@ -214,17 +193,9 @@ endef
|
||||
define KernelPackage/ipt-nathelper/description
|
||||
Default Netfilter (IPv4) Conntrack and NAT helpers
|
||||
Includes:
|
||||
- ip_conntrack_ftp
|
||||
- ip_nat_ftp
|
||||
- nf_conntrack_ftp
|
||||
- nf_nat_ftp
|
||||
- ip_conntrack_irc
|
||||
- ip_nat_irc
|
||||
- nf_conntrack_irc
|
||||
- nf_nat_irc
|
||||
- ip_conntrack_tftp
|
||||
- nf_conntrack_tftp
|
||||
- nf_nat_tftp
|
||||
- ftp
|
||||
- irc
|
||||
- tftp
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,ipt-nathelper))
|
||||
@ -241,33 +212,14 @@ endef
|
||||
define KernelPackage/ipt-nathelper-extra/description
|
||||
Extra Netfilter (IPv4) Conntrack and NAT helpers
|
||||
Includes:
|
||||
- ip_conntrack_amanda
|
||||
- nf_conntrack_amanda
|
||||
- nf_nat_amanda
|
||||
- ip_conntrack_proto_gre
|
||||
- ip_nat_proto_gre
|
||||
- nf_conntrack_proto_gre
|
||||
- nf_nat_proto_gre
|
||||
- ip_conntrack_h323
|
||||
- ip_nat_h323
|
||||
- nf_conntrack_h323
|
||||
- nf_nat_h323
|
||||
- ip_conntrack_mms
|
||||
- ip_nat_mms
|
||||
- ip_conntrack_pptp
|
||||
- ip_nat_pptp
|
||||
- nf_conntrack_pptp
|
||||
- nf_nat_pptp
|
||||
- ip_conntrack_rtsp
|
||||
- ip_nat_rtsp
|
||||
- nf_conntrack_rtsp
|
||||
- nf_nat_rtsp
|
||||
- ip_conntrack_sip
|
||||
- ip_nat_sip
|
||||
- nf_conntrack_sip
|
||||
- nf_nat_sip
|
||||
- ip_nat_snmp_basic
|
||||
- nf_nat_snmp_basic
|
||||
- amanda
|
||||
- h323
|
||||
- mms
|
||||
- pptp (2.6)
|
||||
- proto_gre (2.6)
|
||||
- rtsp
|
||||
- sip (2.6)
|
||||
- snmp_basic
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,ipt-nathelper-extra))
|
||||
@ -325,7 +277,7 @@ endef
|
||||
define KernelPackage/ipt-ulog/description
|
||||
Netfilter (IPv4) module for user-space packet logging
|
||||
Includes:
|
||||
- ipt_ULOG
|
||||
- ULOG
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,ipt-ulog))
|
||||
@ -342,7 +294,7 @@ endef
|
||||
define KernelPackage/ipt-iprange/description
|
||||
Netfilter (IPv4) module for matching ip ranges
|
||||
Includes:
|
||||
- ipt_IPRANGE
|
||||
- iprange
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,ipt-iprange))
|
||||
@ -359,12 +311,11 @@ endef
|
||||
define KernelPackage/ipt-extra/description
|
||||
Other Netfilter (IPv4) kernel modules
|
||||
Includes:
|
||||
- ipt_condition
|
||||
- ipt_owner
|
||||
- xt_physdev
|
||||
- ipt_pkttype
|
||||
- xt_pkttype
|
||||
- xt_quota
|
||||
- condition (2.4 only)
|
||||
- owner
|
||||
- physdev (if bridge support was enabled in kernel)
|
||||
- pkttype
|
||||
- quota
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,ipt-extra))
|
||||
|
@ -64,7 +64,7 @@ define KernelPackage/crc16
|
||||
TITLE:=CRC16 support
|
||||
KCONFIG:=CONFIG_CRC16
|
||||
FILES:=$(LINUX_DIR)/lib/crc16.$(LINUX_KMOD_SUFFIX)
|
||||
AUTOLOAD:=$(call AutoLoad,20,crc16)
|
||||
AUTOLOAD:=$(call AutoLoad,20,crc16,1)
|
||||
endef
|
||||
|
||||
define KernelPackage/crc16/description
|
||||
@ -801,7 +801,7 @@ define KernelPackage/cs5535-gpio
|
||||
DEPENDS:=@TARGET_x86||@TARGET_olpc
|
||||
KCONFIG:=CONFIG_CS5535_GPIO
|
||||
FILES:=$(LINUX_DIR)/drivers/char/cs5535_gpio.$(LINUX_KMOD_SUFFIX)
|
||||
AUTOLOAD:=$(call AutoLoad,90,cs5535_gpio)
|
||||
AUTOLOAD:=$(call AutoLoad,50,cs5535_gpio)
|
||||
endef
|
||||
|
||||
define KernelPackage/cs5535-gpio/description
|
||||
@ -874,3 +874,34 @@ define KernelPackage/rfkill/description
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,rfkill))
|
||||
|
||||
define KernelPackage/geodewdt
|
||||
SUBMENU:=$(OTHER_MENU)
|
||||
TITLE:=Geode/LX Watchdog timer
|
||||
DEPENDS:=@TARGET_x86 @LINUX_2_6
|
||||
KCONFIG:=CONFIG_GEODE_WDT
|
||||
FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/geodewdt.$(LINUX_KMOD_SUFFIX)
|
||||
AUTOLOAD:=$(call AutoLoad,50,geodewdt)
|
||||
endef
|
||||
|
||||
define KernelPackage/geodewdt/description
|
||||
Kernel module for Geode watchdog timer.
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,geodewdt))
|
||||
|
||||
define KernelPackage/pc8736x-gpio
|
||||
SUBMENU:=$(OTHER_MENU)
|
||||
TITLE:=PC8736x GPIO support
|
||||
DEPENDS:=@TARGET_x86
|
||||
KCONFIG:=CONFIG_PC8736x_GPIO
|
||||
FILES:=$(LINUX_DIR)/drivers/char/pc8736x_gpio.$(LINUX_KMOD_SUFFIX)
|
||||
AUTOLOAD:=$(call AutoLoad,40,pc8736x_gpio)
|
||||
endef
|
||||
|
||||
define KernelPackage/pc8736x-gpio/description
|
||||
Kernel module for PC8736x GPIO
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,pc8736x-gpio))
|
||||
|
||||
|
@ -47,13 +47,13 @@ define Build/Configure
|
||||
touch $(PKG_BUILD_DIR)/stamp-h.in
|
||||
endef
|
||||
|
||||
TARGET_CFLAGS += -I$(LINUX_DIR)/include
|
||||
TARGET_CFLAGS += -I$(LINUX_DIR)/include -I$(LINUX_DIR)/arch/$(LINUX_KARCH)/include
|
||||
|
||||
define Build/Compile
|
||||
# src/qgen is built with HOSTCC, which does not really like our LDFLAGS
|
||||
$(MAKE) -C $(PKG_BUILD_DIR)/src/qgen \
|
||||
LDFLAGS="" \
|
||||
all
|
||||
all
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
DESTDIR="$(PKG_INSTALL_DIR)" \
|
||||
all install
|
||||
|
@ -10,12 +10,12 @@ include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=mac80211
|
||||
|
||||
PKG_VERSION:=2010-03-24
|
||||
PKG_RELEASE:=5
|
||||
PKG_VERSION:=2010-04-13
|
||||
PKG_RELEASE:=1
|
||||
PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
|
||||
# http://www.orbit-lab.org/kernel/compat-wireless-2.6/2010/11 \
|
||||
# http://wireless.kernel.org/download/compat-wireless-2.6
|
||||
PKG_MD5SUM:=73357c52b5d6888ea3228b2ca8aa5eca
|
||||
PKG_MD5SUM:=d70715219e37214463c0e08974db80c1
|
||||
|
||||
PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
|
||||
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/config.mk
|
||||
+++ b/config.mk
|
||||
@@ -269,8 +269,8 @@ endif
|
||||
@@ -256,8 +256,8 @@ endif
|
||||
|
||||
CONFIG_P54_PCI=m
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
ifeq ($(CONFIG_MAC80211),y)
|
||||
$(error "ERROR: you have MAC80211 compiled into the kernel, CONFIG_MAC80211=y, as such you cannot replace its mac80211 driver. You need this set to CONFIG_MAC80211=m. If you are using Fedora upgrade your kernel as later version should this set as modular. For further information on Fedora see https://bugzilla.redhat.com/show_bug.cgi?id=470143. If you are using your own kernel recompile it and make mac80211 modular")
|
||||
@@ -492,8 +492,8 @@ endif
|
||||
@@ -481,8 +481,8 @@ endif
|
||||
# We need the backported rfkill module on kernel < 2.6.31.
|
||||
# In more recent kernel versions use the in kernel rfkill module.
|
||||
ifdef CONFIG_COMPAT_KERNEL_31
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/config.mk
|
||||
+++ b/config.mk
|
||||
@@ -299,10 +299,10 @@ endif
|
||||
@@ -286,10 +286,10 @@ endif
|
||||
CONFIG_MWL8K=m
|
||||
|
||||
# Ethernet drivers go here
|
||||
@ -15,7 +15,7 @@
|
||||
|
||||
CONFIG_HERMES=m
|
||||
CONFIG_HERMES_CACHE_FW_ON_INIT=y
|
||||
@@ -355,10 +355,10 @@ CONFIG_USB_NET_COMPAT_RNDIS_HOST=n
|
||||
@@ -342,10 +342,10 @@ CONFIG_USB_NET_COMPAT_RNDIS_HOST=n
|
||||
CONFIG_USB_NET_COMPAT_RNDIS_WLAN=n
|
||||
CONFIG_USB_NET_COMPAT_CDCETHER=n
|
||||
else
|
||||
|
@ -9,7 +9,7 @@
|
||||
CONFIG_SSB=m
|
||||
else
|
||||
include $(KLIB_BUILD)/.config
|
||||
@@ -194,7 +194,7 @@ CONFIG_B43=m
|
||||
@@ -181,7 +181,7 @@ CONFIG_B43=m
|
||||
CONFIG_B43_HWRNG=y
|
||||
CONFIG_B43_PCI_AUTOSELECT=y
|
||||
ifneq ($(CONFIG_PCMCIA),)
|
||||
@ -18,7 +18,7 @@
|
||||
endif
|
||||
CONFIG_B43_LEDS=y
|
||||
CONFIG_B43_PHY_LP=y
|
||||
@@ -246,7 +246,7 @@ CONFIG_SSB_BLOCKIO=y
|
||||
@@ -233,7 +233,7 @@ CONFIG_SSB_BLOCKIO=y
|
||||
CONFIG_SSB_PCIHOST=y
|
||||
CONFIG_SSB_B43_PCI_BRIDGE=y
|
||||
ifneq ($(CONFIG_PCMCIA),)
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/config.mk
|
||||
+++ b/config.mk
|
||||
@@ -407,8 +407,8 @@ endif # end of SPI driver list
|
||||
@@ -396,8 +396,8 @@ endif # end of SPI driver list
|
||||
|
||||
ifneq ($(CONFIG_MMC),)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/config.mk
|
||||
+++ b/config.mk
|
||||
@@ -198,7 +198,7 @@ ifneq ($(CONFIG_PCMCIA),)
|
||||
@@ -185,7 +185,7 @@ ifneq ($(CONFIG_PCMCIA),)
|
||||
endif
|
||||
CONFIG_B43_LEDS=y
|
||||
CONFIG_B43_PHY_LP=y
|
||||
|
@ -1,33 +0,0 @@
|
||||
commit b7d48ccc687c44213121b1b565dccdc4488f5d9a
|
||||
Author: Pavel Roskin <proski@gnu.org>
|
||||
Date: Wed Mar 24 17:23:37 2010 -0400
|
||||
|
||||
compat: add compat-2.6.35.h and IW_HANDLER
|
||||
|
||||
Signed-off-by: Pavel Roskin <proski@gnu.org>
|
||||
|
||||
--- /dev/null
|
||||
+++ b/include/linux/compat-2.6.35.h
|
||||
@@ -0,0 +1,13 @@
|
||||
+#ifndef LINUX_26_35_COMPAT_H
|
||||
+#define LINUX_26_35_COMPAT_H
|
||||
+
|
||||
+#include <linux/version.h>
|
||||
+
|
||||
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35))
|
||||
+
|
||||
+#define IW_HANDLER(id, func) \
|
||||
+ [IW_IOCTL_IDX(id)] = func
|
||||
+
|
||||
+#endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35)) */
|
||||
+
|
||||
+#endif /* LINUX_26_35_COMPAT_H */
|
||||
--- a/include/linux/compat-2.6.h
|
||||
+++ b/include/linux/compat-2.6.h
|
||||
@@ -27,5 +27,6 @@
|
||||
#include <linux/compat-2.6.32.h>
|
||||
#include <linux/compat-2.6.33.h>
|
||||
#include <linux/compat-2.6.34.h>
|
||||
+#include <linux/compat-2.6.35.h>
|
||||
|
||||
#endif /* LINUX_26_COMPAT_H */
|
@ -1,6 +1,6 @@
|
||||
--- a/config.mk
|
||||
+++ b/config.mk
|
||||
@@ -276,12 +276,12 @@ CONFIG_RTL8180=m
|
||||
@@ -248,12 +248,12 @@ CONFIG_RTL8180=m
|
||||
|
||||
CONFIG_ADM8211=m
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
# CONFIG_RT2800PCI_RT30XX=y
|
||||
# CONFIG_RT2800PCI_RT35XX=y
|
||||
# CONFIG_RT2800PCI_SOC=y
|
||||
@@ -381,7 +381,7 @@ CONFIG_RT2800USB=m
|
||||
@@ -355,7 +355,7 @@ CONFIG_RT2800USB=m
|
||||
# CONFIG_RT2800USB_RT35XX=y
|
||||
# CONFIG_RT2800USB_UNKNOWN=y
|
||||
endif
|
||||
|
11
package/mac80211/patches/120-compat_rcu_dereference.patch
Normal file
11
package/mac80211/patches/120-compat_rcu_dereference.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/include/linux/compat-2.6.34.h
|
||||
+++ b/include/linux/compat-2.6.34.h
|
||||
@@ -164,6 +164,8 @@ static inline void device_unlock(struct
|
||||
|
||||
#define rcu_dereference_check(p, c) rcu_dereference(p)
|
||||
|
||||
+#define rcu_dereference_check(p, c) rcu_dereference(p)
|
||||
+
|
||||
#endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,34)) */
|
||||
|
||||
#endif /* LINUX_26_34_COMPAT_H */
|
@ -0,0 +1,11 @@
|
||||
--- a/include/linux/tracepoint.h
|
||||
+++ b/include/linux/tracepoint.h
|
||||
@@ -1,6 +1,8 @@
|
||||
#ifndef _COMPAT_LINUX_TRACEPOINT_H
|
||||
#define _COMPAT_LINUX_TRACEPOINT_H 1
|
||||
|
||||
+#include <linux/version.h>
|
||||
+
|
||||
#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,27))
|
||||
#include_next <linux/tracepoint.h>
|
||||
#endif /* (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,27)) */
|
35302
package/mac80211/patches/300-ar9300_support.patch
Normal file
35302
package/mac80211/patches/300-ar9300_support.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,45 +0,0 @@
|
||||
From 181ce6f71d907f42ab73376ce154015a835a6d8a Mon Sep 17 00:00:00 2001
|
||||
From: Javier Cardona <javier@cozybit.com>
|
||||
Date: Mon, 29 Mar 2010 11:00:20 -0700
|
||||
Subject: [PATCH] mac80211: Handle mesh action frames in ieee80211_rx_h_action
|
||||
|
||||
This fixes the problem introduced in commit
|
||||
8404080568613d93ad7cf0a16dfb68 which broke mesh peer link establishment.
|
||||
|
||||
changes:
|
||||
v2 Added missing break (Johannes)
|
||||
v3 Broke original patch into two (Johannes)
|
||||
|
||||
Signed-off-by: Javier Cardona <javier@cozybit.com>
|
||||
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
||||
---
|
||||
net/mac80211/mesh.c | 3 ---
|
||||
net/mac80211/rx.c | 5 +++++
|
||||
2 files changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
--- a/net/mac80211/mesh.c
|
||||
+++ b/net/mac80211/mesh.c
|
||||
@@ -749,9 +749,6 @@ ieee80211_mesh_rx_mgmt(struct ieee80211_
|
||||
|
||||
switch (fc & IEEE80211_FCTL_STYPE) {
|
||||
case IEEE80211_STYPE_ACTION:
|
||||
- if (skb->len < IEEE80211_MIN_ACTION_SIZE)
|
||||
- return RX_DROP_MONITOR;
|
||||
- /* fall through */
|
||||
case IEEE80211_STYPE_PROBE_RESP:
|
||||
case IEEE80211_STYPE_BEACON:
|
||||
skb_queue_tail(&ifmsh->skb_queue, skb);
|
||||
--- a/net/mac80211/rx.c
|
||||
+++ b/net/mac80211/rx.c
|
||||
@@ -1964,6 +1964,11 @@ ieee80211_rx_h_action(struct ieee80211_r
|
||||
goto handled;
|
||||
}
|
||||
break;
|
||||
+ case MESH_PLINK_CATEGORY:
|
||||
+ case MESH_PATH_SEL_CATEGORY:
|
||||
+ if (ieee80211_vif_is_mesh(&sdata->vif))
|
||||
+ return ieee80211_mesh_rx_mgmt(sdata, rx->skb);
|
||||
+ break;
|
||||
}
|
||||
|
||||
/*
|
@ -1,14 +1,14 @@
|
||||
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/hw.c
|
||||
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
#include <linux/io.h>
|
||||
#include <linux/slab.h>
|
||||
+#include <linux/etherdevice.h>
|
||||
#include <asm/unaligned.h>
|
||||
|
||||
#include "hw.h"
|
||||
@@ -441,8 +442,16 @@ static int ath9k_hw_init_macaddr(struct
|
||||
@@ -431,8 +432,16 @@ static int ath9k_hw_init_macaddr(struct
|
||||
common->macaddr[2 * i] = eeval >> 8;
|
||||
common->macaddr[2 * i + 1] = eeval & 0xff;
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/drivers/net/wireless/ath/regd.c
|
||||
+++ b/drivers/net/wireless/ath/regd.c
|
||||
@@ -19,6 +19,9 @@
|
||||
@@ -18,6 +18,9 @@
|
||||
#include <net/cfg80211.h>
|
||||
#include <net/mac80211.h>
|
||||
#include "regd.h"
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "ath9k.h"
|
||||
|
||||
static DEFINE_PCI_DEVICE_TABLE(ath_pci_id_table) = {
|
||||
@@ -52,21 +53,36 @@ static void ath_pci_read_cachesize(struc
|
||||
@@ -53,21 +54,36 @@ static void ath_pci_read_cachesize(struc
|
||||
|
||||
static bool ath_pci_eeprom_read(struct ath_common *common, u32 off, u16 *data)
|
||||
{
|
||||
|
@ -1,17 +1,3 @@
|
||||
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/hw.c
|
||||
@@ -385,11 +385,8 @@ static void ath9k_hw_init_defaults(struc
|
||||
ah->hw_version.magic = AR5416_MAGIC;
|
||||
ah->hw_version.subvendorid = 0;
|
||||
|
||||
- ah->ah_flags = 0;
|
||||
if (ah->hw_version.devid == AR5416_AR9100_DEVID)
|
||||
ah->hw_version.macVersion = AR_SREV_VERSION_9100;
|
||||
- if (!AR_SREV_9100(ah))
|
||||
- ah->ah_flags = AH_USE_EEPROM;
|
||||
|
||||
ah->atim_window = 0;
|
||||
ah->sta_id1_defaults = AR_STA_ID1_CRPT_MIC_ENABLE;
|
||||
--- a/drivers/net/wireless/ath/ath9k/main.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/main.c
|
||||
@@ -15,6 +15,7 @@
|
||||
@ -24,7 +10,7 @@
|
||||
|
||||
--- a/drivers/net/wireless/ath/ath9k/init.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/init.c
|
||||
@@ -531,6 +531,7 @@ static int ath9k_init_softc(u16 devid, s
|
||||
@@ -542,6 +542,7 @@ static int ath9k_init_softc(u16 devid, s
|
||||
{
|
||||
struct ath_hw *ah = NULL;
|
||||
struct ath_common *common;
|
||||
@ -32,7 +18,7 @@
|
||||
int ret = 0, i;
|
||||
int csz = 0;
|
||||
|
||||
@@ -542,6 +543,10 @@ static int ath9k_init_softc(u16 devid, s
|
||||
@@ -553,6 +554,10 @@ static int ath9k_init_softc(u16 devid, s
|
||||
ah->hw_version.subsysid = subsysid;
|
||||
sc->sc_ah = ah;
|
||||
|
||||
@ -43,3 +29,16 @@
|
||||
common = ath9k_hw_common(ah);
|
||||
common->ops = &ath9k_common_ops;
|
||||
common->bus_ops = bus_ops;
|
||||
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/hw.c
|
||||
@@ -404,10 +404,6 @@ static void ath9k_hw_init_defaults(struc
|
||||
ah->hw_version.magic = AR5416_MAGIC;
|
||||
ah->hw_version.subvendorid = 0;
|
||||
|
||||
- ah->ah_flags = 0;
|
||||
- if (!AR_SREV_9100(ah))
|
||||
- ah->ah_flags = AH_USE_EEPROM;
|
||||
-
|
||||
ah->atim_window = 0;
|
||||
ah->sta_id1_defaults = AR_STA_ID1_CRPT_MIC_ENABLE;
|
||||
ah->beacon_interval = 100;
|
||||
|
@ -1,17 +1,17 @@
|
||||
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/hw.c
|
||||
@@ -16,8 +16,10 @@
|
||||
|
||||
@@ -17,8 +17,10 @@
|
||||
#include <linux/io.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/etherdevice.h>
|
||||
+#include <linux/ath9k_platform.h>
|
||||
#include <asm/unaligned.h>
|
||||
|
||||
+#include "ath9k.h"
|
||||
#include "hw.h"
|
||||
#include "hw-ops.h"
|
||||
#include "rc.h"
|
||||
#include "initvals.h"
|
||||
@@ -428,17 +430,23 @@ static int ath9k_hw_rf_claim(struct ath_
|
||||
@@ -416,18 +418,23 @@ static void ath9k_hw_init_defaults(struc
|
||||
static int ath9k_hw_init_macaddr(struct ath_hw *ah)
|
||||
{
|
||||
struct ath_common *common = ath9k_hw_common(ah);
|
||||
@ -20,10 +20,11 @@
|
||||
u32 sum;
|
||||
int i;
|
||||
u16 eeval;
|
||||
u32 EEP_MAC[] = { EEP_MAC_LSW, EEP_MAC_MID, EEP_MAC_MSW };
|
||||
|
||||
sum = 0;
|
||||
- for (i = 0; i < 3; i++) {
|
||||
- eeval = ah->eep_ops->get_eeprom(ah, AR_EEPROM_MAC(i));
|
||||
- eeval = ah->eep_ops->get_eeprom(ah, EEP_MAC[i]);
|
||||
- sum += eeval;
|
||||
- common->macaddr[2 * i] = eeval >> 8;
|
||||
- common->macaddr[2 * i + 1] = eeval & 0xff;
|
||||
@ -32,12 +33,11 @@
|
||||
+ memcpy(common->macaddr, pdata->macaddr, ETH_ALEN);
|
||||
+ else
|
||||
+ for (i = 0; i < 3; i++) {
|
||||
+ eeval = ah->eep_ops->get_eeprom(ah, AR_EEPROM_MAC(i));
|
||||
+ eeval = ah->eep_ops->get_eeprom(ah, EEP_MAC[i]);
|
||||
+ sum += eeval;
|
||||
+ common->macaddr[2 * i] = eeval >> 8;
|
||||
+ common->macaddr[2 * i + 1] = eeval & 0xff;
|
||||
+ }
|
||||
+
|
||||
if (!is_valid_ether_addr(common->macaddr)) {
|
||||
ath_print(common, ATH_DBG_EEPROM,
|
||||
"eeprom contains invalid mac address: %pM\n",
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/hw.c
|
||||
@@ -2097,7 +2097,7 @@ int ath9k_hw_reset(struct ath_hw *ah, st
|
||||
@@ -1298,7 +1298,7 @@ int ath9k_hw_reset(struct ath_hw *ah, st
|
||||
|
||||
if (ah->config.rx_intr_mitigation) {
|
||||
REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_LAST, 500);
|
||||
@ -8,4 +8,4 @@
|
||||
+ REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_FIRST, 500);
|
||||
}
|
||||
|
||||
ath9k_hw_init_bb(ah, chan);
|
||||
if (ah->config.tx_intr_mitigation) {
|
||||
|
@ -1,14 +1,14 @@
|
||||
--- a/drivers/net/wireless/ath/ath9k/init.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/init.c
|
||||
@@ -14,6 +14,7 @@
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
#include <linux/slab.h>
|
||||
|
||||
+#include "linux/ath9k_platform.h"
|
||||
#include "ath9k.h"
|
||||
|
||||
static char *dev_info = "ath9k";
|
||||
@@ -546,6 +547,8 @@ static int ath9k_init_softc(u16 devid, s
|
||||
@@ -557,6 +558,8 @@ static int ath9k_init_softc(u16 devid, s
|
||||
pdata = (struct ath9k_platform_data *) sc->dev->platform_data;
|
||||
if (!pdata)
|
||||
ah->ah_flags |= AH_USE_EEPROM;
|
||||
@ -17,7 +17,7 @@
|
||||
|
||||
common = ath9k_hw_common(ah);
|
||||
common->ops = &ath9k_common_ops;
|
||||
@@ -671,6 +674,24 @@ void ath9k_set_hw_capab(struct ath_softc
|
||||
@@ -679,6 +682,24 @@ void ath9k_set_hw_capab(struct ath_softc
|
||||
SET_IEEE80211_PERM_ADDR(hw, common->macaddr);
|
||||
}
|
||||
|
||||
@ -42,7 +42,7 @@
|
||||
int ath9k_init_device(u16 devid, struct ath_softc *sc, u16 subsysid,
|
||||
const struct ath_bus_ops *bus_ops)
|
||||
{
|
||||
@@ -689,6 +710,9 @@ int ath9k_init_device(u16 devid, struct
|
||||
@@ -697,6 +718,9 @@ int ath9k_init_device(u16 devid, struct
|
||||
common = ath9k_hw_common(ah);
|
||||
ath9k_set_hw_capab(sc, hw);
|
||||
|
||||
@ -54,15 +54,15 @@
|
||||
ath9k_reg_notifier);
|
||||
--- a/drivers/net/wireless/ath/ath9k/ath9k.h
|
||||
+++ b/drivers/net/wireless/ath/ath9k/ath9k.h
|
||||
@@ -511,6 +511,8 @@ struct ath_softc {
|
||||
struct ath_beacon_config cur_beacon_conf;
|
||||
struct delayed_work tx_complete_work;
|
||||
struct ath_btcoex btcoex;
|
||||
+
|
||||
+ unsigned long quirk_wndr3700:1;
|
||||
};
|
||||
@@ -517,6 +517,8 @@ struct ath_softc {
|
||||
|
||||
struct ath_wiphy {
|
||||
int beacon_interval;
|
||||
|
||||
+ bool quirk_wndr3700;
|
||||
+
|
||||
#ifdef CONFIG_ATH9K_DEBUGFS
|
||||
struct ath9k_debug debug;
|
||||
#endif
|
||||
--- a/include/linux/ath9k_platform.h
|
||||
+++ b/include/linux/ath9k_platform.h
|
||||
@@ -24,6 +24,8 @@
|
||||
@ -70,7 +70,7 @@
|
||||
u16 eeprom_data[ATH9K_PLAT_EEP_MAX_WORDS];
|
||||
u8 *macaddr;
|
||||
+
|
||||
+ unsigned long quirk_wndr3700:1;
|
||||
+ bool quirk_wndr3700;
|
||||
};
|
||||
|
||||
#endif /* _LINUX_ATH9K_PLATFORM_H */
|
||||
|
@ -13,7 +13,7 @@
|
||||
sc->sc_ah->led_pin = ATH_LED_PIN_DEF;
|
||||
--- a/drivers/net/wireless/ath/ath9k/ath9k.h
|
||||
+++ b/drivers/net/wireless/ath/ath9k/ath9k.h
|
||||
@@ -379,6 +379,7 @@ void ath9k_btcoex_timer_pause(struct ath
|
||||
@@ -392,6 +392,7 @@ void ath9k_btcoex_timer_pause(struct ath
|
||||
|
||||
#define ATH_LED_PIN_DEF 1
|
||||
#define ATH_LED_PIN_9287 8
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/drivers/net/wireless/ath/ath9k/debug.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/debug.c
|
||||
@@ -77,6 +77,90 @@ static const struct file_operations fops
|
||||
@@ -78,6 +78,90 @@ static const struct file_operations fops
|
||||
|
||||
#define DMA_BUF_LEN 1024
|
||||
|
||||
@ -91,7 +91,7 @@
|
||||
static ssize_t read_file_dma(struct file *file, char __user *user_buf,
|
||||
size_t count, loff_t *ppos)
|
||||
{
|
||||
@@ -719,6 +803,16 @@ int ath9k_init_debug(struct ath_hw *ah)
|
||||
@@ -731,6 +815,16 @@ int ath9k_init_debug(struct ath_hw *ah)
|
||||
goto err;
|
||||
#endif
|
||||
|
||||
@ -108,7 +108,7 @@
|
||||
sc->debug.debugfs_dma = debugfs_create_file("dma", S_IRUSR,
|
||||
sc->debug.debugfs_phy, sc, &fops_dma);
|
||||
if (!sc->debug.debugfs_dma)
|
||||
@@ -769,6 +863,8 @@ void ath9k_exit_debug(struct ath_hw *ah)
|
||||
@@ -781,6 +875,8 @@ void ath9k_exit_debug(struct ath_hw *ah)
|
||||
struct ath_common *common = ath9k_hw_common(ah);
|
||||
struct ath_softc *sc = (struct ath_softc *) common->priv;
|
||||
|
||||
@ -119,7 +119,7 @@
|
||||
debugfs_remove(sc->debug.debugfs_wiphy);
|
||||
--- a/drivers/net/wireless/ath/ath9k/debug.h
|
||||
+++ b/drivers/net/wireless/ath/ath9k/debug.h
|
||||
@@ -148,6 +148,8 @@ struct ath_stats {
|
||||
@@ -152,6 +152,8 @@ struct ath_stats {
|
||||
};
|
||||
|
||||
struct ath9k_debug {
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/drivers/net/wireless/ath/ath9k/debug.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/debug.c
|
||||
@@ -783,6 +783,86 @@ static const struct file_operations fops
|
||||
@@ -795,6 +795,86 @@ static const struct file_operations fops
|
||||
.owner = THIS_MODULE
|
||||
};
|
||||
|
||||
@ -87,7 +87,7 @@
|
||||
int ath9k_init_debug(struct ath_hw *ah)
|
||||
{
|
||||
struct ath_common *common = ath9k_hw_common(ah);
|
||||
@@ -852,6 +932,17 @@ int ath9k_init_debug(struct ath_hw *ah)
|
||||
@@ -864,6 +944,17 @@ int ath9k_init_debug(struct ath_hw *ah)
|
||||
if (!sc->debug.debugfs_recv)
|
||||
goto err;
|
||||
|
||||
@ -105,7 +105,7 @@
|
||||
return 0;
|
||||
err:
|
||||
ath9k_exit_debug(ah);
|
||||
@@ -865,6 +956,8 @@ void ath9k_exit_debug(struct ath_hw *ah)
|
||||
@@ -877,6 +968,8 @@ void ath9k_exit_debug(struct ath_hw *ah)
|
||||
|
||||
debugfs_remove(sc->debug.debugfs_tx_chainmask);
|
||||
debugfs_remove(sc->debug.debugfs_rx_chainmask);
|
||||
@ -116,7 +116,7 @@
|
||||
debugfs_remove(sc->debug.debugfs_wiphy);
|
||||
--- a/drivers/net/wireless/ath/ath9k/debug.h
|
||||
+++ b/drivers/net/wireless/ath/ath9k/debug.h
|
||||
@@ -158,6 +158,9 @@ struct ath9k_debug {
|
||||
@@ -162,6 +162,9 @@ struct ath9k_debug {
|
||||
struct dentry *debugfs_wiphy;
|
||||
struct dentry *debugfs_xmit;
|
||||
struct dentry *debugfs_recv;
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/drivers/net/wireless/ath/ath9k/init.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/init.c
|
||||
@@ -655,7 +655,11 @@ void ath9k_set_hw_capab(struct ath_softc
|
||||
@@ -663,7 +663,11 @@ void ath9k_set_hw_capab(struct ath_softc
|
||||
hw->sta_data_size = sizeof(struct ath_node);
|
||||
hw->vif_data_size = sizeof(struct ath_vif);
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/hw.c
|
||||
@@ -1911,6 +1911,34 @@ static void ath9k_enable_rfkill(struct a
|
||||
REG_SET_BIT(ah, AR_PHY_TEST, RFSILENT_BB);
|
||||
@@ -1131,6 +1131,34 @@ static bool ath9k_hw_channel_change(stru
|
||||
return true;
|
||||
}
|
||||
|
||||
+bool ath9k_hw_check_alive(struct ath_hw *ah)
|
||||
@ -37,7 +37,7 @@
|
||||
{
|
||||
--- a/drivers/net/wireless/ath/ath9k/hw.h
|
||||
+++ b/drivers/net/wireless/ath/ath9k/hw.h
|
||||
@@ -679,6 +679,7 @@ void ath9k_hw_set11nmac2040(struct ath_h
|
||||
@@ -846,6 +846,7 @@ void ath9k_hw_set11nmac2040(struct ath_h
|
||||
void ath9k_hw_beaconinit(struct ath_hw *ah, u32 next_beacon, u32 beacon_period);
|
||||
void ath9k_hw_set_sta_beacon_timers(struct ath_hw *ah,
|
||||
const struct ath9k_beacon_state *bs);
|
||||
@ -47,7 +47,7 @@
|
||||
|
||||
--- a/drivers/net/wireless/ath/ath9k/main.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/main.c
|
||||
@@ -405,7 +405,8 @@ void ath9k_tasklet(unsigned long data)
|
||||
@@ -406,7 +406,8 @@ void ath9k_tasklet(unsigned long data)
|
||||
|
||||
ath9k_ps_wakeup(sc);
|
||||
|
||||
|
114
package/mac80211/patches/560-ath9k_tx_buf_return_cleanup.patch
Normal file
114
package/mac80211/patches/560-ath9k_tx_buf_return_cleanup.patch
Normal file
@ -0,0 +1,114 @@
|
||||
--- a/drivers/net/wireless/ath/ath9k/xmit.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/xmit.c
|
||||
@@ -260,19 +260,40 @@ static void ath_tx_set_retry(struct ath_
|
||||
hdr->frame_control |= cpu_to_le16(IEEE80211_FCTL_RETRY);
|
||||
}
|
||||
|
||||
-static struct ath_buf* ath_clone_txbuf(struct ath_softc *sc, struct ath_buf *bf)
|
||||
+static struct ath_buf *ath_tx_get_buffer(struct ath_softc *sc)
|
||||
{
|
||||
- struct ath_buf *tbf;
|
||||
+ struct ath_buf *bf = NULL;
|
||||
|
||||
spin_lock_bh(&sc->tx.txbuflock);
|
||||
- if (WARN_ON(list_empty(&sc->tx.txbuf))) {
|
||||
+
|
||||
+ if (unlikely(list_empty(&sc->tx.txbuf))) {
|
||||
spin_unlock_bh(&sc->tx.txbuflock);
|
||||
return NULL;
|
||||
}
|
||||
- tbf = list_first_entry(&sc->tx.txbuf, struct ath_buf, list);
|
||||
- list_del(&tbf->list);
|
||||
+
|
||||
+ bf = list_first_entry(&sc->tx.txbuf, struct ath_buf, list);
|
||||
+ list_del(&bf->list);
|
||||
+
|
||||
spin_unlock_bh(&sc->tx.txbuflock);
|
||||
|
||||
+ return bf;
|
||||
+}
|
||||
+
|
||||
+static void ath_tx_return_buffer(struct ath_softc *sc, struct ath_buf *bf)
|
||||
+{
|
||||
+ spin_lock_bh(&sc->tx.txbuflock);
|
||||
+ list_add_tail(&bf->list, &sc->tx.txbuf);
|
||||
+ spin_unlock_bh(&sc->tx.txbuflock);
|
||||
+}
|
||||
+
|
||||
+static struct ath_buf* ath_clone_txbuf(struct ath_softc *sc, struct ath_buf *bf)
|
||||
+{
|
||||
+ struct ath_buf *tbf;
|
||||
+
|
||||
+ tbf = ath_tx_get_buffer(sc);
|
||||
+ if (WARN_ON(!tbf))
|
||||
+ return NULL;
|
||||
+
|
||||
ATH_TXBUF_RESET(tbf);
|
||||
|
||||
tbf->aphy = bf->aphy;
|
||||
@@ -1084,9 +1105,7 @@ void ath_draintxq(struct ath_softc *sc,
|
||||
list_del(&bf->list);
|
||||
spin_unlock_bh(&txq->axq_lock);
|
||||
|
||||
- spin_lock_bh(&sc->tx.txbuflock);
|
||||
- list_add_tail(&bf->list, &sc->tx.txbuf);
|
||||
- spin_unlock_bh(&sc->tx.txbuflock);
|
||||
+ ath_tx_return_buffer(sc, bf);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@@ -1306,25 +1325,6 @@ static void ath_tx_txqaddbuf(struct ath_
|
||||
txq->axq_depth++;
|
||||
}
|
||||
|
||||
-static struct ath_buf *ath_tx_get_buffer(struct ath_softc *sc)
|
||||
-{
|
||||
- struct ath_buf *bf = NULL;
|
||||
-
|
||||
- spin_lock_bh(&sc->tx.txbuflock);
|
||||
-
|
||||
- if (unlikely(list_empty(&sc->tx.txbuf))) {
|
||||
- spin_unlock_bh(&sc->tx.txbuflock);
|
||||
- return NULL;
|
||||
- }
|
||||
-
|
||||
- bf = list_first_entry(&sc->tx.txbuf, struct ath_buf, list);
|
||||
- list_del(&bf->list);
|
||||
-
|
||||
- spin_unlock_bh(&sc->tx.txbuflock);
|
||||
-
|
||||
- return bf;
|
||||
-}
|
||||
-
|
||||
static void ath_tx_send_ampdu(struct ath_softc *sc, struct ath_atx_tid *tid,
|
||||
struct list_head *bf_head,
|
||||
struct ath_tx_control *txctl)
|
||||
@@ -1806,9 +1806,7 @@ int ath_tx_start(struct ieee80211_hw *hw
|
||||
}
|
||||
spin_unlock_bh(&txq->axq_lock);
|
||||
|
||||
- spin_lock_bh(&sc->tx.txbuflock);
|
||||
- list_add_tail(&bf->list, &sc->tx.txbuf);
|
||||
- spin_unlock_bh(&sc->tx.txbuflock);
|
||||
+ ath_tx_return_buffer(sc, bf);
|
||||
|
||||
return r;
|
||||
}
|
||||
@@ -2122,13 +2120,12 @@ static void ath_tx_processq(struct ath_s
|
||||
txq->axq_depth--;
|
||||
txok = !(ts.ts_status & ATH9K_TXERR_MASK);
|
||||
txq->axq_tx_inprogress = false;
|
||||
+ if (bf_held)
|
||||
+ list_del(&bf_held->list);
|
||||
spin_unlock_bh(&txq->axq_lock);
|
||||
|
||||
- if (bf_held) {
|
||||
- spin_lock_bh(&sc->tx.txbuflock);
|
||||
- list_move_tail(&bf_held->list, &sc->tx.txbuf);
|
||||
- spin_unlock_bh(&sc->tx.txbuflock);
|
||||
- }
|
||||
+ if (bf_held)
|
||||
+ ath_tx_return_buffer(sc, bf_held);
|
||||
|
||||
if (!bf_isampdu(bf)) {
|
||||
/*
|
@ -1,6 +1,6 @@
|
||||
--- a/drivers/net/wireless/rt2x00/rt2x00pci.c
|
||||
+++ b/drivers/net/wireless/rt2x00/rt2x00pci.c
|
||||
@@ -223,6 +223,7 @@ void rt2x00pci_uninitialize(struct rt2x0
|
||||
@@ -224,6 +224,7 @@ void rt2x00pci_uninitialize(struct rt2x0
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(rt2x00pci_uninitialize);
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
/*
|
||||
* PCI driver handlers.
|
||||
*/
|
||||
@@ -397,6 +398,7 @@ int rt2x00pci_resume(struct pci_dev *pci
|
||||
@@ -398,6 +399,7 @@ int rt2x00pci_resume(struct pci_dev *pci
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(rt2x00pci_resume);
|
||||
#endif /* CONFIG_PM */
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/drivers/net/wireless/rt2x00/rt2x00pci.c
|
||||
+++ b/drivers/net/wireless/rt2x00/rt2x00pci.c
|
||||
@@ -213,7 +213,7 @@ void rt2x00pci_uninitialize(struct rt2x0
|
||||
@@ -214,7 +214,7 @@ void rt2x00pci_uninitialize(struct rt2x0
|
||||
/*
|
||||
* Free irq line.
|
||||
*/
|
||||
|
@ -1,59 +1,29 @@
|
||||
From f18d4463d092162f34a8bd226505627ceeac3e8a Mon Sep 17 00:00:00 2001
|
||||
From: Luis Correia <luis.f.correia@gmail.com>
|
||||
Date: Sat, 3 Apr 2010 12:49:53 +0100
|
||||
Subject: [PATCH] rt2x00: remove MCU requests for SoC platforms
|
||||
|
||||
The ralink SoC platforms do not have an MCU.
|
||||
|
||||
Signed-off-by: Luis Correia <luis.f.correia@gmail.com>
|
||||
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
|
||||
Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
|
||||
---
|
||||
drivers/net/wireless/rt2x00/rt2800pci.c | 6 ++++++
|
||||
1 files changed, 6 insertions(+), 0 deletions(-)
|
||||
|
||||
--- a/drivers/net/wireless/rt2x00/rt2800lib.c
|
||||
+++ b/drivers/net/wireless/rt2x00/rt2800lib.c
|
||||
@@ -221,9 +221,9 @@ void rt2800_mcu_request(struct rt2x00_de
|
||||
u32 reg;
|
||||
|
||||
/*
|
||||
- * SOC devices don't support MCU requests.
|
||||
+ * some devices don't support MCU requests.
|
||||
*/
|
||||
- if (rt2x00_is_soc(rt2x00dev))
|
||||
+ if (!test_bit(DRIVER_REQUIRE_MCU, &rt2x00dev->flags))
|
||||
return;
|
||||
|
||||
mutex_lock(&rt2x00dev->csr_mutex);
|
||||
--- a/drivers/net/wireless/rt2x00/rt2800pci.c
|
||||
+++ b/drivers/net/wireless/rt2x00/rt2800pci.c
|
||||
@@ -60,6 +60,12 @@ static void rt2800pci_mcu_status(struct
|
||||
unsigned int i;
|
||||
u32 reg;
|
||||
@@ -66,6 +66,12 @@ static void rt2800pci_mcu_status(struct
|
||||
if (rt2x00_is_soc(rt2x00dev))
|
||||
return;
|
||||
|
||||
+ /*
|
||||
+ * some devices don't support MCU requests.
|
||||
+ * SOC devices don't support MCU requests.
|
||||
+ */
|
||||
+ if (!test_bit(DRIVER_REQUIRE_MCU, &rt2x00dev->flags))
|
||||
+ if (rt2x00_is_soc(rt2x00dev))
|
||||
+ return;
|
||||
+
|
||||
for (i = 0; i < 200; i++) {
|
||||
rt2800_register_read(rt2x00dev, H2M_MAILBOX_CID, ®);
|
||||
|
||||
@@ -1098,10 +1104,12 @@ static int rt2800pci_probe_hw(struct rt2
|
||||
__set_bit(DRIVER_SUPPORT_CONTROL_FILTER_PSPOLL, &rt2x00dev->flags);
|
||||
|
||||
/*
|
||||
- * This device requires firmware.
|
||||
+ * This device requires firmware and MCU access.
|
||||
*/
|
||||
- if (!rt2x00_is_soc(rt2x00dev))
|
||||
+ if (!rt2x00_is_soc(rt2x00dev)){
|
||||
__set_bit(DRIVER_REQUIRE_FIRMWARE, &rt2x00dev->flags);
|
||||
+ __set_bit(DRIVER_REQUIRE_MCU, &rt2x00dev->flags);
|
||||
+ }
|
||||
__set_bit(DRIVER_REQUIRE_DMA, &rt2x00dev->flags);
|
||||
__set_bit(DRIVER_REQUIRE_L2PAD, &rt2x00dev->flags);
|
||||
if (!modparam_nohwcrypt)
|
||||
--- a/drivers/net/wireless/rt2x00/rt2x00.h
|
||||
+++ b/drivers/net/wireless/rt2x00/rt2x00.h
|
||||
@@ -631,6 +631,7 @@ enum rt2x00_flags {
|
||||
* Driver requirements
|
||||
*/
|
||||
DRIVER_REQUIRE_FIRMWARE,
|
||||
+ DRIVER_REQUIRE_MCU,
|
||||
DRIVER_REQUIRE_BEACON_GUARD,
|
||||
DRIVER_REQUIRE_ATIM_QUEUE,
|
||||
DRIVER_REQUIRE_DMA,
|
||||
|
@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk
|
||||
PKG_NAME:=opkg
|
||||
PKG_REV:=513
|
||||
PKG_VERSION:=$(PKG_REV)
|
||||
PKG_RELEASE:=1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE_PROTO:=svn
|
||||
PKG_SOURCE_VERSION:=$(PKG_REV)
|
||||
|
15
package/opkg/patches/000-upstream-fix_configure_order.patch
Normal file
15
package/opkg/patches/000-upstream-fix_configure_order.patch
Normal file
@ -0,0 +1,15 @@
|
||||
http://code.google.com/p/opkg/source/detail?r=521
|
||||
|
||||
--- a/libopkg/opkg_cmd.c
|
||||
+++ b/libopkg/opkg_cmd.c
|
||||
@@ -390,8 +390,8 @@ opkg_configure_packages(char *pkg_name)
|
||||
goto error;
|
||||
}
|
||||
|
||||
- for(i = 0; i < all->len; i++) {
|
||||
- pkg = all->pkgs[i];
|
||||
+ for(i = 0; i < ordered->len; i++) {
|
||||
+ pkg = ordered->pkgs[i];
|
||||
|
||||
if (pkg_name && fnmatch(pkg_name, pkg->name, 0))
|
||||
continue;
|
@ -24,6 +24,7 @@ TARGET_CPPFLAGS := \
|
||||
-D_GNU_SOURCE \
|
||||
-I$(STAGING_DIR)/usr/include/libnl-tiny \
|
||||
-I$(LINUX_DIR)/include \
|
||||
-I$(LINUX_DIR)/arch/$(LINUX_KARCH)/include \
|
||||
-I$(PKG_BUILD_DIR) \
|
||||
$(TARGET_CPPFLAGS)
|
||||
|
||||
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=kmod-switch
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=3
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
|
@ -15,6 +15,12 @@ setup_switch_hw() {
|
||||
echo "$evlan" > "$proc/enable_vlan"
|
||||
[ -f "$proc/enable" ] && echo "$enable" > "$proc/enable"
|
||||
}
|
||||
|
||||
local vlan
|
||||
for vlan in `seq 0 15`; do
|
||||
proc="/proc/switch/$dev/vlan/$vlan/ports"
|
||||
[ -f "$proc" ] && echo "" > "$proc"
|
||||
done
|
||||
}
|
||||
|
||||
setup_switch_vlan() {
|
||||
|
@ -9,8 +9,9 @@ include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=u-boot
|
||||
PKG_VERSION:=2009.11.1
|
||||
PKG_MD5SUM:=6086421c9e2f3a0d0dbc5f706b551dbc
|
||||
|
||||
PKG_VERSION:=2010.03
|
||||
PKG_MD5SUM:=2bf5ebf497dddc52440b1ea386cc1332
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
@ -7,9 +7,10 @@ $ make -s V=1
|
||||
[CC] tools/img2srec.c
|
||||
[CC] tools/bmp_logo.c
|
||||
[CC] examples/hello_world.c
|
||||
|
||||
--- a/config.mk
|
||||
+++ b/config.mk
|
||||
@@ -206,17 +206,42 @@ export TEXT_BASE PLATFORM_CPPFLAGS PLATF
|
||||
@@ -234,17 +234,42 @@ export TEXT_BASE PLATFORM_CPPFLAGS PLATF
|
||||
|
||||
#########################################################################
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/MAKEALL
|
||||
+++ b/MAKEALL
|
||||
@@ -709,6 +709,12 @@ LIST_arm=" \
|
||||
@@ -730,6 +730,12 @@ LIST_arm=" \
|
||||
## MIPS Systems (default = big endian)
|
||||
#########################################################################
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
LIST_mips4kc=" \
|
||||
incaip \
|
||||
qemu_mips \
|
||||
@@ -740,6 +746,7 @@ LIST_au1xx0=" \
|
||||
@@ -761,6 +767,7 @@ LIST_au1xx0=" \
|
||||
"
|
||||
|
||||
LIST_mips=" \
|
||||
@ -23,7 +23,7 @@
|
||||
${LIST_au1xx0} \
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -474,7 +474,7 @@ $(obj)include/autoconf.mk: $(obj)include
|
||||
@@ -447,7 +447,7 @@ $(obj)include/autoconf.mk: $(obj)include
|
||||
set -e ; \
|
||||
: Extract the config macros ; \
|
||||
$(CPP) $(CFLAGS) -DDO_DEPS_ONLY -dM include/common.h | \
|
||||
@ -32,7 +32,7 @@
|
||||
mv $@.tmp $@
|
||||
|
||||
#########################################################################
|
||||
@@ -3354,7 +3354,7 @@ incaip_config: unconfig
|
||||
@@ -3370,7 +3370,7 @@ incaip_config: unconfig
|
||||
{ echo "#define CPU_CLOCK_RATE 150000000" >>$(obj)include/config.h ; \
|
||||
$(XECHO) "... with 150MHz system clock" ; \
|
||||
}
|
||||
@ -41,7 +41,7 @@
|
||||
|
||||
tb0229_config: unconfig
|
||||
@$(MKCONFIG) $(@:_config=) mips mips tb0229
|
||||
@@ -3395,6 +3395,50 @@ vct_platinumavc_onenand_small_config: un
|
||||
@@ -3411,6 +3411,50 @@ vct_platinumavc_onenand_small_config: un
|
||||
@$(MKCONFIG) -a vct mips mips vct micronas
|
||||
|
||||
#########################################################################
|
||||
@ -92,6 +92,16 @@
|
||||
## MIPS32 AU1X00
|
||||
#########################################################################
|
||||
|
||||
--- a/drivers/net/Makefile
|
||||
+++ b/drivers/net/Makefile
|
||||
@@ -43,6 +43,7 @@ COBJS-$(CONFIG_FEC_MXC) += fec_mxc.o
|
||||
COBJS-$(CONFIG_FSLDMAFEC) += fsl_mcdmafec.o mcfmii.o
|
||||
COBJS-$(CONFIG_FTMAC100) += ftmac100.o
|
||||
COBJS-$(CONFIG_GRETH) += greth.o
|
||||
+COBJS-$(CONFIG_IFX_ETOP) += ifx_etop.o
|
||||
COBJS-$(CONFIG_INCA_IP_SWITCH) += inca-ip_sw.o
|
||||
COBJS-$(CONFIG_KIRKWOOD_EGIGA) += kirkwood_egiga.o
|
||||
COBJS-$(CONFIG_DRIVER_KS8695ETH) += ks8695eth.o
|
||||
--- a/drivers/serial/Makefile
|
||||
+++ b/drivers/serial/Makefile
|
||||
@@ -28,6 +28,7 @@ LIB := $(obj)libserial.a
|
||||
@ -102,27 +112,17 @@
|
||||
COBJS-$(CONFIG_MCFUART) += mcfuart.o
|
||||
COBJS-$(CONFIG_NS9750_UART) += ns9750_serial.o
|
||||
COBJS-$(CONFIG_SYS_NS16550) += ns16550.o
|
||||
--- a/drivers/net/Makefile
|
||||
+++ b/drivers/net/Makefile
|
||||
@@ -41,6 +41,7 @@ COBJS-$(CONFIG_FEC_MXC) += fec_mxc.o
|
||||
COBJS-$(CONFIG_FSLDMAFEC) += fsl_mcdmafec.o mcfmii.o
|
||||
COBJS-$(CONFIG_FTMAC100) += ftmac100.o
|
||||
COBJS-$(CONFIG_GRETH) += greth.o
|
||||
+COBJS-$(CONFIG_IFX_ETOP) += ifx_etop.o
|
||||
COBJS-$(CONFIG_INCA_IP_SWITCH) += inca-ip_sw.o
|
||||
COBJS-$(CONFIG_KIRKWOOD_EGIGA) += kirkwood_egiga.o
|
||||
COBJS-$(CONFIG_DRIVER_KS8695ETH) += ks8695eth.o
|
||||
--- a/include/netdev.h
|
||||
+++ b/include/netdev.h
|
||||
@@ -55,6 +55,7 @@ int fecmxc_initialize (bd_t *bis);
|
||||
@@ -57,6 +57,7 @@ int fecmxc_initialize (bd_t *bis);
|
||||
int ftmac100_initialize(bd_t *bits);
|
||||
int greth_initialize(bd_t *bis);
|
||||
void gt6426x_eth_initialize(bd_t *bis);
|
||||
+int ifx_etop_initialize(bd_t *bis);
|
||||
int inca_switch_initialize(bd_t *bis);
|
||||
int kirkwood_egiga_initialize(bd_t *bis);
|
||||
int macb_eth_initialize(int id, void *regs, unsigned int phy_addr);
|
||||
@@ -82,6 +83,7 @@ int uec_standard_init(bd_t *bis);
|
||||
int lan91c96_initialize(u8 dev_num, int base_addr);
|
||||
@@ -85,6 +86,7 @@ int uec_standard_init(bd_t *bis);
|
||||
int uli526x_initialize(bd_t *bis);
|
||||
int sh_eth_initialize(bd_t *bis);
|
||||
int dm9000_initialize(bd_t *bis);
|
||||
|
@ -1,7 +1,5 @@
|
||||
Index: u-boot-2009.11.1/common/env_common.c
|
||||
===================================================================
|
||||
--- u-boot-2009.11.1.orig/common/env_common.c 2010-01-25 09:35:12.000000000 +0100
|
||||
+++ u-boot-2009.11.1/common/env_common.c 2010-03-29 13:20:50.000000000 +0200
|
||||
--- a/common/env_common.c
|
||||
+++ b/common/env_common.c
|
||||
@@ -26,6 +26,7 @@
|
||||
|
||||
#include <common.h>
|
||||
@ -10,10 +8,8 @@ Index: u-boot-2009.11.1/common/env_common.c
|
||||
#include <environment.h>
|
||||
#include <linux/stddef.h>
|
||||
#include <malloc.h>
|
||||
Index: u-boot-2009.11.1/common/env_embedded.c
|
||||
===================================================================
|
||||
--- u-boot-2009.11.1.orig/common/env_embedded.c 2010-03-29 13:22:19.000000000 +0200
|
||||
+++ u-boot-2009.11.1/common/env_embedded.c 2010-03-29 13:22:29.000000000 +0200
|
||||
--- a/common/env_embedded.c
|
||||
+++ b/common/env_embedded.c
|
||||
@@ -27,6 +27,7 @@
|
||||
#define __ASM_STUB_PROCESSOR_H__ /* don't include asm/processor. */
|
||||
#include <config.h>
|
||||
|
File diff suppressed because it is too large
Load Diff
530
package/uboot-lantiq/patches/310-fix-httpd.patch
Normal file
530
package/uboot-lantiq/patches/310-fix-httpd.patch
Normal file
@ -0,0 +1,530 @@
|
||||
--- a/board/infineon/easy50712/danube.c
|
||||
+++ b/board/infineon/easy50712/danube.c
|
||||
@@ -354,7 +354,7 @@ int do_http_upgrade(const unsigned char
|
||||
}
|
||||
/* write the image to the flash */
|
||||
puts("http ugrade ...\n");
|
||||
- sprintf(buf, "era ${kernel_addr} +0x%x; cp.b ${ram_addr} ${kernel_addr} 0x%x", size, size);
|
||||
+ sprintf(buf, "era ${kernel_addr} +0x%lx; cp.b ${ram_addr} ${kernel_addr} 0x%lx", size, size);
|
||||
return run_command(buf, 0);
|
||||
}
|
||||
|
||||
--- a/common/main.c
|
||||
+++ b/common/main.c
|
||||
@@ -273,6 +273,10 @@ static __inline__ int abortboot(int boot
|
||||
|
||||
void main_loop (void)
|
||||
{
|
||||
+#ifdef CONFIG_CMD_HTTPD
|
||||
+ int ret;
|
||||
+#endif
|
||||
+
|
||||
#ifndef CONFIG_SYS_HUSH_PARSER
|
||||
static char lastcommand[CONFIG_SYS_CBSIZE] = { 0, };
|
||||
int len;
|
||||
@@ -403,12 +407,22 @@ void main_loop (void)
|
||||
# endif
|
||||
|
||||
# ifndef CONFIG_SYS_HUSH_PARSER
|
||||
- run_command (s, 0);
|
||||
+ ret = run_command (s, 0);
|
||||
# else
|
||||
- parse_string_outer(s, FLAG_PARSE_SEMICOLON |
|
||||
+ ret = parse_string_outer(s, FLAG_PARSE_SEMICOLON |
|
||||
FLAG_EXIT_FROM_LOOP);
|
||||
# endif
|
||||
|
||||
+# ifdef CONFIG_CMD_HTTPD
|
||||
+ if (ret < 0) {
|
||||
+ printf("Failed to execute bootcmd "
|
||||
+ "(maybe invalid u-boot environment?), "
|
||||
+ "starting httpd to update firmware...\n");
|
||||
+ NetLoopHttpd();
|
||||
+ }
|
||||
+# endif
|
||||
+
|
||||
+
|
||||
# ifdef CONFIG_AUTOBOOT_KEYED
|
||||
disable_ctrlc(prev); /* restore Control C checking */
|
||||
# endif
|
||||
--- a/include/configs/easy50712.h
|
||||
+++ b/include/configs/easy50712.h
|
||||
@@ -114,4 +114,7 @@
|
||||
|
||||
#define CONFIG_CMD_HTTPD /* enable upgrade via HTTPD */
|
||||
|
||||
+#define CONFIG_IPADDR 192.168.0.119
|
||||
+#define CONFIG_ETHADDR 00:01:02:03:04:05
|
||||
+
|
||||
#endif /* __CONFIG_H */
|
||||
--- a/lib_mips/time.c
|
||||
+++ b/lib_mips/time.c
|
||||
@@ -29,6 +29,8 @@ static unsigned long timestamp;
|
||||
/* how many counter cycles in a jiffy */
|
||||
#define CYCLES_PER_JIFFY (CONFIG_SYS_MIPS_TIMER_FREQ + CONFIG_SYS_HZ / 2) / CONFIG_SYS_HZ
|
||||
|
||||
+unsigned long ifx_get_cpuclk(void);
|
||||
+
|
||||
/*
|
||||
* timer without interrupts
|
||||
*/
|
||||
--- a/net/httpd.c
|
||||
+++ b/net/httpd.c
|
||||
@@ -35,12 +35,14 @@ HttpdHandler (void)
|
||||
}
|
||||
}
|
||||
|
||||
+#if 0
|
||||
static void
|
||||
HttpdTimeout (void)
|
||||
{
|
||||
puts ("T ");
|
||||
NetSetTimeout (TIMEOUT * 1000, HttpdTimeout);
|
||||
}
|
||||
+#endif
|
||||
|
||||
void
|
||||
HttpdStart (void)
|
||||
--- a/net/net.c
|
||||
+++ b/net/net.c
|
||||
@@ -1966,7 +1966,7 @@ NetSendHttpd(void)
|
||||
void
|
||||
NetReceiveHttpd(volatile uchar * inpkt, int len)
|
||||
{
|
||||
- memcpy(uip_buf, inpkt, len);
|
||||
+ memcpy(uip_buf, (const void *)inpkt, len);
|
||||
uip_len = len;
|
||||
if(BUF->type == htons(UIP_ETHTYPE_IP)) {
|
||||
uip_arp_ipin();
|
||||
@@ -1989,6 +1989,7 @@ NetLoopHttpd(void)
|
||||
unsigned long long tout = 0;
|
||||
bd_t *bd = gd->bd;
|
||||
unsigned short int ip[2];
|
||||
+ struct uip_eth_addr eaddr;
|
||||
|
||||
#ifdef CONFIG_NET_MULTI
|
||||
NetRestarted = 0;
|
||||
@@ -2039,6 +2040,15 @@ restart:
|
||||
eth_getenv_enetaddr("ethaddr", NetOurEther);
|
||||
#endif
|
||||
|
||||
+ eaddr.addr[0] = NetOurEther[0];
|
||||
+ eaddr.addr[1] = NetOurEther[1];
|
||||
+ eaddr.addr[2] = NetOurEther[2];
|
||||
+ eaddr.addr[3] = NetOurEther[3];
|
||||
+ eaddr.addr[4] = NetOurEther[4];
|
||||
+ eaddr.addr[5] = NetOurEther[5];
|
||||
+
|
||||
+ uip_setethaddr(eaddr);
|
||||
+
|
||||
NetCopyIP(&NetOurIP, &bd->bi_ip_addr);
|
||||
NetOurGatewayIP = getenv_IPaddr ("gatewayip");
|
||||
NetOurSubnetMask= getenv_IPaddr ("netmask");
|
||||
@@ -2072,6 +2082,14 @@ restart:
|
||||
tout = t1;
|
||||
}
|
||||
}
|
||||
+
|
||||
+ if (ctrlc()) {
|
||||
+ eth_halt();
|
||||
+ puts ("\nAbort\n");
|
||||
+ return (-1);
|
||||
+ }
|
||||
+
|
||||
+
|
||||
if(!httpd_upload_complete)
|
||||
continue;
|
||||
printf("Bytes transferred = %ld (%lx hex)\n",
|
||||
--- a/net/uip-0.9/fsdata.c
|
||||
+++ b/net/uip-0.9/fsdata.c
|
||||
@@ -1,199 +1,108 @@
|
||||
-static const char data_flashing_html[] = {
|
||||
- /* /flashing.html */
|
||||
- 0x2f, 0x66, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,
|
||||
- 0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x32,
|
||||
- 0x30, 0x30, 0x20, 0x4f, 0x4b, 0xd, 0xa, 0x53, 0x65, 0x72,
|
||||
- 0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, 0x2f, 0x30,
|
||||
- 0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,
|
||||
- 0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, 0x2e, 0x63,
|
||||
- 0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f, 0x75, 0x69,
|
||||
- 0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x65,
|
||||
- 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x74,
|
||||
- 0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0xd, 0xa,
|
||||
- 0xd, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x3c, 0x62,
|
||||
- 0x6f, 0x64, 0x79, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d,
|
||||
- 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x3a, 0x20, 0x30,
|
||||
- 0x70, 0x74, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x3b, 0x20, 0x68,
|
||||
- 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x31, 0x30, 0x30, 0x25,
|
||||
- 0x3b, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x20, 0x23,
|
||||
- 0x66, 0x66, 0x66, 0x3b, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x67,
|
||||
- 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d, 0x63, 0x6f, 0x6c, 0x6f,
|
||||
- 0x72, 0x3a, 0x20, 0x23, 0x66, 0x62, 0x62, 0x30, 0x33, 0x34,
|
||||
- 0x3b, 0x22, 0x3e, 0x3c, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72,
|
||||
- 0x3e, 0x3c, 0x68, 0x31, 0x3e, 0x55, 0x70, 0x67, 0x72, 0x61,
|
||||
- 0x64, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65,
|
||||
- 0x6d, 0x20, 0x2e, 0x2e, 0x2e, 0x2e, 0x3c, 0x2f, 0x68, 0x31,
|
||||
- 0x3e, 0x3c, 0x2f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3e,
|
||||
- 0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x3c, 0x2f, 0x68,
|
||||
- 0x74, 0x6d, 0x6c, 0x3e, 0xa, };
|
||||
-
|
||||
-static const char data_fail_html[] = {
|
||||
- /* /fail.html */
|
||||
- 0x2f, 0x66, 0x61, 0x69, 0x6c, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,
|
||||
- 0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x32,
|
||||
- 0x30, 0x30, 0x20, 0x4f, 0x4b, 0xd, 0xa, 0x53, 0x65, 0x72,
|
||||
- 0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, 0x2f, 0x30,
|
||||
- 0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,
|
||||
- 0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, 0x2e, 0x63,
|
||||
- 0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f, 0x75, 0x69,
|
||||
- 0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x65,
|
||||
- 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x74,
|
||||
- 0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0xd, 0xa,
|
||||
- 0xd, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xa, 0x9,
|
||||
- 0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, 0xa, 0x9, 0x9, 0x3c,
|
||||
- 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0xa, 0x9, 0x9, 0x9,
|
||||
- 0x4c, 0x61, 0x46, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x20, 0x46,
|
||||
- 0x61, 0x69, 0x6c, 0x73, 0x61, 0x66, 0x65, 0x20, 0x55, 0x49,
|
||||
- 0xa, 0x9, 0x9, 0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65,
|
||||
- 0x3e, 0xa, 0x9, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0xa,
|
||||
- 0x9, 0x9, 0x3c, 0x68, 0x31, 0x3e, 0x46, 0x6c, 0x61, 0x73,
|
||||
- 0x68, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65,
|
||||
- 0x64, 0x3c, 0x2f, 0x68, 0x31, 0x3e, 0xa, 0x9, 0x9, 0x45,
|
||||
- 0x52, 0x52, 0x4f, 0x52, 0x20, 0x2d, 0x20, 0x74, 0x68, 0x65,
|
||||
- 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x20, 0x79, 0x6f, 0x75,
|
||||
- 0x20, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x20,
|
||||
- 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20,
|
||||
- 0x70, 0x61, 0x73, 0x73, 0x20, 0x76, 0x65, 0x72, 0x69, 0x66,
|
||||
- 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x50,
|
||||
- 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x6d, 0x61, 0x6b, 0x65,
|
||||
- 0x20, 0x73, 0x75, 0x72, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x75,
|
||||
- 0x73, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x66, 0x66, 0x69,
|
||||
- 0x63, 0x69, 0x61, 0x6c, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74,
|
||||
- 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64,
|
||||
- 0x20, 0x62, 0x79, 0x20, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,
|
||||
- 0x2f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x2e,
|
||||
- 0x66, 0x6f, 0x6e, 0x6f, 0x73, 0x66, 0x65, 0x72, 0x61, 0x2e,
|
||||
- 0x6f, 0x72, 0x67, 0x2f, 0xa, 0x9, 0x3c, 0x2f, 0x62, 0x6f,
|
||||
- 0x64, 0x79, 0x3e, 0xa, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c,
|
||||
- 0x3e, 0xa, };
|
||||
-
|
||||
-static const char data_404_html[] = {
|
||||
- /* /404.html */
|
||||
- 0x2f, 0x34, 0x30, 0x34, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,
|
||||
- 0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x34,
|
||||
- 0x30, 0x34, 0x20, 0x46, 0x69, 0x6c, 0x65, 0x20, 0x6e, 0x6f,
|
||||
- 0x74, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0xd, 0xa, 0x53,
|
||||
- 0x65, 0x72, 0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50,
|
||||
- 0x2f, 0x30, 0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70,
|
||||
- 0x3a, 0x2f, 0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73,
|
||||
- 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f,
|
||||
- 0x75, 0x69, 0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e,
|
||||
- 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a,
|
||||
- 0x20, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c,
|
||||
- 0xd, 0xa, 0xd, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e,
|
||||
- 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6f,
|
||||
- 0x6c, 0x6f, 0x72, 0x3d, 0x22, 0x77, 0x68, 0x69, 0x74, 0x65,
|
||||
- 0x22, 0x3e, 0x3c, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3e,
|
||||
- 0x3c, 0x68, 0x31, 0x3e, 0x34, 0x30, 0x34, 0x20, 0x2d, 0x20,
|
||||
- 0x66, 0x69, 0x6c, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x66,
|
||||
- 0x6f, 0x75, 0x6e, 0x64, 0x3c, 0x2f, 0x68, 0x31, 0x3e, 0x3c,
|
||||
- 0x2f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3e, 0x3c, 0x2f,
|
||||
- 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x3c, 0x2f, 0x68, 0x74, 0x6d,
|
||||
- 0x6c, 0x3e, };
|
||||
-
|
||||
-static const char data_index_html[] = {
|
||||
- /* /index.html */
|
||||
- 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,
|
||||
- 0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x32,
|
||||
- 0x30, 0x30, 0x20, 0x4f, 0x4b, 0xd, 0xa, 0x53, 0x65, 0x72,
|
||||
- 0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, 0x2f, 0x30,
|
||||
- 0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,
|
||||
- 0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, 0x2e, 0x63,
|
||||
- 0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f, 0x75, 0x69,
|
||||
- 0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x65,
|
||||
- 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x74,
|
||||
- 0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0xd, 0xa,
|
||||
- 0xd, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xa, 0x9,
|
||||
- 0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, 0xa, 0x9, 0x9, 0x3c,
|
||||
- 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0xa, 0x9, 0x9, 0x9,
|
||||
- 0x4c, 0x61, 0x46, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x20, 0x46,
|
||||
- 0x61, 0x69, 0x6c, 0x73, 0x61, 0x66, 0x65, 0x20, 0x55, 0x49,
|
||||
- 0xa, 0x9, 0x9, 0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65,
|
||||
- 0x3e, 0xa, 0x9, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e,
|
||||
- 0xa, 0x9, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x73, 0x74,
|
||||
- 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69,
|
||||
- 0x6e, 0x3a, 0x20, 0x30, 0x70, 0x74, 0x20, 0x61, 0x75, 0x74,
|
||||
- 0x6f, 0x3b, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a,
|
||||
- 0x31, 0x30, 0x30, 0x25, 0x3b, 0x20, 0x63, 0x6f, 0x6c, 0x6f,
|
||||
- 0x72, 0x3a, 0x20, 0x23, 0x30, 0x30, 0x30, 0x3b, 0x20, 0x62,
|
||||
- 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d,
|
||||
- 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x20, 0x23, 0x66, 0x62,
|
||||
- 0x62, 0x30, 0x33, 0x34, 0x3b, 0x22, 0x3e, 0xa, 0x9, 0x9,
|
||||
- 0x3c, 0x68, 0x31, 0x3e, 0x4c, 0x61, 0x46, 0x6f, 0x6e, 0x65,
|
||||
- 0x72, 0x61, 0x20, 0x46, 0x61, 0x69, 0x6c, 0x73, 0x61, 0x66,
|
||||
- 0x65, 0x20, 0x55, 0x49, 0x3c, 0x2f, 0x68, 0x31, 0x3e, 0xa,
|
||||
- 0x9, 0x9, 0x3c, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6d, 0x65,
|
||||
- 0x74, 0x68, 0x6f, 0x64, 0x3d, 0x22, 0x70, 0x6f, 0x73, 0x74,
|
||||
- 0x22, 0x20, 0x65, 0x6e, 0x63, 0x74, 0x79, 0x70, 0x65, 0x3d,
|
||||
- 0x22, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x61, 0x72, 0x74,
|
||||
- 0x2f, 0x66, 0x6f, 0x72, 0x6d, 0x2d, 0x64, 0x61, 0x74, 0x61,
|
||||
- 0x22, 0x3e, 0xa, 0x9, 0x9, 0x9, 0x3c, 0x69, 0x6e, 0x70,
|
||||
- 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x66, 0x69,
|
||||
- 0x6c, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x69,
|
||||
- 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x3e, 0xa, 0x9, 0x9,
|
||||
- 0x9, 0x3c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79,
|
||||
- 0x70, 0x65, 0x3d, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x3e,
|
||||
- 0xa, 0x9, 0x9, 0x3c, 0x2f, 0x66, 0x6f, 0x72, 0x6d, 0x3e,
|
||||
- 0xa, 0x9, 0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0xa,
|
||||
- 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xa, };
|
||||
-
|
||||
-static const char data_flash_html[] = {
|
||||
- /* /flash.html */
|
||||
- 0x2f, 0x66, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0,
|
||||
- 0x48, 0x54, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x30, 0x20, 0x32,
|
||||
- 0x30, 0x30, 0x20, 0x4f, 0x4b, 0xd, 0xa, 0x53, 0x65, 0x72,
|
||||
- 0x76, 0x65, 0x72, 0x3a, 0x20, 0x75, 0x49, 0x50, 0x2f, 0x30,
|
||||
- 0x2e, 0x39, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,
|
||||
- 0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, 0x2e, 0x63,
|
||||
- 0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f, 0x75, 0x69,
|
||||
- 0x70, 0x2f, 0x29, 0xd, 0xa, 0x43, 0x6f, 0x6e, 0x74, 0x65,
|
||||
- 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x74,
|
||||
- 0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0xd, 0xa,
|
||||
- 0xd, 0xa, 0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0xa, 0x9,
|
||||
- 0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, 0xa, 0x9, 0x9, 0x3c,
|
||||
- 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0xa, 0x9, 0x9, 0x9,
|
||||
- 0x4c, 0x61, 0x46, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x20, 0x46,
|
||||
- 0x61, 0x69, 0x6c, 0x73, 0x61, 0x66, 0x65, 0x20, 0x55, 0x49,
|
||||
- 0xa, 0x9, 0x9, 0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65,
|
||||
- 0x3e, 0xa, 0x9, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e,
|
||||
- 0xa, 0x9, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x73, 0x74,
|
||||
- 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69,
|
||||
- 0x6e, 0x3a, 0x20, 0x30, 0x70, 0x74, 0x20, 0x61, 0x75, 0x74,
|
||||
- 0x6f, 0x3b, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a,
|
||||
- 0x31, 0x30, 0x30, 0x25, 0x3b, 0x20, 0x63, 0x6f, 0x6c, 0x6f,
|
||||
- 0x72, 0x3a, 0x20, 0x23, 0x30, 0x30, 0x30, 0x3b, 0x20, 0x62,
|
||||
- 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d,
|
||||
- 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x20, 0x23, 0x66, 0x62,
|
||||
- 0x62, 0x30, 0x33, 0x34, 0x3b, 0x22, 0x3e, 0xa, 0x9, 0x9,
|
||||
- 0x3c, 0x68, 0x31, 0x3e, 0x46, 0x6c, 0x61, 0x73, 0x68, 0x69,
|
||||
- 0x6e, 0x67, 0x3c, 0x2f, 0x68, 0x31, 0x3e, 0xa, 0x9, 0x9,
|
||||
- 0x54, 0x68, 0x65, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d,
|
||||
- 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x77, 0x20, 0x74, 0x72,
|
||||
- 0x79, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x6c,
|
||||
- 0x61, 0x73, 0x68, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68,
|
||||
- 0x65, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x70,
|
||||
- 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x2c, 0x20, 0x74, 0x68,
|
||||
- 0x65, 0x20, 0x6c, 0x65, 0x64, 0x73, 0x20, 0x77, 0x69, 0x6c,
|
||||
- 0x6c, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x74, 0x6f,
|
||||
- 0x20, 0x62, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0xa, 0xa, 0x9,
|
||||
- 0x9, 0x41, 0x66, 0x74, 0x65, 0x72, 0x20, 0x61, 0x20, 0x73,
|
||||
- 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x6c,
|
||||
- 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68,
|
||||
- 0x65, 0x20, 0x62, 0x6f, 0x78, 0x20, 0x77, 0x69, 0x6c, 0x6c,
|
||||
- 0x20, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0xa, 0x9, 0x3c,
|
||||
- 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0xa, 0x3c, 0x2f, 0x68,
|
||||
- 0x74, 0x6d, 0x6c, 0x3e, 0xa, };
|
||||
-
|
||||
-const struct fsdata_file file_flashing_html[] = {{NULL, data_flashing_html, data_flashing_html + 15, sizeof(data_flashing_html) - 15}};
|
||||
+static const char data_flashing_html[] =
|
||||
+"HTTP/1.0 200 OK\n"
|
||||
+"Server: uIP/0.9 (http://dunkels.com/adam/uip/)\n"
|
||||
+"Content-type: text/html\n"
|
||||
+"\n"
|
||||
+"<html>\n"
|
||||
+"\t<head>\n"
|
||||
+"\t\t<title>\n"
|
||||
+"\t\t\tFailsafe UI\n"
|
||||
+"\t\t</title>\n"
|
||||
+"\t</head>\n"
|
||||
+"\t<body>\n"
|
||||
+"\t\t<center><h1>Upgrading system...</h1></center>\n"
|
||||
+"\t</body>\n"
|
||||
+"</html>\n";
|
||||
+
|
||||
+static const char data_fail_html[] =
|
||||
+"HTTP/1.0 200 OK\n"
|
||||
+"Server: uIP/0.9 (http://dunkels.com/adam/uip/)\n"
|
||||
+"Content-type: text/html\n"
|
||||
+"\n"
|
||||
+"<html>\n"
|
||||
+"\t<head>\n"
|
||||
+"\t\t<title>\n"
|
||||
+"\t\t\tFailsafe UI\n"
|
||||
+"\t\t</title>\n"
|
||||
+"\t</head>\n"
|
||||
+"\t<body>\n"
|
||||
+"\t\t<h1>Flashing failed</h1>\n"
|
||||
+"\t\tERROR - the image you uploaded failed to pass verification.<br>\n"
|
||||
+"\t\tPlease make sure to use an official update provided by http://lantiq.com/\n"
|
||||
+"\t</body>\n"
|
||||
+"</html>\n";
|
||||
+
|
||||
+static const char data_404_html[] =
|
||||
+"HTTP/1.0 404 File not found\n"
|
||||
+"Server: uIP/0.9 (http://dunkels.com/adam/uip/)\n"
|
||||
+"Content-type: text/html\n"
|
||||
+"\n"
|
||||
+"<html>\n"
|
||||
+"\t<head>\n"
|
||||
+"\t\t<title>\n"
|
||||
+"\t\t\tFailsafe UI\n"
|
||||
+"\t\t</title>\n"
|
||||
+"\t</head>\n"
|
||||
+"\t<body>\n"
|
||||
+"\t\t<center><h1>404 - file not found</h1></center>\n"
|
||||
+"\t</body>\n"
|
||||
+"</html>\n";
|
||||
+
|
||||
+static const char data_index_html[] =
|
||||
+"HTTP/1.0 200 OK\n"
|
||||
+"Server: uIP/0.9 (http://dunkels.com/adam/uip/)\n"
|
||||
+"Content-type: text/html\n"
|
||||
+"\n"
|
||||
+"<html>\n"
|
||||
+"\t<head>\n"
|
||||
+"\t\t<title>\n"
|
||||
+"\t\t\tFailsafe UI\n"
|
||||
+"\t\t</title>\n"
|
||||
+"\t</head>\n"
|
||||
+"\t<body>\n"
|
||||
+"\t\t<h1>Failsafe UI</h1>\n"
|
||||
+"\t\t<form method=\"post\" enctype=\"multipart/form-data\">\n"
|
||||
+"\t\t\t<input type=file name=firmware>\n"
|
||||
+"\t\t\t<input type=submit>\n"
|
||||
+"\t\t</form>\n"
|
||||
+"\t</body>\n"
|
||||
+"</html>\n";
|
||||
+
|
||||
+static const char data_flash_html[] =
|
||||
+"HTTP/1.0 200 OK\n"
|
||||
+"Server: uIP/0.9 (http://dunkels.com/adam/uip/)\n"
|
||||
+"Content-type: text/html\n"
|
||||
+"\n"
|
||||
+"<html>\n"
|
||||
+"\t<head>\n"
|
||||
+"\t\t<title>\n"
|
||||
+"\t\t\tFailsafe UI\n"
|
||||
+"\t\t</title>\n"
|
||||
+"\t</head>\n"
|
||||
+"\t<body>\n"
|
||||
+"\t\t<h1>Flashing...</h1>\n"
|
||||
+"\t\tThe system is now trying to flash. If there is a problem, the LEDs will "
|
||||
+"start to blink.<br>\n"
|
||||
+"\n"
|
||||
+"\t\tAfter a successful update the box will reboot\n"
|
||||
+"\t</body>\n"
|
||||
+"</html>\n";
|
||||
+
|
||||
+const struct fsdata_file file_flashing_html[] =
|
||||
+{{NULL, "/flashing.html", data_flashing_html, sizeof(data_flashing_html)}};
|
||||
+
|
||||
+const struct fsdata_file file_fail_html[] =
|
||||
+{{file_flashing_html, "/fail.html", data_fail_html, sizeof(data_fail_html)}};
|
||||
|
||||
-const struct fsdata_file file_fail_html[] = {{file_flashing_html, data_fail_html, data_fail_html + 11, sizeof(data_fail_html) - 11}};
|
||||
+const struct fsdata_file file_404_html[] =
|
||||
+{{file_fail_html, "/404.html", data_404_html, sizeof(data_404_html)}};
|
||||
|
||||
-const struct fsdata_file file_404_html[] = {{file_fail_html, data_404_html, data_404_html + 10, sizeof(data_404_html) - 10}};
|
||||
+const struct fsdata_file file_index_html[] =
|
||||
+{{file_404_html, "/index.html", data_index_html, sizeof(data_index_html)}};
|
||||
|
||||
-const struct fsdata_file file_index_html[] = {{file_404_html, data_index_html, data_index_html + 12, sizeof(data_index_html) - 12}};
|
||||
-
|
||||
-const struct fsdata_file file_flash_html[] = {{file_index_html, data_flash_html, data_flash_html + 12, sizeof(data_flash_html) - 12}};
|
||||
+const struct fsdata_file file_flash_html[] =
|
||||
+{{file_index_html, "/flash.html", data_flash_html, sizeof(data_flash_html)}};
|
||||
|
||||
#define FS_ROOT file_flash_html
|
||||
|
||||
-#define FS_NUMFILES 5
|
||||
\ No newline at end of file
|
||||
+#define FS_NUMFILES 5
|
||||
--- a/net/uip-0.9/httpd.c
|
||||
+++ b/net/uip-0.9/httpd.c
|
||||
@@ -130,7 +130,7 @@ httpd_appcall(void)
|
||||
if(!fs_open((const char *)&uip_appdata[4], &fsfile))
|
||||
{
|
||||
PRINTLN("couldn't open file");
|
||||
- fs_open(file_index_html.name, &fsfile);
|
||||
+ fs_open(file_404_html.name, &fsfile);
|
||||
}
|
||||
}
|
||||
hs->script = 0;
|
||||
@@ -141,7 +141,7 @@ httpd_appcall(void)
|
||||
if(hs->state == HTTP_FIRMWARE)
|
||||
{
|
||||
unsigned char *start = (unsigned char*)uip_appdata;
|
||||
- char *clen = strstr(start, "Content-Length:");
|
||||
+ char *clen = strstr((char *)start, "Content-Length:");
|
||||
int len = 0;
|
||||
unsigned char *next, *end;
|
||||
unsigned char *boundary_start;
|
||||
@@ -150,14 +150,14 @@ httpd_appcall(void)
|
||||
if(clen)
|
||||
{
|
||||
clen += sizeof("Content-Length:");
|
||||
- next = strstr(clen, eol);
|
||||
+ next = (unsigned char *)strstr(clen, eol);
|
||||
if(next)
|
||||
{
|
||||
len = atoi(clen);
|
||||
next++;
|
||||
printf("expecting %d bytes\n", len);
|
||||
upload_data = httpd_upload_data = (unsigned char *)do_http_tmp_address();
|
||||
- printf("received data will be stored at 0x%08X\n", upload_data);
|
||||
+ printf("received data will be stored at %p\n", upload_data);
|
||||
if(!upload_data)
|
||||
{
|
||||
printf("failed to allocate memory\n");
|
||||
@@ -174,14 +174,14 @@ httpd_appcall(void)
|
||||
uip_close();
|
||||
return;
|
||||
}
|
||||
- boundary_start = strstr(next, "---");
|
||||
+ boundary_start = (unsigned char *)strstr((char *)next, "---");
|
||||
if(!boundary_start)
|
||||
{
|
||||
uip_close();
|
||||
return;
|
||||
}
|
||||
- end = strstr(boundary_start, eol);
|
||||
- if(!eol)
|
||||
+ end = (unsigned char *)strstr((char *)boundary_start, eol);
|
||||
+ if(!end)
|
||||
{
|
||||
uip_close();
|
||||
return;
|
||||
@@ -189,13 +189,13 @@ httpd_appcall(void)
|
||||
boundary_len = end - boundary_start;
|
||||
memcpy(boundary, boundary_start, boundary_len);
|
||||
boundary[boundary_len] = 0;
|
||||
- next = strstr(boundary_start, "name=\"firmware\";");
|
||||
+ next = (unsigned char *)strstr((char *)boundary_start, "name=\"firmware\";");
|
||||
if(!next)
|
||||
{
|
||||
uip_close();
|
||||
return;
|
||||
}
|
||||
- next = strstr(next, eol2);
|
||||
+ next = (unsigned char *)strstr((char *)next, eol2);
|
||||
if(!next)
|
||||
{
|
||||
printf("could not find start of data\n");
|
||||
@@ -259,7 +259,6 @@ httpd_appcall(void)
|
||||
{
|
||||
if(upload_running)
|
||||
{
|
||||
- int i;
|
||||
httpd_upload_complete = 1;
|
||||
// for(i = 0; i < hs->upload_total; i++)
|
||||
// printf("%c", httpd_upload_data[i]);
|
||||
@@ -267,7 +266,7 @@ httpd_appcall(void)
|
||||
uip_close();
|
||||
}
|
||||
}
|
||||
- uip_send(hs->dataptr, hs->count);
|
||||
+ uip_send((unsigned char *)hs->dataptr, hs->count);
|
||||
}
|
||||
break;
|
||||
|
102
package/uboot-xburst/Makefile
Normal file
102
package/uboot-xburst/Makefile
Normal file
@ -0,0 +1,102 @@
|
||||
#
|
||||
# Copyright (C) 2008 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=u-boot
|
||||
PKG_VERSION:=2009.11
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:=ftp://ftp.denx.de/pub/u-boot
|
||||
PKG_MD5SUM:=
|
||||
PKG_TARGETS:=bin
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define uboot/Default
|
||||
TITLE:=
|
||||
CONFIG:=
|
||||
IMAGE:=
|
||||
endef
|
||||
|
||||
define uboot/qi_lb60
|
||||
TITLE:=U-boot for the qi_lb60 board
|
||||
endef
|
||||
|
||||
define uboot/avt2
|
||||
TITLE:=U-boot for the avt2 board
|
||||
endef
|
||||
|
||||
define uboot/sakc
|
||||
TITLE:=U-boot for the sakc board
|
||||
endef
|
||||
|
||||
define uboot/n516
|
||||
TITLE:=U-boot for the N516 e-book reader
|
||||
CONFIG:=n516_nand
|
||||
endef
|
||||
|
||||
UBOOTS:=qi_lb60 n516 avt2 sakc
|
||||
|
||||
define Package/uboot/template
|
||||
define Package/uboot-xburst-$(1)
|
||||
SECTION:=boot
|
||||
CATEGORY:=Boot Loaders
|
||||
DEPENDS:=@TARGET_xburst
|
||||
TITLE:=$(2)
|
||||
URL:=http://www.denx.de/wiki/UBoot/WebHome
|
||||
VARIANT:=$(1)
|
||||
endef
|
||||
endef
|
||||
|
||||
define BuildUbootPackage
|
||||
$(eval $(uboot/Default))
|
||||
$(eval $(uboot/$(1)))
|
||||
$(call Package/uboot/template,$(1),$(TITLE))
|
||||
endef
|
||||
|
||||
|
||||
ifdef BUILD_VARIANT
|
||||
$(eval $(call uboot/$(BUILD_VARIANT)))
|
||||
UBOOT_CONFIG:=$(if $(CONFIG),$(CONFIG),$(BUILD_VARIANT))
|
||||
UBOOT_IMAGE:=$(if $(IMAGE),$(IMAGE),openwrt-$(BOARD)-$(BUILD_BARIANT)-u-boot.bin)
|
||||
endif
|
||||
|
||||
define Build/Prepare
|
||||
$(call Build/Prepare/Default)
|
||||
$(CP) ./files/* $(PKG_BUILD_DIR)
|
||||
find $(PKG_BUILD_DIR) -name .svn | $(XARGS) rm -rf
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
$(UBOOT_CONFIG)_config
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
CROSS_COMPILE=$(TARGET_CROSS)
|
||||
endef
|
||||
|
||||
define Package/uboot/install/template
|
||||
define Package/uboot-xburst-$(1)/install
|
||||
$(INSTALL_DIR) $$(1)
|
||||
$(CP) $(PKG_BUILD_DIR)/u-boot-nand.bin $(BIN_DIR)/$(2)
|
||||
endef
|
||||
endef
|
||||
|
||||
$(foreach u,$(UBOOTS), \
|
||||
$(eval $(call Package/uboot/install/template,$(u),openwrt-$(BOARD)-$(u)-u-boot.bin)) \
|
||||
)
|
||||
|
||||
$(foreach u,$(UBOOTS), \
|
||||
$(eval $(call BuildUbootPackage,$(u))) \
|
||||
$(eval $(call BuildPackage,uboot-xburst-$(u))) \
|
||||
)
|
40
package/uboot-xburst/files/board/n516/Makefile
Normal file
40
package/uboot-xburst/files/board/n516/Makefile
Normal file
@ -0,0 +1,40 @@
|
||||
#
|
||||
# (C) Copyright 2006
|
||||
# Ingenic Semiconductor, <jlwei@ingenic.cn>
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
# MA 02111-1307 USA
|
||||
#
|
||||
|
||||
include $(TOPDIR)/config.mk
|
||||
|
||||
LIB = $(obj)lib$(BOARD).a
|
||||
|
||||
COBJS = $(BOARD).o flash.o
|
||||
|
||||
OBJS = $(addprefix $(obj),$(COBJS))
|
||||
SOBJS =
|
||||
|
||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
||||
|
||||
#########################################################################
|
||||
|
||||
$(obj).depend: Makefile $(SOBJS:.o=.S) $(COBJS:.o=.c)
|
||||
$(CC) -M $(CFLAGS) $(SOBJS:.o=.S) $(COBJS:.o=.c) > $@
|
||||
|
||||
sinclude $(obj).depend
|
||||
|
||||
#########################################################################
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user