1.前期准备
先查看一下自己安装的内核版本咯,然后根据内核版本安装headers
linux-headers-内核版本号
原先我想去重新编译内核的,但是想想不需要,后来google了一下,果然只要这些headers就可以了,对嘛,ndiswrapper的编译需要用到的也只是这些头文件而已
2.下载ndiswrapper
这个是什么功能呢..看看名字就知道了,无限网卡没有专门的Linux驱动,只好下载一个包装器了,为了是使用windows下的驱动
网址:http://ndiswrapper.sourceforge.net/
然后就解压缩,进入解开的文件夹
3.编译和安装
不需要./configure啦,里面原来就有makefile文件,你所需要做的就是两个命令:
make
sudo make install
4.添加驱动
切换到无线网卡的windows驱动的目录,执行
ndiswrapper -i ***.inf(***.inf为你的驱动文件)
用ndiswrapper -l来检查一下驱动是否被安装
5.加载驱动模块
ndiswrapper -m
6.执行modprobe ndiswrapper,然后重启
重启了以后,就可以用
iwlist wlan0 scan来搜索附近网络。
7.进入网络连接去配制和激活网卡.
不出意外的话,网卡就可以使用了,速度还是不错的..感觉和windows下没什么区别.-------------------------------------------------------------------NdisWrapper
Design for Linuxfans.org By linky_fan
大家都用过无线网卡吧,也许是用 USB 联接的,也许是pcmia的,是不是碰到过只支持windows而不支持Linux的,而为了用无线网卡而不得不回windows下的经历,Linux真的 就没有办法了吗? 別担心,通过 NdisWrapper Impossible Is Nothing 500){this.resized=true;this.style.width=500;}" border="0">
原文如下
http://ndiswrapper.sourceforge.net/wiki
基本要求
必需安装最新的 kernel source (至少是 2.6.6 或 2.4.26),并且有正在使用的内核的原代码。
确定在modules directory下有kernel source 的软连接。 /lib/modules/VERSION/build 应该是链接到 kernel source 的soft link,其中 VERSION 是你正在使用的 kernel 的 version。假如没有这个 link,在下面的安装步骤将有error occure。要建立这个soft link(假设已经有了kernel source)使用下面的命令
代码:
ln -s /usr/src/linux-<kernel-version> /lib/modules/VERSION/build
确定你有编译过 kernel sources,那么所需要的 header files 就ok了。
有些 vendors 在他们的 distributions 中 ship ndiswrapper,你可以直接用,或是自行安裝ndiswrapper,但得注意先移除已经存在的。
确定已安裝 Wireless Tools。(也就是iwconfig等等,,,,)
Build 自己的kernel package with ndiswrapper
可能有些兄弟需要(或者说更乐意)编译一个属于他们自己的已经加好ndiswrapper driver patch的内核, 不要急, 接着看, 肯定让你满意
Download the helper script from 下面 http://sourceforge.net/tracker/index.php?func=detail&aid=1068707&group_id=93482&atid=604450
把它放在ndiswrapper 的源代码的目录下执行就会得到如下得patch
代码:
linux-2.6.9-ndiswrapper-version.patch
安裝
安装ndiswrapper
代码:
emerge ndiswrapper 就可以装好 ndiswrapper 啦!
提醒一下,若 kernel 有变动,需要要重新安裝一次。
安裝 Windows 驱动程序
你需要下载你的无线网卡卡所使用的 Windows XP driver。
一个支持的硬件列表如下所示: http://ndiswrapper.sourceforge.net/phpwiki/index.php/List
为了最终能够舒舒服服的使用无线网卡under linux, 首先用lspci看一下你所用的无线网卡的型号, 注意第一列的数据 (such as 0000:00:0c.0).
代码:
lspci
然后用如下的命令查找这块无线网卡的PCI ID(当然得根据上面得那个数据来查找这个值)
代码:
lspci -n
PCI ID的值是运行后的结果的第三个column(对于有些发行版来说是第四个)
类似于"104c:8400"这样的一个数值.
接着就要区下载该网卡对应的windows下的驱动包, 在驱动列表中找到与刚才用lspci命令得到的PCI ID相同的那个包,然后unzip/cabextract/unshield 等工具解压. 在解压后的包中找到 INF 文件(后缀名一般是 .INF 或 .inf )和 SYS 文件 (后缀名一般为.SYS 或 .sys), 如果发现有很多个 INF/SYS文件, 那么开动你的脑筋吧, 从蛛丝马迹中可以判断出正确的那个滴.
最后确定一下所有的这些 INF , SYS 这些文件和一些Bin (例如TI的驱动使用BIN格式的fireware)都在一个文件夹中, 然后就可以使用ndiswrapper 工具进行安装了.
代码:
ndiswrapper -i filename.inf
这会将所需的冬冬都复制到目录 /etc/ndiswrapper,并且建立你的网卡所用的 config 文件。
注意:使用的存放inf或是sys文件的文件夹的名字中不要使用空格键
注意: 你可能会看到开头为"Warning: Cannot locate "的消息。假如消息息中并未包含看起來像是档案名称的冬冬,那么这个 warning 是可以忽略的(我想是吧) 500){this.resized=true;this.style.width=500;}" border="0">
安装之后执行ndiswrapper -l, 得到的结果应该是如下边所示:
代码:
Installed ndis drivers%%%
bcmwl5 hardware present
这里"present"意味着你已经正确安装好的并可以使用的驱动的名字, 如同给出的结果中的bcmwl5
装载modules
运行下面的命令载入modules
代码:
modprobe ndiswrapper
假如没有什么错误信息,就表示驱动程序的模块现在已经载入了。你可以在terminal中开启一个dmesg来检查system log, 确认所需要的模块已经成功载入了 。这步完成以后,你应该会在system log中看到如下的信息:
代码:
ndiswrapper version V loaded
确定此处的版本 V 和你下载及安裝的 ndiswrapper package 的版本一致。假如你得到的是不一样的版本,那么你的package是旧的版本,你应该将它移除后重新安装(打心眼里希望大家都可以一次搞定 500){this.resized=true;this.style.width=500;}" border="0"> )
假如在 modprob'ing之后,系统被锁住了 (如按键没有反应等等),即表示 kernel 已经 crash 了。 看一下那里的 [Distributions] 和 [FAQ] 那上面或许有和你遇到相同问题的兄弟, 或许他们已经解决了(大部分的问题都是和kernel的版本有冲突)
假如你先前已经成功安裝了 windows 的驱动 (使用ndiswrapper -i INFfile ),那么ndiswrapper module 会把它们全部都load进来。然后你会在system log中看到下面的信息
代码: ndiswrapper: driver driver1 added
对与每个特定的modules来说, 如果你没有看见这些信息, 那么通常的原因可能是你的/etc/ndiswrapper里没有对应的驱动, 这个时候你可以进入/etc/ndiswrapper, 查看一下是否在这个目录下还存在着其他的子目录中包含着inf和sys的文件.不然的话就要把步骤2再重新做一遍了 500){this.resized=true;this.style.width=500;}" border="0">
如果系统系统使用了加载入的windows驱动并且开始工作的话, 你一定可以看到在你的system log中有这样的一笔记录:
代码: wlan0: ndiswrapper ethernet device xx:xx:xx:xx:xx:xx
设定界面
要用 iwconfig 來设定无线网卡前请先看看这个命令界面是否是可用的,使用下面的指令试试:
代码:
iwconfig
如果你的系统中没有这个工具 :那么就emerge吧, 它是 package 'wireless-tools' 的一部分,大家自行安装咯。
这样会列出 wireless interface (例如, wlan0)。在下面例子中,将使用 wlan0;请以上述 iwconfig 显示出的 interface 來取代wlan0。 这里的无线网卡的配置必须和你所采用的无线接入方法(Access Point, AP)所要求的相吻和.首先用下面这句命令看看附近有什么可用的无线网络:
代码:
iwlist wlan0 scan
注意:你在必要的时候应该先设置network的名字然后再运行上面的命令找到你的无线AP. 假如 scan 没有找到你的 AP, 在使用 "iwlist wlan0 scan" 的命令之前, 尝试运行下面的命令:
代码:
iwconfig wlan0 essid ESSID
假如这样就可以列出你的AP了,你就可以继续后面的步骤。否则,你可能会碰到下面两件头疼的事中的其中一个:
你的AP没有开启broadcast SSID(Service Set IDentifier) 或者网卡卡的 radio 关掉了。
在你看得到你的AP后, 要做的第一件事就事设置你的网络端口, 在大多数情况下,可以使用下面的命令:
代码:
iwconfig wlan0 mode Managed
假如你使用的事 encryption (WEP)(Wired Equivalent Privacy), 则要设定 你的key:
代码:
iwconfig wlan0 key restricted XXXXXXXX
你 可以使用10位十六进制数实现40-bit的加密强度或是26位十六进制数来实现128-bit的加密强度. 你采用哪种加密方法主要是看你接入的无线AP采用的方法.(虽然大家都知道wifi的安全性之差仅次于蓝牙, 使用airsnort之类的软件很容易就可以破解掉无线网络的wep, 不过说还是要说的)如果你想用ASCII来取代16进制, look this : (e.g. iwconfig wlan0 key restricted s:password).
设定 network name
代码:
iwconfig wlan0 essid ESSID
请用你AP上使用的network name來取代 ESSID。
现在开是设置wlan0(你的或许不叫这个名字)这个接口的一些参数,这些参数的设置方法请参考你所使用的发行版的Documents, 我这里就不多说了.如果完成后就可以 bring up 你的无线网络了,例如:
代码:
ifconfig wlan0 up
或是
代码:
dhclient wlan0
或者
代码:
dhcpcd wlan0
等等。
自动化
要是一切都很顺利的话,就可以通过执行下面的命令來得到正确无误的 modprobe settings 了,在使用 wlan0 时可以自动装载ndiswrapper,
代码:
ndiswrapper -m
注 意:按照上面这个命令做了之后, 系统不是在boot时候自动load ndiswrapper 这个module的, 如果你想在系统boot的过程中自动load ndiswrapper, 你必须设置你的modules的configure文件, 设置的方法或是修改什么文件的话都依赖于你所使用的发行版, 这些发行版中的大部分都是在boot时候load进/etc/modules下的所有modules. (Mandrake 10.X在启动时使用的modules文件是/etc/modrpobe.preload) 对于它们来说, 你可以在相应的文件中(/etc/modules)增加那么一行:
代码:
ndiswrapper
现在你不用在为无线网卡发愁了吧, 用linux 无线你的无限咯
先查看一下自己安装的内核版本咯,然后根据内核版本安装headers
linux-headers-内核版本号
原先我想去重新编译内核的,但是想想不需要,后来google了一下,果然只要这些headers就可以了,对嘛,ndiswrapper的编译需要用到的也只是这些头文件而已
2.下载ndiswrapper
这个是什么功能呢..看看名字就知道了,无限网卡没有专门的Linux驱动,只好下载一个包装器了,为了是使用windows下的驱动
网址:http://ndiswrapper.sourceforge.net/
然后就解压缩,进入解开的文件夹
3.编译和安装
不需要./configure啦,里面原来就有makefile文件,你所需要做的就是两个命令:
make
sudo make install
4.添加驱动
切换到无线网卡的windows驱动的目录,执行
ndiswrapper -i ***.inf(***.inf为你的驱动文件)
用ndiswrapper -l来检查一下驱动是否被安装
5.加载驱动模块
ndiswrapper -m
6.执行modprobe ndiswrapper,然后重启
重启了以后,就可以用
iwlist wlan0 scan来搜索附近网络。
7.进入网络连接去配制和激活网卡.
不出意外的话,网卡就可以使用了,速度还是不错的..感觉和windows下没什么区别.-------------------------------------------------------------------NdisWrapper
Design for Linuxfans.org By linky_fan
大家都用过无线网卡吧,也许是用 USB 联接的,也许是pcmia的,是不是碰到过只支持windows而不支持Linux的,而为了用无线网卡而不得不回windows下的经历,Linux真的 就没有办法了吗? 別担心,通过 NdisWrapper Impossible Is Nothing 500){this.resized=true;this.style.width=500;}" border="0">
原文如下
http://ndiswrapper.sourceforge.net/wiki
基本要求
必需安装最新的 kernel source (至少是 2.6.6 或 2.4.26),并且有正在使用的内核的原代码。
确定在modules directory下有kernel source 的软连接。 /lib/modules/VERSION/build 应该是链接到 kernel source 的soft link,其中 VERSION 是你正在使用的 kernel 的 version。假如没有这个 link,在下面的安装步骤将有error occure。要建立这个soft link(假设已经有了kernel source)使用下面的命令
代码:
ln -s /usr/src/linux-<kernel-version> /lib/modules/VERSION/build
确定你有编译过 kernel sources,那么所需要的 header files 就ok了。
有些 vendors 在他们的 distributions 中 ship ndiswrapper,你可以直接用,或是自行安裝ndiswrapper,但得注意先移除已经存在的。
确定已安裝 Wireless Tools。(也就是iwconfig等等,,,,)
Build 自己的kernel package with ndiswrapper
可能有些兄弟需要(或者说更乐意)编译一个属于他们自己的已经加好ndiswrapper driver patch的内核, 不要急, 接着看, 肯定让你满意
Download the helper script from 下面 http://sourceforge.net/tracker/index.php?func=detail&aid=1068707&group_id=93482&atid=604450
把它放在ndiswrapper 的源代码的目录下执行就会得到如下得patch
代码:
linux-2.6.9-ndiswrapper-version.patch
安裝
安装ndiswrapper
代码:
emerge ndiswrapper 就可以装好 ndiswrapper 啦!
提醒一下,若 kernel 有变动,需要要重新安裝一次。
安裝 Windows 驱动程序
你需要下载你的无线网卡卡所使用的 Windows XP driver。
一个支持的硬件列表如下所示: http://ndiswrapper.sourceforge.net/phpwiki/index.php/List
为了最终能够舒舒服服的使用无线网卡under linux, 首先用lspci看一下你所用的无线网卡的型号, 注意第一列的数据 (such as 0000:00:0c.0).
代码:
lspci
然后用如下的命令查找这块无线网卡的PCI ID(当然得根据上面得那个数据来查找这个值)
代码:
lspci -n
PCI ID的值是运行后的结果的第三个column(对于有些发行版来说是第四个)
类似于"104c:8400"这样的一个数值.
接着就要区下载该网卡对应的windows下的驱动包, 在驱动列表中找到与刚才用lspci命令得到的PCI ID相同的那个包,然后unzip/cabextract/unshield 等工具解压. 在解压后的包中找到 INF 文件(后缀名一般是 .INF 或 .inf )和 SYS 文件 (后缀名一般为.SYS 或 .sys), 如果发现有很多个 INF/SYS文件, 那么开动你的脑筋吧, 从蛛丝马迹中可以判断出正确的那个滴.
最后确定一下所有的这些 INF , SYS 这些文件和一些Bin (例如TI的驱动使用BIN格式的fireware)都在一个文件夹中, 然后就可以使用ndiswrapper 工具进行安装了.
代码:
ndiswrapper -i filename.inf
这会将所需的冬冬都复制到目录 /etc/ndiswrapper,并且建立你的网卡所用的 config 文件。
注意:使用的存放inf或是sys文件的文件夹的名字中不要使用空格键
注意: 你可能会看到开头为"Warning: Cannot locate "的消息。假如消息息中并未包含看起來像是档案名称的冬冬,那么这个 warning 是可以忽略的(我想是吧) 500){this.resized=true;this.style.width=500;}" border="0">
安装之后执行ndiswrapper -l, 得到的结果应该是如下边所示:
代码:
Installed ndis drivers%%%
bcmwl5 hardware present
这里"present"意味着你已经正确安装好的并可以使用的驱动的名字, 如同给出的结果中的bcmwl5
装载modules
运行下面的命令载入modules
代码:
modprobe ndiswrapper
假如没有什么错误信息,就表示驱动程序的模块现在已经载入了。你可以在terminal中开启一个dmesg来检查system log, 确认所需要的模块已经成功载入了 。这步完成以后,你应该会在system log中看到如下的信息:
代码:
ndiswrapper version V loaded
确定此处的版本 V 和你下载及安裝的 ndiswrapper package 的版本一致。假如你得到的是不一样的版本,那么你的package是旧的版本,你应该将它移除后重新安装(打心眼里希望大家都可以一次搞定 500){this.resized=true;this.style.width=500;}" border="0"> )
假如在 modprob'ing之后,系统被锁住了 (如按键没有反应等等),即表示 kernel 已经 crash 了。 看一下那里的 [Distributions] 和 [FAQ] 那上面或许有和你遇到相同问题的兄弟, 或许他们已经解决了(大部分的问题都是和kernel的版本有冲突)
假如你先前已经成功安裝了 windows 的驱动 (使用ndiswrapper -i INFfile ),那么ndiswrapper module 会把它们全部都load进来。然后你会在system log中看到下面的信息
代码: ndiswrapper: driver driver1 added
对与每个特定的modules来说, 如果你没有看见这些信息, 那么通常的原因可能是你的/etc/ndiswrapper里没有对应的驱动, 这个时候你可以进入/etc/ndiswrapper, 查看一下是否在这个目录下还存在着其他的子目录中包含着inf和sys的文件.不然的话就要把步骤2再重新做一遍了 500){this.resized=true;this.style.width=500;}" border="0">
如果系统系统使用了加载入的windows驱动并且开始工作的话, 你一定可以看到在你的system log中有这样的一笔记录:
代码: wlan0: ndiswrapper ethernet device xx:xx:xx:xx:xx:xx
设定界面
要用 iwconfig 來设定无线网卡前请先看看这个命令界面是否是可用的,使用下面的指令试试:
代码:
iwconfig
如果你的系统中没有这个工具 :那么就emerge吧, 它是 package 'wireless-tools' 的一部分,大家自行安装咯。
这样会列出 wireless interface (例如, wlan0)。在下面例子中,将使用 wlan0;请以上述 iwconfig 显示出的 interface 來取代wlan0。 这里的无线网卡的配置必须和你所采用的无线接入方法(Access Point, AP)所要求的相吻和.首先用下面这句命令看看附近有什么可用的无线网络:
代码:
iwlist wlan0 scan
注意:你在必要的时候应该先设置network的名字然后再运行上面的命令找到你的无线AP. 假如 scan 没有找到你的 AP, 在使用 "iwlist wlan0 scan" 的命令之前, 尝试运行下面的命令:
代码:
iwconfig wlan0 essid ESSID
假如这样就可以列出你的AP了,你就可以继续后面的步骤。否则,你可能会碰到下面两件头疼的事中的其中一个:
你的AP没有开启broadcast SSID(Service Set IDentifier) 或者网卡卡的 radio 关掉了。
在你看得到你的AP后, 要做的第一件事就事设置你的网络端口, 在大多数情况下,可以使用下面的命令:
代码:
iwconfig wlan0 mode Managed
假如你使用的事 encryption (WEP)(Wired Equivalent Privacy), 则要设定 你的key:
代码:
iwconfig wlan0 key restricted XXXXXXXX
你 可以使用10位十六进制数实现40-bit的加密强度或是26位十六进制数来实现128-bit的加密强度. 你采用哪种加密方法主要是看你接入的无线AP采用的方法.(虽然大家都知道wifi的安全性之差仅次于蓝牙, 使用airsnort之类的软件很容易就可以破解掉无线网络的wep, 不过说还是要说的)如果你想用ASCII来取代16进制, look this : (e.g. iwconfig wlan0 key restricted s:password).
设定 network name
代码:
iwconfig wlan0 essid ESSID
请用你AP上使用的network name來取代 ESSID。
现在开是设置wlan0(你的或许不叫这个名字)这个接口的一些参数,这些参数的设置方法请参考你所使用的发行版的Documents, 我这里就不多说了.如果完成后就可以 bring up 你的无线网络了,例如:
代码:
ifconfig wlan0 up
或是
代码:
dhclient wlan0
或者
代码:
dhcpcd wlan0
等等。
自动化
要是一切都很顺利的话,就可以通过执行下面的命令來得到正确无误的 modprobe settings 了,在使用 wlan0 时可以自动装载ndiswrapper,
代码:
ndiswrapper -m
注 意:按照上面这个命令做了之后, 系统不是在boot时候自动load ndiswrapper 这个module的, 如果你想在系统boot的过程中自动load ndiswrapper, 你必须设置你的modules的configure文件, 设置的方法或是修改什么文件的话都依赖于你所使用的发行版, 这些发行版中的大部分都是在boot时候load进/etc/modules下的所有modules. (Mandrake 10.X在启动时使用的modules文件是/etc/modrpobe.preload) 对于它们来说, 你可以在相应的文件中(/etc/modules)增加那么一行:
代码:
ndiswrapper
现在你不用在为无线网卡发愁了吧, 用linux 无线你的无限咯