On 09/10/2011 08:11 PM, Steven A. Falco wrote:
I am attempting to use a Realtek USB dongle as an access point on a PC running Fedora 15, with hostapd as the user-layer SW. The USB ID is 0bda:8176, which makes this an rtlwifi:rtl8192cu device.
What kernel are you running? The latest is in wireless-testing, but that will be difficult to clone as long as kernel.org is out of commission. In addition, there are two patches that were sent on 9/3, but have not yet been incorporated due to the k.o problems. They are attached.
I just got a Powermac G4 and I'm fixing the big-endian issues, but that is clearly not your problem.
Larry
>From b29f825b3c7a495ecf415d2810cae9d2f110f05f Mon Sep 17 00:00:00 2001 From: George <george0505@xxxxxxxxxxx> Date: Sat, 3 Sep 2011 10:44:32 -0500 Subject: [PATCH 1/2] rtlwifi: rtl8192cu: Fix problem connecting to HT-enabled AP To: linville@xxxxxxxxxxxxx Cc: linux-wireless@xxxxxxxxxxxxxxx,chaoming_li@xxxxxxxxxxxxxx The driver fails to connect to 802.11n-enabled APs. The patch fixes Bug #42262. Signed-off-by: George <george0505@xxxxxxxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: Stable <stable@xxxxxxxxxx> [2.6.39+] --- drivers/net/wireless/rtlwifi/rtl8192cu/trx.c | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/net/wireless/rtlwifi/rtl8192cu/trx.c b/drivers/net/wireless/rtlwifi/rtl8192cu/trx.c index a8e87ad..f875fed 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192cu/trx.c +++ b/drivers/net/wireless/rtlwifi/rtl8192cu/trx.c @@ -546,15 +546,16 @@ void rtl92cu_tx_fill_desc(struct ieee80211_hw *hw, (tcb_desc->rts_use_shortpreamble ? 1 : 0) : (tcb_desc->rts_use_shortgi ? 1 : 0))); if (mac->bw_40) { - if (tcb_desc->packet_bw) { + if (rate_flag & IEEE80211_TX_RC_DUP_DATA) { SET_TX_DESC_DATA_BW(txdesc, 1); SET_TX_DESC_DATA_SC(txdesc, 3); + } else if(rate_flag & IEEE80211_TX_RC_40_MHZ_WIDTH){ + SET_TX_DESC_DATA_BW(txdesc, 1); + SET_TX_DESC_DATA_SC(txdesc, mac->cur_40_prime_sc); } else { SET_TX_DESC_DATA_BW(txdesc, 0); - if (rate_flag & IEEE80211_TX_RC_DUP_DATA) - SET_TX_DESC_DATA_SC(txdesc, - mac->cur_40_prime_sc); - } + SET_TX_DESC_DATA_SC(txdesc, 0); + } } else { SET_TX_DESC_DATA_BW(txdesc, 0); SET_TX_DESC_DATA_SC(txdesc, 0); -- 1.7.6.1
>From 811462b15d9e9a23ee6d113ec652c57628230a7b Mon Sep 17 00:00:00 2001 From: George <george0505@xxxxxxxxxxx> Date: Sat, 3 Sep 2011 10:47:14 -0500 Subject: [PATCH 2/2] rtlwifi: Fix problem when switching connections To: linville@xxxxxxxxxxxxx Cc: linux-wireless@xxxxxxxxxxxxxxx,chaoming_li@xxxxxxxxxxxxxx The driver fails to clear encryption keys making it impossible to switch connections. Signed-off-by: George <george0505@xxxxxxxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: Stable <stable@xxxxxxxxxx> [2.6.39+] --- drivers/net/wireless/rtlwifi/core.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/drivers/net/wireless/rtlwifi/core.c b/drivers/net/wireless/rtlwifi/core.c index 1bdc1aa..04c4e9e 100644 --- a/drivers/net/wireless/rtlwifi/core.c +++ b/drivers/net/wireless/rtlwifi/core.c @@ -610,6 +610,11 @@ static void rtl_op_bss_info_changed(struct ieee80211_hw *hw, mac->link_state = MAC80211_NOLINK; memset(mac->bssid, 0, 6); + + /* reset sec info */ + rtl_cam_reset_sec_info(hw); + + rtl_cam_reset_all_entry(hw); mac->vendor = PEER_UNKNOWN; RT_TRACE(rtlpriv, COMP_MAC80211, DBG_DMESG, @@ -1063,6 +1068,9 @@ static int rtl_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, *or clear all entry here. */ rtl_cam_delete_one_entry(hw, mac_addr, key_idx); + + rtl_cam_reset_sec_info(hw); + break; default: RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG, -- 1.7.6.1