AP6256 STA模式操作示例

2025-10-19 01:53:16

1、4-1 加载驱动

步骤 1. 加载驱动。

ap6181/ap6212/ap6212a/ap6214a/ap6255

himm 0x100d0004 0x1

himm 0x12098034 0x10101070

insmod cfg80211.ko

insmod bcmdhd.ko firmware_path=/etc/firmware/fw_bcm40181a2.bin

nvram_path=/etc/firmware/nvram.txt dhd_oob_gpio_base=0x1214d000

dhd_oob_gpio_num=0 dhd_oob_irq_num=76 sdio_slot=1

himm 0x12098034 0x10101050

himm 0x12098034 0x10101070

第一行命令是给 SDIO 控制器上电,地址为 WiFi 模块对接的 SDIO 端口所对应的控制器地址;第二行是将 WL_REG_ON 拉高给 WiFi 上电,WL_REG_ON 连接的GPIO 不同,地址和值也不同,上例 WL_REG_ON 连接在 PER_EN1 上,请根据用户指南修改;第四行命令是加载 WiFi 驱动,其中:

− dhd_oob_gpio_base 和 dhd_oob_gpio_num 是配置 OOB 管脚,上例为

GPIO13_0,oob_gpio_base=0x1214d000 设置 GPIO13 的基地址,基地址从用户指南中查找,dhd_oob_gpio_num 设置偏移为 0;

− dhd_oob_irq_num 为 OOB GPIO 的中断号,请从用户指南中查找;

− sdio_slot 是 WiFi 对接的 SDIO 端口号。

第五、六行是将 WL_REG_ON 拉底再拉高,复位 WiFi。

步骤 2. 查看驱动是否加载成功。

执行 shell 命令:

iwconfig

如果看到有一个 wlan0 网口,那说明驱动已经初始化成功,WiFi 设备可用。

下图 iwconfig 执行结果

AP6256 STA模式操作示例

2、步骤 3. 启动 WiFi 网口。

执行 shell 命令:

ifconfig wlan0 up

执行完后,WiFi 是可用状态,可以进行扫描和连接操作了。

----结束

3、3.2 扫描 AP

执行 shell 命令:

iwlist wlan0 scan

下图 扫描 AP 执行结果

AP6256 STA模式操作示例

4、扫描到的 AP 会以“Cell xx”的形式显示,一个 AP 对应一个“Cell xx”。

每个 AP 的信息包括:

Address:MAC 地址。

ESSID:AP 的名称,即 SSID。

Protocol:IEEE80211 协议,11b/g/n。

Frequency:信道。

认证加密信息:WEP、WPA-PSK、WPA2-PSK、WPA、WPA2。 Quality:信号质量,该数据有些 WiFi 显示得不准确,可以忽略。 Signal Level:信号强度,数字越大,信号强度越高,WiFi 芯片不同,显示的方式有些区别,有的是以 xx/100 类型显示,有的是以 xx dBm 显示。

上述信息并不是所有 WiFi 都是以这种格式显示,WiFi 不同显示的格式也不一样。

5、3.3 连接 AP

连接 AP 是通过 wpa_supplicant 进程进行的。wpa_supplicant 是开源代码,Linux、Android 都是采用它负责 WiFi 的连接过程,它包含了 WEP、WPA/WPA2、WPAPSK/WPA2-PSK、WAPI、WPS、P2P、EAP 等协议。

步骤 1. 启动 wpa_supplicant 进程。

执行 shell 命令:

wpa_supplicant –iwlan0 –Dnl80211 –c/etc/Wireless/wpa_supplicant.conf&

iwlan0 表示使用 wlan0 网口;

Dnl80211 表示使用 cfg80211 接口(用户态的接口是 libnl,内核中是 cfg80211), 另外一个可选的是-Dwext,表示使用 wext 接口,mt7601u 需要使用-Dwext;

c/etc/Wireless/wpa_supplicant.conf 是 wpa_supplicant 的配置文件,要保证该文件已经存在。

执行完后,用 ps 命令查看一下 wpa_supplicant 进程是否存在,存在表示工作正常。如果没有 wpa_supplicant 进程,可以增加wpa_supplicant 的打印级别,从 log 看出现什么问题,如:

wpa_supplicant –iwlan0 –Dnl80211 c/etc/Wireless/wpa_supplicant.conf –ddd &

步骤 2. 启动 wpa_cli 进程。

执行 shell 命令:

wpa_cli –iwlan0 –p/var/wpa_supplicant

执行成功会出现“>”符号。

如果出现“Could not connect to wpa_supplicant - re-trying”,那表示 wpa_cli 不能和wpa_supplicant 建立 socket 连接,这时要检查 wpa_supplicant 进程是否还在,再看是否有/var/wpa_supplicant/wlan0,然后检查 wpa_supplicant.conf 文件中是否是

ctrl_interface=/var/wpa_supplicant。

步骤 3. 扫描。

在“>”后执行“scan”命令,收到“CTRL-EVENT-SCAN-RESULTS”后再执行 “scan_results”,会获得扫描结果。

下图 wpa_cli 扫描 AP 结果

AP6256 STA模式操作示例

6、步骤 4. 连接。

连接 OPEN 方式的 AP:

a. 在“>”后执行 add_network,假如返回网络 ID 为 0。

b. 配置网络的 SSID,执行 set_network 0 ssid“AP 的 SSID”。

c. 配置网络的加密方式,执行 set_network 0 key_mgmt NONE。

d. 启动网络,执行 select_network 0。

e. 收到 CTRL-EVENT-CONNECTED 表示连接成功。

下图 连接 AP

AP6256 STA模式操作示例

7、连接 WPA-PSK/WPA2-PSK 方式的 AP:

在“>”后执行 add_network,假如返回网络 ID 为 0。

配置网络的 SSID,执行 set_network 0 ssid“AP 的 SSID”。

配置网络的加密方式,执行 set_network 0 psk“AP 的密码”。 启动网络,执行 select_network 0。

收到 CTRL-EVENT-CONNECTED 表示连接成功。

Broadcom 的 WiFi 还可以通过 wl 工具进行扫描和连接,连接方法请参考 sample 和wl 的 help 信息。

步骤 5. 获取 IP 地址。

输入 q 退出 wpa_cli,执行 shell 命令:

udhcpc –i wlan0

配置了 IP 地址后,可以 ping 网关看是否能 ping 通。

----结束

8、3.4 卸载驱动

ap6181/ap6212/ap6212a/ap6214a/ap6255

ifconfig wlan0 down

rmmod bcmdhd.ko

rmmod cfg80211.ko

9、4 .SoftAP 模式基本操作示例

4.1 检查 WiFi 设备、加载驱动

ap6181/ap6212/ap6212a/ap6214a/ap6255 用的 firmware 和 STA 模式不一样,如下:

himm 0x100d0004 0x1

himm 0x12098034 0x10101070

insmod cfg80211.ko

insmod bcmdhd.ko firmware_path=/etc/firmware/fw_bcm40181a2_apsta.bin

nvram_path=/etc/firmware/nvram.txt dhd_oob_gpio_base=0x1214d000

dhd_oob_gpio_num=0 dhd_oob_irq_num=76 sdio_slot=1

himm 0x12098034 0x10101050

himm 0x12098034 0x10101070

4.2 hostapd 配置和启动 SoftAP

配置 SoftAP 是通过 hostapd 进行的。hostapd 和 wpa_supplicant 类似,它包含了 AP 端的各种认证协议、连接流程,wpa_supplicant 是 STA 端的。

10、步骤 1. 修改 hostapd.conf 文件。

hostapd 进程需要使用 hostapd.conf 配置文件,在配置文件里设置 SSID、信道、加密方式等。配置文件的内容举例如下:

OPEN

interface=wlan0

driver=nl80211

ctrl_interface=/var/hostapd

ssid=HisiAP

channel=6

hw_mode=g

ieee80211n=1

ht_capab=[SHORT-GI-20][SHORT-GI-40][HT40-]

WPA2-PSK

interface=wlan0

driver=nl80211

ctrl_interface=/var/hostapd

ssid=HisiAP

channel=6

hw_mode=g

ieee80211n=1

ht_capab=[SHORT-GI-20][SHORT-GI-40][HT40-]

wpa=3

wpa_key_mgmt=WPA-PSK

wpa_pairwise=TKIP CCMP

wpa_passphrase=12345678

hostapd 是开源代码,配置文件中的参数可以参考网络资源。

ht_capab 可以配置是否支持 40M 带宽,带有[SHORT-GI-40][HT40-]或者[SHORT-GI-

40][HT40+]即支持 40M 带宽。当 channel 小于 6 时,用[SHORT-GI-40][HT40+],当

channel 大于等于 6 时,用[SHORT-GI-40][HT40-]。

mt7601u、ap6181、ap6212、ap6212a、ap6214a、ap6255 的 SoftAP 模式不支持 40M 带 宽,所以 ht_capab 设置如下:

ht_capab=[SHORT-GI-20]

11、步骤 2. 启动 hostapd 进程。

执行 Shell 命令:

hostapd -e /etc/Wireless/entropy.bin /etc/Wireless/hostapd.conf &

执行完后,用 ps 命令查看一下 hostapd 进程是否存在,存在表示工作正常,用 STA 设 备可以搜索到 SoftAP。如果没有,可以增加 hostapd 的打印级别,从 log 看出现什么问题,如:

hostapd -e /etc/Wireless/entropy.bin –ddd /etc/Wireless/hostapd.conf &

----结束

Broadcom 的 WiFi 还可以通过 wl 工具进行配置,配置方法请参考 sample 和 wl 的 help信息。

12、4-3 开启 udhcpd

执行 Shell 命令:

ifconfig wlan0 192.168.1.1

busybox udhcpd –fS /etc/Wireless/udhcpd.conf

请确保/etc/Wireless/udhcpd.conf 文件存在,并且配置的网段为 192.168.1.x。执行完后, 用 STA 设备可以扫描和连接该 SoftAP,如果能成功连接且 ping 通网关表示此 AP 配置成功。

13、4-4 卸载驱动

卸载驱动的方法和 STA 模式一样。

4-5适配国家或区域

不同的国家或区域,采用的频率范围有些不同,比如 2.4GHz 频段,美国支持 1~11 信 道,中国和欧洲支持 1~13 信道,日本支持 1~14 信道。5GHz 频段也类似。WiFi 需要根据产品上市的国家或区域做相应的配置,以适用于该国家的频率范围。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢