<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" date="2013-11-10" status="review"/>
    <revision pkgversion="3.18" date="2015-09-28" status="final"/>

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

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

    <include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>

    <desc>Some device drivers don’t work very well with certain wireless
    adapters, so you may need to find a better one.</desc>
  </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="https://wiki.archlinux.org/index.php/Wireless_network_configuration">Arch</link>,
      <link href="https://wireless.wiki.kernel.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="https://sourceforge.net/p/ndiswrapper/ndiswrapper/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>
