打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
[分享]用ndiswrapper给Linux安装无线网卡
前些日子一时兴起,买回一个笔记本用的无线网卡,在Windows下立刻就调通了,并与学校的无线网成功连接。但想一想自己是一个Linuxer,便开始了无线网卡在Linux下的安装过程。


首先上网找了一下,发现了这个软件:ndiswrapper,它可以在Linux下利用Windows驱动使用无线网卡。大家可以到http://sourceforge.net/projects/ndiswrapper/ 下载到最新的版本。

我的全安装过程如下:
首先要声明的是,我在我的系统做了两件事,一是把/sbin和/usr/sbin加入了我自己的PATH;二是用root编辑/etc/sudoers文件,把自己的用户名放在了root的下面。这样我就可以用sudo命令来实现对系统的操作。大家可以在自己的系统上进行相应的调整。另外,我的网卡在安装前就已经插进了PCMCIA插槽。

具体操作如下:
一、
$ vi ~/.bashrc
在其中加入一行 export PATH=$PATH:/sbin:/usr/sbin

二、先用root用户登录
# chmod 777 /etc/sudoers
# vi /etc/sudoers
在root    ALL=(ALL) ALL一行下加入(你的用户名) ALL=(ALL) ALL。
# chmod 440 /etc/sudoers

全安装过程我是完全按照它的说明做的,具体可以参照http://ndiswrapper.sourceforge.net/phpwiki/index.php/Installation

1、安装ndiswrapper。
首先请确认你的系统内核,ndiswrapper要求最低为2.6.6或2.4.26。系统内核确认的方法有很多,我是用命令
$ ls /boot
看到以下文件,
config-2.6.9-1.667  initrd-2.6.9-1.667.img  System.map-2.6.9-1.667
grub                lost+found              vmlinuz-2.6.9-1.667
很显然,我的内核是2.6.9-1.667。


如果你的内核支持,就可以开始安装了,方法是进入下载文件所在目录,输入以下命令:
$ tar zxvf ndiswrapper-1.0.tar.gz

$ cd ndiswrapper-1.0

$ make distclean

$ make

$ sudo make install    (我用的是sudo,也可以直接以root用户执行,下同)

2、安装无线网卡的Windows驱动。
一定要注意的是除非ndiswrapper的网站的List里写明用原CD带的驱动没有问题,否则千万不要用原CD带的驱动!!我一开始就是用的原CD带的驱动,结果机器死掉,不得不关机再重新开。
先打以下命令:
$ lspci
在我的机器上可以看到这样一行:
07:00.0 Network controller: Texas Instruments ACX 111 54Mbps Wireless Interface
然后再打:
$ lspci -n
在我的机器上可以看到这样一行:
07:00.0 Class 0280: 104c:9066
最后的104c:9066就是我的网卡的PCI ID了。
然后到下面的网站去寻找相同PCI ID的网卡,把它的驱动下载下来。
http://ndiswrapper.sourceforge.net/phpwiki/index.php/List

比如说我的网卡的话,就下了第一个可以下载的ZIP文件,名为AL5410-G_WinXP_DR.zip。解压该文件,用命令:
$ unzip AL5410-G_WinXP_DR.zip
解出一个Windows\ XP目录,当然,会因为网卡不同,驱动不同而各自不同。
再输入命令:
$ sudo ndiswrapper -i filename.inf
这里的filename.inf会因为驱动的不同而不同,我的网卡输入的是Windows\ XP/ttnet1130.inf。(一般Windows的驱动里只有一个inf文件,就输入它的名字就可以了。)


然后可以输入命令
$ ndiswrapper -l
确认,我的机器显示的是:
Installed ndis drivers:
tnet1130        driver present, hardware present

3、加载网卡驱动
输入以下命令就可以加载网卡的驱动了。
$ sudo modprobe ndiswrapper
说明上说如果没有出错的话,打dmesg这条命令可以看到System的Log,里面会出现ndiswrapper version 1.0 loaded字样。反正我执行的时候一点问题都没有。


这时我的网卡电源灯已经开始亮了。
下面就进行无线网卡的设置。先输入命令:
$ iwconfig wlan0
我的机器的显示结果是:
wlan0     IEEE 802.11b  ESSID
ff/any
  Nickname:"********"
          Mode:Managed  Channel:0  Access Point: 00:00:00:00:00:00
          Bit Rate=11Mb/s   Tx-Power:0 dBm   Sensitivity=0/3
          RTS thr=4096 B   Fragment thr=4096 B
          Power Management
ff

          Link Quality:100  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

大家注意红字的部分,我把基本会出现的问题都显示出来了。看自己的Power Management是不是off了,ESSID是不是off/any,Access Point是不是都是0。
如果Power Management是off的话,用命令
$ sudo iwconfig wlan0 power on
把它打开。
如果没有ESSID的话,用命令
$ sudo iwconfig wlan0 essid "YOURESSID"
来指定为YOURESSID,反正我用的时候都加了引号了,不知道对还是不对。
如果不知道指定为什么的话,用命令
$ sudo iwlist wlan0 scan
来寻找,我的机器的显示结果为:
wlan0     Scan completed :
          Cell 01 - Address: 00:30:65:1F:24:AD
                    ESSID:"ChinaUnix"
                    Protocol:IEEE 802.11FH
                    Mode:Managed
                    Frequency:2.467GHz (Channel 12)
                    Quality:0/100  Signal level:-64 dBm  Noise level:-256 dBm
                    Encryption key
ff
                    Bit Rate:1Mb/s
                    Bit Rate:2Mb/s
                    Bit Rate:5.5Mb/s
                    Bit Rate:11Mb/s
                    Extra:bcn_int=100
                    Extra:atim=0

只要把那个"ChinaUnix"粘出来,输入到命令里就可以了。


接下来是网络的设置了,反正我是用dhcp,设置的方法应该是用ifconfig吧,具体我就不知道了。


网络设置好了,接通网络吧,用命令:
$ sudo ifup wlan0
如果是用dhcp的话,也可以用
$ sudo dhclient wlan0
原说明上说可以用$ sudo ifconfig wlan0 up,但我用了之后分配不到IP地址。可能直接指定IP地址的话可以用吧。
网络接通了,可以输入命令
$ ifconfig wlan0
来确认,起码应该有个IP地址的显示。 再上网试试,怎么样?速度如何呀??


4、保存设置
按说明中写的我执行了
$ sudo ndiswrapper -m
但没有起什么反应,只是修改了我的系统的/etc/modprobe.conf文件。再重启动的话还得从第3步开始再设置一遍。我又在网上查了一些资料,发现两种说法:
1、用root用户编辑/etc/sysconfig/network-scripts/ifcfg-wlan0文件,输入以下内容:
DEVICE=wlan0
ONBOOT=yes
BOOTPROTO=dhcp (如果是指定IP地址的话输入static)
TYPE=Ethernet
MODE=Managed
ESSID="YOURESSID"
如果指定IP地址的话,还要输入
IPADDR=192.168.0.2 (根据自己情况,做相应修改,下同)
NETMASK=255.255.255.0
NETWORK=192.168.0.0
GATEWAY=192.168.0.1
BROADCAST=192.168.0.255
以上都是我从别的网站抄回来的,有的我自己都不知道是什么意思,所以用不了千万不要骂我呀。

2、上面的/etc/sysconfig/network-scripts/ifcfg-wlan0文件,把ONBOOT设为no,然后也用root用户编辑/etc/rc.d/rc.local文件,加入以下几行
/sbin/modprobe ndiswrapper
sleep 2
/sibn/ifup wlan0

只要/etc/sysconfig/network-scripts/ifcfg-wlan0文件按上面写的设了,据说也可以连通。我两个都试了,好像是第1个连通了,第2个没有连通,但人与人的系统都不一样,大家两个都试一下吧。


以上的文字在Fedora Core 3, 内核2.6.9-1.667下测试通过。

谨以此篇献给跟我一样菜的兄弟们。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
使用命令行设置树莓派的wifi网络
无线网卡配置
手把手教大家搭建一个低成本的多功能移动渗透测试站点
linux系统下配置无线网卡的方法
Linux下无线网卡配置命令
移植wifi无线网卡到mini2440上全过程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服