Resetting Wireless Networking on Ubuntu without Rebooting

The wireless network on my laptop has always been unreliable.  When I open the lid of the laptop and the computer wakes up from sleep, there is a 10% chance that the wireless network won’t be able to connect.   In the past, the only thing that works in this situation is a full reboot of the laptop.

Symptoms include:

  • Wireless network can’t connect
  • Applet indicator remains in “connecting” state
  • A dialog box periodically pops up for me to confirm the network password

I’d already tried:

  • Turning networking off and on using the checkbox on the applet
  • Disconnecting from my wireless network and re-selecting it
  • Using ifup and ifdown to reconnect
  • Restarting network manager

None of those actually worked.  It always took a reboot, but fortunately I finally found the solution.  You have dynamically remove the kernel module (driver) for the wireless network, then re-enable it.  After this procedure, my wireless network connects immediately.

To do that, I first needed to find out which kernel module powers my wireless.  The lshw command can do this:

sudo lshw -C network 2>&1 | grep wireless | grep driver

configuration: broadcast=yes driver=rtl8192ce driverversion=3.5.0-21-generic firmware=N/A ip= latency=0 link=yes multicast=yes wireless=IEEE 802.11bgn

Once I determined the driver (rtl8192ce), I just need to issue a command to unload the kernel module and reload it.

sudo modprobe -r rtl8192ce && sudo modprobe rtl8192ce

It works like a charm. Using this command, my network comes up immediately.

Leave a comment

Your email address will not be published. Required fields are marked *

7 thoughts on “Resetting Wireless Networking on Ubuntu without Rebooting

  • Sumeet

    I was facing the exact same symptoms as you, so I tried your solution. Here’s what I got:

    sumeet@sumeet:~$ sudo lshw -C network 2>&1 | grep wireless | grep driver
    configuration: broadcast=yes driver=wl0 driverversion= (r326264) latency=0 multicast=yes wireless=IEEE 802.11abg
    sumeet@sumeet:~$ sudo modprobe -r wl0 && sudo modprobe wl0

    FATAL: Module wl0 not found.

  • D.S.

    Info for other user with the same problem:

    • System: Backtrack 5
    • Wifi driver: rt2800usb
    • Problem: “No wireless networks found”
    • Tried those before, without any result:
      1. /etc/init.d/networking restart
      2. ifconfig wlan0 down
      3. ifconfig wlan0 up

    And finally working solution:

    sudo modprobe -r rt2800usb && sudo modprobe rt2800usb
  • Iskandar

    I can not on my laptop, because the driver or module wl0 notfound:

    "configuration: broadcast=yes driver=wl0 driverversion= (r415941) ip= latency=0 multicast=yes wireless=IEEE 802.11abg"
     modprobe: FATAL: Module wl0 not found
  • Ben

    I am using the wl driver which has dependent modules:

    lsmod | grep wl
    wl 4207846 0
    lib80211 14381 2 wl,lib80211_crypt_tkip
    cfg80211 484040 1 wl

    For this reason (I think)

    sudo modprobe -r wl && sudo modprobe wl

    doesn’t work but this does:

    sudo rmmod wl && sudo modprobe wl

  • Dave

    Thank you! This works great. The wireless network on my laptop became unreliable after upgrading to Ubuntu 16.04 LTS. I too experienced no wifi after waking up from sleep. Also the wifi would at random. die for no apparent reason and the only that worked was a full reboot of the laptop.

    The only other thing that I have needed to do is press the manual wifi button to connect to my wifi. No inconvenience when compared to at total reboot.