User Tools

Site Tools


compatibility_drivers

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
compatibility_drivers [2017/08/18 20:57]
mister_x Improved
compatibility_drivers [2018/07/20 23:16] (current)
mister_x italics for "Details" pane
Line 8: Line 8:
   * See this [[faq#​what_is_the_best_wireless_card_to_buy|FAQ entry]] if your question is "What is the best wireless card to buy?".   * See this [[faq#​what_is_the_best_wireless_card_to_buy|FAQ entry]] if your question is "What is the best wireless card to buy?".
  
-This section deals with a three related areas:+This section deals with two related areas:
  
   * Determine the chipset of a wireless card   * Determine the chipset of a wireless card
   * Determine the driver for a wireless card   * Determine the driver for a wireless card
  
-The previous version of this page can found [[compatibility_drivers|here]].+The previous version of this page can found [[compatibility_drivers_old|here]].
  
 ===== Determine the chipset ===== ===== Determine the chipset =====
-There are two manufacturers involved with wireless cards. The first is the brand of the card itself. ​ Examples of card manufacturers are Netgear, Ubiquiti , Linksys, ​Interl ​and D-Link. There are many, many manufacturers beyond the examples give here.+There are two manufacturers involved with wireless cards. The first is the brand of the card itself. ​ Examples of card manufacturers are Netgear, Ubiquiti , Linksys, ​Intel and D-Link. There are many, many manufacturers beyond the examples give here.
  
 The second manufacturer is who makes the wireless chipset within the card. For example, Ralink, Atheros, Qualcomm. This is the most important company to know.  Unfortunately,​ it is sometimes the hardest to determine. This is because card manufacturers generally don't want to reveal what they use inside their card. However, for our purposes, it is critical to know the wireless chipset manufacturer. Knowing the wireless chipset manufacturer allows you to determine which operating systems are supported, software drivers you need and what limitations are associated with them. The next section describes the operating systems supported and limitations by chipset. The second manufacturer is who makes the wireless chipset within the card. For example, Ralink, Atheros, Qualcomm. This is the most important company to know.  Unfortunately,​ it is sometimes the hardest to determine. This is because card manufacturers generally don't want to reveal what they use inside their card. However, for our purposes, it is critical to know the wireless chipset manufacturer. Knowing the wireless chipset manufacturer allows you to determine which operating systems are supported, software drivers you need and what limitations are associated with them. The next section describes the operating systems supported and limitations by chipset.
Line 22: Line 22:
 You first need to determine what wireless chipset your card uses. This can be done by one or more of these techniques: You first need to determine what wireless chipset your card uses. This can be done by one or more of these techniques:
  
-  *Search the internet for "<​your card model> chipset"​ or "<​your card model> linux" or "<​your card model> wikidevi>. Quite often you can find references to what chipset your card uses and/or other people'​s experiences.+  *Search the internet for "<​your card model> chipset"​ or "<​your card model> linux" or "<​your card model> wikidevi". Quite often you can find references to what chipset your card uses and/or other people'​s experiences.
   *Search the [[https://​forum.aircrack-ng.org/​|Forum]]   *Search the [[https://​forum.aircrack-ng.org/​|Forum]]
   *You may also have a look at windows driver file names, it's often the name of the chipset or the driver to use.   *You may also have a look at windows driver file names, it's often the name of the chipset or the driver to use.
Line 41: Line 41:
  
 ====== Determine the driver ====== ====== Determine the driver ======
-Once you have determined the chipset, check the [[compatibility_drivers#​drivers|driver]] section for which software driver you need. Software drivers connect the operating system to the hardware. The drivers are different for each operating system. There are also notes regarding limitations. 
  
-If you are deciding on which card to purchase, check the "[[compatibility_drivers#which_is_the_best_card_to_buy|Which is the best card to buy?​]]"​ section on this page. There are many considerations that should go into your purchase decision:+Once you have determined the chipset, chances are you already have identified the driver on Linux. If not, match the chipset against the "other resources"​ above to figure out the driver.  
 + 
 +On Linux, there can be multiple drivers: 
 +- Vendor driver: those do not and will not support monitor mode 
 +- Peer-modified vendor driver: In some cases, they may support monitor mode but there could be caveats 
 +- Staging driver: Standalone driver has been added to the [[http://​www.kroah.com/​log/​linux/​linux-staging-update.html|Linux Staging tree]]. However, quality of the driver is unknown and needs more work to be included in the kernel 
 +- Kernel/​mac80211 driver: In this case, chances are, monitor mode is supported. Injection may or may not be supported 
 + 
 +If you are deciding on which card to purchase, check the "[[faq#what_is_the_best_wireless_card_to_buy|What is the best wireless ​card to buy?​]]"​ section on this page. There are many considerations that should go into your purchase decision:
  
   *Hardware compatibility with your existing equipment.   *Hardware compatibility with your existing equipment.
Line 53: Line 60:
 It is not an easy decision to make. By considering these factors, it will help you make a more informed decision on what to purchase. It is not an easy decision to make. By considering these factors, it will help you make a more informed decision on what to purchase.
  
-====== ​Examples ====== +====== ​Example: ​Alfa AWUS036AC ======
- +
-===== Alfa AWUS036AC ======+
  
 Searching for "Alfa AWUS036AC wikidevi"​ returns me [[https://​wikidevi.com/​wiki/​ALFA_Network_AWUS036AC|this page]] on WikiDevi. Searching for "Alfa AWUS036AC wikidevi"​ returns me [[https://​wikidevi.com/​wiki/​ALFA_Network_AWUS036AC|this page]] on WikiDevi.
  
 +{{ :​awus036ac_wikidevi_1.png?​200|}}
 The box on the right contain all the information needed to identify the chipset manufacturer and model. In this case, RTL8812AU. The box on the right contain all the information needed to identify the chipset manufacturer and model. In this case, RTL8812AU.
  
 It also lists the IDs (**0bda:​8812**) which is what would be returned on Linux with the //lsusb// command, right next to **ID**. It also lists the IDs (**0bda:​8812**) which is what would be returned on Linux with the //lsusb// command, right next to **ID**.
  
-If it were on Windows, even if the drivers were not installed, looking in the device manager, that ID would be found in Details pane of the device itself, in the property "​Hardware IDs". This is also displayed in WikiDevi: **USB\VID_0BDA&​PID_8812** (this is the same as the IDs on Linux, they'​re just uppercase and they contain some text around: USB device, VID stands for Vendor ID, PID stands for product ID).+If it were on Windows, even if the drivers were not installed, looking in the device manager, that ID would be found in //Details// pane of the device itself, in the property "​Hardware IDs". This is also displayed in WikiDevi: **USB\VID_0BDA&​PID_8812** (this is the same as the IDs on Linux, they'​re just uppercase and they contain some text around: USB device, VID stands for Vendor ID, PID stands for product ID). 
 + 
 +{{:​awus036ac_wikidevi_2.png?​200 |}}
  
 Searching for that ID in WikiDevi or any search engine would also help finding the chipset and driver required. Multiple pages would be returned because multiple adapters share the same USB ID. Searching for that ID in WikiDevi or any search engine would also help finding the chipset and driver required. Multiple pages would be returned because multiple adapters share the same USB ID.
  
-The exact same principles apply to internal devices, the only difference is they will be found under lspci.+The exact same principles apply to internal devices, the only difference is they will be found under **lspci**.
  
 Another way to find the chipset/​driver,​ after exhausting the options above, if you don't have the device itself is to download the driver. It is very useful when searching for laptops that are too new to be in any search engine results. Another way to find the chipset/​driver,​ after exhausting the options above, if you don't have the device itself is to download the driver. It is very useful when searching for laptops that are too new to be in any search engine results.
 +
 In this case, the Windows driver of the AWUS036AC. It doesn'​t really matter which version of Windows, the important information are some filenames (and content). In this case, the Windows driver of the AWUS036AC. It doesn'​t really matter which version of Windows, the important information are some filenames (and content).
-Sometimes the name of the files (//.cat//, //.inf// and //.sys//) can indicate the chipset codename. Most of the time, they don't and the .inf file needs to be opened in a text editor (supporting UTF-16). Scroll down and there will be lists of IDs that are supported by that driver. In this example, the driver supports both PCI and USB Realtek devices, so, it will help narrow down what compatibility you have to look for on Linux. 
-If the driver is packed in an executable (//.msi// or //.exe//), unpacking will be required. Sometimes multiple times, such as when it is bundled with a WiFi manager. UniExtract (Universal Extractor) is one of the tools to do so. 
  
 +{{ :​awus036ac_inf_file.png?​200|}}
  
 +Sometimes the name of the files (//.cat//, //.inf// and //.sys//) can indicate the chipset codename. Most of the time, they don't and the .inf file needs to be opened in a text editor (supporting UTF-16). Scroll down and there will be lists of IDs that are supported by that driver. In this example, the driver supports both PCI and USB Realtek devices, so, it will help narrow down what compatibility you have to look for on Linux.
  
 +If the driver is packed in an executable (//.msi// or //.exe//), unpacking will be required. Sometimes multiple times, such as when it is bundled with a WiFi manager. UniExtract (Universal Extractor) is one of the tools to do so.
compatibility_drivers.1503082639.txt.gz · Last modified: 2017/08/18 20:57 by mister_x