diff options
Diffstat (limited to 'community/rt3562sta')
10 files changed, 321 insertions, 0 deletions
diff --git a/community/rt3562sta/PKGBUILD b/community/rt3562sta/PKGBUILD new file mode 100644 index 000000000..7ef335c9e --- /dev/null +++ b/community/rt3562sta/PKGBUILD @@ -0,0 +1,85 @@ +# $Id: PKGBUILD 79180 2012-10-31 07:25:39Z tpowa $ +# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com> +# Based on SUSE spec https://build.opensuse.org/package/files?package=rt3562sta&project=driver%3Awireless + +pkgname=rt3562sta +pkgver=2.4.1.1 +pkgrel=20 +pkgdesc="Ralink RT3562 PCI WLAN adaptors kernel module" +arch=(i686 x86_64) +url="http://www.mediatek.com/en/Products/support.php?sn=501" +license=('GPL') +depends=('linux') +makedepends=('linux-headers') +install=$pkgname.install +source=( + http://dl.dropbox.com/u/362439/DPO_RT3562_3592_3062_LinuxSTA_V${pkgver}_20101217.tgz + $pkgname-$pkgver-config.patch + $pkgname-$pkgver-gcc-warnings-x86_64.patch + $pkgname-$pkgver-WPA-mixed.patch + $pkgname-$pkgver-convert-devicename-to-wlanX.patch + $pkgname-$pkgver-remove-potential-conflicts-with-rt2860sta.patch + $pkgname-$pkgver-return_nonvoid.patch + $pkgname-$pkgver-reduce_debug_output.patch + $pkgname-$pkgver-remove_date_time.patch +) + +build() { + _kernver=$(pacman -Q linux | cut -d . -f 2 | cut -f 1 -d -) + KERNEL_RELEASE=$(cat /usr/lib/modules/extramodules-3.$_kernver-ARCH/version) + + cd "$srcdir/DPO_RT3562_3592_3062_LinuxSTA_V2.4.1.1_20101217" + patch -p0 -i "$srcdir/$pkgname-$pkgver-config.patch" + [ "$CARCH" == "x86_64" ] && patch -p0 -i "$srcdir/$pkgname-$pkgver-gcc-warnings-x86_64.patch" + patch -p0 -i "$srcdir/$pkgname-$pkgver-WPA-mixed.patch" + patch -p0 -i "$srcdir/$pkgname-$pkgver-convert-devicename-to-wlanX.patch" + patch -p0 -i "$srcdir/$pkgname-$pkgver-remove-potential-conflicts-with-rt2860sta.patch" + patch -p0 -i "$srcdir/$pkgname-$pkgver-return_nonvoid.patch" + patch -p0 -i "$srcdir/$pkgname-$pkgver-reduce_debug_output.patch" + patch -p0 -i "$srcdir/$pkgname-$pkgver-remove_date_time.patch" + + # clean up this mess of mixing RT2860STA with RT3562STA + # in documentation files + mv RT2860STA.dat RT3562STA.dat + mv RT2860STACard.dat RT3562STACard.dat + sed -i 's/2860/3562/g' *STA* iwpriv_usage.txt + + # as we change the default name of the interface from raX to wlanX, change respective references in documentation, too + sed -i 's|ra0|wlan0|g' *.txt README* *.dat + sed -i 's|ra1|wlan1|g' *.txt README* *.dat + sed -i 's|ra2|wlan2|g' *.txt README* *.dat + + export EXTRA_CFLAGS="-DVERSION=$pkgver" + + # this Makefile is far too strict... + echo "LINUX_SRC = /usr/lib/modules/$KERNEL_RELEASE/build" >> Makefile + + make +} + +package() { + _kernver=$(pacman -Q linux | cut -d . -f 2 | cut -f 1 -d -) + depends=("linux>=3.${_kernver}" "linux<3.$(expr ${_kernver} + 1)") + KERNEL_VERSION=$(cat /usr/lib/modules/extramodules-3.$_kernver-ARCH/version) + msg "Kernel = $KERNEL_VERSION" + + cd "$srcdir/DPO_RT3562_3592_3062_LinuxSTA_V2.4.1.1_20101217" + + install -Dm 0640 RT3562STA.dat "$pkgdir/etc/Wireless/RT3562STA/RT3562STA.dat" + install -Dm 0644 os/linux/$pkgname.ko "$pkgdir/usr/lib/modules/extramodules-3.$_kernver-ARCH/$pkgname.ko" + install -dm 0755 "$pkgdir/usr/share/doc/$pkgname" + install -m 0644 iwpriv_usage.txt README* RT3562STA* sta_ate_iwpriv_usage.txt "$pkgdir/usr/share/doc/$pkgname" + + find "$pkgdir" -name '*.ko' -exec gzip -9 {} \; + sed -i "s|extramodules-.*-ARCH|extramodules-3.$_kernver-ARCH|" "$startdir/$pkgname.install" +} + +sha256sums=('71cd27784009894198f03470ec88e77f2cd176bf5f8d93b4dd984d3a3e543d5a' + 'b1465fceaac99f26cc0e7db0562d2bf103b57656f0b7b57e404f59efb3373b27' + 'd013ed5981a02be27b4aaf1e03670d68dbb16f40d9eb84930e58a96fc38ef947' + 'c962d014ea6e84a8c3398ff13e4709cc309c29134cac0b5c702eab1026799887' + 'e966d96026baee0447d6ad26742bcc40baa3f94530573d58f4eca842e107f809' + '7d2a83edfe6664a8e923dcda636c871220efc7ff4a82ab76a62fc97a11f2fcaa' + 'd672b58cdb278e3ecaeb46f3e5e477e1da7d2fd5dbf896521a4d0993743b9ab9' + '4d1d5eb5c22d356af62f4f55d12b04eb8a557ea9c664edfbc79c9e0454ccca4e' + 'a888d045b142127070c2c23ed1a84306d5202896265c828cf7e125ec2dd52389') diff --git a/community/rt3562sta/rt3562sta-2.4.1.1-WPA-mixed.patch b/community/rt3562sta/rt3562sta-2.4.1.1-WPA-mixed.patch new file mode 100644 index 000000000..caf2b1c6a --- /dev/null +++ b/community/rt3562sta/rt3562sta-2.4.1.1-WPA-mixed.patch @@ -0,0 +1,11 @@ +--- common/cmm_wpa.c.orig 2010-11-26 04:18:41.000000000 +0100 ++++ common/cmm_wpa.c 2010-12-01 15:09:22.000000000 +0100 +@@ -2410,7 +2410,7 @@ + UCHAR PrimaryRsnie; + BOOLEAN bMixCipher = FALSE; // indicate the pairwise and group cipher are different + UCHAR p_offset; +- WPA_MIX_PAIR_CIPHER FlexibleCipher = MIX_CIPHER_NOTUSE; // it provide the more flexible cipher combination in WPA-WPA2 and TKIPAES mode ++ WPA_MIX_PAIR_CIPHER FlexibleCipher = WPA_TKIPAES_WPA2_TKIPAES; // it provide the more flexible cipher combination in WPA-WPA2 and TKIPAES mode + + rsnielen_cur_p = NULL; + rsnielen_ex_cur_p = NULL; diff --git a/community/rt3562sta/rt3562sta-2.4.1.1-config.patch b/community/rt3562sta/rt3562sta-2.4.1.1-config.patch new file mode 100644 index 000000000..dc245e38e --- /dev/null +++ b/community/rt3562sta/rt3562sta-2.4.1.1-config.patch @@ -0,0 +1,98 @@ +--- os/linux/config.mk.orig 2010-12-17 12:44:47.000000000 +0100 ++++ os/linux/config.mk 2010-12-17 19:53:36.000000000 +0100 +@@ -9,10 +9,10 @@ + + + # Support Wpa_Supplicant +-HAS_WPA_SUPPLICANT=n ++HAS_WPA_SUPPLICANT=y + + # Support Native WpaSupplicant for Network Maganger +-HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n ++HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y + + #Support Net interface block while Tx-Sw queue full + HAS_BLOCK_NET_IF=n +@@ -283,7 +283,7 @@ + endif + + ifeq ($(CHIPSET),3562) +-WFLAGS +=-DRTMP_MAC_PCI -DRT2860 -DRT28xx -DRT30xx -DRT35xx -DRTMP_PCI_SUPPORT -DRTMP_RF_RW_SUPPORT -DRTMP_EFUSE_SUPPORT -DA_BAND_SUPPORT ++WFLAGS +=-DRTMP_MAC_PCI -DRT2860 -DRT28xx -DRT30xx -DRT35xx -DRTMP_PCI_SUPPORT -DRTMP_RF_RW_SUPPORT -DRTMP_EFUSE_SUPPORT -DA_BAND_SUPPORT -DDOT11N_SS3_SUPPORT -DNEW_RATE_ADAPT_SUPPORT -DRT3593 + ifeq ($(HAS_DFS_SUPPORT),y) + WFLAGS += -DDFS_HARDWARE_SUPPORT -DDFS_DEBUG + endif +--- Makefile.orig 2010-12-17 12:44:47.000000000 +0100 ++++ Makefile 2010-12-17 19:51:39.000000000 +0100 +@@ -284,26 +284,26 @@ + endif + + ifeq ($(RT28xx_MODE),AP) +- cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)ap.o /tftpboot ++# cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)ap.o /tftpboot + ifeq ($(OSABL),YES) +- cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)ap.o /tftpboot +- cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)ap.o /tftpboot ++# cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)ap.o /tftpboot ++# cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)ap.o /tftpboot + endif + ifeq ($(PLATFORM),INF_AMAZON_SE) +- cp -f /tftpboot/rt2870ap.o /backup/ifx/build/root_filesystem/lib/modules/2.4.31-Amazon_SE-3.6.2.2-R0416_Ralink/kernel/drivers/net ++# cp -f /tftpboot/rt2870ap.o /backup/ifx/build/root_filesystem/lib/modules/2.4.31-Amazon_SE-3.6.2.2-R0416_Ralink/kernel/drivers/net + endif + else + ifeq ($(RT28xx_MODE),APSTA) +- cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)apsta.o /tftpboot ++# cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)apsta.o /tftpboot + ifeq ($(OSABL),YES) +- cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)apsta.o /tftpboot +- cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)apsta.o /tftpboot ++# cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)apsta.o /tftpboot ++# cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)apsta.o /tftpboot + endif + else +- cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)sta.o /tftpboot ++# cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)sta.o /tftpboot + ifeq ($(OSABL),YES) +- cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)sta.o /tftpboot +- cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)sta.o /tftpboot ++# cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)sta.o /tftpboot ++# cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)sta.o /tftpboot + endif + endif + endif +@@ -331,25 +331,25 @@ + endif + + ifeq ($(RT28xx_MODE),AP) +- cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)ap.ko /tftpboot ++# cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)ap.ko /tftpboot + ifeq ($(OSABL),YES) +- cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)ap.ko /tftpboot +- cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)ap.ko /tftpboot ++# cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)ap.ko /tftpboot ++# cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)ap.ko /tftpboot + endif + rm -f os/linux/rt$(CHIPSET)ap.ko.lzma + /root/bin/lzma e os/linux/rt$(CHIPSET)ap.ko os/linux/rt$(CHIPSET)ap.ko.lzma + else + ifeq ($(RT28xx_MODE),APSTA) +- cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)apsta.ko /tftpboot ++# cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)apsta.ko /tftpboot + ifeq ($(OSABL),YES) +- cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)apsta.ko /tftpboot +- cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)apsta.ko /tftpboot ++# cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)apsta.ko /tftpboot ++# cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)apsta.ko /tftpboot + endif + else +- cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)sta.ko /tftpboot ++# cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)sta.ko /tftpboot + ifeq ($(OSABL),YES) +- cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)sta.ko /tftpboot +- cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)sta.ko /tftpboot ++# cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)sta.ko /tftpboot ++# cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)sta.ko /tftpboot + endif + endif + endif diff --git a/community/rt3562sta/rt3562sta-2.4.1.1-convert-devicename-to-wlanX.patch b/community/rt3562sta/rt3562sta-2.4.1.1-convert-devicename-to-wlanX.patch new file mode 100644 index 000000000..5ec4d5028 --- /dev/null +++ b/community/rt3562sta/rt3562sta-2.4.1.1-convert-devicename-to-wlanX.patch @@ -0,0 +1,13 @@ +--- include/rtmp_def.h.orig 2010-11-26 04:18:41.000000000 +0100 ++++ include/rtmp_def.h 2010-12-01 14:57:05.000000000 +0100 +@@ -1451,8 +1451,8 @@ + #define SET_ENTRY_CLIWDS(_x) CLIENT_STATUS_SET_FLAG((_x), fCLIENT_STATUS_CLI_WDS) + #endif // CLIENT_WDS // + +-#define INF_MAIN_DEV_NAME "ra" +-#define INF_MBSSID_DEV_NAME "ra" ++#define INF_MAIN_DEV_NAME "wlan" ++#define INF_MBSSID_DEV_NAME "wlan" + #define INF_WDS_DEV_NAME "wds" + #define INF_APCLI_DEV_NAME "apcli" + #define INF_MESH_DEV_NAME "mesh" diff --git a/community/rt3562sta/rt3562sta-2.4.1.1-gcc-warnings-x86_64.patch b/community/rt3562sta/rt3562sta-2.4.1.1-gcc-warnings-x86_64.patch new file mode 100644 index 000000000..a53dbde86 --- /dev/null +++ b/community/rt3562sta/rt3562sta-2.4.1.1-gcc-warnings-x86_64.patch @@ -0,0 +1,14 @@ +--- os/linux/rt_linux.c.orig 2010-11-26 04:18:41.000000000 +0100 ++++ os/linux/rt_linux.c 2010-12-01 14:57:53.000000000 +0100 +@@ -479,9 +479,9 @@ + MEM_DBG_PKT_ALLOC_INC(pAd); + + skb_reserve(skb, 2); +- NdisMoveMemory(skb->tail, pHeader802_3, HdrLen); ++ NdisMoveMemory(skb_tail_pointer(skb), pHeader802_3, HdrLen); // + skb_put(skb, HdrLen); +- NdisMoveMemory(skb->tail, pData, DataSize); ++ NdisMoveMemory(skb_tail_pointer(skb), pData, DataSize); // + skb_put(skb, DataSize); + skb->dev = get_netdev_from_bssid(pAd, FromWhichBSSID); + pPacket = OSPKT_TO_RTPKT(skb); diff --git a/community/rt3562sta/rt3562sta-2.4.1.1-reduce_debug_output.patch b/community/rt3562sta/rt3562sta-2.4.1.1-reduce_debug_output.patch new file mode 100644 index 000000000..6754f214d --- /dev/null +++ b/community/rt3562sta/rt3562sta-2.4.1.1-reduce_debug_output.patch @@ -0,0 +1,15 @@ +--- include/os/rt_linux.h.orig 2011-01-07 11:20:02.000000000 +0100 ++++ include/os/rt_linux.h 2011-01-07 11:21:30.000000000 +0100 +@@ -611,10 +611,10 @@ + + #define DBGPRINT_RAW(Level, Fmt) \ + do{ \ +- if (Level <= RTDebugLevel) \ ++/* if (Level <= RTDebugLevel) \ + { \ + printk Fmt; \ +- } \ ++ }*/ \ + }while(0) + + #define DBGPRINT(Level, Fmt) DBGPRINT_RAW(Level, Fmt) diff --git a/community/rt3562sta/rt3562sta-2.4.1.1-remove-potential-conflicts-with-rt2860sta.patch b/community/rt3562sta/rt3562sta-2.4.1.1-remove-potential-conflicts-with-rt2860sta.patch new file mode 100644 index 000000000..a0d00d6e3 --- /dev/null +++ b/community/rt3562sta/rt3562sta-2.4.1.1-remove-potential-conflicts-with-rt2860sta.patch @@ -0,0 +1,47 @@ +--- include/os/rt_linux.h.orig 2010-11-26 04:18:41.000000000 +0100 ++++ include/os/rt_linux.h 2010-12-01 14:58:46.000000000 +0100 +@@ -111,10 +111,10 @@ + + #ifdef CONFIG_STA_SUPPORT + #ifdef RTMP_MAC_PCI +-#define STA_PROFILE_PATH "/etc/Wireless/RT2860STA/RT2860STA.dat" ++#define STA_PROFILE_PATH "/etc/Wireless/RT3562STA/RT3562STA.dat" + #define STA_DRIVER_VERSION "2.4.1.1" + #ifdef MULTIPLE_CARD_SUPPORT +-#define CARD_INFO_PATH "/etc/Wireless/RT2860STA/RT2860STACard.dat" ++#define CARD_INFO_PATH "/etc/Wireless/RT3562STA/RT3562STACard.dat" + #endif // MULTIPLE_CARD_SUPPORT // + #endif // RTMP_MAC_PCI // + +--- os/linux/pci_main_dev.c.orig 2010-12-17 19:59:25.000000000 +0100 ++++ os/linux/pci_main_dev.c 2010-12-17 20:00:12.000000000 +0100 +@@ -90,14 +90,15 @@ + MODULE_VERSION(STA_DRIVER_VERSION); + #endif + #endif // CONFIG_STA_SUPPORT // +- ++MODULE_DESCRIPTION("RT3562 Wireless Lan Linux Driver"); ++MODULE_LICENSE("GPL"); + + // + // Our PCI driver structure + // + static struct pci_driver rt2860_driver = + { +- name: "rt2860", ++ name: "rt3562", + id_table: rt2860_pci_tbl, + probe: rt2860_probe, + #if LINUX_VERSION_CODE >= 0x20412 +@@ -317,9 +318,9 @@ + } + + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) +- print_name = pci_dev ? pci_name(pci_dev) : "rt2860"; ++ print_name = pci_dev ? pci_name(pci_dev) : "rt3562"; + #else +- print_name = pci_dev ? pci_dev->slot_name : "rt2860"; ++ print_name = pci_dev ? pci_dev->slot_name : "rt3562"; + #endif // LINUX_VERSION_CODE // + + if ((rv = pci_request_regions(pci_dev, print_name)) != 0) diff --git a/community/rt3562sta/rt3562sta-2.4.1.1-remove_date_time.patch b/community/rt3562sta/rt3562sta-2.4.1.1-remove_date_time.patch new file mode 100644 index 000000000..b17ba5a12 --- /dev/null +++ b/community/rt3562sta/rt3562sta-2.4.1.1-remove_date_time.patch @@ -0,0 +1,11 @@ +--- os/linux/sta_ioctl.c.orig 2010-12-17 12:44:47.000000000 +0100 ++++ os/linux/sta_ioctl.c 2011-08-02 14:52:37.000000000 +0200 +@@ -1812,7 +1812,7 @@ + wrq->length = strlen(extra) + 1; // 1: size of '\0' + break; + case SHOW_DRVIER_VERION: +- sprintf(extra, "Driver version-%s, %s %s\n", STA_DRIVER_VERSION, __DATE__, __TIME__ ); ++ sprintf(extra, "Driver version-%s, %s %s\n", STA_DRIVER_VERSION, NULL, NULL ); + wrq->length = strlen(extra) + 1; // 1: size of '\0' + break; + #ifdef DOT11_N_SUPPORT diff --git a/community/rt3562sta/rt3562sta-2.4.1.1-return_nonvoid.patch b/community/rt3562sta/rt3562sta-2.4.1.1-return_nonvoid.patch new file mode 100644 index 000000000..7416a31f9 --- /dev/null +++ b/community/rt3562sta/rt3562sta-2.4.1.1-return_nonvoid.patch @@ -0,0 +1,11 @@ +--- os/linux/rt_main_dev.c.orig 2010-12-17 12:44:47.000000000 +0100 ++++ os/linux/rt_main_dev.c 2010-12-17 19:42:23.000000000 +0100 +@@ -1247,7 +1247,7 @@ + RTMP_OS_TASK *pTask; + + if (pAd->bWriteDat == FALSE) +- return; ++ return 0; + + DBGPRINT(RT_DEBUG_TRACE, ("-->WriteDatThreadInit()\n")); + diff --git a/community/rt3562sta/rt3562sta.install b/community/rt3562sta/rt3562sta.install new file mode 100644 index 000000000..c3b988aa6 --- /dev/null +++ b/community/rt3562sta/rt3562sta.install @@ -0,0 +1,16 @@ +rebuild_module_dependencies() { + EXTRAMODULES='extramodules-3.6-ARCH' + depmod $(cat /usr/lib/modules/$EXTRAMODULES/version) +} + +post_install() { + rebuild_module_dependencies +} + +post_upgrade() { + rebuild_module_dependencies +} + +post_remove() { + rebuild_module_dependencies +} |