【FAQ】全志R系列Tina系统Wi-Fi联网失败排查思路
-
【问题背景】
硬件:R系列公板+ Wi-Fi模组(XRADIO/RTL/BCM/ESP/…)
软件:Tina3.0及以上
操作:利用wifimanager应用进行联网
说明:改FAQ旨在总结Wi-Fi联网失败问题的一般解决思路。后续会陆续增加常见问题解决方法的具体案例。【问题简述】
执行 wifi_add_network_test AWTest 1qaz@WSX 1联网时提示
root@TinaLinux:/# wifi_connect_ap_test AWTest 1qaz@WSX ================================== connect wpa_supplicant failed,please check wifi driver!
【问题分析】
Tina网络问题排查步骤一般按照如下顺序排查:
加载驱-》扫卡-》下载firmware-》起wlan0网卡-》起wpa_supplicant服务-》利用wifimanaer应用联网- lsmod查看对应Wi-Fi驱动是否加载。
若没有加载则执行insmod insmod /lib/modules/4.9.118/xxx.ko(仍然失败则仔细分析加载log是否有异常) - ifconfig查看wlan0是否成功起卡。
若没有起卡执行ifconfig wlan0 up手动起卡。 - ps | grep wpa_supplicant查看wpa服务是否成功启动。
若没有执行./etc/init.d/wpa_supplicant start手动起服务。 - wifi_scan_results_test扫描确认网络是否正常。
【解决办法】
一.配置问题
- 内核驱动,Tina modules, Tina firmware三者必须正确对应同一个模组.
- 注意common下的modules.mk的编写.
- Sdio的配置一定要根据原理图选择对应busnum.
可能导致:
- 扫卡失败.
- 下载firmware失败.
最终导致驱动加载失败.
二.供电问题
检查VCC_WIFI和VCC_IO_WIFI两路电
不同模组对供电时序有一定要求,比如RTL8723ds需要两路电同时供电,针对有AXP的方案,一定要注意供电的配置,特别是enable的时间.
- 硬件方面:主要排查两路电的供电方案,是否是同一路供电,若是分开供电,要考虑两路供电的时序,例如DCDC1—>VCC_WIFI,LDOA—>VCC_IO_WIFI,那么DCDC1和LDOA的时序就得考虑.
- 软件方面主要是sysconfig.fex或者boart.dts的配置,分开供电的是否需要单独配置.
如:R818硬件设计是两路电分开供电,
1438 compatible = "allwinner,sunxi-wlan"; 1439 clocks = <&clk_losc_out>; 1440 pinctrl-0; 1441 pinctrl-names; 1442 wlan_busnum = <0x1>; 1443 wlan_power = "axp806-dcdce"; //该路可配可不配 1444 wlan_io_regulator = "axp806-aldo2"; //该路必须配 1445 wlan_io_voltage = <3300000>; 1446 wlan_power_voltage = <3300000>; 1447 wlan_regon = <&r_pio PL 5 1 0x1 0x2 0>; 1448 wlan_hostwake = <&r_pio PL 6 6 0x1 0x2 0>; 1449 chip_en; 1450 power_en; 1451 status = "okay"; 1452 wakeup-source; 1453 };
可能导致:
- 扫卡失败.
- 下载firmware失败.
- sdio_clk没有时钟.
- 32k晶振不起振.
最终导致驱动加载失败.
三.Sdio问题
- sdio busnum配置错误.
- 驱动WL-REG-ON的方式不对.例如:
XR819模块出现
[SBUS_ERR] sdio probe timeout!
[XRADIO_ERR] sbus_sdio_init_failed
这个问题主要是sdio扫卡失败,跟sdio上电时序有关,可在drivers/net/wireless/xradio/wlan/platform.c中xradio_wlan_power函数sunxi_wlan_set_power(on)后面加上一段延时。
RLT8723ds需要先高-低-高的方式。 - sdio的供电电压,RTL8821cs就是用的1.8v.
sdio-used-1v8; - 列表Sdio-clk,飞线方式时,传输比较差,就需要降低频率.
max-frequency = <25000000>; //降低到25M.
可能导致:
- 扫卡失败
- 下载firmware失败
- sdio_clk没有时钟
- 32k竞争不起振
- WL-REG-ON无法正常被拉高.
最终导致驱动加载失败.
- lsmod查看对应Wi-Fi驱动是否加载。
-
-
-
-
-
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号