Translate

Thursday 21 February 2013

Dell Latitude Wifi cannot access internet on Linux

No INET ACCESS
I got Wifi networking issue with my laptops, both are Dell latitude E5400 and Latitude E6420. E5400 has Intel Wireless N 5100 AGN card, while the E6420 uses Intel N 6300 AGN card. Both laptop could connect to Wireless router at my home and office, but they could not connect to internet. I tried to Ping google DNS at 8.8.8.8, it returned some responses. When I tried to ping to www.google.com it did not return anything. Strange eh, I was lucky enough to have my ethernet connection works properly, so that I could dig the internet to find out the clue. FYI, both my laptop has Linux Mint 13 Maya installed, but it should do the tricks for any debian based linux. For Red-Hat based like Fedora, CentOs, etc I am not sure because so far I never get problem with those linux version. So here are the workaround that I sum up:
  1. First, check your network controller. run this command on your terminal
    lspci -nnk | grep -iA2 net
    check network controller
    see the second part where it shows your wireless controller. in this case, it is the Intel Corporation WiFi Link 5100 AGN. take note on the kernel driver in use is iwlwifi. iwlwifi, I will hunt you, and I will probe you!!
  2. So we found out the culprit, now let's check whether it's working properly or not. run this command
    iwconfig
    it suppossed to print these information.
    iwconfig result
    your wlan0 should at least show information similar to above or result something that indicate that adapter is working properly. if the result does not contain anything on wlan0 adapter, then we have something wrong on your adapter. why we need to check whether the adapter working or not? because this problem is not because your adapter hardware got problem, but because your driver is not work properly. something is interfering the driver to reach the world wide web.
  3. let's remove the driver form the kernel first. run following command
    sudo ifconfig wlan0 down sudo rmmod -f iwlwifi 
    this command will stop your wifi connection and remove the iwlwifi driver from kernel, and your wifi should be disconnected. In case your wifi are stubborn enough to keep connecting after you disconnect it, then kill manualy by selecting button Off on your wireless connection.
  4. now run this command
    sudo modprobe iwlwifi 11n_disable=1
    it should disable you 11n capability of your wireless adapter on the driver, now let's bring up the wireless connection by running this command sudo ifconfig wlan0
  5. hooorah, your wifi now should be connected to internet!! try ping to www.google.com to test if your wifi can reach the outside world.
if the method above works for your computer, we need to make it persistent by adding a configuration for the kernel when it's loaded. because everytime we restart all those setting will be override by default. run this command

sudo echo 'options iwlwifi 11n_disable=1' > /etc/modprobe.d/iwlwifi.conf

okay, so if the method above still cannot work, try to delete the resolv.conf. run this command

sudo rm /etc/resolv.conf

reboot, check whether your connection works or not. for any other linux other than mentioned here, it should do the trick, just note what is your wireless driver and adapter.