Thread 中讨论的其他器件:WL1835
您好!
我在与 IDK574x 类似的定制板上使用 Wifi WL1835器件。
我能够检测到它并将固件发送到 WL1835器件、但当发生中断时、如果使用4.19.94-rt39+内核和 preemst-RT、中断处理程序可能会卡住。
我尝试使用相同的内核版本、但没有 preem-RT、我能够连接到 WiFi 网络。
请参阅启用调试的 dmesg:
root@am57xx-EVM:~ ifconfig wlan0 up [ 32.507068] wlcore:mac80211 start [ 32.10499] wlcore:mac80211 add 接口类型2 Mac 04:79:b7:fe:42:52 [ 32.5017160] wlcore:分配硬件队列基址:0 [ fre86480] wlcore、32.9120] wlcore、b7:32.95] wlcore、bt、32.95] wlcore、bt:32.95] wl18xx-fw-4.bin 芯片 ID 0x6030111 [32.933840] wlcore:要上载的固件块:15[32.939007] wlcore:块14 addr 0x0 len 120468 [32.943647] wlcore:正在启动固件上载 [32.947936] wlcore:f_data_chunk 120468_size 16384 [ 32.954674] wlcore 上载32.94793] wlore:wlore 0x60936024] wl] wlcore:正在上载 wlore wlore: 上载 FW 块0x354ca603至0x4000 [ 32.967637] wlcore:上载 FW 块0x9e971062至0x8000 [ 32.974247] wlcore:上载 FW 块0x2dc04252至0xc000 [ 32.982304] wlcore:上载 FW 块0x99b5c42e 至0x10000 [ 32.988247] wlcore:上载 FW 32.74614000] wlcore:上载 wleclcore 0x99000[ 32.78248] 上载 FW 块0x98b0ae97到0x18000 [ 33.002401] wlcore:上载 FW 最后 一个块(5780 B) 0x4c980a42到0x1c000 [ 33.00998] wlcore:3.313 addr 0x100000 131068 [ 33.015060] wlcore:开始固件上载[ 3.033.019350] wlcore :3.01310451] wlen_lcore:3.3len_131068[ 3.3len_len_wlcore: 上载 FW 块0x77d733d1至0x100000 [ 33.035674] wlcore:上载 FW 块0x41ce16e6至0x104000 [ 33.043952] wlcore:上载 FW 0xd4ac73d5至0x108000 [ 33.052128] wlcore:上载 FW 0xf9a81403至0x3.060000] wlcore:上载 FW 0x3.010001w3000[ 0x000] w3lcore:上载0x300001w3l531] wlcore 上载固件块0x7003858e 到0x114000 [ 33.076722] wlcore:上载固件 块0x0350c043到0x118000 [ 33.083516] wlcore:上载固件最后一个块(16380 B) 0x60a6e211到0x11c000 [ 33.091773] wlcore:33.12 addr 0x20400000 b] wlcore:上载33.091264]固件:启动 wlcore [ 33.091264] fw_data_len 52600 chunch_size 16384 [ 33.109238] wlcore:上载 FW chunt 0xa9bc61c6至0x20400000 [ 33.609] wlcore:上载 FW chunt 0xd78c43ea 至0x20404000 [ 33.126006] wlcore:上载 FW 0x069d35bc 至0x204074] wlcore:上载 FW 0x33.204074] wmunchun块0x33.404824000[ 33.4074] wlcore:上载0x33.4074] wlcore:上载 FW 0x204024000] w24000[33.4074 块11 addr 00bb2000 len 536 [33.145521] wlcore:正在启动固件上载 [33.149811] wlcore:f_data_len 536 chunch_size 16384 [33.156231] wlcore:正在上传固件最后 一次上载(33.148b285bd5至 b00000 [33.163549] wlcore:正在启动 wl8536 bunchun块2836]固件:33.12bd fw_data_len 28120 chunk_size 16384 [ 33.180826] wlcore:将 FW chun块0x5e99c387上载到 b0ae40 [ 33.187606] wlcore:上载 FW 上次 上载(11736 B) 0xe519a281到0b20 [bdr 195667] wlcore:33.9 adchunk_100366] wlcore:33.19363r_wlunk_16361] wlcore:33.2136 bunchunk_wlen_wlcore:33.163632] 上载 FW 块0x1328dd08至0x80900000 [ 33.218592] wlcore:上载 FW 块0x4dc6bd39至0x80904000 [ 33.225562] wlcore:上载 FW 块0xdcc5d1d0至0x80908000 [ 33.232533] wlcore:上载 FW 最后一个块(11984 B) 0x8024000] 0x80240008 bc6400] 0x8024000[33.240003bd24000] 开始固件上载 [33.250131] wlcore:f_data_len 31992 chunch_size 16384 [ 33.256737] wlcore:上载 FW chun块0xf45ef64a 至0x809000[ 33.26369] wlcore:上载 FW 最后一个 块(15608 B) 0x8de003c0至0x80924000 [ 33.272024000] wlcore :33.27806778] wlcore 上载0x33.452024000] wlcore:33.4524000[33.4524000] wlcore:33.27800] fw_data_len 6144 chune_size 16384 [ chunch_287868] wlcore:上载 FW 最后一个块(6144 B) 0x3efa51bf 至0x80940000 [ 33.295561] wlcore:wl6 addr 0x80944000 len 6144 [ 33.144300546] wlcore:开始固件上载 [ 33.304838] wlcore:33.3646] wlen_lcore:wlen_f_163646] wlcore:wlcore 上载 FW 最后 一个块(6144 B) 33.08952bc 至0x80944000 [ b319020] wlcore:块5地址0x80948000 len 6144 [ 33.3244012] wlcore:开始固件上载[ 33.328300] wlcore:f_data_6144 lsize 16384 [ 334806] wlore:0x33.948lore:w333948b] wlore:上载0x33948lore 块4 addr 0x8094c000 len 6144 [ 33.347477] wlcore:正在启动固件上载 [ 33.351766] wlcore:fw_data_len 6144_size 16384 [ 33.358296] wlcore:正在上传固件最后一个块(6144 B) 0x5befbc27至0x8094c000 [ 0x3659192] wlcore 上载:33.36937955] wlunc:正在启动 wlcore fw_data_len 8192 chune_size 16384 [ 33.381750] wlcore:上载 FW 最后一个块(8192 B) 0x2d713ca2至0x80950000 [ 33.389523] wlcore: 上载461地址0x80960000 21260 [ 33.39384] wlcore:启动固件 len [ 33.3988888] wlcore:上载0x809460] wlunchunk_lore:0x8093_lcore:0x809460[33.4960] wlunk_l] wlcore:上载0x8093_lcore 上载 FW 最后一个块(4876 B) 0x0d5f7d8f 至0x80964000 [ 33.420247] wlcore:chunk 1 addr 0x80953000 len 1536 [ 33.425235] wlcore:正在启动固件上载 [ 33.429524] wlcore:fw_data_db1536 lsize 16384[0x436036] wlcore (33.4536] wdlore:上载0x436038436] wdlore [33.6436 bl) 块0地址0x80958000 len 24576 [ 33.449614] wlcore:开始固件上载 [ 33.453907] wlcore:fw_data_len 24576_size 16384 [ 33.460511] wlcore:上载 FW 0x3350f8cd 至0x80958000 [ 33.467464] wlcore :上载块后0x44809292]块固件:0x384b] wlcore (33.458492] wlcore:上载块0x33458492b] 0x6030111 [33.500250] wlcore:cmd_box_addr b007f8 [33.504460] wlcore:mbox ptrs:bbbb00adc b0090 [33.509286] wlcore:PHY 固件版本:版本8.387 2.0.243[33.514716] wlcore:unbevent:b333.5032]] wlcore 掩码[33.53x bx mb:w核心:w3mf cr 32.24] ACx cfg bitmap 89 blk 256 SPARE 1字段15 [33.535889] wlcore:cmd configure (57)[ 33.540774] wlcore:ACx 动态 FW 跟踪配置0 [ 33.545596] wlcore:cmd configure (90)[ 33.550485] wlcore:cmd template_set 2 (role 255) [ 33.556535] wlcore:33.563md 模板 lcore (n3= 33.5355256] wlcore)[33.536255] wlcore (md)模板:mcmd3[33.526255] w cmd template_set 19 (Role 255) [ 33.568775] wlcore:cmd template_set 20 (Role 255) [ 33.57498] wlcore:cmd template_set 0 (Role 255) [ 33.580948] wlcore:cmd template_set 6 (Role 255) [ 33.587000] wlcore:cmd template_set 5 (role 255) [ 33.59125] wlcore:mcd template_set 5 (role 33.99125] wlcore (Role)[33.59125] wlcore:mcle 3mcle 5125] wlcore (le_set cmd template_set 1 (Role 255) [ 33.605172] wlcore:cmd template_set 15 (Role 255) [ 33.611304] wlcore:cmd template_set 14 (Role 255) [ 33.617442] wlcore:cmd template_set 13 (Role 255) [ 33.623585] wlcore: cmd template_set 16 (role 255)[ 33.6372] wlcore:mcd template_set 16 (role 6372] wlcore [33.6255] wlcore [33.6255] wlcore:mcd wlcore [33.6255 cmd template_set 7 (Role 255) [ 33.641775] wlcore:cmd template_set 7 (Role 255) [ 33.647827] wlcore:cmd template_set 7 (Role 255) [ 33.1899 653872] wlcore:wl1271 mem cfg [ 33.657293] wlcore:cmd configure (1) [ 33.6672291][ 33.667291] wlcore config :cmd firmware reg:wlcore config:wlcore:wlcore:33.667294] wlcore logger:wlcore cmd reg 域 bitmap1:0x000007ff、bitmap2:0x00000000 [ 33.747296] wlcore:acx sg cfg [ 33.750368] wlcore:cmd configure (22) [ 33.759061] wlcore:acx sg enable [ 33.762393] wlcore:cmd configure (21) [ 33.767536] wlcore 块:wlcore 可用[33.767526] wlcore:wlcore:wldx 命令参考:wlcore:33.7377x] wlcore 块 44 [33.779451] wlcore:ACX Rx MSDU 寿命 [ 33.783482] wlcore:cmd configure (60) [33.788495] wlcore:ACX DCO itrim 参数 [ 33.792789] wlcore:cmd configure (55) [33.797797717] wlcore:ACX TX 配置选项 [ 33.806748] wlcore:33.8034] wlcore: wl1271 Rx 中断配置 [ 33.811200] wlcore:cmd 配置(39) [ 33.816138] wlcore:ACx CCA 阈值 [ 33.819818] wlcore:cmd 配置(16) [ 33.824786] wlcore:ACX frag 阈值:2352 [ 829077] wlcore:cmd 配置(40) wlcore 数据路径 [ 33.8340] wlcore:33.8338521] wlcore 数据路径 Rx START cmd channel 1 [ 33.843862] wlcore:TX START cmd channel 1 [ 33.847980] wlcore:acx pm config [ 33.851311] wlcore:cmd configure (64) [ 33.8563141] wlcore:acx set rate mgmt params [ hang86060606060607] wlcore:cmd configure (52) [ 33.856591] wlcore:33.8646 wlcore:wlcore: 配置命令(66) [ 33.874418] wlcore:启动固件(版本8.9.0.0.81) [ 33.879408] wlcore:支持11A [ 33.883010] wlcore:启用命令角色 [ 33.887745] wlcore:ACX 睡眠验证2 [ 33.891341] wlcore:配置命令(29) [ 33.99643] wlcore:配置命令3[33.8980] wlcore [ 33.908963] wlcore:33.80] wlcore ACx FM COEX 设置 [ 33.908437] wlcore:cmd configure (23) [ 33.913403] wlcore:ACx rate Policies [ 33.917086] wlcore:basic_rate:0x3、full_rate:0x3 [ 33.921985] wlcore:cmd configure (27) [ 33.926982] wlcore: 配置33.9327] wlcore (33.9327) ACx 组地址 tbl [33.940836] wlcore:cmd configure (63)[ 33.945773] wlcore:ACX 连接监视器参数:禁用 [ 33.951720] wlcore:cmd configure (18) [33.956791] wlcore:ACX 信 标筛选器表[33.960998] wlcore:cmd configure (24)[33.96000] wlcore:启用 AClcore 筛选 器[33.9781] CMD 配置(11) [ 33.975790] wlcore:ACX BCN DTIM 选项 [ 33.9733] wlcore:CMD 配置(20) [ 33.984664] wlcore:ACX SNR 平均权重 [ CMD 988956] wlcore:CMD 配置(43)[ 33.993959] wlcore:ACX RSSI 平均值[ 33.6854] wlcore:配置(33.3Md)插槽33.6854]
之后没有任何内容、该过程也不会返回。
一段时间后、dmesg 日志中有一个回溯跟踪:
[789.56034] RCU: 0级 RCU_node (CPU 0-1)上阻止的任务:P23 P1171 [789.60943] RCU: (由1检测、t=2102 Jiffies、g=3953、q=8693) [789.560953] ktimersoftD/1 R 正在运行的任务 0 23. 2 0x00000000
我可以看到一些 IRQ 已由驱动程序处理
# cat /proc/interrupts | grep wl18 CPU0 CPU1 178: 14. 0 4ae1000.GPIO 23边缘 wl18xx
我可以看到 ifconfig、wpa_supican 甚至 kworker 线程卡住、并且100%使用 CPU
# top -n1 PID 用户 PR NI virt RES SHR S %CPU %MEM time+命令 104 root -50 0 0 0 0 R 94.4 0.0 3:49.19 kwork/1:2+事件
在 IRQ 线路上、当 IRQ 线程被卡住时、信号处于高电平。
一旦 IRQ 被处理(被叠层)、IRQ 信号应该处于低电平。
我没有可与 WL1835器件进行比较的评估板。
是否存在已知问题?
此致、
Romain