openwrt wifi调试记录

前言

  目前wifi模块使用过pcie接口和sdio接口两款。pcie接口的wifi模块使用较广,内核一般都有现成的驱动支持,至于sdio接口的wifi驱动,可以找芯片厂商拿。本人从事系统及驱动开发,看看内核代码移植一些驱动还是比较得心应手的,因此本文不记录wifi驱动的调试,而是记录wifi应用的开发。
  年末将至,回望这三年工作经历,尽心尽力,自觉能力上从事一些系统及驱动开发游刃有余,只是做事严谨性稍有待提高。然一事无成!我是否还要将全部精力放在这份工作上?还是找一份轻松一点的工作,然后利用空余的时间创点副业?前路茫茫!
  夜饮东坡醒复醉,归来仿佛三更。家童鼻息已雷鸣。敲门都不应,倚杖听江声。
  长恨此身非我有,何时忘却营营。夜阑风静縠纹平。小舟从此逝,江海寄余生。

1、wifi模式

AP模式: Access Point,提供无线接入服务,允许其它无线设备接入,提供数据访问,一般的无线路由/网桥工作在该模式下。AP和AP之间允许相互连接

Sta模式: Station, 类似于无线终端,sta本身并不接受无线的接入,它可以连接到AP,一般无线网卡即工作在该模式。

2、station模式调试记录

 2.1 用自己的手机设置一个热点

  openwrt wifi调试记录_第1张图片

 2.2 启用wifi接口

  ifconfig wlan0 up

 2.3 搜索所有AP网络

  iwinfo wlan0 scan
   openwrt wifi调试记录_第2张图片

 2.4编辑/etc/wpa_supplicant.conf

  连接到哪个热点,可以通过wpa_supplicant.conf文件配置,也可以通过wpa_cli命令行来设置。

ctrl_interface=/var/run/wpa_supplicant
network={
        ssid="jimmy5G"
        psk="12345678"
        #bssid=00:11:22:33:44:55(链接固定通道或频率,如5GHZ)
}

 2.5 启动station模式的程序

  wpa_supplicant -d -iwlan0 -c/etc/wpa_supplicant.conf &

 2.6 使用dhclient获取ip地址

  dhclient wlan0

3、AP模式调试记录

 3.1启用wlan接口

  ifconfig wlan0 192.168.200.1 netmask 255.255.255.0

 3.2配置防火墙规则

  iptables -A FORWARD -i wlan0 -o FE0 -s 192.168.200.0/24 -m state –state NEW -j ACCEPT
  iptables -A FORWARD -m state –state ESTABLISHED,RELATED -j ACCEPT
  iptables -t nat -A POSTROUTING -o FE0 -j MASQUERADE

 3.3启用dhcp服务

  dhcpd -cf /etc/dhcp3/dhcpd.conf -lf /etc/dhcp3/dhcpd.lease
  dhcpd.conf文件内容

authoritative ;
subnet 192.168.1.0 netmask 255.255.255.0 {
  default-lease-time 86400;
  option domain-name-servers 114.114.114.114;
  option routers 192.168.1.1;
  range 192.168.1.100 192.168.1.199;
}
subnet 192.168.200.0 netmask 255.255.255.0 {
  default-lease-time 86400;
  option domain-name-servers 8.8.8.8,114.114.114.114;
  option routers 192.168.200.1;
  range 192.168.200.2 192.168.200.254;
}
subnet 192.168.23.0 netmask 255.255.255.0 {
}

  dhcpd.lease文件内容

# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.3.5

# authoring-byte-order entry is generated, DO NOT DELETE
authoring-byte-order little-endian;

server-duid "\000\001\000\001\"4\370\221$\341$\013dD";

 3.4启动AP模式的程序

  hostapd /etc/hostapd.conf &
  hostapd.conf文件内容

interface=wlan0
ctrl_interface=/var/run/hostapd
driver=nl80211
hw_mode=a
ieee80211d=1
ieee80211n=1
logger_syslog=-1
logger_syslog_level=0
ssid=HelloJimmy     
country_code=CN
max_num_sta=128
rts_threshold=2312
auth_algs=1
wpa=0
ignore_broadcast_ssid=0
ap_isolate=0
ht_capab=[SHORT-GI-40][DSSS_CCK-40]

你可能感兴趣的:(网络编程)