<page xmlns="http://projectmallard.org/1.0/"
      xmlns:its="http://www.w3.org/2005/11/its"
      type="topic" style="task"
      id="net-wireless-troubleshooting-device-drivers">
  <info>
    <link type="guide" xref="net-wireless-troubleshooting"/>

    <revision pkgversion="3.4.0" date="2012-03-05" status="outdated"/>
    <revision pkgversion="3.10" version="0.2" date="2013-11-10" status="review"/>

    <credit type="author">
      <name>Contributors to the Ubuntu documentation wiki</name>
    </credit>

    <credit type="author">
      <name>Phil Bull</name>
      <email its:translate="no">philbull@gmail.com</email>
    </credit>

    <desc>Some device drivers don't work very well with certain wireless
    adapters, so you may need to find a better one.</desc>
    <include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
  </info>

<title>Wireless network troubleshooter</title>
<subtitle>Make sure that working device drivers are installed</subtitle>

<!-- Needs links (see below) -->

<p>In this step you can check to see if you can get working device drivers for
 your wireless adapter. A <em>device driver</em> is a piece of software which
 tells the computer how to make a hardware device work properly. Even though
 the wireless adapter has been recognized by the computer, it may not have
 drivers which work very well. You may be able to find different drivers for
 the wireless adapter which do work. Try some of the options below:</p>

<list>
 <item>
  <p>Check to see if your wireless adapter is on a list of supported devices</p>
  <p>Most Linux distributions keep a list of wireless devices that they have
 support for. Sometimes, these lists provide extra information on how to get
 the drivers for certain adapters working properly. Go to the list for your
 distribution (for example,
 <link href="https://help.ubuntu.com/community/WifiDocs/WirelessCardsSupported">Ubuntu</link>,
 <link href="http://linuxwireless.org/en/users/Drivers">Fedora</link> or
 <link href="http://en.opensuse.org/HCL:Network_(Wireless)">openSuSE</link>)
 and see if your make and model of wireless adapter is listed. You may be able
 to use some of the information there to get your wireless drivers working.</p>
 </item>

 <item>
  <p>Look for restricted (binary) drivers</p>
  <p>Many Linux distributions only come with device drivers which are
 <em>free</em> and <em>open source</em>. This is because they cannot distribute
 drivers which are proprietary, or closed-source. If the correct driver for
 your wireless adapter is only available in a non-free, or "binary-only"
 version, it may not be installed by default. If this is the case, look on the
 wireless adapter manufacturer's website to see if they have any Linux drivers.</p>
  <p>Some Linux distributions have a tool that can download restricted drivers
 for you. If your distribution has one of these, use it to see if it can find
 any wireless drivers for you.</p>
 </item>

 <item>
  <p>Use the Windows drivers for your adapter</p>
  <p>In general, you cannot use a device driver designed for one operating
 system (like Windows) on another operating system (like Linux). This is
 because they have different ways of handling devices. For wireless adapters,
 however, you can install a compatibility layer called <em>NDISwrapper</em>
 which lets you use some Windows wireless drivers on Linux. This is useful
 because wireless adapters almost always have Windows drivers available for
 them, whereas Linux drivers are sometimes not available. You can learn more
 about how to use NDISwrapper
 <link href="http://sourceforge.net/apps/mediawiki/ndiswrapper/index.php?title=Main_Page">here</link>.
 Note that not all wireless drivers can be used through NDISwrapper.</p>
 </item>
</list>

<p>If none of these options work, you may want to try a different wireless
 adapter to see if you can get that working. USB wireless adapters are often
 quite cheap, and will plug into any computer. You should check that the
 adapter is compatible with your Linux distribution before buying it, though.</p>

</page>
