Search Linux Wireless

Re: Problem with the rtl8192cu - kernelmodule after ifdown, ifup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 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.
>
>
> Attached is a patch that I think will help. The main thing it changes is
> that routine rtl92cu_set_check_bssid() has been coded to update RCR. The
> other thing that was changed is to make the RCR setting always log even with
> the default debug option of 0. That will be temporary and that change will
> be deleted once we get this problem fixed.
>
> Let me know if the patch helps.
[..]

Tried the patch, but didn't help:

<7>rtl8192cu:rtl92cu_set_hw_reg():<0-0> ### Set RCR(0xf0002a0e) ###
<7>rtlwifi:rtl_op_conf_tx():<0-0> queue number -954253944 is incorrect!
<7>rtlwifi:rtl_op_conf_tx():<0-0> queue number -954253944 is incorrect!
<7>rtlwifi:rtl_op_conf_tx():<0-0> queue number -954253944 is incorrect!
<7>rtlwifi:rtl_op_conf_tx():<0-0> queue number -954253944 is incorrect!
<7>rtl8192cu:rtl92cu_set_hw_reg():<0-0> ### Set RCR(0xf0002a0e) ###

----> Driver loaded scanning gets results ok.

<6>rtl8192cu: MAC auto ON okay!
<6>rtl8192cu: Tx queue select: 0x05
<7>rtl8192c_common:rtl92c_phy_set_bw_mode():<0-0> FALSE driver sleep or unload
<6>rtl8192c_common: Loading firmware file rtlwifi/rtl8192cufw.bin
<7>rtl8192cu:rtl92cu_set_hw_reg():<0-0> ### Set RCR(0xf0002ace) ###
<7>rtlwifi:rtl_op_conf_tx():<0-0> queue number -954253944 is incorrect!
<7>rtlwifi:rtl_op_conf_tx():<0-0> queue number -954253944 is incorrect!
<7>rtlwifi:rtl_op_conf_tx():<0-0> queue number -954253944 is incorrect!
<7>rtlwifi:rtl_op_conf_tx():<0-0> queue number -954253944 is incorrect!
<7>rtl8192cu:rtl92cu_set_hw_reg():<0-0> ### Set RCR(0xf0002a0e) ###

----> ifdown/ifup no scanning results.

<6>rtl8192cu: MAC auto ON okay!
<6>rtl8192cu: Tx queue select: 0x05
<7>rtl8192c_common:rtl92c_phy_set_bw_mode():<0-0> FALSE driver sleep or unload
<6>rtl8192c_common: Loading firmware file rtlwifi/rtl8192cufw.bin
<7>rtl8192cu:rtl92cu_set_hw_reg():<0-0> ### Set RCR(0xf0002ace) ###
<7>rtlwifi:rtl_op_conf_tx():<0-0> queue number -954253944 is incorrect!
<7>rtlwifi:rtl_op_conf_tx():<0-0> queue number -954253944 is incorrect!
<7>rtlwifi:rtl_op_conf_tx():<0-0> queue number -954253944 is incorrect!
<7>rtlwifi:rtl_op_conf_tx():<0-0> queue number -954253944 is incorrect!
<7>rtl8192cu:rtl92cu_set_hw_reg():<0-0> ### Set RCR(0xf0002a0e) ###

----> ifdown/ifup no scanning results.

Nicu
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux