[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <d2be7248-67d6-4157-a10a-79cd243da0ab@gmail.com>
Date: Thu, 27 Nov 2025 16:39:27 +0200
From: Bitterblue Smith <rtl8821cerfe2@...il.com>
To: Ping-Ke Shih <pkshih@...ltek.com>, Kalle Valo <kvalo@...nel.org>,
Chukun Pan <amadeus@....edu.cn>
Cc: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-wireless@...r.kernel.org" <linux-wireless@...r.kernel.org>
Subject: Re: [PATCH 1/1] wifi: rtw88: 8822b: disable call trace when write RF
mode table fail
On 25/11/2025 02:30, Ping-Ke Shih wrote:
> Bitterblue Smith <rtl8821cerfe2@...il.com> wrote:
>> On 23/10/2023 11:21, Kalle Valo wrote:
>>> Chukun Pan <amadeus@....edu.cn> writes:
>>>
>>>>> _Why_ is that warning printed? Are your devices uncalibrated or are they
>>>>> somehow else special?
>>>>
>>>> I don't know, but not only my rtl8822be wifi module will have this call trace
>>>> every time when the driver probes. This can be considered a common problem.
>>>> So I prefer to disable this call trace and use the driver warning instead.
>>>
>>> Why do you say this is a common problem? AFAIK you are the only one
>>> reporting this issue, right? It would help to understand _why_ you are
>>> seeing this, ie. what's the root cause? Just randomly removing warnings
>>> without understanding the root cause is frowned upon.
>>>
>>
>> Finally I got some useful reports about this. Someone added a printk
>> that shows the value of RF register 0x33 is 0xaeaea. This is why the
>> WARNING is triggered. The value 0xaeaea hints that the chip is powered
>> off.
>>
>> Then someone else provided a useful backtrace:
>>
>> [ 406.705972] ------------[ cut here ]------------
>> [ 406.710517] WARNING: CPU: 0 PID: 10287 at
>> backports-6.12.44/drivers/net/wireless/realtek/rtw88/rtw8822b.c:824 rtw8822b_set_antenna+0x3c/0x74
>> [rtw88_8822b]
>> [ 406.724296] write RF mode table fail
>> [ 406.727768] Modules linked in: rtw88_8822cu(O) rtw88_8822c(O) rtw88_8822bu(O) rtw88_8822b(O) pppoe
>> ppp_async wireguard rtw88_usb(O) rtw88_core(O) qcserial pppox ppp_generic option nft_fib_inet
>> nf_flow_table_inet mac80211(O) libchacha20poly1305 ipt_REJECT cfg80211(O) xt_time xt_tcpudp xt_tcpmss
>> xt_statistic xt_state xt_recent xt_policy xt_multiport xt_mark xt_mac xt_limit xt_length xt_hl xt_helper
>> xt_esp xt_ecn xt_dscp xt_conntrack xt_connmark xt_connlimit xt_connbytes xt_comment xt_TCPMSS xt_LOG xt_HL
>> xt_DSCP xt_CT xt_CLASSIFY xfrm_interface usb_wwan slhc rtc_ds1307 rndis_host rfcomm qmi_wwan poly1305_arm
>> nft_xfrm nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject_bridge nft_reject nft_redir nft_quota
>> nft_numgen nft_nat nft_meta_bridge nft_masq nft_log nft_limit nft_hash nft_flow_offload nft_fib_ipv6
>> nft_fib_ipv4 nft_fib nft_ct nft_compat nft_chain_nat nf_tables nf_reject_ipv4 nf_nat nf_log_syslog
>> nf_flow_table nf_conntrack_bridge nf_conncount mdio_netlink(O) lm75 libcurve25519_generic libcrc32c
>> iptable_raw
>> [ 406.728658] iptable_mangle iptable_filter ipt_ah ipt_ECN ip_tables hwmon hidp hci_uart crc_ccitt compat(O)
>> chacha_neon cdc_ether btusb btrtl btmtk btintel bnep bluetooth act_connmark nf_conntrack nf_defrag_ipv6
>> nf_defrag_ipv4 sch_tbf sch_ingress sch_htb sch_hfsc em_u32 cls_u32 cls_route cls_matchall cls_fw cls_flow
>> cls_basic act_skbedit act_mirred act_gact configs hid ledtrig_pattern ledtrig_oneshot cryptodev(O) xt_set
>> ip_set_list_set ip_set_hash_netportnet ip_set_hash_netport ip_set_hash_netnet ip_set_hash_netiface
>> ip_set_hash_net ip_set_hash_mac ip_set_hash_ipportnet ip_set_hash_ipportip ip_set_hash_ipport
>> ip_set_hash_ipmark ip_set_hash_ipmac ip_set_hash_ip ip_set_bitmap_port ip_set_bitmap_ipmac
>> ip_set_bitmap_ip ip_set nfnetlink ip6table_mangle ip6table_filter ip6_tables ip6t_REJECT x_tables
>> nf_reject_ipv6 swconfig qmi_wwan_q(O) usbnet cdc_wdm ip6_gre ip_gre gre ifb dummy ip6_vti ip_vti
>> ip6_udp_tunnel udp_tunnel ipcomp6 xfrm6_tunnel esp6 ah6 xfrm4_tunnel ipcomp esp4 ah4 ipip ip6_tunnel tunnel6
>> tunnel4 ip_tunnel vrf
>> [ 406.818527] tun xfrm_user xfrm_ipcomp af_key xfrm_algo ecdh_generic ecc crypto_user algif_skcipher
>> algif_rng algif_hash algif_aead af_alg sha512_arm sha1_generic sha1_arm md5 kpp echainiv ecb des_generic
>> libdes cmac cbc authencesn authenc gpio_keys_polled ledtrig_transient fsl_mph_dr_of ehci_platform ehci_fsl
>> microchip mii
>> [ 406.937051] CPU: 0 PID: 10287 Comm: iw Tainted: G W O 6.6.104 #0
>> [ 406.944163] Hardware name: Atmel SAMA5
>> [ 406.947867] unwind_backtrace from show_stack+0x10/0x14
>> [ 406.953043] show_stack from dump_stack_lvl+0x24/0x2c
>> [ 406.958033] dump_stack_lvl from __warn+0x98/0xc0
>> [ 406.962668] __warn from warn_slowpath_fmt+0x68/0x78
>> [ 406.967561] warn_slowpath_fmt from rtw8822b_set_antenna+0x3c/0x74 [rtw88_8822b]
>> [ 406.974877] rtw8822b_set_antenna [rtw88_8822b] from rtw_ops_set_antenna+0x4c/0x6c [rtw88_core]
>> [ 406.983566] rtw_ops_set_antenna [rtw88_core] from ieee80211_set_antenna+0x34/0x5c [mac80211]
>> [ 406.992524] ieee80211_set_antenna [mac80211] from nl80211_set_wiphy+0x37c/0x634 [cfg80211]
>> [ 407.001418] nl80211_set_wiphy [cfg80211] from genl_rcv_msg+0x24c/0x390
>> [ 407.008146] genl_rcv_msg from netlink_rcv_skb+0xb8/0x11c
>> [ 407.013465] netlink_rcv_skb from genl_rcv+0x28/0x34
>> [ 407.018358] genl_rcv from netlink_unicast+0x220/0x314
>> [ 407.023423] netlink_unicast from netlink_sendmsg+0x1cc/0x434
>> [ 407.029089] netlink_sendmsg from ____sys_sendmsg+0x1f0/0x284
>> [ 407.034758] ____sys_sendmsg from ___sys_sendmsg+0x6c/0xa4
>> [ 407.040165] ___sys_sendmsg from sys_sendmsg+0x44/0x74
>> [ 407.045230] sys_sendmsg from ret_fast_syscall+0x0/0x54
>>
>> So I tried to run "iw phy5 set antenna all" on my computer. When the
>> interface is UP this command fails with error -95. No WARNING.
>>
>> When the interface is DOWN this command succeeds but the WARNING
>> appears because the chip is powered off.
>
> So I think rtw8822b_config_trx_mode() should not be called by
> rtw8822b_set_antenna() as chip is powered off.
>
Indeed. I will send a patch.
Powered by blists - more mailing lists