linux安装usb wifi接收器

来源:互联网 发布:陕西和泰单片机 编辑:程序博客网 时间:2024/04/30 21:29

   好长时间没有写点东西了。最近遇到电脑的无线网卡坏了,连不了wifi,想买个usb的wifi 接收器来替代,但没想到这点小问题到过了3天,为防止以后在忘了,留个草稿。如果菜鸟们遇到和我一样的问题,也可以借鉴一下。   

  我的电脑是debian的系统,ubuntu的系统也都一样的命令。

  我买的是Tenda的usb wifi接收器。

  你需要用到的工具有wireless tools中的iwconfig ,iwpriv ,iwlist; wpa_supplicant, wpa_passphrase, dhcpcd 这些工具系统不一定都带,有些需要你到网上找,不会问度娘好了。

  接下来需要到接收器的官网下载linux版本的驱动。驱动不是deb打包的需要用

make

make install

的方式安装。在安装过程中也许会报错,可能是你的gcc,cpp版本需要更新或者需要模块,你可以在百度上找到报错的原因。

等安装完可以看一下你的系统有没有加载接收器的驱动。可以通过一下方式:

使用lsusb命令可以看到你插入接收器多了一行

Bus 001 Device 009: ID 148f:7601 Ralink Technology, Corp.

对就是它7601Ralink芯片的设备

说明系统可以识别你的usb设备

接下来要看看系统中加载内核模块没有,使用lsmod命令

可以找到mt7601Usta            599127  1 这么一行

这说明系统已经加载你的usb设备驱动了

如果没有说明你的驱动没有安装成功。


驱动安装完后,接下来就是配置无线网络了

首先你可以使用sudo ifconfig 命令

eth0      Link encap:Ethernet  HWaddr 00:15:58:7c:18:a9  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:16 Memory:ee000000-ee020000 


lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:3071 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3071 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:278060 (271.5 KiB)  TX bytes:278060 (271.5 KiB)


ra0       Link encap:Ethernet  HWaddr c8:3a:35:ce:39:b1  
          inet addr:192.168.0.8  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::ca3a:35ff:fece:39b1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:85404 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12744 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:27834244 (26.5 MiB)  TX bytes:2534307 (2.4 MiB)


可以看到 ra0 就是你的usb设备,这里显示的是已经链接的状态,可能你的电脑显示的状态不大一样。


首先把ra0 设备打开 sudo ifconfig ra0 up

扫描周围网络      sudo iwlist ra0 scan

这里给大家一个网址上面有工具使用的详细介绍

http://blog.csdn.net/coder9999/article/details/21890455

如果你按照他的方式,还没连上网,那就继续往下看。

iwpriv ra0 set NetworkType=Infra
iwpriv ra0 set AuthMode=WPA2PSK
iwpriv ra0 set EncrypType=TKIP
iwpriv ra0 set WPAPSK=wj-12341
iwpriv ra0 set SSID=M.A.FiSH.W

把参数设置完后
iwconfig ra0 essid M.A.FiSH.W
iwpriv ra0 connStatus

如果没有显示ra0       connStatus:Connected(AP: M.A.FiSH.W[C8:3A:35:21:26:70])

你可以使用wpa_supplicant再试一试。

首先要创建一个配置文件

sudo wpa_passphrase M.A.FiSH.W 12345678 > wap.conf

这里的M.A.FiSH.W就是你扫描看到的essid 后面就是你wifi的密码 

sudo wpa_supplicant -B -Dwext -ira0 -c./wap.conf

这里的-B参数是可选项,你可以不加它可以看到创建的全过程,加上它命令就变为了后台运行。

这个时候你可以用sudo iwpriv ra0 connStatus

命令查看链接状态,你有时候会发现连接状态显示已连接,但是你使用sudo ifconfig ra0命令查看,并没有获得ip地址。你可以通过dhcpcd ra0 命令重新获取一下。也许这个工具在上次使用时当机了,你可以kill它的pid,然后重新输入一下就行了。

你在输入sudo ifconfig ra0可以看到

ra0       Link encap:Ethernet  HWaddr c8:3a:35:ce:39:b1  
          inet addr:192.168.0.8  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::ca3a:35ff:fece:39b1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:110105 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13658 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:33262314 (31.7 MiB)  TX bytes:3314813 (3.1 MiB)

看到已经获得ip地址了

接下来看一下是否获得默认路由了sudo netstat -r 或者sudo route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 ra0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 ra0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 ra0

能看到Gateway栏内有地址那就说明你的机器和你无线路由器连接正常了。

但是你发现,这个时候你的网页还是打不开任何地址,除了你的路由器管理地址192.168.0.1

什么原因呢?

ping www.baidu.com

会显示不认识host

这是你没有设置dns域名解析的事

echo "nameserver 192.168.0.1" >/etc/resolv.conf

重启网卡

/etc/init.d/networking restart

这个时候可能你刚才连接的网络都断了,上述连接步骤可能还要从来一次。

呵呵,不要害怕,其实设置dns应该放在安装完驱动后进行,但这里进行也无所谓,因为咱们的参数都配置完了。

可以用一下下面命令就能解决。

sudo ifconfig ra0 down

sudo ifconfig ra0 up

sudo wpa_supplicant -B -Dwext -ira0 -c./wap.conf

sudo dhcpcd ra0

也许会出现err, ra0: dhcpcd already running on pid 5333 (/var/run/dhcpcd-ra0.pid)

这说明之前运行的dhcpcd命令还在运行中,sudo kill 5333

然后在sudo dhcpcd ra0

这时候看一下ping www.baidu.com

是不是可以了。


  

0 0
原创粉丝点击