diff options
| author | Samuel Ortiz <sameo@openedhand.com> | 2008-09-11 15:57:47 +0000 |
|---|---|---|
| committer | Samuel Ortiz <sameo@openedhand.com> | 2008-09-11 15:57:47 +0000 |
| commit | d2c6e8a8e0b9d720804f557172c75b4804bb3905 (patch) | |
| tree | 3d25a986a42a27738c02b76cac849de3fb3975b1 | |
| parent | 93159c9e70b4da458bcba13f25185b59ba7ce642 (diff) | |
| download | poky-d2c6e8a8e0b9d720804f557172c75b4804bb3905.tar.gz | |
rt2860: Support for the rt2860 RaLink 802.11n chipset
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5184 311d38ba-8fff-0310-9ca6-ca027cbcb966
5 files changed, 215 insertions, 0 deletions
diff --git a/meta/packages/rt2860/rt2860-1.7.0.0/01_dev_get_by_name.patch b/meta/packages/rt2860/rt2860-1.7.0.0/01_dev_get_by_name.patch new file mode 100644 index 0000000000..2f9d2ad501 --- /dev/null +++ b/meta/packages/rt2860/rt2860-1.7.0.0/01_dev_get_by_name.patch | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | --- | ||
| 2 | src/rt_main_dev.c | 9 ++++++++- | ||
| 3 | 1 file changed, 8 insertions(+), 1 deletion(-) | ||
| 4 | |||
| 5 | Index: rt2860-clean/src/rt_main_dev.c | ||
| 6 | =================================================================== | ||
| 7 | --- rt2860-clean.orig/src/rt_main_dev.c 2008-09-11 15:05:14.000000000 +0200 | ||
| 8 | +++ rt2860-clean/src/rt_main_dev.c 2008-09-11 15:05:17.000000000 +0200 | ||
| 9 | @@ -800,7 +800,14 @@ static NDIS_STATUS rt_ieee80211_if_setup | ||
| 10 | sprintf(slot_name, "ra%d", i); | ||
| 11 | |||
| 12 | #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) | ||
| 13 | - device = dev_get_by_name(dev->nd_net, slot_name); | ||
| 14 | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) | ||
| 15 | + | ||
| 16 | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) | ||
| 17 | + device = dev_get_by_name(dev_net(dev), slot_name); | ||
| 18 | +#else | ||
| 19 | + device = dev_get_by_name(dev->nd_net, slot_name); | ||
| 20 | +#endif | ||
| 21 | + | ||
| 22 | #else | ||
| 23 | device = dev_get_by_name(slot_name); | ||
| 24 | #endif | ||
diff --git a/meta/packages/rt2860/rt2860-1.7.0.0/02_wpa-fix.patch b/meta/packages/rt2860/rt2860-1.7.0.0/02_wpa-fix.patch new file mode 100644 index 0000000000..c55093d719 --- /dev/null +++ b/meta/packages/rt2860/rt2860-1.7.0.0/02_wpa-fix.patch | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | --- | ||
| 2 | src/mlme.c | 15 +++++++++++++++ | ||
| 3 | 1 file changed, 15 insertions(+) | ||
| 4 | |||
| 5 | Index: rt2860-clean/src/mlme.c | ||
| 6 | =================================================================== | ||
| 7 | --- rt2860-clean.orig/src/mlme.c 2008-09-11 15:06:10.000000000 +0200 | ||
| 8 | +++ rt2860-clean/src/mlme.c 2008-09-11 15:06:14.000000000 +0200 | ||
| 9 | @@ -772,6 +772,21 @@ VOID MlmePeriodicExec( | ||
| 10 | ULONG TxTotalCnt; | ||
| 11 | PRTMP_ADAPTER pAd = (RTMP_ADAPTER *)FunctionContext; | ||
| 12 | |||
| 13 | +#ifdef EEEPC_SPECIAL_SETTING | ||
| 14 | + //Baron 2008/07/10 | ||
| 15 | + //printk("Baron_Test:\t%s", RTMPGetRalinkEncryModeStr(pAd->StaCfg.WepStatus)); | ||
| 16 | + //If the STA security setting is OPEN or WEP, pAd->StaCfg.WpaSupplicantUP = 0. | ||
| 17 | + //If the STA security setting is WPAPSK or WPA2PSK, pAd->StaCfg.WpaSupplicantUP = 1. | ||
| 18 | + if(pAd->StaCfg.WepStatus<2) | ||
| 19 | + { | ||
| 20 | + pAd->StaCfg.WpaSupplicantUP = 0; | ||
| 21 | + } | ||
| 22 | + else | ||
| 23 | + { | ||
| 24 | + pAd->StaCfg.WpaSupplicantUP = 1; | ||
| 25 | + } | ||
| 26 | +#endif | ||
| 27 | + | ||
| 28 | #ifdef CONFIG_STA_SUPPORT | ||
| 29 | #ifdef RT2860 | ||
| 30 | IF_DEV_CONFIG_OPMODE_ON_STA(pAd) | ||
diff --git a/meta/packages/rt2860/rt2860-1.7.0.0/03-iwe_stream_add.patch b/meta/packages/rt2860/rt2860-1.7.0.0/03-iwe_stream_add.patch new file mode 100644 index 0000000000..c47d561dc4 --- /dev/null +++ b/meta/packages/rt2860/rt2860-1.7.0.0/03-iwe_stream_add.patch | |||
| @@ -0,0 +1,118 @@ | |||
| 1 | --- | ||
| 2 | src/sta_ioctl.c | 26 +++++++++++++------------- | ||
| 3 | 1 file changed, 13 insertions(+), 13 deletions(-) | ||
| 4 | |||
| 5 | Index: rt2860-clean/src/sta_ioctl.c | ||
| 6 | =================================================================== | ||
| 7 | --- rt2860-clean.orig/src/sta_ioctl.c 2008-09-11 15:14:44.000000000 +0200 | ||
| 8 | +++ rt2860-clean/src/sta_ioctl.c 2008-09-11 15:44:27.000000000 +0200 | ||
| 9 | @@ -1010,8 +1010,8 @@ int rt_ioctl_siwscan(struct net_device * | ||
| 10 | } | ||
| 11 | |||
| 12 | int rt_ioctl_giwscan(struct net_device *dev, | ||
| 13 | - struct iw_request_info *info, | ||
| 14 | - struct iw_point *data, char *extra) | ||
| 15 | + struct iw_request_info *info, | ||
| 16 | + struct iw_point *data, char *extra) | ||
| 17 | { | ||
| 18 | |||
| 19 | PRTMP_ADAPTER pAdapter = (PRTMP_ADAPTER) dev->priv; | ||
| 20 | @@ -1073,7 +1073,7 @@ int rt_ioctl_giwscan(struct net_device * | ||
| 21 | memcpy(iwe.u.ap_addr.sa_data, &pAdapter->ScanTab.BssEntry[i].Bssid, ETH_ALEN); | ||
| 22 | |||
| 23 | previous_ev = current_ev; | ||
| 24 | - current_ev = iwe_stream_add_event(current_ev,end_buf, &iwe, IW_EV_ADDR_LEN); | ||
| 25 | + current_ev = iwe_stream_add_event(info, current_ev,end_buf, &iwe, IW_EV_ADDR_LEN); | ||
| 26 | if (current_ev == previous_ev) | ||
| 27 | #if WIRELESS_EXT >= 17 | ||
| 28 | return -E2BIG; | ||
| 29 | @@ -1089,7 +1089,7 @@ int rt_ioctl_giwscan(struct net_device * | ||
| 30 | iwe.u.data.flags = 1; | ||
| 31 | |||
| 32 | previous_ev = current_ev; | ||
| 33 | - current_ev = iwe_stream_add_point(current_ev,end_buf, &iwe, pAdapter->ScanTab.BssEntry[i].Ssid); | ||
| 34 | + current_ev = iwe_stream_add_point(info, current_ev,end_buf, &iwe, pAdapter->ScanTab.BssEntry[i].Ssid); | ||
| 35 | if (current_ev == previous_ev) | ||
| 36 | #if WIRELESS_EXT >= 17 | ||
| 37 | return -E2BIG; | ||
| 38 | @@ -1116,7 +1116,7 @@ int rt_ioctl_giwscan(struct net_device * | ||
| 39 | iwe.len = IW_EV_UINT_LEN; | ||
| 40 | |||
| 41 | previous_ev = current_ev; | ||
| 42 | - current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe, IW_EV_UINT_LEN); | ||
| 43 | + current_ev = iwe_stream_add_event(info, current_ev, end_buf, &iwe, IW_EV_UINT_LEN); | ||
| 44 | if (current_ev == previous_ev) | ||
| 45 | #if WIRELESS_EXT >= 17 | ||
| 46 | return -E2BIG; | ||
| 47 | @@ -1136,7 +1136,7 @@ int rt_ioctl_giwscan(struct net_device * | ||
| 48 | iwe.u.freq.i = 0; | ||
| 49 | |||
| 50 | previous_ev = current_ev; | ||
| 51 | - current_ev = iwe_stream_add_event(current_ev,end_buf, &iwe, IW_EV_FREQ_LEN); | ||
| 52 | + current_ev = iwe_stream_add_event(info, current_ev,end_buf, &iwe, IW_EV_FREQ_LEN); | ||
| 53 | if (current_ev == previous_ev) | ||
| 54 | #if WIRELESS_EXT >= 17 | ||
| 55 | return -E2BIG; | ||
| 56 | @@ -1151,7 +1151,7 @@ int rt_ioctl_giwscan(struct net_device * | ||
| 57 | iwe.u.qual.level = 0; | ||
| 58 | iwe.u.qual.noise = 0; | ||
| 59 | set_quality(pAdapter, &iwe.u.qual, pAdapter->ScanTab.BssEntry[i].Rssi); | ||
| 60 | - current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe, IW_EV_QUAL_LEN); | ||
| 61 | + current_ev = iwe_stream_add_event(info, current_ev, end_buf, &iwe, IW_EV_QUAL_LEN); | ||
| 62 | if (current_ev == previous_ev) | ||
| 63 | #if WIRELESS_EXT >= 17 | ||
| 64 | return -E2BIG; | ||
| 65 | @@ -1169,7 +1169,7 @@ int rt_ioctl_giwscan(struct net_device * | ||
| 66 | iwe.u.data.flags = IW_ENCODE_DISABLED; | ||
| 67 | |||
| 68 | previous_ev = current_ev; | ||
| 69 | - current_ev = iwe_stream_add_point(current_ev, end_buf,&iwe, (char *)pAdapter->SharedKey[BSS0][(iwe.u.data.flags & IW_ENCODE_INDEX)-1].Key); | ||
| 70 | + current_ev = iwe_stream_add_point(info, current_ev, end_buf,&iwe, (char *)pAdapter->SharedKey[BSS0][(iwe.u.data.flags & IW_ENCODE_INDEX)-1].Key); | ||
| 71 | if (current_ev == previous_ev) | ||
| 72 | #if WIRELESS_EXT >= 17 | ||
| 73 | return -E2BIG; | ||
| 74 | @@ -1197,7 +1197,7 @@ int rt_ioctl_giwscan(struct net_device * | ||
| 75 | iwe.u.bitrate.value = (tmpRate/2) * 1000000; | ||
| 76 | |||
| 77 | iwe.u.bitrate.disabled = 0; | ||
| 78 | - current_val = iwe_stream_add_value(current_ev, | ||
| 79 | + current_val = iwe_stream_add_value(info, current_ev, | ||
| 80 | current_val, end_buf, &iwe, | ||
| 81 | IW_EV_PARAM_LEN); | ||
| 82 | |||
| 83 | @@ -1221,7 +1221,7 @@ int rt_ioctl_giwscan(struct net_device * | ||
| 84 | pAdapter->ScanTab.BssEntry[i].WpaIE.IELen); | ||
| 85 | iwe.cmd = IWEVGENIE; | ||
| 86 | iwe.u.data.length = pAdapter->ScanTab.BssEntry[i].WpaIE.IELen; | ||
| 87 | - current_ev = iwe_stream_add_point(current_ev, end_buf, &iwe, custom); | ||
| 88 | + current_ev = iwe_stream_add_point(info, current_ev, end_buf, &iwe, custom); | ||
| 89 | if (current_ev == previous_ev) | ||
| 90 | #if WIRELESS_EXT >= 17 | ||
| 91 | return -E2BIG; | ||
| 92 | @@ -1239,7 +1239,7 @@ int rt_ioctl_giwscan(struct net_device * | ||
| 93 | pAdapter->ScanTab.BssEntry[i].RsnIE.IELen); | ||
| 94 | iwe.cmd = IWEVGENIE; | ||
| 95 | iwe.u.data.length = pAdapter->ScanTab.BssEntry[i].RsnIE.IELen; | ||
| 96 | - current_ev = iwe_stream_add_point(current_ev, end_buf, &iwe, custom); | ||
| 97 | + current_ev = iwe_stream_add_point(info, current_ev, end_buf, &iwe, custom); | ||
| 98 | if (current_ev == previous_ev) | ||
| 99 | #if WIRELESS_EXT >= 17 | ||
| 100 | return -E2BIG; | ||
| 101 | @@ -1260,7 +1260,7 @@ int rt_ioctl_giwscan(struct net_device * | ||
| 102 | for (idx = 0; idx < pAdapter->ScanTab.BssEntry[i].WpaIE.IELen; idx++) | ||
| 103 | sprintf(custom, "%s%02x", custom, pAdapter->ScanTab.BssEntry[i].WpaIE.IE[idx]); | ||
| 104 | previous_ev = current_ev; | ||
| 105 | - current_ev = iwe_stream_add_point(current_ev, end_buf, &iwe, custom); | ||
| 106 | + current_ev = iwe_stream_add_point(info, current_ev, end_buf, &iwe, custom); | ||
| 107 | if (current_ev == previous_ev) | ||
| 108 | #if WIRELESS_EXT >= 17 | ||
| 109 | return -E2BIG; | ||
| 110 | @@ -1280,7 +1280,7 @@ int rt_ioctl_giwscan(struct net_device * | ||
| 111 | for (idx = 0; idx < pAdapter->ScanTab.BssEntry[i].RsnIE.IELen; idx++) | ||
| 112 | sprintf(custom, "%s%02x", custom, pAdapter->ScanTab.BssEntry[i].RsnIE.IE[idx]); | ||
| 113 | previous_ev = current_ev; | ||
| 114 | - current_ev = iwe_stream_add_point(current_ev, end_buf, &iwe, custom); | ||
| 115 | + current_ev = iwe_stream_add_point(info, current_ev, end_buf, &iwe, custom); | ||
| 116 | if (current_ev == previous_ev) | ||
| 117 | #if WIRELESS_EXT >= 17 | ||
| 118 | return -E2BIG; | ||
diff --git a/meta/packages/rt2860/rt2860-1.7.0.0/04-pci_name.patch b/meta/packages/rt2860/rt2860-1.7.0.0/04-pci_name.patch new file mode 100644 index 0000000000..ded935054d --- /dev/null +++ b/meta/packages/rt2860/rt2860-1.7.0.0/04-pci_name.patch | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | --- | ||
| 2 | src/2860_main_dev.c | 2 +- | ||
| 3 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 4 | |||
| 5 | Index: rt2860-clean/src/2860_main_dev.c | ||
| 6 | =================================================================== | ||
| 7 | --- rt2860-clean.orig/src/2860_main_dev.c 2008-09-11 16:29:27.000000000 +0200 | ||
| 8 | +++ rt2860-clean/src/2860_main_dev.c 2008-09-11 16:29:32.000000000 +0200 | ||
| 9 | @@ -1074,7 +1074,7 @@ BOOLEAN RT28XXNetDevInit( | ||
| 10 | IN RTMP_ADAPTER *pAd) | ||
| 11 | { | ||
| 12 | struct pci_dev *pci_dev = (struct pci_dev *)_dev_p; | ||
| 13 | - CHAR *print_name; | ||
| 14 | + const char *print_name; | ||
| 15 | ULONG csr_addr; | ||
| 16 | |||
| 17 | |||
diff --git a/meta/packages/rt2860/rt2860_1.7.0.0.bb b/meta/packages/rt2860/rt2860_1.7.0.0.bb new file mode 100644 index 0000000000..fb11efd91c --- /dev/null +++ b/meta/packages/rt2860/rt2860_1.7.0.0.bb | |||
| @@ -0,0 +1,26 @@ | |||
| 1 | DESCRIPTION = "Driver for the 802.11n RaLink rt2860 chipset" | ||
| 2 | PRIORITY = "optional" | ||
| 3 | SECTION = "kernel/modules" | ||
| 4 | LICENSE = "GPL" | ||
| 5 | PR = "r0" | ||
| 6 | |||
| 7 | SRC_URI = "http://folks.o-hand.com/sameo/rt2860/rt2860-1.7.0.0.tar.bz2 \ | ||
| 8 | file://01_dev_get_by_name.patch;patch=1 \ | ||
| 9 | file://02_wpa-fix.patch;patch=1" \ | ||
| 10 | file://03-iwe_stream_add.patch;patch=1" \ | ||
| 11 | file://04-pci_name.patch;patch=1" | ||
| 12 | |||
| 13 | S = "${WORKDIR}/rt2860-1.7.0.0" | ||
| 14 | |||
| 15 | inherit module | ||
| 16 | |||
| 17 | EXTRA_OEMAKE = "'CC=${KERNEL_CC}' \ | ||
| 18 | 'LD=${KERNEL_LD}' \ | ||
| 19 | 'KDIR=${STAGING_KERNEL_DIR}'" | ||
| 20 | |||
| 21 | MODULES = "rt2860" | ||
| 22 | |||
| 23 | do_install() { | ||
| 24 | install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net/wireless | ||
| 25 | install -m 0644 *${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net/wireless | ||
| 26 | } | ||
