wireless resume woes again - with solution

Discussions about Linux installation and configuration on Samsung laptops
Post Reply
mikebl71
Newbie
Newbie
Posts: 22
Joined: 03 Oct 2010, 20:17

wireless resume woes again - with solution

Post by mikebl71 »

Hi
I've installed the latest kernel and samsung-wireless recently
and noticed that the wireless does not come back after suspend-resume (again).

I've got
* Samsung N140
* kernel 2.6.38-11.49~ppa1~loms~natty
* samsung-wireless 0015.1013.2010~ppa2~loms~natty

I've done some investigations and found that dkms is doing a rather lousy job at renaming the driver. As was discussed in [http://www.voria.org/forum/viewtopic.php?f=3&t=593], the linux kernel now has a driver called "r8192e_pci", so the samsung-wireless has to use a different name ("r8192e_pci_realtek") to avoid confusion. Samsung-wireless now uses dkms, so it builds the module as "r8192e_pci" and expects dkms to rename it into "r8192e_pci_realtek" when installed. However, as it seems, this does not really work as expected. When the driver is installed into the kernel, the file is indeed called "r8192e_pci_realtek.ko". But the module name inside it is not changed. So, when the module is loaded, lsmod still lists it as "r8192e_pci".

That does not really bother anyone until we come to suspend/resume. During suspend, the /usr/lib/pm-utils/sleep.d/75modules script finds the "r8192e_pci" module in the list and unloads it. And later, at resume time, it dutifully tries to load back the driver which it remembers as "r8192e_pci". And sure enough it loads the "r8192e_pci" from kernel, NOT the "r8192e_pci_realtek" from samsung-wireless. So nothing good comes out of this.

Unfortunately, I could not find how to fix dkms. So the only solution I could come up with was to change the realtek's makefile to build the driver as "r8192e_pci_realtek" so that no renaming is necessary.

What I've done is

Code: Select all

 cd /usr/src/samsung_wireless-0015.1013.2010 
  sed --in-place -e 's/r8192e_pci/r8192e_pci_realtek/' HAL/rtl8192/Makefile
  sed --in-place -e 's/"r8192e_pci"/"r8192e_pci_realtek"/' dkms.conf
  # rebuild
  dkms remove -m samsung_wireless -v 0015.1013.2010 --all
  dkms add -m samsung_wireless -v 0015.1013.2010
  dkms build -m samsung_wireless -v 0015.1013.2010
  dkms install -m samsung_wireless -v 0015.1013.2010
This fixed the suspend/resume for me.

VoRia, if you agree, could you please make this change in the package.
User avatar
voria
Administrator
Administrator
Posts: 1383
Joined: 12 Feb 2009, 18:08
Location: Italy
Contact:

Re: wireless resume woes again - with solution

Post by voria »

Done. I've just uploaded samsung-wireless 0015.1013.2010~ppa3~loms~natty to the repository.
Thank you for reporting the problem. ;)
Image
Please consider a little donation to keep the 'Linux On My Samsung' project up and running. Thank you!
mikebl71
Newbie
Newbie
Posts: 22
Joined: 03 Oct 2010, 20:17

Re: wireless resume woes again - with solution

Post by mikebl71 »

Verified. All cool.Thanks for the quick response.
Post Reply