rtl8192ce on 12.2 x86 kernel 3.4.6-2.10 not working

Just like the title says. I had it working with the compiled drivers from the realtek website, but it would not connect on boot. I would have to hard-disable the wireless adapter, restart it, and then it would load. Needless to say, this caused some problems with my mounted network shares.
So, I decided to give the steps in this thread a try(after uninstalling the previous realtek drivers):

http://forums.opensuse.org/english/get-technical-help-here/wireless/478539-wireless-problem-rtl8188ce-rtl8192ce-3.html

After following these steps to the letter, I get no wireless. Here are the figures:

lspci -v:
08:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter (rev 01)
        Subsystem: Realtek Semiconductor Co., Ltd. Device 8212
        Flags: bus master, fast devsel, latency 0, IRQ 17
        I/O ports at 2000 [size=256]
        Memory at c1000000 (64-bit, non-prefetchable) [size=16]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [70] Express Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [140] Virtual Channel
        Capabilities: [160] Device Serial Number 01-91-81-fe-ff-4c-e0-00
        Kernel driver in use: rtl8192ce

Looks good so far…

modinfo rtl8192ce:

filename:       /lib/modules/3.4.6-2.10-desktop/updates/drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192ce.ko
firmware:       rtlwifi/rtl8192cfwU_B.bin
firmware:       rtlwifi/rtl8192cfwU.bin
firmware:       rtlwifi/rtl8192cfw.bin
description:    Realtek 8192C/8188C 802.11n PCI wireless
license:        GPL
author:         Larry Finger    <Larry.Finger@lwfinger.net>
author:         Realtek WlanFAE <wlanfae@realtek.com>
author:         lizhaoming      <chaoming_li@realsil.com.cn>
srcversion:     F0A3FDF47EDC31753283919
alias:          pci:v000010ECd00008176sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008177sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008178sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008191sv*sd*bc*sc*i*
depends:        rtlwifi,rtl8192c-common,compat,mac80211
vermagic:       3.4.6-2.10-desktop SMP preempt mod_unload modversions 
parm:           swenc:Set to 1 for software crypto (default 0)
 (bool)
parm:           ips:Set to 0 to not use link power save (default 1)
 (bool)
parm:           swlps:Set to 1 to use SW control power save (default 0)
 (bool)
parm:           fwlps:Set to 1 to use FW control power save (default 1)
 (bool)
parm:           debug:Set debug level (0-5) (default 0) (int)


I believe this is indicating that the drivers from malcolmlewis are in effect. I’m not sure if the powersave parms at the bottom have anything to do with this issue. I can’t change these with a conf file in /etc/modprobe.d as I could with the old driver.

ifconfig:

eth0      Link encap:Ethernet  HWaddr 00:26:6C:0E:83:0B  
          inet addr:10.0.0.6  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::226:6cff:fe0e:830b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5237 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5428 errors:0 dropped:0 overruns:0 carrier:1
          collisions:0 txqueuelen:1000 
          RX bytes:1824095 (1.7 Mb)  TX bytes:536128 (523.5 Kb)
          Interrupt:16 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:2282 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2282 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:204875 (200.0 Kb)  TX bytes:204875 (200.0 Kb)


iwconfig:

openSUSE-laptop:~ # iwconfig
eth0      no wireless extensions.

lo        no wireless extensions.

This makes me believe I’m overlooking something really simple. The driver seems to be installed correctly, but network manager isn’t showing anything for wireless, and neither are ifconfig or iwconfig.

Please let me know if I can provide any more information to help resolve this.[/size][/size]

FYI, I did have to modify one of the files in the old realtek drivers to get them to compile on the new kernel, which might explain why it won’t load on system start.

For comparison purposes, here is the return for modinfo on the “working” drivers from the realtek website:

filename:       /lib/modules/3.4.6-2.10-desktop/kernel/drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192ce.ko
firmware:       rtlwifi/rtl8192cfw.bin
description:    Realtek 8192C/8188C 802.11n PCI wireless
license:        GPL
author:         Larry Finger    <Larry.Finger@lwfinger.net>
author:         Realtek WlanFAE <wlanfae@realtek.com>
author:         lizhaoming      <chaoming_li@realsil.com.cn>
srcversion:     18B9D7DE9AA317668E0197D
alias:          pci:v000010ECd00008176sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008177sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008178sv*sd*bc*sc*i*
alias:          pci:v000010ECd00008191sv*sd*bc*sc*i*
depends:        rtlwifi,mac80211
vermagic:       3.4.6-2.10-desktop SMP preempt mod_unload modversions 
parm:           swlps:bool
parm:           swenc:using hardware crypto (default 0 [hardware])
 (bool)
parm:           ips:using no link power save (default 1 is open)
 (bool)
parm:           fwlps:using linked fw control power save (default 1 is open)
 (bool)



On 10/02/2012 03:36 AM, HuaiDan wrote:
>
> For comparison purposes, here is the return for modinfo on the “working”
> drivers from the realtek website:
>
>
> Code:
> --------------------
> filename: /lib/modules/3.4.6-2.10-desktop/kernel/drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192ce.ko
> firmware: rtlwifi/rtl8192cfw.bin
> description: Realtek 8192C/8188C 802.11n PCI wireless
> license: GPL
> author: Larry Finger <Larry.Finger@lwfinger.net>
> author: Realtek WlanFAE <wlanfae@realtek.com>
> author: lizhaoming <chaoming_li@realsil.com.cn>
> srcversion: 18B9D7DE9AA317668E0197D
> alias: pci:v000010ECd00008176svsdbcsci*
> alias: pci:v000010ECd00008177svsdbcsci*
> alias: pci:v000010ECd00008178svsdbcsci*
> alias: pci:v000010ECd00008191svsdbcsci*
> depends: rtlwifi,mac80211
> vermagic: 3.4.6-2.10-desktop SMP preempt mod_unload modversions
> parm: swlps:bool
> parm: swenc:using hardware crypto (default 0 [hardware])
> (bool)
> parm: ips:using no link power save (default 1 is open)
> (bool)
> parm: fwlps:using linked fw control power save (default 1 is open)
> (bool)

The module parameters are the same. I changed the descriptions to make them a
bit more understandable, but the functionality did not change.

Your first post was using the compat-wireless drivers. What you failed to
provide is the output from the dmesg log. That should be the clue to your
wireless problem.

Dmesg output for the new driver indicates that the firmware isn’t loading:

  26.382309] rtl8192ce:_rtl92ce_read_chip_version():&lt;0-0&gt; Chip Version ID: B_CUT_88C
26.392791] rtl8192ce: rtl8192ce: Power Save off (module option)
26.392792] rtl8192ce: rtl8192ce: FW Power Save off (module option)
26.392797] rtl8192ce: Using firmware rtlwifi/rtl8192cfwU_B.bin
26.393091] rtlwifi: Firmware rtlwifi/rtl8192cfwU_B.bin not available

Here’s the pci-id for the wireless adapter:

08:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter [10ec:8176] (rev 01)

Here’s the dmesg output for the old driver:

  24.202246] cfg80211: World regulatory domain updated:
24.202248] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
24.202251] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
24.202254] cfg80211:   (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
24.202256] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
24.202258] cfg80211:   (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
24.202260] cfg80211:   (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
24.205567] firmware microcode: firmware_loading_store: unexpected value (0)
24.206316] microcode: CPU3 sig=0x206a7, pf=0x10, revision=0x25

24.218042] microcode: CPU3 updated to revision 0x28, date = 2012-04-24
24.218088] microcode: Microcode Update Driver: v2.00 &lt;tigran@aivazian.fsnet.co.uk&gt;, Peter Oruba
24.219473] ieee80211 phy0: Selected rate control algorithm 'rtl_rc'
24.219696] cfg80211: Calling CRDA for country: EC
24.219737] rtlwifi: wireless switch is on
24.222501] input: HD-Audio Generic HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input11
24.230165] cfg80211: Regulatory domain changed to country: EC
24.230168] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
24.230171] cfg80211:   (2402000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm)
24.230174] cfg80211:   (5170000 KHz - 5250000 KHz @ 20000 KHz), (300 mBi, 1700 mBm)
24.230176] cfg80211:   (5250000 KHz - 5330000 KHz @ 20000 KHz), (300 mBi, 2300 mBm)
24.230179] cfg80211:   (5735000 KHz - 5835000 KHz @ 20000 KHz), (300 mBi, 3000 mBm)

Interesting to note that when I boot with the old driver, everything appears to be in working order. Network manager shows wlan0 as up, with several access points listed, but not my own router’s essid. After a hard reset, by which I mean toggling on/off the wifi with func-F12, network manager recognizes my router and automatically connects. Here’s the dmesg output of that operation:

 819.198207] ADDRCONF(NETDEV_UP): wlan0: link is not ready

821.220562] wlan0: authenticate with 20:4e:7f:ac:8c:3b
821.252515] wlan0: send auth to 20:4e:7f:ac:8c:3b (try 1/3)
821.258456] wlan0: authenticated
821.276099] wlan0: associate with 20:4e:7f:ac:8c:3b (try 1/3)
821.280063] wlan0: RX AssocResp from 20:4e:7f:ac:8c:3b (capab=0x411 status=0 aid=1)
821.296987] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
821.297051] wlan0: associated
831.454921] wlan0: no IPv6 routers present

Going through this extra step really isn’t that much of a hassle, except for the fact that my network shares won’t auto-mount on boot with the network down. This wasn’t an issue before I upgraded from the 12.1 kernel to 12.2. I really don’t want to downgrade the kernel, as my video driver gets along much better with this one.

Thank you LF for going through the trouble. I must apologize for the delayed response, which is due to us being in different time zones.

Here’s iwlist scan before reset:

wlan0 Scan completed :
Cell 01 - Address: 00:14:78:16:7F:E2
Channel:5
Frequency:2.432 GHz (Channel 5)
Quality=22/70 Signal level=-88 dBm
Encryption key: on
ESSID:“some_essid”
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
12 Mb/s; 24 Mb/s; 36 Mb/s
Bit Rates:9 Mb/s; 18 Mb/s; 48 Mb/s; 54 Mb/s
Mode:Master
Extra:tsf=0000000977845181
Extra: Last beacon: 556ms ago


      Cell 03 - Address: 20:4E:7F:AC:8C:3B
                Channel:11
                Frequency:2.462 GHz (Channel 11)
                Quality=26/70  Signal level=-84 dBm  
                Encryption key:  on
                ESSID:"***MY_ESSID***"
                Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
                          24 Mb/s; 36 Mb/s; 54 Mb/s
                Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 48 Mb/s
                Mode:Master
                Extra:tsf=0000000000000000
                Extra: Last beacon: 88ms ago
                IE: Unknown: 0006446A616E676F
                IE: Unknown: 010882848B962430486C
                IE: Unknown: 03010B
                IE: Unknown: 2A0100
                IE: Unknown: 2F0100
                IE: IEEE 802.11i/WPA2 Version 1
                    Group Cipher : CCMP
                    Pairwise Ciphers (1) : CCMP
                    Authentication Suites (1) : PSK

etc, etc.

and after reset:

wlan0 Scan completed :
Cell 01 - Address: 20:4E:7F:AC:8C:3B
Channel:11
Frequency:2.462 GHz (Channel 11)
Quality=70/70 Signal level=-36 dBm
Encryption key: on
ESSID:“MY_ESSID
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
24 Mb/s; 36 Mb/s; 54 Mb/s
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 48 Mb/s
Mode:Master
Extra:tsf=0000000000000000
Extra: Last beacon: 105ms ago
IE: Unknown: 0006446A616E676F
IE: Unknown: 010882848B962430486C
IE: Unknown: 03010B
IE: Unknown: 2A0100
IE: Unknown: 2F0100
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK


      Cell 02 - Address: B0:48:7A:40:EC:C4
                Channel:4
                Frequency:2.427 GHz (Channel 4)
                Quality=70/70  Signal level=20 dBm  
                Encryption key:     on
                ESSID:"Another_essid"
                Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
                          9 Mb/s; 12 Mb/s; 18 Mb/s
                Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s
                Mode:Master
                Extra:tsf=0000000bae5b3d80
                Extra: Last beacon: 736ms ago
                IE: Unknown: 000679756579616F
                IE: Unknown: 010882848B960C121824
                IE: Unknown: 030104
                IE: Unknown: 050400010000
                IE: Unknown: 2A0100
                IE: IEEE 802.11i/WPA2 Version 1
                    Group Cipher : CCMP
                    Pairwise Ciphers (1) : CCMP
                    Authentication Suites (1) : PSK
                IE: WPA Version 1
                    Group Cipher : CCMP
                    Pairwise Ciphers (1) : CCMP
                    Authentication Suites (1) : PSK

      Cell 03 - Address: 00:14:78:16:7F:E2
                Channel:5
                Frequency:2.432 GHz (Channel 5)
                Quality=46/70  Signal level=-64 dBm  
                Encryption key:       on
                ESSID:"some_essid"
                Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
                          12 Mb/s; 24 Mb/s; 36 Mb/s
                Bit Rates:9 Mb/s; 18 Mb/s; 48 Mb/s; 54 Mb/s
                Mode:Master
                Extra:tsf=00000009877d6181
                Extra: Last beacon: 563ms ago

etc, etc.

On 10/03/2012 01:36 AM, HuaiDan wrote:
>
> Dmesg output for the new driver indicates that the firmware isn’t
> loading:
>> 26.382309] rtl8192ce:_rtl92ce_read_chip_version():<0-0> Chip
>> Version ID: B_CUT_88C
>> 26.392791] rtl8192ce: rtl8192ce: Power Save off (module option)
>> 26.392792] rtl8192ce: rtl8192ce: FW Power Save off (module option)
>> 26.392797] rtl8192ce: Using firmware rtlwifi/rtl8192cfwU_B.bin
>> 26.393091] rtlwifi: Firmware rtlwifi/rtl8192cfwU_B.bin not
>> available
>>
>>
>
> Here’s the pci-id for the wireless adapter:
>> 08:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd.
>> RTL8188CE 802.11b/g/n WiFi Adapter [10ec:8176] (rev 01)
>>
>>
>
> Here’s the dmesg output for the old driver:
>
>> 24.202246] cfg80211: World regulatory domain updated:
>> 24.202248] cfg80211: (start_freq - end_freq @ bandwidth),
>> (max_antenna_gain, max_eirp)
>> 24.202251] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz),
>> (300 mBi, 2000 mBm)
>> 24.202254] cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz),
>> (300 mBi, 2000 mBm)
>> 24.202256] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz),
>> (300 mBi, 2000 mBm)
>> 24.202258] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz),
>> (300 mBi, 2000 mBm)
>> 24.202260] cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz),
>> (300 mBi, 2000 mBm)
>> 24.205567] firmware microcode: firmware_loading_store: unexpected
>> value (0)
>> 24.206316] microcode: CPU3 sig=0x206a7, pf=0x10, revision=0x25
>>
>>
>> *****
>>
>>
>> 24.218042] microcode: CPU3 updated to revision 0x28, date =
>> 2012-04-24
>> 24.218088] microcode: Microcode Update Driver: v2.00
>> <tigran@aivazian.fsnet.co.uk>, Peter Oruba
>> 24.219473] ieee80211 phy0: Selected rate control algorithm
>> ‘rtl_rc’
>> 24.219696] cfg80211: Calling CRDA for country: EC
>> 24.219737] rtlwifi: wireless switch is on
>> 24.222501] input: HD-Audio Generic HDMI/DP,pcm=3 as
>> /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input11
>> 24.230165] cfg80211: Regulatory domain changed to country: EC
>> 24.230168] cfg80211: (start_freq - end_freq @ bandwidth),
>> (max_antenna_gain, max_eirp)
>> 24.230171] cfg80211: (2402000 KHz - 2482000 KHz @ 40000 KHz),
>> (N/A, 2000 mBm)
>> 24.230174] cfg80211: (5170000 KHz - 5250000 KHz @ 20000 KHz),
>> (300 mBi, 1700 mBm)
>> 24.230176] cfg80211: (5250000 KHz - 5330000 KHz @ 20000 KHz),
>> (300 mBi, 2300 mBm)
>> 24.230179] cfg80211: (5735000 KHz - 5835000 KHz @ 20000 KHz),
>> (300 mBi, 3000 mBm)
>>
>>
>
> Interesting to note that when I boot with the old driver, everything
> appears to be in working order. Network manager shows wlan0 as up, with
> several access points listed, but not my own router’s essid. After a
> hard reset, by which I mean toggling on/off the wifi with func-F12,
> network manager recognizes my router and automatically connects. Here’s
> the dmesg output of that operation:
>> 819.198207] ADDRCONF(NETDEV_UP): wlan0: link is not ready
>> 821.220562] wlan0: authenticate with 20:4e:7f:ac:8c:3b
>> 821.252515] wlan0: send auth to 20:4e:7f:ac:8c:3b (try 1/3)
>> 821.258456] wlan0: authenticated
>> 821.276099] wlan0: associate with 20:4e:7f:ac:8c:3b (try 1/3)
>> 821.280063] wlan0: RX AssocResp from 20:4e:7f:ac:8c:3b (capab=0x411
>> status=0 aid=1)
>> 821.296987] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
>> 821.297051] wlan0: associated
>> 831.454921] wlan0: no IPv6 routers present
>>
>>
> Going through this extra step really isn’t that much of a hassle,
> except for the fact that my network shares won’t auto-mount on boot with
> the network down. This wasn’t an issue before I upgraded from the 12.1
> kernel to 12.2. I really don’t want to downgrade the kernel, as my video
> driver gets along much better with this one.
>
> Thank you LF for going through the trouble. I must apologize for the
> delayed response, which is due to us being in different time zones.

If you use the unpatched driver, a B-cut device will load the older firmware and
may appear to work; however, you are susceptible to kernel freezes and crashes.
The way to install it depends on which version of openSUSE you are using. I
thought you were on 12.2, but then you talk about using the 12.2 kernel as
though you were on 12.1. If the latter is the case, please mention only the
kernel version as shown by the ‘uname -r’ command.

If you are using openSUSE 12.2, you should install the latest version of the
kernel-firmware package. It contains firmware rtlwifi/rtl8192cfwU_B.bin. A ‘sudo
zypper up’ command should get it.

If you are using openSUSE 12.1, have updated, and the firmware file is still not
available, you will need to install the git package with the command ‘sudo
zypper in git’ and clone the linux-firmware tree using the command ‘git clone
git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git’. The
firmware files at linux-firmware/rtlwifi/ should then be copied into
/lib/firmware/rtlwifi. You will need to be root to do the last part.

No apology needed for any delayed response. I use NNTP to read the forums and
any new postings are very obvious. In addition, I never wait around for a
response. When it appears, it appears.

I thought you were on 12.2, but then you talk about using the 12.2 kernel as
though you were on 12.1.

Yes, indeed I am using 12.2, latest kernel. I just made mention of the old distro/kernel to point out that the wireless functioned as desired at that time.

Anyway, I did succeed in getting the patched driver to load. It turns out when I was uninstalling the old driver, it was taking the firmware with it. I was able to reinstall kernel-firmware in its entirety through Yast. Thanks for the tip in helping get that resolved.

However, now I’m back to where I started. The driver is loading and wlan0 is starting on boot, but mysteriously it won’t scan my router until I toggle the wireless adapter off and then back on. It has no problem scanning other routers in the area. See the “iwlist scan” info posted in post#6. The only difference I can see is that I’ve connected to my router before, or that possibly the adapter is better able to scan wpa/psk enabled routers after a reset.

Modinfo confirms that the new driver and firmware are being used. My router is a Netgear Wndr4000, properly configured with no other issues.

I sincerely appreciate the help so far. Please let me know if you have any ideas about what is causing this behavior.

We can mark this thread as “Solved”. I merely needed to delete the old connection in network manager, and then recreate it. Now the new driver loads on boot and recognizes my router. My network shares still weren’t being auto-mounted, but I worked around this by creating the following system crontab:

sleep 20 && mount -a

Several reboots confirm a fix and that the new driver works.

Thank you LF for all your helpful advice.