Cut 'n' loose :)
This is an embedded device,
lspci:
Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter
[10ec:8176] (rev 01)
Kernel driver in use: rtl8192ce
- filename:
/lib/modules/$(uname-r)/kernel/drivers/net/wireless/rtlwifi/
rtl8192ce/rtl8192ce.ko
- rpm: kernel
- firmware: /usr/lib/firmware/rtlwifi/rtl8192cfw.bin
- rpm: linux-firmware
And this one is blacklisted in
/etc/modprobe.d/blacklist-rtl8192ce.conf:
blacklist rtl8192ce
And it isn't used.
Is it useful or not I leave you to consider.
Period.
This is an external usb device,
http://www.asus.com/Networking/USBN10
lsusb:
ID 0b05:1786 ASUSTek Computer, Inc. USB-N10 Wireless N dongle [Realtek
RTL8712U]
Driver=r8712u
- filename:
/usr/lib/modules/$(uname-r)/kernel/drivers/staging/rtl8712/r8712u.ko
- rpm: kernel
- firmware: /usr/lib/firmware/rtlwifi/rtl8712u.bin
- rpm: linux-firmware
OK.
You wrote that the device works under the following conditions:
- Installed kernel is 3.3.4-5.fc17.x86_64, i.e.
"kernel-3.3.4-5.fc17.x86_64.rpm" and
"kernel-devel-3.3.4-5.fc17.x86_64.rpm"
- You do not use a module that is already provided by
the kernel install itself - "r8712u.ko"
- You use the original Realtek rtl871x wireless lan driver - "8712u.ko"
downloaded[1] and compiled against the 3.3.4-5.fc17.x86_64 kernel.
In order to achieve this again, the following should be done:
- download kernel packages:
https://dl.fedoraproject.org/pub/fedora/linux/releases/17/Fedora/x86_64/o...
https://dl.fedoraproject.org/pub/fedora/linux/releases/17/Fedora/x86_64/o...
- install kernel packages as root:
# rpm -ivh kernel-3.3.4-5.fc17.x86_64.rpm --force
# rpm -ivh kernel-devel-3.3.4-5.fc17.x86_64.rpm --force
- reboot into 3.3.4-5.fc17.x86_64 kernel
- compile downloaded[1] original Realtek rtl871x wireless lan driver
against 3.3.4-5.fc17.x86_64 kernel
- install produced moudule - "8712u.ko"
To download, compile and install original Realtek module you already
know, right.
After that, the following should be done.
Because kernel already provides the appropriate module(and firmware) for
the same device - "r8712u.ko", and you intend to use compiled original
one - "8712u.ko", the first one should be blacklisted so they don't
collide.
i.e.
/etc/modprobe.d/blacklist-r8712u.conf:
blacklist r8712u
Regarding a power management to check what's engaged, kernel ring buffer
should be parsed:
$ dmesg | grep 'ACPI\|PM'
e.g. Suspend/Resume output:
PM: Preparing system for mem sleep
PM: Entering mem sleep
PM: suspend of devices complete after 1672.538 msecs
ACPI: Preparing to enter system sleep state S3
==================system suspension=================
ACPI: Low-level resume complete
ACPI: Waking up from system sleep state S3
PM: resume of devices complete after 10629.433 msecs
PM: Finishing wakeup.
e.g. Hibernate/Thaw output:
PM: Hibernation mode set to 'platform'
PM: freeze of devices complete after 1478.525 msecs
ACPI: Preparing to enter system sleep state S4
PM: Creating hibernation image:
================system hibernation==================
ACPI: Waking up from system sleep state S4
PM: restore of devices complete after 1363.236 msecs
PM: Image restored successfully.
I can only assume that you use this mechanism to achieve the system
suspend or the system hibernate,
$ dconf read /org/gnome/settings-daemon/plugins/power/lid-close-ac-action
'suspend/hibernate'
$ dconf read
/org/gnome/settings-daemon/plugins/power/lid-close-battery-action
'suspend/hibernate'
And finally, the idea that I mentioned.
Regarding losing the WiFi device after the system resume/thaw,
# yum install pm-utils
and create as root,
/etc/pm/config.d/modunload_modreload
with the following line:
SUSPEND_MODULES="8712u"
Now if you engage the system suspend as root with the following command:
# pm-suspend
kernel module "8712u" will be unloaded before system hit suspension, and
later during system resuming, kernel module "8712u" will be re-loaded.
In this way, the device should be reusable.
Will it work or not, manually or with lid-close/open, that is the question.
This method is rather obsolete, and in an ideal world it should not be
necessary at all.
One day, all kernel modules will be properly designed.
Until then.
OK I think it was really enough. :)
Godspeed.
poma
[1] Original Realtek rtl871x wireless lan driver
http://www.realtek.com/downloads/downloadsView.aspx?Langid=1&PNid=48&...
RTL819xSU_usb_linux_v2.6.6.0.20120405.zip
- rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405.tar.gz
- filename: 8712u.ko
Ref. apps.
- rpm: NetworkManager*, wpa_supplicant, network-manager-applet