openwrt下wifi设置详细过程

1.缺省情况下,openwrt中的无线是关闭的,系统起来后,ifconfig和ifconfig -a, iwconfig均看不到wlan0接口

原始的wireless配置文件如下:

root@OpenWrt:/# cat /etc/config/wireless 

config wifi-device  radio0

        option type     mac80211

        option channel  11

        option macaddr  00:90:4b:24:ff:2a

        option hwmode   11ng

        option htmode   HT20

        list ht_capab   SHORT-GI-40

        list ht_capab   DSSS_CCK-40

        # REMOVE THIS LINE TO ENABLE WIFI:

        option disabled 1

 

config wifi-iface

        option device   radio0

        option network  lan

        option mode     ap

        option ssid     OpenWrt

        option encryption none

 

root@OpenWrt:/# 

root@OpenWrt:/# cat /etc/config/network 

 

config 'interface' 'loopback'

        option 'ifname' 'lo'

        option 'proto' 'static'

        option 'ipaddr' '127.0.0.1'

        option 'netmask' '255.0.0.0'

 

config 'interface' 'lan'

        option 'ifname' 'eth0'

        option 'type' 'bridge'

        option 'proto' 'static'

        option 'ipaddr' '192.168.1.1'

        option 'netmask' '255.255.255.0'

 

config 'interface' 'wwan'

        option 'proto' 'dhcp'

 

root@OpenWrt:/# 

可以先删除以前的,再用wifi命令生成,如下:

rm -f /etc/config/wireless; wifi detect > /etc/config/wireless

 

mtg板子lan--连笔记本网口,Ip地址选dhcp模式,则笔记本会获得一个192.168.1.x的IP地址,

br-lan的ip地址为192.168.1.1,则在笔记本的地址栏输入192.168.1.1,打开板子的openwrt luci web 界面,network--->wifi,

如图一,点一下enable


串口打印如下:

root@OpenWrt:/# [   35.704581] ADDRCONF(NETDEV_UP): wlan0: link is not ready

[   35.732884] device wlan0 entered promiscuous mode

[   35.742912] br-lan: port 2(wlan0) entering forwarding state

[   35.748496] br-lan: port 2(wlan0) entering forwarding state

[   37.953439] device wlan0 left promiscuous mode

[   37.958101] br-lan: port 2(wlan0) entering forwarding state

[   38.122524] device wlan0 entered promiscuous mode

[   38.127514] br-lan: port 2(wlan0) entering forwarding state

[   38.133145] br-lan: port 2(wlan0) entering forwarding state

此时在用ifconfig和iwconfig查看均能看到wlan0接口

再查看wireless配置文件如下:

root@OpenWrt:/# cat /etc/config/wireless 

 

config 'wifi-device' 'radio0'

        option 'type' 'mac80211'

        option 'channel' '11'

        option 'macaddr' '00:90:4b:24:ff:2a'

        option 'hwmode' '11ng'

        option 'htmode' 'HT20'

        list 'ht_capab' 'SHORT-GI-40'

        list 'ht_capab' 'DSSS_CCK-40'

 

config 'wifi-iface'

        option 'device' 'radio0'

        option 'network' 'lan'

        option 'mode' 'ap'

        option 'ssid' 'OpenWrt'

        option 'encryption' 'none'

 

root@OpenWrt:/# 

可见前面的    # REMOVE THIS LINE TO ENABLE WIFI:

        option disabled 1

两行已经没有了

 

2. web上点一下wifi标签,则会回到图一的状态,点scan,则会扫描出很多AP,选择要用的AP,并将其的BSSID号复制下来,后面有用,

这里的BSSID号即为AP的MAC地址

选择要用的AP,点join network,会出现Join Network: Settings页面,如图二,



WPA passphrase: 此处输入AP访问密码,如Flexcomm_WIFI的密码为123456789a,TP-LINK_CPN/TP-LINK_CPN1的密码为12345678

name of the new network: 缺省为wwan

Create/Assign firewall-zone: 缺省为wan:wwan:(empty)

 

再点submit,则会显示wifi配置界面,和图一中直接选edit之后的界面一样,如图三,再将前面保存的BSSID粘贴到BSSID栏中,其他的参数都不要改


再点save&apply

此时串口打印如下:

root@OpenWrt:/# [   26.962420] br-lan: port 1(eth0) entering forwarding state

[   26.987437] device eth0 left promiscuous mode

[   26.991893] br-lan: port 1(eth0) entering disabled state

[   27.040168] eth0: link down

[   30.500184] ADDRCONF(NETDEV_UP): eth0: link is not ready

[   31.003220] ADDRCONF(NETDEV_UP): eth0: link is not ready

[   31.040777] eth0: link up, speed 100 Mb/s, full duplex

[   31.046025] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

[   31.195658] device eth0 entered promiscuous mode

[   31.259063] br-lan: port 1(eth0) entering forwarding state

[   31.264621] br-lan: port 1(eth0) entering forwarding state

[   32.373424] ADDRCONF(NETDEV_UP): wlan0: link is not ready

[   35.279518] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready

 

root@OpenWrt:/# 

查看配置文件为:

root@OpenWrt:/# cat /etc/config/wireless 

 

config 'wifi-device' 'radio0'

        option 'type' 'mac80211'

        option 'macaddr' '00:90:4b:24:ff:2a'

        option 'hwmode' '11ng'

        option 'htmode' 'HT20'

        list 'ht_capab' 'SHORT-GI-40'

        list 'ht_capab' 'DSSS_CCK-40'

        option 'disabled' '0'

        option 'channel' '6'

        option 'country' 'CO'

        option 'txpower' '17'

 

config 'wifi-iface'

        option 'ssid' 'Flexcomm_WIFI'

        option 'encryption' 'psk2'

        option 'device' 'radio0'

        option 'mode' 'sta'

        option 'network' 'wwan'

        option 'key' '123456789a'

        option 'bssid' '00:1C:F0:C3:84:AC '

 

root@OpenWrt:/# 

root@OpenWrt:/# ifconfig wlan0

wlan0     Link encap:Ethernet  HWaddr 00:90:4B:24:FF:2A  

          inet addr:192.168.5.182  Bcast:192.168.5.255  Mask:255.255.255.0

          inet6 addr: fe80::290:4bff:fe24:ff2a/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:82 errors:0 dropped:0 overruns:0 frame:0

          TX packets:27 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:32 

          RX bytes:6239 (6.0 KiB)  TX bytes:3576 (3.4 KiB)

 

root@OpenWrt:/# iwconfig wlan0

wlan0     IEEE 802.11abgn  ESSID:"Flexcomm_WIFI"  

          Mode:Managed  Frequency:2.437 GHz  Access Point: 00:1C:F0:C3:84:AC   

          Bit Rate=135 Mb/s   Tx-Power=17 dBm   

          RTS thr:off   Fragment thr:off

          Encryption key:off

          Power Management:off

          Link Quality=53/70  Signal level=-57 dBm  

          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0

          Tx excessive retries:0  Invalid misc:4   Missed beacon:0

 

root@OpenWrt:/# 

可见wlan0已经成功连上了AP,并自动获得了IP地址,AP为192.168.5.x网段的,并开了DHCP服务,所以wlan0能自动获得IP地址

 

root@OpenWrt:/# ping 192.168.5.1    //ping网关能通

PING 192.168.5.1 (192.168.5.1): 56 data bytes

64 bytes from 192.168.5.1: seq=0 ttl=64 time=4.500 ms

64 bytes from 192.168.5.1: seq=1 ttl=64 time=4.163 ms

^C

--- 192.168.5.1 ping statistics ---

2 packets transmitted, 2 packets received, 0% packet loss

round-trip min/avg/max = 4.163/4.331/4.500 ms

root@OpenWrt:/# ping www.baidu.com     //ping 外网能通

PING www.baidu.com (220.181.111.147): 56 data bytes

64 bytes from 220.181.111.147: seq=0 ttl=54 time=222.212 ms

64 bytes from 220.181.111.147: seq=1 ttl=54 time=290.069 ms

64 bytes from 220.181.111.147: seq=2 ttl=54 time=212.674 ms

^C

--- www.baidu.com ping statistics ---

3 packets transmitted, 3 packets received, 0% packet loss

round-trip min/avg/max = 212.674/241.651/290.069 ms

root@OpenWrt:/# 

root@OpenWrt:/# 

此时web页面wifi页状态显示连接,如图四:

 


说明:如果上面ping外网不通,可能是DNS没有设置

选一个可用的DNS,如8.8.8.8 为google的DNS服务器地址

可以在web页,DHCP and DNS页面中设置DNS forwardings: 8.8.8.8, save&apply

这样设置之后,就能ping通大网了

 

接mtgd的笔记本(网口接mtgd lan口)也可以直接上大网了。

 

 

3.直接在命令行下手动配置wifi如下:

可以先删除老的配置文件rm -rf /etc/config/wireless

新建一个配置文件 wifi detect > /etc/config/wireless

 

在上面生成的配置文件/etc/config/wireless基础上修改,改成如下:

 

主要设置'disabled','channel','network','mode','ssid','encryption' ,'key','bssid'

即主要设置option参数

设置之后保存退出,再运行wifi命令

root@OpenWrt:/# vi /etc/config/wireless 

 

 

config 'wifi-device' 'radio0'

        option 'type' 'mac80211'

        option 'macaddr' '00:90:4b:24:ff:2a'

        option 'hwmode' '11ng'

        option 'htmode' 'HT20'

        list 'ht_capab' 'SHORT-GI-40'

        list 'ht_capab' 'DSSS_CCK-40'

        option 'country' 'CN'   

        option 'disabled' '0'  

        option 'channel' '1' 

        option 'txpower' '17'

                             

config 'wifi-iface'             

        option 'device' 'radio0'

        option 'network' 'wwan'  --------这个地方一定不能为lan,否则连不通,可为wan,wwan等,wwan只是一个别名

        option 'mode' 'sta'        

        option 'ssid' 'TP-LINK_CPN'

        option 'encryption' 'psk2'        

        option 'key' '12345678'           

        option 'bssid' '5C:63:BF:FD:CF:FC'

~                                         

root@OpenWrt:/# wifi  //启动wifi,可见下面已经连接

[   61.914007] cfg80211: Calling CRDA for country: CN

[   62.058611] cfg80211: Regulatory domain changed to country: CN

[   62.064531] cfg80211:     (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)

[   62.072894] cfg80211:     (2402000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm)

[   62.080467] cfg80211:     (5735000 KHz - 5835000 KHz @ 40000 KHz), (N/A, 3000 mBm)

[   63.112131] ADDRCONF(NETDEV_UP): wlan0: link is not ready

root@OpenWrt:/# [    0.464589] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready

 

root@OpenWrt:/# iwconfig wlan0

wlan0     IEEE 802.11abgn  ESSID:"TP-LINK_CPN"  

          Mode:Managed  Frequency:2.412 GHz  Access Point: 5C:63:BF:FD:CF:FC   

          Bit Rate=180 Mb/s   Tx-Power=17 dBm   

          RTS thr:off   Fragment thr:off

          Encryption key:off

          Power Management:off

          Link Quality=70/70  Signal level=-29 dBm  

          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0

          Tx excessive retries:0  Invalid misc:7   Missed beacon:0

 

root@OpenWrt:/# ifconfig wlan0

wlan0     Link encap:Ethernet  HWaddr 00:90:4B:24:FF:2A  

          inet addr:192.168.8.108  Bcast:192.168.8.255  Mask:255.255.255.0

          inet6 addr: fe80::290:4bff:fe24:ff2a/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:66 errors:0 dropped:0 overruns:0 frame:0

          TX packets:39 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:32 

          RX bytes:14386 (14.0 KiB)  TX bytes:4828 (4.7 KiB)

 

root@OpenWrt:/# 

  • 8
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 在CSDN上可以找到OpenWRT WiFi开发教程的PDF文档。OpenWRT是一个基于Linux的嵌入式操作系统,常用于无线路由器等网络设备上。WiFi开发是指对设备中的无线网络功能进行定制和优化。 OpenWRT WiFi开发教程涵盖了从基础到高级的各个方面。首先,它介绍了OpenWRT的基本概念和安装方法,帮助开发人员了解OpenWRT及其开发环境。接着,它详细讲解了无线网络的原理和工作方式,包括频段、信道、SSID等基本概念,并介绍了无线网络的配置和管理方法。 在实际的WiFi开发中,教程提供了详细的案例和操作步骤,帮助开发人员完成各种常见的无线网络功能定制。例如,如何设置无线网络的安全性,包括加密方式和访问控制;如何设置无线网络的传输速率和功率控制;如何配置无线网络的自动切换功能等。 此外,教程还介绍了如何使用OpenWRT提供的开发工具进行高级WiFi功能的开发和调试。开发人员可以学习如何使用命令行工具来进行WiFi配置和管理,或者使用OpenWRT提供的图形化界面进行设置。 总的来说,OpenWRT WiFi开发教程是一份全面而详细的教程,对于想要学习无线网络开发的开发人员来说,是一份宝贵的资料。通过CSDN上提供的PDF文档,开发人员可以方便地获取相关的知识和技巧,帮助他们更好地进行OpenWRT WiFi的定制和优化。 ### 回答2: OpenWrt是一个开源的嵌入式操作系统,主要用于家庭路由器和其他网络设备。它基于Linux,提供了丰富的功能和灵活的配置选项。 在OpenWrt中开发WiFi功能,可以通过编写驱动程序、配置网络管理、实现无线网络协议等方式来实现。CSDN是一个知识交流平台,提供了大量的技术教程和资源。 对于想要学习OpenWrt WiFi开发的人来说,可以在CSDN上搜索相关的教程和文档。在搜索框中输入"OpenWrt WiFi开发教程",会有一系列相关的结果显示出来。可以点击相关的文章阅读,也可以下载PDF格式的教程进行学习。 这些教程可以帮助我们了解OpenWrt的基本原理、配置和开发技巧。它们通常会从OpenWrt的安装、配置开始,然后介绍如何开发WiFi功能,包括设置无线网络、配置无线加密、管理无线客户端等。同时,还会介绍一些常见问题和解决方法,以及一些开发实践和案例。 通过学习这些教程,我们可以深入了解OpenWrt WiFi开发的原理和技术,掌握相应的编程和配置技巧,从而能够在OpenWrt上自定义和扩展WiFi功能。这将有助于我们更好地理解和应用OpenWrt,提升网络设备的功能和性能。 总而言之,OpenWrt WiFi开发教程PDF可以在CSDN上找到,并通过学习来掌握OpenWrt WiFi开发的相关知识和技巧。希望这些信息对你有所帮助! ### 回答3: OpenWrt是一个基于Linux的开源嵌入式操作系统,它为路由器和其他嵌入式设备提供了强大的定制化和扩展性。而开发Wi-Fi功能则是在OpenWrt上进行允许设备进行Wi-Fi网络连接的开发。 在CSDN(中国最大的IT社区和开发者社区)上可以找到很多OpenWrt Wi-Fi开发教程PDF资源。这些教程通常包括以下内容: 1. OpenWrt基础知识:介绍OpenWrt的基本概念、安装和配置方法,以及编译和安装OpenWrt固件的步骤。 2. Wi-Fi驱动开发:讲解如何编写和调试OpenWrt上的Wi-Fi驱动程序,包括硬件适配、通信协议和设备驱动。 3. Wi-Fi网络配置:详细介绍如何配置和管理OpenWrt上的Wi-Fi网络,包括无线信道选择、安全设置、网络连接和性能优化等方面。 4. 网络管理和安全性:讲解如何管理和监控OpenWrt上的Wi-Fi网络,包括信号强度管理、访问控制、流量监测和安全加密等。 在CSDN上搜索OpenWrt Wi-Fi开发教程,可以找到来自开发者和爱好者们分享的各种开发经验和案例,还可以参与相关讨论和交流,获得更多实践经验和技术支持。 总而言之,在CSDN上找到的OpenWrt Wi-Fi开发教程PDF资源可以帮助开发者入门和深入理解OpenWrt上的Wi-Fi功能开发,提供了从基础知识到高级技术的全面指导。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值