linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Larry Finger <Larry.Finger@lwfinger.net>
To: linux-wireless@vger.kernel.org
Cc: Joshua Roys <Joshua.Roys@gtri.gatech.edu>,
	Nicu Pavel <npavel@mini-box.com>
Subject: Re: Problem with the rtl8192cu - kernelmodule after ifdown, ifup
Date: Thu, 05 Apr 2012 11:23:13 -0500	[thread overview]
Message-ID: <4F7DC6F1.50304@lwfinger.net> (raw)
In-Reply-To: <4F7D90AF.2040109@gtri.gatech.edu>

On 04/05/2012 07:31 AM, Joshua Roys wrote:
> On 04/05/2012 03:27 AM, Nicu Pavel wrote:
>> After mode debugging with DBG_LOUD I found out that the difference when the
>> driver is loaded/modprobed and ifdown/ifup to be a receive configuration
>> register (RCR) value.
>>
>> On bootup/modprobe: ### Set RCR(0xf0002a0e) ###
>> On ifdown/ifup: ### Set RCR(0xf0002ace) ###
>>
>> If I force RCR value to 0x2a0e in rtl92cu_set_hw_reg()inside HW_VAR_RCR case
>> everything works ok.
>>
>> This seems to work with 3 different vendors USB sticks based on 8192cu chipset
>> (Edimax, EDUP and some unknown vendor).
>>
>> I tried looking up the bit values meanings from that register but couldn't find
>> a proper spec.
>
> Hello,
>
> I found a header file that seems to have better definitions and comments than
> what is currently in-tree (I think it's a copy of the Realtek sources). It says
> that the "8192C (RCR) Receive Configuration Register" BIT 6 and 7 are,
> respectively: RCR_CBSSID_DATA [Accept BSSID match packet (Data)] and
> RCR_CBSSID_BCN [Accept BSSID match packet (Rx beacon, probe rsp)].
> These bits are set/cleared in _rtl92cu_set_check_bssid (it calls set_hw_reg
> w/HW_VAR_RCR) which is called by rtl92cu_set_network_type. The set/clear choice
> is made based on the rtlphy->current_io_type which is set in
> rtl8192c/phy_common.c:rtl92c_phy_scan_operation_backup which in turn is called
> from core.c:rtl_op_sw_scan_start/_complete.
> It would be interesting to see the output from rtl8192c/phy_common.c functions
> rtl92c_phy_set_io_cmd and rtl92c_phy_set_io to see if the current_io_type
> perhaps isn't being updated properly.

I have a low-priority patch that will add the definitions of the bits in the 
Receive Control Register. Bits 6 & 7 should be set when the interface is 
associated with an AP. That will let the hardware filter out any traffic not 
coming from the AP and reduce the driver's work load. When the interface is not 
associated, those bits should be clear. Forcing them off will work at the 
expense of extra overhead.

When NetworkManager controls the interface, I think these bits are set correctly 
- it is when manual ifup/ifdown is used that the wrong settings result. I will 
need to switch my system into manual mode to see if I can find the place where 
it goes wrong.

Larry

  reply	other threads:[~2012-04-05 16:23 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-12 14:11 Problem with the rtl8192cu - kernelmodule after ifdown, ifup Markus Königshaus
2012-01-13  3:28 ` Larry Finger
2012-04-02 11:32   ` Nicu Pavel
2012-04-05  7:27   ` Nicu Pavel
2012-04-05 12:31     ` Joshua Roys
2012-04-05 16:23       ` Larry Finger [this message]
2012-04-06  2:04       ` Larry Finger
2012-04-06  8:48         ` Nicu Pavel
2012-04-06 19:54           ` Larry Finger
2012-04-09  8:40             ` Nicu Pavel
2012-04-09 16:03               ` Larry Finger
2012-04-09 16:29                 ` Nicu Pavel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F7DC6F1.50304@lwfinger.net \
    --to=larry.finger@lwfinger.net \
    --cc=Joshua.Roys@gtri.gatech.edu \
    --cc=linux-wireless@vger.kernel.org \
    --cc=npavel@mini-box.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).