IMX6ullpro开发板创建 WIFI热点(RTL8188 AP+STA)

利用工具:hostapd

板子自带,也可以用sudo apt-get install hostapd 最新的版本是2.7.

第一步:设置etc/default/hostapd

  sudo vi /etc/default/hostapd

  设置一个绝对路径

  DAEMON_CONF="/etc/hostapd.conf" #具体路径因情况而异

第二步:设置etc/hostapd.conf #你刚才设置的路径文件

  interface=wlan0 #网口名称

  bridge=br0 #用有线网线+无线网卡的方式建立的需要 否则注释掉

  driver=nl80211 #驱动基本都是这个 我的驱动这里有问题

  country_code=CN #注释掉也没关系 测试无错误

  ssid=sakura_test #热点名称

  hw-_mode=g #a=IEEE 802.11a b=IEEE 802.11b g=IEEE 802.11g

  channel=6 #一般值为0,6,11,13

  wpa=2 #wpa2

  wpa_passphrase=MyWifiPassword #密码

  wpa_key_mgmt=WPA-PSK #算法 一目了然

  wpa_pairwise=TKIP CCMP #加密算法

  rsn_pairwise=CCMP  

  auth_algs=3 #3包括了1,2 有的环境只能用1 自己试

  macaddr_acl=0 #接受所有MAC地址 注释掉也能用

第三步:启动hostapd

  sudo /etc/init.d/hostapd start

  其他指令 {start|stop|restart|status} #用status查看服务是否开启

  接下来应该就可以看到名字叫sakura_test的热点了,不过还不能上网。

  然后运用isc-dhcp-server或者其他的开源软件来实现。

  我的开发板驱动有坑,在Ubuntu上测试同样的东西可以上网,在板子上就不行,之后有进展再写解决方案,先写一点记录一下。

第四步:配置/etc/network/interfaces

  sudo vi /etc/network/interfaces

  auto wlan0 #重启或者重置网络自动配置

  allow-hotplug wlan0

  iface wlan0 inet static #dhcp为动态获取 static为静态

  address 192.168.43.71

  netmask 255.255.255.0

第五步:配置isc-dhcp-server 根据需求在etc/dhcp/dhcpd.conf中写

  接着启动isc-dhcp-server

  sudo /etc/init.d/isc-dhcp-server start

第六步:iptables开启路由转发(略)

注意:

在同时使用AP和STA的WIFI模式时,启动AP服务时查看有没有已经启动的wpa_supplicant进程,保证sta模式的通道和ap通道一致。可以先杀掉相关进程测试。

killall wpa_supplicant

killall udhcpd

killall hostapd


2023-02-20补充:


查看WiFi信号方法如下:

root@fl-imx6ull:~# cat /proc/net/wireless | grep wlan0 | awk '{print $3}' //获取信号强度
78.
root@fl-imx6ull:~# cat /proc/net/wireless | grep wlan0 | awk '{print $4}' //获取信号质量,单位dBm
-68.
root@fl-imx6ull:~# cat /proc/net/wireless | grep wlan0 | awk '{print $5}' //网口背景噪声,单位dBm
-256.

AP模式

说明:

l 本模块支持AP模式,理论最大连接用户为8个。

l 本例为以太网eth0连接路由器说明,配置完以太网后,需要测试eth0是否可以连接外网,如果可以连接外网(方法参考 “有线网卡”章节),请继续按照操作步骤执行,如果不可以请检查以太网或者路由器连接是否正常

工作在AP模式下,手机等设备可以直接连接模块。

设置以太网IP,配置网络防火墙:

root@fl-imx6ull:~# udhcpc -i eth0 //自动分配IP,若以测试eth0网络正常,可不操作此步
root@fl-imx6ull:~# echo 1 > /proc/sys/net/ipv4/ip_forward   //打开 IP 转发
root@fl-imx6ull:~# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE//设置转发规则

设置WiFi的模式与IP

确保模块8723bu已经加载。

root@fl-imx6ull:~# ifconfig wlan0 up //打开WiFi
root@fl-imx6ull:~# ifconfig wlan0 192.168.0.10 netmask 255.255.255.0 //设置IP与子网掩码
root@fl-imx6ull:~# ifconfig wlan0 promisc //设置 wlan0 为混杂模式

开启AP

root@fl-imx6ull:~# udhcpd /etc/udhcpd/udhcpd.conf & //WiFi 地址、网关等配置信息
root@fl-imx6ull:~# hostapd -d /etc/hostapd/hostapd.conf & //加密方式、用户名、密码等设置
hostapd.conf文件中:ssid为用户名,/为密码

手机等移动终端可以通过WiFi连接到开发板的AP热点,iMX6ULL开发板默认使用以下用户名和密码:

热点名:forlinxtest密码:1234567890

步骤4:卸载已经加入内核的模块:

root@fl-imx6ull:~# rmmod 8723du
usbcore: deregistering interface driver rtl8723du
wlan0: CTRL-EVENT-DISCONNECTED bssid=04:d7:a5:f9:26:1d reason=0

你可能感兴趣的:(linux,ubuntu,运维)