Need a few reboots to connect to wireless

I am running xubuntu 12.10 on my msi wind U100 netbook. I have a problem with the wireless connection. Whether the wireless connects automatically to a known wifi hotspot (both at home and starbucks) is temperamental. Sometimes I need to reboot one or more times to get it connected. Otherwise, it tries and keep asking me to enter the password (which is saved and when it works it does, so the problem is not with the password).

Every time my computer awakes up from sleep the same problem. I have to do a reboot to connect to wireless.

I searched everywhere but found no solution. I would greatly appreciate if someone has any solution. I will gladly share the hardware/software or config info, if asked, but I don't know exactly what to share and where to find them.

Thanks you for any help.


Solution 1:

Overview

The problem seems to be with the buggy driver r8187se . The resolution is outlined below, with detailed steps and explanations to follow. Note that this problem could arise out of other buggy drivers as well, and may work. I am describing my situation with RTL8187SE on msi wind U100 netbook running ubuntu 12.10.

  1. Download the WinXP driver for the realtek wireless lan.
  2. Install ndiswrapper-1.58rc1 (not the default version ndiswrapper-1.57 from the repository. See more details below.
  3. Install the downloaded driver using ndiswrapper.
  4. Blacklist r8187se.
  5. Configure to load ndiswrapper.

STEP 1. Download the Windows driver for Realtek RTL8187SE wireless LAN

Download the suitable driver from Realtek. Unpack the zip file, navigate to the appropriate WinXP folder and locate the driver as *.inf file.

STEP 2. Install ndiswrapper-1.58rc1

The version found in the ubuntu repository of this driver is 1.57. There has been many problems reported using this version or compiling from ndiswrapper-dkms. That is why I am not suggesting the straight foward use of apt-get to install ndisgtk. It gives the error "driver not found." For the work around I followed and suggest the following method:

  1. Download ndiswrapper-1.58rc1 from this site.

  2. Extract

    $ tar -zxvf ndiswrapper-1.58rc1.tar.gz
  3. cd to the extracted directory. And type in the command line:

    $ make
    $ sudo make install

Now ndiswrapper is installed.

STEP 3. Install the Windows dirver in ndiswrapper.

Follow these steps:

$ ndiswrapper -i /full/path/to/WinXP/Driver/driver.inf
$ ndiswrapper -m
$ modprobe ndiswrapper

Now the Windows driver is ready to be used.

Now we need to disable r8187se from loading, and make ndiswrapper load automatically at startup and wake up from suspend.

STEP 4. Disable r8187se.

Edit the file /etc/modprobe.d/blacklist.conf (or, an appropriate file to this effect, if you are running an older version of ubuntu) as root and add the line:

blacklist r8187se

STEP 5. Enable ndiswrapper automatically.

Edit the file /etc/rc.local and add the following line before the last line:

modprobe ndiswrapper

Make sure this file ends with the line:

exit 0

Now there should be no problem. At least I didn't!