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 /meta | |
parent | 93159c9e70b4da458bcba13f25185b59ba7ce642 (diff) | |
download | openembedded-core-d2c6e8a8e0b9d720804f557172c75b4804bb3905.tar.gz openembedded-core-d2c6e8a8e0b9d720804f557172c75b4804bb3905.tar.bz2 openembedded-core-d2c6e8a8e0b9d720804f557172c75b4804bb3905.tar.xz openembedded-core-d2c6e8a8e0b9d720804f557172c75b4804bb3905.zip |
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
Diffstat (limited to 'meta')
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 000000000..2f9d2ad50 --- /dev/null +++ b/meta/packages/rt2860/rt2860-1.7.0.0/01_dev_get_by_name.patch @@ -0,0 +1,24 @@ +--- + src/rt_main_dev.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +Index: rt2860-clean/src/rt_main_dev.c +=================================================================== +--- rt2860-clean.orig/src/rt_main_dev.c 2008-09-11 15:05:14.000000000 +0200 ++++ rt2860-clean/src/rt_main_dev.c 2008-09-11 15:05:17.000000000 +0200 +@@ -800,7 +800,14 @@ static NDIS_STATUS rt_ieee80211_if_setup + sprintf(slot_name, "ra%d", i); + + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) +- device = dev_get_by_name(dev->nd_net, slot_name); ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) ++ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) ++ device = dev_get_by_name(dev_net(dev), slot_name); ++#else ++ device = dev_get_by_name(dev->nd_net, slot_name); ++#endif ++ + #else + device = dev_get_by_name(slot_name); + #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 000000000..c55093d71 --- /dev/null +++ b/meta/packages/rt2860/rt2860-1.7.0.0/02_wpa-fix.patch @@ -0,0 +1,30 @@ +--- + src/mlme.c | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +Index: rt2860-clean/src/mlme.c +=================================================================== +--- rt2860-clean.orig/src/mlme.c 2008-09-11 15:06:10.000000000 +0200 ++++ rt2860-clean/src/mlme.c 2008-09-11 15:06:14.000000000 +0200 +@@ -772,6 +772,21 @@ VOID MlmePeriodicExec( + ULONG TxTotalCnt; + PRTMP_ADAPTER pAd = (RTMP_ADAPTER *)FunctionContext; + ++#ifdef EEEPC_SPECIAL_SETTING ++ //Baron 2008/07/10 ++ //printk("Baron_Test:\t%s", RTMPGetRalinkEncryModeStr(pAd->StaCfg.WepStatus)); ++ //If the STA security setting is OPEN or WEP, pAd->StaCfg.WpaSupplicantUP = 0. ++ //If the STA security setting is WPAPSK or WPA2PSK, pAd->StaCfg.WpaSupplicantUP = 1. ++ if(pAd->StaCfg.WepStatus<2) ++ { ++ pAd->StaCfg.WpaSupplicantUP = 0; ++ } ++ else ++ { ++ pAd->StaCfg.WpaSupplicantUP = 1; ++ } ++#endif ++ + #ifdef CONFIG_STA_SUPPORT + #ifdef RT2860 + 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 000000000..c47d561dc --- /dev/null +++ b/meta/packages/rt2860/rt2860-1.7.0.0/03-iwe_stream_add.patch @@ -0,0 +1,118 @@ +--- + src/sta_ioctl.c | 26 +++++++++++++------------- + 1 file changed, 13 insertions(+), 13 deletions(-) + +Index: rt2860-clean/src/sta_ioctl.c +=================================================================== +--- rt2860-clean.orig/src/sta_ioctl.c 2008-09-11 15:14:44.000000000 +0200 ++++ rt2860-clean/src/sta_ioctl.c 2008-09-11 15:44:27.000000000 +0200 +@@ -1010,8 +1010,8 @@ int rt_ioctl_siwscan(struct net_device * + } + + int rt_ioctl_giwscan(struct net_device *dev, +- struct iw_request_info *info, +- struct iw_point *data, char *extra) ++ struct iw_request_info *info, ++ struct iw_point *data, char *extra) + { + + PRTMP_ADAPTER pAdapter = (PRTMP_ADAPTER) dev->priv; +@@ -1073,7 +1073,7 @@ int rt_ioctl_giwscan(struct net_device * + memcpy(iwe.u.ap_addr.sa_data, &pAdapter->ScanTab.BssEntry[i].Bssid, ETH_ALEN); + + previous_ev = current_ev; +- current_ev = iwe_stream_add_event(current_ev,end_buf, &iwe, IW_EV_ADDR_LEN); ++ current_ev = iwe_stream_add_event(info, current_ev,end_buf, &iwe, IW_EV_ADDR_LEN); + if (current_ev == previous_ev) + #if WIRELESS_EXT >= 17 + return -E2BIG; +@@ -1089,7 +1089,7 @@ int rt_ioctl_giwscan(struct net_device * + iwe.u.data.flags = 1; + + previous_ev = current_ev; +- current_ev = iwe_stream_add_point(current_ev,end_buf, &iwe, pAdapter->ScanTab.BssEntry[i].Ssid); ++ current_ev = iwe_stream_add_point(info, current_ev,end_buf, &iwe, pAdapter->ScanTab.BssEntry[i].Ssid); + if (current_ev == previous_ev) + #if WIRELESS_EXT >= 17 + return -E2BIG; +@@ -1116,7 +1116,7 @@ int rt_ioctl_giwscan(struct net_device * + iwe.len = IW_EV_UINT_LEN; + + previous_ev = current_ev; +- current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe, IW_EV_UINT_LEN); ++ current_ev = iwe_stream_add_event(info, current_ev, end_buf, &iwe, IW_EV_UINT_LEN); + if (current_ev == previous_ev) + #if WIRELESS_EXT >= 17 + return -E2BIG; +@@ -1136,7 +1136,7 @@ int rt_ioctl_giwscan(struct net_device * + iwe.u.freq.i = 0; + + previous_ev = current_ev; +- current_ev = iwe_stream_add_event(current_ev,end_buf, &iwe, IW_EV_FREQ_LEN); ++ current_ev = iwe_stream_add_event(info, current_ev,end_buf, &iwe, IW_EV_FREQ_LEN); + if (current_ev == previous_ev) + #if WIRELESS_EXT >= 17 + return -E2BIG; +@@ -1151,7 +1151,7 @@ int rt_ioctl_giwscan(struct net_device * + iwe.u.qual.level = 0; + iwe.u.qual.noise = 0; + set_quality(pAdapter, &iwe.u.qual, pAdapter->ScanTab.BssEntry[i].Rssi); +- current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe, IW_EV_QUAL_LEN); ++ current_ev = iwe_stream_add_event(info, current_ev, end_buf, &iwe, IW_EV_QUAL_LEN); + if (current_ev == previous_ev) + #if WIRELESS_EXT >= 17 + return -E2BIG; +@@ -1169,7 +1169,7 @@ int rt_ioctl_giwscan(struct net_device * + iwe.u.data.flags = IW_ENCODE_DISABLED; + + previous_ev = current_ev; +- current_ev = iwe_stream_add_point(current_ev, end_buf,&iwe, (char *)pAdapter->SharedKey[BSS0][(iwe.u.data.flags & IW_ENCODE_INDEX)-1].Key); ++ 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); + if (current_ev == previous_ev) + #if WIRELESS_EXT >= 17 + return -E2BIG; +@@ -1197,7 +1197,7 @@ int rt_ioctl_giwscan(struct net_device * + iwe.u.bitrate.value = (tmpRate/2) * 1000000; + + iwe.u.bitrate.disabled = 0; +- current_val = iwe_stream_add_value(current_ev, ++ current_val = iwe_stream_add_value(info, current_ev, + current_val, end_buf, &iwe, + IW_EV_PARAM_LEN); + +@@ -1221,7 +1221,7 @@ int rt_ioctl_giwscan(struct net_device * + pAdapter->ScanTab.BssEntry[i].WpaIE.IELen); + iwe.cmd = IWEVGENIE; + iwe.u.data.length = pAdapter->ScanTab.BssEntry[i].WpaIE.IELen; +- current_ev = iwe_stream_add_point(current_ev, end_buf, &iwe, custom); ++ current_ev = iwe_stream_add_point(info, current_ev, end_buf, &iwe, custom); + if (current_ev == previous_ev) + #if WIRELESS_EXT >= 17 + return -E2BIG; +@@ -1239,7 +1239,7 @@ int rt_ioctl_giwscan(struct net_device * + pAdapter->ScanTab.BssEntry[i].RsnIE.IELen); + iwe.cmd = IWEVGENIE; + iwe.u.data.length = pAdapter->ScanTab.BssEntry[i].RsnIE.IELen; +- current_ev = iwe_stream_add_point(current_ev, end_buf, &iwe, custom); ++ current_ev = iwe_stream_add_point(info, current_ev, end_buf, &iwe, custom); + if (current_ev == previous_ev) + #if WIRELESS_EXT >= 17 + return -E2BIG; +@@ -1260,7 +1260,7 @@ int rt_ioctl_giwscan(struct net_device * + for (idx = 0; idx < pAdapter->ScanTab.BssEntry[i].WpaIE.IELen; idx++) + sprintf(custom, "%s%02x", custom, pAdapter->ScanTab.BssEntry[i].WpaIE.IE[idx]); + previous_ev = current_ev; +- current_ev = iwe_stream_add_point(current_ev, end_buf, &iwe, custom); ++ current_ev = iwe_stream_add_point(info, current_ev, end_buf, &iwe, custom); + if (current_ev == previous_ev) + #if WIRELESS_EXT >= 17 + return -E2BIG; +@@ -1280,7 +1280,7 @@ int rt_ioctl_giwscan(struct net_device * + for (idx = 0; idx < pAdapter->ScanTab.BssEntry[i].RsnIE.IELen; idx++) + sprintf(custom, "%s%02x", custom, pAdapter->ScanTab.BssEntry[i].RsnIE.IE[idx]); + previous_ev = current_ev; +- current_ev = iwe_stream_add_point(current_ev, end_buf, &iwe, custom); ++ current_ev = iwe_stream_add_point(info, current_ev, end_buf, &iwe, custom); + if (current_ev == previous_ev) + #if WIRELESS_EXT >= 17 + 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 000000000..ded935054 --- /dev/null +++ b/meta/packages/rt2860/rt2860-1.7.0.0/04-pci_name.patch @@ -0,0 +1,17 @@ +--- + src/2860_main_dev.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: rt2860-clean/src/2860_main_dev.c +=================================================================== +--- rt2860-clean.orig/src/2860_main_dev.c 2008-09-11 16:29:27.000000000 +0200 ++++ rt2860-clean/src/2860_main_dev.c 2008-09-11 16:29:32.000000000 +0200 +@@ -1074,7 +1074,7 @@ BOOLEAN RT28XXNetDevInit( + IN RTMP_ADAPTER *pAd) + { + struct pci_dev *pci_dev = (struct pci_dev *)_dev_p; +- CHAR *print_name; ++ const char *print_name; + ULONG csr_addr; + + 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 000000000..fb11efd91 --- /dev/null +++ b/meta/packages/rt2860/rt2860_1.7.0.0.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "Driver for the 802.11n RaLink rt2860 chipset" +PRIORITY = "optional" +SECTION = "kernel/modules" +LICENSE = "GPL" +PR = "r0" + +SRC_URI = "http://folks.o-hand.com/sameo/rt2860/rt2860-1.7.0.0.tar.bz2 \ + file://01_dev_get_by_name.patch;patch=1 \ + file://02_wpa-fix.patch;patch=1" \ + file://03-iwe_stream_add.patch;patch=1" \ + file://04-pci_name.patch;patch=1" + +S = "${WORKDIR}/rt2860-1.7.0.0" + +inherit module + +EXTRA_OEMAKE = "'CC=${KERNEL_CC}' \ + 'LD=${KERNEL_LD}' \ + 'KDIR=${STAGING_KERNEL_DIR}'" + +MODULES = "rt2860" + +do_install() { + install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net/wireless + install -m 0644 *${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net/wireless +} |