#title Wireless Troubleshooting Guide - Drivers #pragma section-numbers 2 <> = Introduction = ||<
><>|| This part of the guide is designed to help you troubleshoot your wireless adpater's driver issues. This page is part of the WirelessTroubleShootingGuide. You should have correctly identified your device as detailed in the [[../Devices|Devices]] page of this guide. See also the [[Commands|comprehensive explanations of commands]] for troubleshooting your wireless. == Check for Loaded Device Drivers == {{attachment:IconsPage/question.png||align="left"}}First you should check if a driver automatically loaded. (Your device may be supported in Ubuntu with a native driver.) Use the [[../Commands#lshw|lshw]] command. As explained under [[../Commands#lshw|lshw]], if there is a line saying {{{configuration: ...driver=...}}} in the description of the wireless card, this indicates the driver is installed. If you are not running the most recent kernel, update your system (''System > Administration > Update Manager''). Drivers, especially wireless, are constantly being added and modified. == Choosing, Finding and Installing Drivers == === Using Native Linux Drivers === * Check in ''System > Administration > Hardware Drivers'' for a binary driver. For instance, many Broadcom cards will work with the Broadcom STA driver. Unfortunately, the driver is proprietary (the source code is not freely available), and so cannot be installed automatically as part of Ubuntu. If you are willing to accept this limitation, activate the driver. * Search your card manufacturer's website for a Linux driver. <> === Using ndiswrapper for Cards Without a Linux Driver === ''If you find your card does not have a Linux driver you will have to look at an app called ndiswrapper.'' *[[http://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,list/|You can check here to see if your card is supported by ndiswrapper.]] *[[WifiDocs/Driver/Ndiswrapper|full information on ndiswrapper kept on this page]] including troubleshooting help specific to ndiswrapper. * There may be a native driver that comes with Ubuntu which is conflicting with ndiswrapper. In such cases, if you want to use ndiswrapper, you can blacklist the native driver. See below for details. == Check Driver == ''If you ran [[../Commands#lshw|lshw -C network]] and saw a driver bound to the device then let's test to make sure it's communicating with the kernel.'' 1. Run the command [[../Commands#lsmod|lsmod]] to see if driver is loaded. (look for the driver name that was listed in the output of lshw, "configuration" line). * If you did not see the driver module in the list then use the [[../Commands#modprobe|modprobe]] command to load it. * If you see two modules (usually ndiswrapper and a native Linux driver) blacklist one of them (see below). 1. run the command [[../Commands#iwconfig|sudo iwconfig]]. If you see output like in the example in the command section then the driver is at least identifying the device as a wireless device to the kernel. * Opening networking in system>administration> and seeing the device in the list is how to identify through a gui if the driver is at least communicating with the kernel. 1. run the command [[../Commands#iwlist|sudo iwlist scan]] to scan for a router. If an access point is identified this shows that the card is probably working properly as it can complete a wireless interface task. (note not all cards support scanning) === Multiple drivers loaded === For some cards (e.g., SMC2632W v1.02), an additional set of drivers is incorrectly loaded, effectively disabling wireless networking by generating two apparent wifi cards where there should only be one. Typically, you'll see entries for both '''eth1''' and '''wlan0_rename''' after running the [[../Commands#iwconfig|iwconfig]] command, with your communication speed divided evenly between them. One of those drivers should not be loaded, and should be blacklisted. To do so, edit {{{/etc/modprobe.d/blacklist}}} and add the following lines: {{{ blacklist blacklist _cs }}} where is, for example, "hostap" (the "hostap" driver apparently causes problems for several cards). Then save, reboot, and check your connection with iwconfig. === Driver looks ok, device disabled === Newer laptops come with battery saving features to disable the wireless radio. Usually this is switched by a FN+Fx key combo or a specific button for the purpose. It is possible the driver and connection is ok but the wireless device is disabled and can't be used. Using the designated key(s) in linux sometimes does not work. Options for identifying this: 1. [[../Commands#rfkill list|rfkill list]] will show if there is a hardware or software block. 1. [[../Commands#lshw|lshw]] command you see {{{*-network:1 DISABLED}}} or {{{wireless=radio off}}} 1. If you run the [[../Commands#iwconfig|iwconfig]] command you see {{{eth1 NOT READY!}}}. So how do you rectify this? It varies so much the exact solution can't be put here in this document for all the different models. So... 1. Look at the Ubuntu:LaptopTestingTeam page on the team wiki to see if your laptop is listed with any information. 1. Do a google search using terms such as manufacture, model, linux, wireless, enable, button, radio....etc. When searching and finding similar pages that don't help, use words that are used in those pages to help you search. 1. Go to the [[https://ubuntuforums.org|ubuntu forums]] or [[https://askubuntu.com|ask ubuntu]] and ask, maybe someone else has the same laptop and knows the work around. 1. Some laptops have a controller chip on the motherboard that is only accessible through a different OS. If you have turned off your wireless adapter in a different operating system, you may have to boot back into that OS and enable the card before it is accessible to Linux.