如何通过无线连上互联网

来自WRTnode Wiki
跳转至: 导航搜索
其他语言:
English • ‎中文(中国大陆)‎

WRTnode通过无线连上互联网

首先,你得有个已经连上网的无线路由器。

新版固件可以通过setwifi进行连接

如果你的固件是新固件(内核版本大于3.18.20);
查看固件版本命令:

$ uname -a

可以直接使用命令 setwifi 进行连接

$setwifi <SSID> <密码>

详细操作:

  • 扫描当前的Wi-Fi
$ aps

'aps'是WRTnode的自定义命令,扫描当前的Wi-Fi,结果是类似这样的:

WRTnode AP scaner.
Begin scaning APs, pls wait...
Finished.
APs available are...
ra0       get_site_survey:
Ch  SSID                             BSSID               Security               Siganl(%)W-Mode  ExtCH  NT WPS DPID
1   Tenda                            xx:xx:xx:xx:xx:xx   NONE                   70       11b/g/n ABOVE  In YES
1   hshn                             xx:xx:xx:xx:xx:xx   WPA2PSK/AES            96       11b/g/n NONE   In YES
6   TP-LINK                          xx:xx:xx:xx:xx:xx   NONE                   55       11b/g   NONE   In  NO
6   BY01                             xx:xx:xx:xx:xx:xx   NONE                   100      11b/g/n NONE   In YES
6   Tenda_xxxxxx                     xx:xx:xx:xx:xx:xx   WPAPSK/AES             50       11b/g/n ABOVE  In  NO
11  CU_wpFS                          xx:xx:xx:xx:xx:xx   WPAPSK/TKIPAES         70       11b/g/n NONE   In YES
  • 连接上级

然后,我们来将WRTnode连上您现有的路由器:

$ setwifi 您要连接的路由器SSID 对应的密码

注意哦,SSID和密码中间有个空格。
例如:

$ setwifi TP_linkAB33CD password
  • 查看apcli0状态

回车以后等5秒,有时需要我们的电脑重新连接WRTnode2R的Wi-Fi,然后看看WRTnode2R有没有从上级路由DHCP获取IP地址:

$ ia

我们得到:

 $ ia
apcli0    Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
          inet addr:192.168.1.103  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: xxxx::xxxx:xxxx:xxxx:xxxx/xx Scope:Link
          UP BROADCAST RUNNING 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)

有时候,获取IP地址有可能要搞十几秒甚至几十秒,稍安勿躁。搞到IP后,我们看看是不是已经连上互联网了:

  • 查看是否连上互联网
$ ping baidu.com
PING baidu.com (220.181.111.85): 56 data bytes
64 bytes from 220.181.111.85: seq=0 ttl=54 time=6.071 ms

搞定,我们用电脑连上了WRTnode2R,还把WRTnode2R连上了互联网。

  • 额外的,如果上级路由使用WEP文本密码,需要运行如下命令把文本密码转换为数字密码:
$ echo -n 'abcde' | hexdump -e '13/1 "%02x" "\n"'   #To convert abcde to 6162636465 

通用方法

扫描当前的Wi-Fi

$ aps

'aps'是WRTnode的自定义命令,扫描当前的Wi-Fi,结果是类似这样的:

WRTnode AP scaner.
Begin scaning APs, pls wait...
Finished.
APs available are...
ra0       get_site_survey:
Ch  SSID                             BSSID               Security               Siganl(%)W-Mode  ExtCH  NT WPS DPID
1   Tenda                            xx:xx:xx:xx:xx:xx   NONE                   70       11b/g/n ABOVE  In YES
1   hshn                             xx:xx:xx:xx:xx:xx   WPA2PSK/AES            96       11b/g/n NONE   In YES
6   TP-LINK                          xx:xx:xx:xx:xx:xx   NONE                   55       11b/g   NONE   In  NO
6   BY01                             xx:xx:xx:xx:xx:xx   NONE                   100      11b/g/n NONE   In YES
6   Tenda_xxxxxx                     xx:xx:xx:xx:xx:xx   WPAPSK/AES             50       11b/g/n ABOVE  In  NO
11  CU_wpFS                          xx:xx:xx:xx:xx:xx   WPAPSK/TKIPAES         70       11b/g/n NONE   In YES

修改配置文件

根据aps获取的WiFi信息,我们来改WRTnode的apcli配置,apcli就是管WRTnode上联互联网的:

$ vw

'vw'是WRTnode自定义的命令,用vi修改/etc/config/wireless,敲了后你会看见:

config wifi-device 'ra0'
        option type 'ralink'
        option mode '9'
        option channel '6' #修改处1
        option txpower '100'
        option ht '20+40'
        option country 'US'
        option disabled '0'

config wifi-iface
        option device 'ra0'
        option network 'lan'
        option mode 'ap'
        option encryption 'psk2'
        option key '12345678'
        option ApCliEnable '1'
        option ApCliSsid 'aAP' #修改处2
        option ApCliAuthMode 'WPA2PSK' #修改处3
        option ApCliEncrypType 'AES' #修改处4
        option ApCliPassWord '87654321' #修改处5
        option ssid 'WRTnodeXXXX'
  • 到修改处1把信道改为跟上级路由一样(aps的Ch栏)
  • 到修改处2把ssid改为上级路由的ssid
  • 到修改处3设置上级路由的ApCliAuthMode
  • 到修改处4设置上级路由的ApCliEncrypType

这里,aps出来的结果跟vw要改动的ApCliAuthMode/ApCliEncrypType对应关系是:

aps:Security           vw:ApCliAuthMode/ApCliEncrypType
=========================================================
WPA1PSKWPA2PSK/TKIPAES	WPA2PSK/AES
WPA2PSK/AES		WPA2PSK/AES
WPA2PSK/TKIP		WPA2PSK/TKIP
WPAPSK/TKIPAES		WPAPSK/TKIP
WPAPSK/AES		WPAPSK/AES
WPAPSK/TKIP		WPAPSK/TKIP
WEP			WEP/WEP
NONE			NONE/NONE
  • 到修改处5设置上级路由的密码

额外的,如果上级路由使用WEP文本密码,需要运行如下命令把文本密码转换为数字密码:

$ echo -n 'abcde' | hexdump -e '13/1 "%02x" "\n"'   #To convert abcde to 6162636465

当然,我们可以用uci命令来改这些配置,不过我们不打算在这里详细说这件事。

重启WRTnode的网络

$ wifi

'wifi'重启WiFi网络,等10秒,有时需要我们的电脑重新连接WRTnode的Wi-Fi,然后看看WRTnode有没有从上级路由DHCP获取IP地址

查看apcli0状态

$ ia

'ia'是WRTnode自定义的命令,等价于ifconfig apcli0

$ ia
apcli0    Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
          inet addr:192.168.1.103  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: xxxx::xxxx:xxxx:xxxx:xxxx/xx Scope:Link
          UP BROADCAST RUNNING 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)

有时候,获取IP地址有可能要搞十几秒,稍安勿躁。apcli0的ip地址为:192.168.1.103,由此可以看出上级路由的网关为192.168.1.1;
由于WRTnode的网关为192.168.8.1,所以上级路由的网关如果也为192.168.8.1时将apcli0无法分配到ip;这时我们需要把WRTnode设置与一个与上级路由不同的网关。
那如何设置WRTnode的网关 :
打开配置文件network:'vn'是WRTnode自定义的命令,等价于vim /etc/config/network

 
$ vn
......
config interface 'lan'
        option ifname 'eth0.1'
        option force_link '1'
        option macaddr '64:51:7e:80:17:76'
        option type 'bridge'
        option proto 'static'
        option ipaddr '192.168.8.1'   //WRTnode网关
        option netmask '255.255.255.0'
        option ip6assign '60'
......

查看是否连上互联网

搞到IP后,我们看看是不是已经连上互联网了:

$ ping baidu.com
PING baidu.com (220.181.111.85): 56 data bytes
64 bytes from 220.181.111.85: seq=0 ttl=54 time=6.071 ms

搞定,我们用电脑连上了WRTnode,还把WRTnode连上了互联网。