Welcome to the new location of Alien's Wiki, sharing a single dokuwiki install with the SlackDocs Wiki.

Welcome to Eric Hameleers (Alien BOB)'s Wiki pages.

If you want to support my work, please consider a small donation:

Differences

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

Link to this comparison view

Next revision
Previous revision
slackware:ndiswrapper [2006/05/18 16:00] – created alienslackware:ndiswrapper [2008/09/11 11:39] (current) – Add Wiki link to my new network config article alien
Line 4: Line 4:
  
 Still, there are many other wireless cards for which no driver exists at all. An Open Source project, [[http://ndiswrapper.sourceforge.net/|ndiswrapper]], was created to fill this gap. Ndiswrapper implements the needed Windows kernel API calls and NDIS (Network Driver Interface Specification) API calls as a Linux kernel module. This allows ndiswrapper to load a Windows driver for any wireless network card and let this driver run natively. Nearly all wireless cards with a Windows driver can be made functional in Linux this way, although this approach puts an extra load on your CPU because of the extra software layer.\\  Still, there are many other wireless cards for which no driver exists at all. An Open Source project, [[http://ndiswrapper.sourceforge.net/|ndiswrapper]], was created to fill this gap. Ndiswrapper implements the needed Windows kernel API calls and NDIS (Network Driver Interface Specification) API calls as a Linux kernel module. This allows ndiswrapper to load a Windows driver for any wireless network card and let this driver run natively. Nearly all wireless cards with a Windows driver can be made functional in Linux this way, although this approach puts an extra load on your CPU because of the extra software layer.\\ 
-Also, ndiswrapper-driven cards tend to crash the kernel in high-load situations and even though you should run a Linux kernel with at least 8K stack size (which is the default in Slackware), some NDIS drivers seem to need stack sizes as high as 32K to properly function.+Also, ndiswrapper-driven cards tend to crash the kernel in high-load situations and even though you should run a Linux kernel with at least 8K stack size (which is the default in Slackware), some NDIS drivers seem to need stack sizes as high as 32K to properly function.\\  
 +The 32K stack size is not something you can configure in an unpatched kernel, and since I have only read about these large kernel stack sizes in non-Slackware mailing lists, I'd say: stick to the default stack size of 8K you find in Slackware kernel, unless you experience strange kernel crashes that you can trace back to the ndiswrapper module...
  
 For now, rest assured that you probably will not need to change anything to your running kernel to get ndiswrapper support for your wireless card. The rest of the page will concern itself with detailing how to obtain the ndiswrapper source code, how to build and install the software, how to install a Windows driver, and how to configure your card. WPA encryption is discussed in the final paragraph. For now, rest assured that you probably will not need to change anything to your running kernel to get ndiswrapper support for your wireless card. The rest of the page will concern itself with detailing how to obtain the ndiswrapper source code, how to build and install the software, how to install a Windows driver, and how to configure your card. WPA encryption is discussed in the final paragraph.
Line 56: Line 57:
  
 If you want to have the network interface be known as //wlan0// then you can either run <code>ndiswrapper -m</code> which adds a line <code>alias wlan0 ndiswrapper</code> to /etc/modprobe.d/ndiswrapper (2.6.15 kernels and onward) or you can write that line yourself, in ''/etc/modules.conf'' (for 2.4 kernels) or ''/etc/modprobe.conf'' (older 2.6 kernels). If you want to have the network interface be known as //wlan0// then you can either run <code>ndiswrapper -m</code> which adds a line <code>alias wlan0 ndiswrapper</code> to /etc/modprobe.d/ndiswrapper (2.6.15 kernels and onward) or you can write that line yourself, in ''/etc/modules.conf'' (for 2.4 kernels) or ''/etc/modprobe.conf'' (older 2.6 kernels).
 +
  
  
 ===== Network configuration ===== ===== Network configuration =====
  
-Your card will be loaded with the name **wlan0**. Detailed information about how to configure your wlan0 interface can be found in my [[:slackware:madwifi#network_configuration|madwifi page]], if you change the string **ath0** to **wlan0**.+Using ndiswrapper as the driver, your wireless network interface will be assigned the name **//wlan0//**. Detailed information about how to configure your wlan0 interface can be found in my Wiki page describes Slackware'[[:slackware:network#wireless_configuration_in_rc.inet1.conf|wireless network configuration]] in detail. Just change the string '**ath0**' I use in the examples to '**wlan0**'. 
 + 
  
  
 ===== WPA encryption for your wireless network ===== ===== WPA encryption for your wireless network =====
  
-For more information about how to configure WPA using [[http://hostap.epitest.fi/wpa_supplicant/|wpa_supplicant]], read my [[:slackware:madwifi#support_for_wpa_encryption|WPA chapter]] in the madwifi page.+For more information about how to configure WPA using [[http://hostap.epitest.fi/wpa_supplicant/|wpa_supplicant]], read my [[:slackware:network#wpa_encryption|WPA chapter]] in the //[[:slackware:network|Slackware network configuration]]// page.
  
-//NOTE//: With ndiswrapper version 1.12 and later, you should use wpa_supplicant's //wext// driver instead of the //ndiswrapper// driver: '''-Dwext''' instead of '''-Dndiswrapper'''.+<note>With ndiswrapper version 1.12 and later, you should use wpa_supplicant'**//wext//** driver instead of the //ndiswrapper// driver: the argument to wpa_supplicant would become '''-Dwext''' instead of '''-Dndiswrapper'''\\ A typical configuration line in ''rc.inet1.conf'' would then become (adjust my example index [**1**] to the value you use for your card): <code> 
 +WLAN_WPADRIVER[1]="wext"</code></note>
 Using ndiswrapper for unsupported wireless cards ()
SlackDocs