diff options
Diffstat (limited to 'drivers/staging/wlags49_h25')
38 files changed, 221 insertions, 0 deletions
diff --git a/drivers/staging/wlags49_h25/Kconfig b/drivers/staging/wlags49_h25/Kconfig new file mode 100644 index 000000000000..304a8c96ce33 --- /dev/null +++ b/drivers/staging/wlags49_h25/Kconfig @@ -0,0 +1,9 @@ +config WLAGS49_H25 + tristate "Linksys HERMES II.5 WCF54G_Wireless-G_CompactFlash_Card" + depends on WLAN_80211 && WIRELESS_EXT && PCMCIA + select WEXT_SPY + ---help--- + Driver for wireless cards using Agere's HERMES II.5 chipset + which are identified with Manufacture ID: 0156,0004 + The software is a modified version of wl_lkm_722_abg.tar.gz + from the Agere Systems website, addapted for Ubuntu 9.04. diff --git a/drivers/staging/wlags49_h25/Makefile b/drivers/staging/wlags49_h25/Makefile new file mode 100644 index 000000000000..d0b23d4ff95a --- /dev/null +++ b/drivers/staging/wlags49_h25/Makefile @@ -0,0 +1,81 @@ +# +# Makefile for wlags49_h2_cs.ko and wlags49_h25_cs.ko +# +# Default build for Hermes-II base cards (possibly identified with +# "manfid: 0x0156, 0x0003" in "pccardctl ident" output), comment +# -DHERMES25 below +# +# If you want to build for Hermes-II.5 base cards (possibly identified with +# "manfid: 0x0156, 0x0004" in "pccardctl ident" output), uncomment +# -DHERMES25 below +# +# If you want to build AP support (untested), comment out -DSTA_ONLY + +INSTALLDIR := /lib/modules/$(shell uname -r)/kernel/drivers/net/wireless +EXTRA_CFLAGS += -I$(KERNELDIR)/include +EXTRA_CFLAGS += -I$(src) \ + -DBUS_PCMCIA \ + -DUSE_WPA \ + -DUSE_WEXT \ + -DSTA_ONLY \ + -DWVLAN_49 \ + -DHERMES25 \ +# -DDBG \ +# -DDBG_LVL=5 \ +# -DUSE_UIL \ +# -DUSE_PROFILE \ + +ifeq ($(findstring HERMES25,$(EXTRA_CFLAGS)),) +WLNAME := wlags49_h2_cs +$(WLNAME)-y := sta_h2.o +ifeq ($(findstring STA_ONLY,$(EXTRA_CFLAGS)),) +$(WLNAME)-y += ap_h2.o +endif +else +WLNAME=wlags49_h25_cs +$(WLNAME)-y := sta_h25.o +ifeq ($(findstring STA_ONLY,$(EXTRA_CFLAGS)),) +$(WLNAME)-y += ap_h25.o +endif +endif + +# If KERNELRELEASE is defined, we've been invoked from the +# kernel build system and can use its language. +ifneq ($(KERNELRELEASE),) + +obj-m += $(WLNAME).o + +$(WLNAME)-y += wl_profile.o \ + wl_wext.o \ + wl_priv.o \ + wl_main.o \ + wl_enc.o \ + wl_util.o \ + wl_netdev.o \ + wl_cs.o \ + mmd.o \ + hcf.o \ + dhf.o + +$(WLNAME)-$(CONFIG_SYSFS) += wl_sysfs.o + +# Otherwise we were called directly from the command +# line; invoke the kernel build system. +else + KERNELDIR ?= /lib/modules/$(shell uname -r)/build + PWD := $(shell pwd) + +default: + $(MAKE) -C $(KERNELDIR) M=$(PWD) modules +endif + +clean: + rm -fr *.o *.ko *.mod.c *.mod.o .*.*.cmd Module.symvers \ + Module.markers modules.order .tmp_versions + +install: default + -rmmod $(WLNAME) + install -d $(INSTALLDIR) + install -m 0644 -o root -g root $(WLNAME).ko $(INSTALLDIR) + /sbin/depmod -aq + diff --git a/drivers/staging/wlags49_h25/README.txt b/drivers/staging/wlags49_h25/README.txt new file mode 100644 index 000000000000..4c7a836972d7 --- /dev/null +++ b/drivers/staging/wlags49_h25/README.txt @@ -0,0 +1,30 @@ +======================================================================= +WLAN driver for cards using the HERMES II and HERMES II.5 chipset + +HERMES II Card + +PCMCIA Info: "Agere Systems" "Wireless PC Card Model 0110" + Manufacture ID: 0156,0003 + +HERMES II.5 Card + +PCMCIA Info: "Linksys" "WCF54G_Wireless-G_CompactFlash_Card" + Manufacture ID: 0156,0004 + +Based on Agere Systems Linux LKM Wireless Driver Source Code, +Version 7.22; complies with Open Source BSD License. +======================================================================= + +DESCRIPTION + +This directory only contains files that refer to the source in wlags49_h2. +Only real sourcefiles are the Makefile which has been configured to build +the driver for the HERMES II.5 chipset and Kconfig to describe the driver. + +The wlags49_h2 directory contains the full source, including the files +exclusively used by this driver. + +For more information about the driver look at the wlags49_h2 direcory. + +======================================================================= + diff --git a/drivers/staging/wlags49_h25/TODO b/drivers/staging/wlags49_h25/TODO new file mode 100644 index 000000000000..14aa415b1a82 --- /dev/null +++ b/drivers/staging/wlags49_h25/TODO @@ -0,0 +1,33 @@ +First of all, the best thing would be that this driver becomes obsolte by +adding support for Hermes II and Hermes II.5 cards to the existing orinoco +driver. The orinoco driver currently only supports Hermes I based cards. +Since this will not happen by magic and has not happend until now this +driver provides a stop-gap solution for these type of cards. + +Having said that, the following wishlist comes to mind to make the driver +suitable as fully supported kernel driver. Feel free to expand/enhance the +list. + +TODO: + - verify against a Hermes II.5 card + - verify with WPA encription (both with H2 and H2.5 cards) + - sometimes the card does not initialize correctly, retry mechanisms + are build in to catch most cases but not all + - once the driver runs it is very stable, but I have the impression + some the crittical sections take to long + - the driver is split into a Hermes II and a Hermes II.5 part, it + would be nice to handle both with one module instead of two + - review by the wireless developer community + - verify the code against the coding standards for a propper linux + driver + - resolve license issues (?) + +DONE: + - verified against a Hermes II card (Thomson Speedtouch 110 PCMCIA + card) + - verified with WEP encription + +Please send any patches or complaints about this driver to Greg +Kroah-Hartman <greg@kroah.com> and Cc: Henk de Groot <pe1dnn@amsat.org> +Don't bother the upstream wireless kernel developers about it, they +want nothing to do with it. diff --git a/drivers/staging/wlags49_h25/ap_h25.c b/drivers/staging/wlags49_h25/ap_h25.c new file mode 100644 index 000000000000..0344fa58dda6 --- /dev/null +++ b/drivers/staging/wlags49_h25/ap_h25.c @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/ap_h25.c" diff --git a/drivers/staging/wlags49_h25/debug.h b/drivers/staging/wlags49_h25/debug.h new file mode 100644 index 000000000000..b5fb136a2d54 --- /dev/null +++ b/drivers/staging/wlags49_h25/debug.h @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/debug.h" diff --git a/drivers/staging/wlags49_h25/dhf.c b/drivers/staging/wlags49_h25/dhf.c new file mode 100644 index 000000000000..81762c80189c --- /dev/null +++ b/drivers/staging/wlags49_h25/dhf.c @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/dhf.c" diff --git a/drivers/staging/wlags49_h25/dhf.h b/drivers/staging/wlags49_h25/dhf.h new file mode 100644 index 000000000000..54181dc70a72 --- /dev/null +++ b/drivers/staging/wlags49_h25/dhf.h @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/dhf.h" diff --git a/drivers/staging/wlags49_h25/dhfcfg.h b/drivers/staging/wlags49_h25/dhfcfg.h new file mode 100644 index 000000000000..2586e3980214 --- /dev/null +++ b/drivers/staging/wlags49_h25/dhfcfg.h @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/dhfcfg.h" diff --git a/drivers/staging/wlags49_h25/hcf.c b/drivers/staging/wlags49_h25/hcf.c new file mode 100644 index 000000000000..eeeba1f5553e --- /dev/null +++ b/drivers/staging/wlags49_h25/hcf.c @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/hcf.c" diff --git a/drivers/staging/wlags49_h25/hcf.h b/drivers/staging/wlags49_h25/hcf.h new file mode 100644 index 000000000000..d1143d9fce2d --- /dev/null +++ b/drivers/staging/wlags49_h25/hcf.h @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/hcf.h" diff --git a/drivers/staging/wlags49_h25/hcfcfg.h b/drivers/staging/wlags49_h25/hcfcfg.h new file mode 100644 index 000000000000..f88c4bcb3ff8 --- /dev/null +++ b/drivers/staging/wlags49_h25/hcfcfg.h @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/hcfcfg.h" diff --git a/drivers/staging/wlags49_h25/hcfdef.h b/drivers/staging/wlags49_h25/hcfdef.h new file mode 100644 index 000000000000..f6a0060c3a53 --- /dev/null +++ b/drivers/staging/wlags49_h25/hcfdef.h @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/hcfdef.h" diff --git a/drivers/staging/wlags49_h25/mdd.h b/drivers/staging/wlags49_h25/mdd.h new file mode 100644 index 000000000000..4d8e142ffa34 --- /dev/null +++ b/drivers/staging/wlags49_h25/mdd.h @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/mdd.h" diff --git a/drivers/staging/wlags49_h25/mmd.c b/drivers/staging/wlags49_h25/mmd.c new file mode 100644 index 000000000000..b20782d334d2 --- /dev/null +++ b/drivers/staging/wlags49_h25/mmd.c @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/mmd.c" diff --git a/drivers/staging/wlags49_h25/mmd.h b/drivers/staging/wlags49_h25/mmd.h new file mode 100644 index 000000000000..8284dd9155ed --- /dev/null +++ b/drivers/staging/wlags49_h25/mmd.h @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/mmd.h" diff --git a/drivers/staging/wlags49_h25/sta_h25.c b/drivers/staging/wlags49_h25/sta_h25.c new file mode 100644 index 000000000000..83c76bbdc6e7 --- /dev/null +++ b/drivers/staging/wlags49_h25/sta_h25.c @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/sta_h25.c" diff --git a/drivers/staging/wlags49_h25/wl_cs.c b/drivers/staging/wlags49_h25/wl_cs.c new file mode 100644 index 000000000000..e6e1f199ea68 --- /dev/null +++ b/drivers/staging/wlags49_h25/wl_cs.c @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/wl_cs.c" diff --git a/drivers/staging/wlags49_h25/wl_cs.h b/drivers/staging/wlags49_h25/wl_cs.h new file mode 100644 index 000000000000..657acee525cb --- /dev/null +++ b/drivers/staging/wlags49_h25/wl_cs.h @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/wl_cs.h" diff --git a/drivers/staging/wlags49_h25/wl_enc.c b/drivers/staging/wlags49_h25/wl_enc.c new file mode 100644 index 000000000000..fe59df145150 --- /dev/null +++ b/drivers/staging/wlags49_h25/wl_enc.c @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/wl_enc.c" diff --git a/drivers/staging/wlags49_h25/wl_enc.h b/drivers/staging/wlags49_h25/wl_enc.h new file mode 100644 index 000000000000..f2e860e14be9 --- /dev/null +++ b/drivers/staging/wlags49_h25/wl_enc.h @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/wl_enc.h" diff --git a/drivers/staging/wlags49_h25/wl_if.h b/drivers/staging/wlags49_h25/wl_if.h new file mode 100644 index 000000000000..70d86f09f87a --- /dev/null +++ b/drivers/staging/wlags49_h25/wl_if.h @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/wl_if.h" diff --git a/drivers/staging/wlags49_h25/wl_internal.h b/drivers/staging/wlags49_h25/wl_internal.h new file mode 100644 index 000000000000..c1687a3056cd --- /dev/null +++ b/drivers/staging/wlags49_h25/wl_internal.h @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/wl_internal.h" diff --git a/drivers/staging/wlags49_h25/wl_main.c b/drivers/staging/wlags49_h25/wl_main.c new file mode 100644 index 000000000000..d2c06ad8f88a --- /dev/null +++ b/drivers/staging/wlags49_h25/wl_main.c @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/wl_main.c" diff --git a/drivers/staging/wlags49_h25/wl_main.h b/drivers/staging/wlags49_h25/wl_main.h new file mode 100644 index 000000000000..c98376e71957 --- /dev/null +++ b/drivers/staging/wlags49_h25/wl_main.h @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/wl_main.h" diff --git a/drivers/staging/wlags49_h25/wl_netdev.c b/drivers/staging/wlags49_h25/wl_netdev.c new file mode 100644 index 000000000000..f7512c3891a8 --- /dev/null +++ b/drivers/staging/wlags49_h25/wl_netdev.c @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/wl_netdev.c" diff --git a/drivers/staging/wlags49_h25/wl_netdev.h b/drivers/staging/wlags49_h25/wl_netdev.h new file mode 100644 index 000000000000..519cd5f0461c --- /dev/null +++ b/drivers/staging/wlags49_h25/wl_netdev.h @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/wl_netdev.h" diff --git a/drivers/staging/wlags49_h25/wl_priv.c b/drivers/staging/wlags49_h25/wl_priv.c new file mode 100644 index 000000000000..160c8014051a --- /dev/null +++ b/drivers/staging/wlags49_h25/wl_priv.c @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/wl_priv.c" diff --git a/drivers/staging/wlags49_h25/wl_priv.h b/drivers/staging/wlags49_h25/wl_priv.h new file mode 100644 index 000000000000..28492b362db4 --- /dev/null +++ b/drivers/staging/wlags49_h25/wl_priv.h @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/wl_priv.h" diff --git a/drivers/staging/wlags49_h25/wl_profile.c b/drivers/staging/wlags49_h25/wl_profile.c new file mode 100644 index 000000000000..6baa201c132a --- /dev/null +++ b/drivers/staging/wlags49_h25/wl_profile.c @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/wl_profile.c" diff --git a/drivers/staging/wlags49_h25/wl_profile.h b/drivers/staging/wlags49_h25/wl_profile.h new file mode 100644 index 000000000000..5f253a5fb60e --- /dev/null +++ b/drivers/staging/wlags49_h25/wl_profile.h @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/wl_profile.h" diff --git a/drivers/staging/wlags49_h25/wl_sysfs.c b/drivers/staging/wlags49_h25/wl_sysfs.c new file mode 100644 index 000000000000..6458ee63350d --- /dev/null +++ b/drivers/staging/wlags49_h25/wl_sysfs.c @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/wl_sysfs.c" diff --git a/drivers/staging/wlags49_h25/wl_sysfs.h b/drivers/staging/wlags49_h25/wl_sysfs.h new file mode 100644 index 000000000000..eb819a5ef8b5 --- /dev/null +++ b/drivers/staging/wlags49_h25/wl_sysfs.h @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/wl_sysfs.h" diff --git a/drivers/staging/wlags49_h25/wl_util.c b/drivers/staging/wlags49_h25/wl_util.c new file mode 100644 index 000000000000..771bebeeac4c --- /dev/null +++ b/drivers/staging/wlags49_h25/wl_util.c @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/wl_util.c" diff --git a/drivers/staging/wlags49_h25/wl_util.h b/drivers/staging/wlags49_h25/wl_util.h new file mode 100644 index 000000000000..ccd74e73a4be --- /dev/null +++ b/drivers/staging/wlags49_h25/wl_util.h @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/wl_util.h" diff --git a/drivers/staging/wlags49_h25/wl_version.h b/drivers/staging/wlags49_h25/wl_version.h new file mode 100644 index 000000000000..ad38e8f7214c --- /dev/null +++ b/drivers/staging/wlags49_h25/wl_version.h @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/wl_version.h" diff --git a/drivers/staging/wlags49_h25/wl_wext.c b/drivers/staging/wlags49_h25/wl_wext.c new file mode 100644 index 000000000000..f660e791b620 --- /dev/null +++ b/drivers/staging/wlags49_h25/wl_wext.c @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/wl_wext.c" diff --git a/drivers/staging/wlags49_h25/wl_wext.h b/drivers/staging/wlags49_h25/wl_wext.h new file mode 100644 index 000000000000..31d63865c222 --- /dev/null +++ b/drivers/staging/wlags49_h25/wl_wext.h @@ -0,0 +1,2 @@ +/* Use common source from wlags49_h2 */ +#include "../wlags49_h2/wl_wext.h" |