Giter Club home page Giter Club logo

rtl8723ds's People

Contributors

alexghiti avatar giuliobenetti avatar honjek avatar icenowy avatar igorpecovnik avatar jekamps avatar johnkeeping avatar jookia avatar lwfinger avatar radxayuntian avatar xypron avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

rtl8723ds's Issues

Can it support kernel v6.1.1?

Dear lwfinger,
This rtl8723ds driver can it support kernel v6.1.1?Or do you have a plan to support rtl8723ds to kernel v6.1
thanks!

Building and configuring questions

Hello guys and thank you for the good work you've done with this driver.

Can you please tell me what are the prerequisites for building the driver? Can it be cross-compiled on x86-64 for ARM (specifically, raspberry pi)? Do I need kernel headers or other preinstalled stuff? What kernels are supported? I've noticed commits mentioning 5.x kernel, but the README only mentions 4.11.

Then there is a question of configuring the module and integrating it into device tree. Do you have any experience of doing this? Maybe you have a working configuration? How do I tell the module what SDIO+UART ports is the chip sitting on? What arguments does the module support? Does it even support device trees?
We are developing a board with this chip (specifically, on Raspberry pi Compute Module) and were surprised with a lack of driver in linux kernel and only found this repo...

Kernel crash after using wifi for few minutes

Hello,

I am trying to use this on an Amlogic TV Box which uses this chip.
Wifi works on fresh boot, can connect to the router and after few mins it starts crashing the kernel.
OS: Manjaro ARM
Kernel : 6.1.6
Pkg Used: rtl8723ds-dkms-git from aur.

[   76.261603] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[  366.552757] INFO: task kworker/u8:0:9 blocked for more than 122 seconds.
[  366.552782]       Tainted: G         C O       6.1.6-1-MANJARO-ARM-AML #1
[  366.552788] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  366.552791] task:kworker/u8:0    state:D stack:0     pid:9     ppid:2      flags:0x00000008
[  366.552809] Workqueue: netns cleanup_net
[  366.552828] Call trace:
[  366.552832]  __switch_to+0xb8/0xe0
[  366.552845]  __schedule+0x23c/0x660
[  366.552856]  schedule+0x5c/0x100
[  366.552865]  schedule_preempt_disabled+0x24/0x40
[  366.552877]  __mutex_lock.constprop.0+0x274/0x5c0
[  366.552884]  __mutex_lock_slowpath+0x14/0x20
[  366.552892]  mutex_lock+0x58/0x64
[  366.552899]  rtnl_lock+0x18/0x24
[  366.552905]  cfg80211_pernet_exit+0x1c/0xa0 [cfg80211]
[  366.552996]  ops_exit_list+0x44/0x80
[  366.553006]  cleanup_net+0x248/0x44c
[  366.553015]  process_one_work+0x1a4/0x300
[  366.553027]  worker_thread+0x6c/0x410
[  366.553033]  kthread+0xe4/0xf0
[  366.553040]  ret_from_fork+0x10/0x20
[  366.553138] INFO: task ksdioirqd/mmc2:383 blocked for more than 122 seconds.
[  366.553144]       Tainted: G         C O       6.1.6-1-MANJARO-ARM-AML #1
[  366.553147] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  366.553151] task:ksdioirqd/mmc2  state:D stack:0     pid:383   ppid:2      flags:0x00000008
[  366.553158] Call trace:
[  366.553161]  __switch_to+0xb8/0xe0
[  366.553170]  __schedule+0x23c/0x660
[  366.553175]  schedule+0x5c/0x100
[  366.553181]  __mmc_claim_host+0xd8/0x1fc
[  366.553189]  sdio_irq_thread+0x70/0x1e0
[  366.553196]  kthread+0xe4/0xf0
[  366.553201]  ret_from_fork+0x10/0x20
[  366.553213] INFO: task NetworkManager:419 blocked for more than 122 seconds.
[  366.553216]       Tainted: G         C O       6.1.6-1-MANJARO-ARM-AML #1
[  366.553219] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  366.553222] task:NetworkManager  state:D stack:0     pid:419   ppid:1      flags:0x00000004
[  366.553229] Call trace:
[  366.553231]  __switch_to+0xb8/0xe0
[  366.553239]  __schedule+0x23c/0x660
[  366.553244]  schedule+0x5c/0x100
[  366.553249]  schedule_preempt_disabled+0x24/0x40
[  366.553255]  __mutex_lock.constprop.0+0x274/0x5c0
[  366.553261]  __mutex_lock_slowpath+0x14/0x20
[  366.553266]  mutex_lock+0x58/0x64
[  366.553272]  nl80211_pre_doit+0x180/0x234 [cfg80211]
[  366.553344]  genl_family_rcv_msg_doit+0xb0/0x150
[  366.553354]  genl_family_rcv_msg+0xf8/0x1e4
[  366.553359]  genl_rcv_msg+0x5c/0xdc
[  366.553365]  netlink_rcv_skb+0x5c/0x12c
[  366.553372]  genl_rcv+0x38/0x50
[  366.553377]  netlink_unicast+0x2ec/0x344
[  366.553382]  netlink_sendmsg+0x1bc/0x430
[  366.553388]  sock_sendmsg+0x54/0x60
[  366.553395]  ____sys_sendmsg+0x258/0x27c
[  366.553400]  ___sys_sendmsg+0x80/0xe0
[  366.553406]  __sys_sendmsg+0x68/0xd0
[  366.553411]  __arm64_sys_sendmsg+0x24/0x30
[  366.553418]  invoke_syscall+0x48/0x114
[  366.553426]  el0_svc_common.constprop.0+0x44/0xec
[  366.553433]  do_el0_svc+0x28/0x34
[  366.553439]  el0_svc+0x2c/0x84
[  366.553446]  el0t_64_sync_handler+0xf4/0x120
[  366.553451]  el0t_64_sync+0x18c/0x190
[  366.553471] INFO: task RTW_XMIT_THREAD:561 blocked for more than 122 seconds.
[  366.553475]       Tainted: G         C O       6.1.6-1-MANJARO-ARM-AML #1
[  366.553478] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  366.553481] task:RTW_XMIT_THREAD state:D stack:0     pid:561   ppid:2      flags:0x00000008
[  366.553487] Call trace:
[  366.553491]  __switch_to+0xb8/0xe0
[  366.553497]  __schedule+0x23c/0x660
[  366.553502]  schedule+0x5c/0x100
[  366.553507]  schedule_timeout+0xc0/0xf0
[  366.553513]  wait_for_completion+0xb8/0x180
[  366.553520]  mmc_wait_for_req_done+0x28/0xf0
[  366.553526]  mmc_wait_for_req+0xb0/0x100
[  366.553532]  mmc_io_rw_extended+0x1d4/0x2c4
[  366.553539]  sdio_io_rw_ext_helper+0x194/0x240
[  366.553546]  sdio_readl+0x30/0x60
[  366.553553]  sd_read32+0xa4/0x198 [8723ds]
[  366.553687]  SdioLocalCmd53Read4Byte+0xc0/0xcc [8723ds]
[  366.553805]  HalQueryTxBufferStatus8723DSdio+0x2c/0x74 [8723ds]
[  366.553922]  _dequeue_writeport+0xb0/0x150 [8723ds]
[  366.554030]  _rtw_mi_dequeue_writeport+0x5c/0x7c [8723ds]
[  366.554137]  rtw_mi_dequeue_writeport+0x14/0x20 [8723ds]
[  366.554243]  rtl8723ds_xmit_buf_handler+0x98/0xb4 [8723ds]
[  366.554348]  rtw_hal_xmit_thread_handler+0x14/0x20 [8723ds]
[  366.554453]  rtw_xmit_thread+0x48/0x78 [8723ds]
[  366.554560]  kthread+0xe4/0xf0
[  366.554566]  ret_from_fork+0x10/0x20
[  366.554575] INFO: task RTW_CMD_THREAD:562 blocked for more than 122 seconds.
[  366.554579]       Tainted: G         C O       6.1.6-1-MANJARO-ARM-AML #1
[  366.554582] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  366.554584] task:RTW_CMD_THREAD  state:D stack:0     pid:562   ppid:2      flags:0x00000008
[  366.554592] Call trace:
[  366.554594]  __switch_to+0xb8/0xe0
[  366.554602]  __schedule+0x23c/0x660
[  366.554607]  schedule+0x5c/0x100
[  366.554612]  __mmc_claim_host+0xd8/0x1fc
[  366.554618]  sdio_claim_host+0x24/0x40
[  366.554625]  sd_read8+0x80/0xa8 [8723ds]
[  366.554731]  sdio_read8+0x34/0x44 [8723ds]
[  366.554934]  _rtw_read8+0x1c/0x28 [8723ds]
[  366.555048]  SetHwReg8723DS+0x68/0x94 [8723ds]
[  366.555155]  rtw_hal_set_hwreg+0x14/0x20 [8723ds]
[  366.555263]  rtw_fw_ps_state+0xc4/0x100 [8723ds]
[  366.555369]  LPS_Leave+0x64/0xec [8723ds]
[  366.555474]  traffic_status_watchdog+0x18c/0x30c [8723ds]
[  366.555580]  rtw_iface_dynamic_chk_wk_hdl+0x3c/0x60 [8723ds]
[  366.555686]  _rtw_mi_dynamic_chk_wk_hdl+0x10/0x20 [8723ds]
[  366.555790]  _rtw_mi_process+0x88/0xc4 [8723ds]
[  366.555896]  rtw_mi_dynamic_chk_wk_hdl+0x20/0x2c [8723ds]
[  366.556060]  rtw_dynamic_chk_wk_hdl+0x18/0x5c [8723ds]
[  366.556211]  rtw_drvextra_cmd_hdl+0x54/0x1bc [8723ds]
[  366.556325]  rtw_cmd_thread+0x2b8/0x374 [8723ds]
[  366.556431]  kthread+0xe4/0xf0
[  366.556442]  ret_from_fork+0x10/0x20
[  366.556486] INFO: task wpa_supplicant:567 blocked for more than 122 seconds.
[  366.556496]       Tainted: G         C O       6.1.6-1-MANJARO-ARM-AML #1
[  366.556501] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  366.556505] task:wpa_supplicant  state:D stack:0     pid:567   ppid:1      flags:0x0000000c
[  366.556516] Call trace:
[  366.556520]  __switch_to+0xb8/0xe0
[  366.556553]  __schedule+0x23c/0x660
[  366.556563]  schedule+0x5c/0x100
[  366.556569]  __mmc_claim_host+0xd8/0x1fc
[  366.556578]  sdio_claim_host+0x24/0x40
[  366.556585]  sd_cmd52_write+0x94/0xc0 [8723ds]
[  366.556697]  sdio_write16+0x3c/0x4c [8723ds]
[  366.556834]  _rtw_write16+0x1c/0x2c [8723ds]
[  366.556971]  hw_var_set_mlme_disconnect+0x20/0x60 [8723ds]
[  366.557081]  SetHwReg8723D+0x190/0x75c [8723ds]
[  366.557186]  SetHwReg8723DS+0x90/0x94 [8723ds]
[  366.557293]  rtw_hal_set_hwreg+0x14/0x20 [8723ds]
[  366.557398]  rtw_mlmeext_disconnect+0x50/0x184 [8723ds]
[  366.557503]  disconnect_hdl+0x40/0xbc [8723ds]
[  366.557609]  rtw_disassoc_cmd+0xa0/0xd4 [8723ds]
[  366.557716]  cfg80211_rtw_disconnect+0x40/0x90 [8723ds]
[  366.557822]  cfg80211_disconnect+0xf0/0x11c [cfg80211]
[  366.557925]  nl80211_disconnect+0x74/0xc0 [cfg80211]
[  366.557989]  genl_family_rcv_msg_doit+0xc8/0x150
[  366.558001]  genl_family_rcv_msg+0xf8/0x1e4
[  366.558007]  genl_rcv_msg+0x5c/0xdc
[  366.558014]  netlink_rcv_skb+0x5c/0x12c
[  366.558020]  genl_rcv+0x38/0x50
[  366.558026]  netlink_unicast+0x2ec/0x344
[  366.558032]  netlink_sendmsg+0x1bc/0x430
[  366.558038]  sock_sendmsg+0x54/0x60
[  366.558047]  ____sys_sendmsg+0x258/0x27c
[  366.558053]  ___sys_sendmsg+0x80/0xe0
[  366.558059]  __sys_sendmsg+0x68/0xd0
[  366.558064]  __arm64_sys_sendmsg+0x24/0x30
[  366.558070]  invoke_syscall+0x48/0x114
[  366.558080]  el0_svc_common.constprop.0+0x44/0xec
[  366.558087]  do_el0_svc+0x28/0x34
[  366.558093]  el0_svc+0x2c/0x84
[  366.558101]  el0t_64_sync_handler+0xf4/0x120
[  366.558106]  el0t_64_sync+0x18c/0x190
[  366.558180] INFO: task kworker/0:5:972 blocked for more than 122 seconds.
[  366.558188]       Tainted: G         C O       6.1.6-1-MANJARO-ARM-AML #1
[  366.558192] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  366.558195] task:kworker/0:5     state:D stack:0     pid:972   ppid:2      flags:0x00000008
[  366.558210] Workqueue: events sdio_irq_work
[  366.558221] Call trace:
[  366.558225]  __switch_to+0xb8/0xe0
[  366.558232]  __schedule+0x23c/0x660
[  366.558238]  schedule+0x5c/0x100
[  366.558243]  __mmc_claim_host+0xd8/0x1fc
[  366.558250]  sdio_irq_work+0x24/0x7c
[  366.558256]  process_one_work+0x1a4/0x300
[  366.558264]  worker_thread+0x6c/0x410
[  366.558269]  kthread+0xe4/0xf0
[  366.558277]  ret_from_fork+0x10/0x20
[  366.558285] INFO: task DNS Resolver #7:1402 blocked for more than 122 seconds.
[  366.558289]       Tainted: G         C O       6.1.6-1-MANJARO-ARM-AML #1
[  366.558294] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  366.558296] task:DNS Resolver #7 state:D stack:0     pid:1402  ppid:759    flags:0x00000005
[  366.558303] Call trace:
[  366.558307]  __switch_to+0xb8/0xe0
[  366.558313]  __schedule+0x23c/0x660
[  366.558318]  schedule+0x5c/0x100
[  366.558323]  schedule_preempt_disabled+0x24/0x40
[  366.558328]  __mutex_lock.constprop.0+0x274/0x5c0
[  366.558336]  __mutex_lock_slowpath+0x14/0x20
[  366.558341]  mutex_lock+0x58/0x64
[  366.558347]  __netlink_dump_start+0xbc/0x320
[  366.558352]  rtnetlink_rcv_msg+0x254/0x37c
[  366.558359]  netlink_rcv_skb+0x5c/0x12c
[  366.558366]  rtnetlink_rcv+0x18/0x24
[  366.558370]  netlink_unicast+0x2ec/0x344
[  366.558375]  netlink_sendmsg+0x1bc/0x430
[  366.558381]  sock_sendmsg+0x54/0x60
[  366.558386]  __sys_sendto+0xcc/0x124
[  366.558392]  __arm64_sys_sendto+0x28/0x3c
[  366.558397]  invoke_syscall+0x48/0x114
[  366.558403]  el0_svc_common.constprop.0+0x44/0xec
[  366.558411]  do_el0_svc+0x28/0x34
[  366.558416]  el0_svc+0x2c/0x84
[  366.558421]  el0t_64_sync_handler+0xf4/0x120
[  366.558427]  el0t_64_sync+0x18c/0x190
[  489.432392] INFO: task kworker/u8:0:9 blocked for more than 245 seconds.
[  489.432419]       Tainted: G         C O       6.1.6-1-MANJARO-ARM-AML #1
[  489.432423] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  489.432427] task:kworker/u8:0    state:D stack:0     pid:9     ppid:2      flags:0x00000008                
[  489.432441] Workqueue: netns cleanup_net                                                                   
[  489.432458] Call trace:                                                                                    
[  489.432461]  __switch_to+0xb8/0xe0                                                                         
[  489.432473]  __schedule+0x23c/0x660                                                                        
[  489.432479]  schedule+0x5c/0x100
[  489.432485]  schedule_preempt_disabled+0x24/0x40
[  489.432491]  __mutex_lock.constprop.0+0x274/0x5c0
[  489.432498]  __mutex_lock_slowpath+0x14/0x20
[  489.432504]  mutex_lock+0x58/0x64
[  489.432509]  rtnl_lock+0x18/0x24
[  489.432515]  cfg80211_pernet_exit+0x1c/0xa0 [cfg80211]
[  489.432603]  ops_exit_list+0x44/0x80
[  489.432609]  cleanup_net+0x248/0x44c
[  489.432614]  process_one_work+0x1a4/0x300
[  489.432623]  worker_thread+0x6c/0x410
[  489.432628]  kthread+0xe4/0xf0
[  489.432634]  ret_from_fork+0x10/0x20
[  489.432684] INFO: task kworker/2:2:64 blocked for more than 122 seconds.
[  489.432689]       Tainted: G         C O       6.1.6-1-MANJARO-ARM-AML #1
[  489.432693] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  489.432695] task:kworker/2:2     state:D stack:0     pid:64    ppid:2      flags:0x00000008
[  489.432704] Workqueue: ipv6_addrconf addrconf_verify_work
[  489.432715] Call trace:
[  489.432717]  __switch_to+0xb8/0xe0
[  489.432724]  __schedule+0x23c/0x660
[  489.432730]  schedule+0x5c/0x100
[  489.432736]  schedule_preempt_disabled+0x24/0x40
[  489.432742]  __mutex_lock.constprop.0+0x274/0x5c0
[  489.432748]  __mutex_lock_slowpath+0x14/0x20
[  489.432753]  mutex_lock+0x58/0x64
[  489.432758]  rtnl_lock+0x18/0x24
[  489.432765]  addrconf_verify_work+0x18/0x34
[  489.432771]  process_one_work+0x1a4/0x300
[  489.432776]  worker_thread+0x6c/0x410
[  489.432782]  kthread+0xe4/0xf0
[  489.432786]  ret_from_fork+0x10/0x20

I will always be available to share debug logs, please let me know what is needed.

Thank you.

build breakage - linux 6.6 - no cfg80211_ap_update symbol definition

I am using armbian build of linux 6.6 and get:

[๐Ÿณ|๐Ÿ”จ]   drivers/net/wireless/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:4202:24: warning: 'struct cfg80211_ap_update' declared inside parameter list will not be visible outside of this definition or declaration  
[๐Ÿณ|๐Ÿ”จ]    4202 |                 struct cfg80211_ap_update *params)                                                                                                                                               
[๐Ÿณ|๐Ÿ”จ]         |                        ^~~~~~~~~~~~~~~~~~                                                                                                                                                        
[๐Ÿณ|๐Ÿ”จ]   drivers/net/wireless/rtl8723ds/os_dep/linux/ioctl_cfg80211.c: In function 'cfg80211_rtw_change_beacon':                                                                                                  
[๐Ÿณ|๐Ÿ”จ]   drivers/net/wireless/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:4204:60: error: invalid use of undefined type 'struct cfg80211_ap_update'                                                                   
[๐Ÿณ|๐Ÿ”จ]    4204 |                 struct cfg80211_beacon_data *info = &params->beacon;                                                                                                                             
[๐Ÿณ|๐Ÿ”จ]         |                                                            ^~                                                                                                                                    
[๐Ÿณ|๐Ÿ”จ]   drivers/net/wireless/rtl8723ds/os_dep/linux/ioctl_cfg80211.c: At top level:                                                                                                                              
[๐Ÿณ|๐Ÿ”จ]   drivers/net/wireless/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:6861:26: error: initialization of 'int (*)(struct wiphy *, struct net_device *, struct cfg80211_beacon_data *)' from incompatible pointer ty
pe 'int (*)(struct wiphy *, struct net_device *, struct cfg80211_ap_update *)' [-Werror=incompatible-pointer-types]                                                                                                
[๐Ÿณ|๐Ÿ”จ]    6861 |         .change_beacon = cfg80211_rtw_change_beacon,                                                                                                                                             
[๐Ÿณ|๐Ÿ”จ]         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                                                              
[๐Ÿณ|๐Ÿ”จ]   drivers/net/wireless/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:6861:26: note: (near initialization for 'rtw_cfg80211_ops.change_beacon')                                                                   
[๐Ÿณ|๐Ÿ”จ]   cc1: some warnings being treated as errors                                                                                                                                                               
[๐Ÿณ|๐Ÿ”จ]   make[7]: *** [scripts/Makefile.build:243: drivers/net/wireless/rtl8723ds/os_dep/linux/ioctl_cfg80211.o] Error 1                                                                                          
[๐Ÿณ|๐Ÿ”จ]   make[6]: *** [scripts/Makefile.build:480: drivers/net/wireless/rtl8723ds] Error 2              
[๐Ÿณ|๐Ÿ”จ]   make[6]: *** Waiting for unfinished jobs....               

this seems to relate to latest commit 3110022 in this repository from pull request 43.
Was it build-tested?
I cannot find any reference to cfg80211_ap_update in https://elixir.bootlin.com/linux/latest/A/ident/cfg80211_ap_update

I see no change in the signature for change_beacon https://elixir.bootlin.com/linux/latest/source/include/net/cfg80211.h#L4452

RT-Kernel 5.9 usage

Hello everyone

I tried your driver successfully with Preemptible Kernel 5.9 with no problems.Everything woks fine

If i build with "Fully Preemptible Kernel (Real-Time)" i get a kernel panic after the wifi association

Have anyone experienced to to use this driver with RT-Kernel ?

[ 12.329412] RTW: wlan0- hw port(0) mac_addr =00:e0:4c:c4:61:95
[ 14.260075] RTW: rtw_set_802_11_connect(wlan0) fw_state=0x00000008
[ 14.718594] RTW: start auth
[ 14.723620] RTW: auth success, start assoc
[ 14.731559] Unable to handle kernel paging request at virtual address ffff8000129bf01c
[ 14.732995] Mem abort info:
[ 14.733260] ESR = 0x96000021
[ 14.733547] EC = 0x25: DABT (current EL), IL = 32 bits
[ 14.734036] SET = 0, FnV = 0
[ 14.734322] EA = 0, S1PTW = 0
[ 14.734617] Data abort info:
[ 14.734883] ISV = 0, ISS = 0x00000021
[ 14.735235] CM = 0, WnR = 0
[ 14.735517] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001680000
[ 14.736130] [ffff8000129bf01c] pgd=000000001ffff003, p4d=000000001ffff003, pud=000000001fffe003, pmd=000000000395c003, pte=0068000006e86703
[ 14.737340] Internal error: Oops: 96000021 [#1] PREEMPT_RT SMP
[ 14.737885] Modules linked in: realtek 8723ds dwmac_rk stmmac_platform snd_soc_simple_card snd_soc_pcm5102a snd_soc_rk3308 cfg80211 snd_soc_rockchip_i2s_tdm stmmac snd_soc_simple_card_utils pcs_xpcs rfkill snd_soc_core snd_pcm_dmaengine snd_pcm snd_timer snd soundcore cpufreq_dt ip_tables x_tables autofs4
[ 14.740483] CPU: 0 PID: 39 Comm: kworker/0:1 Not tainted 5.10.1-rt19 #2
[ 14.741096] Hardware name: Radxa ROCK Pi S (DT)
[ 14.741519] Workqueue: events sdio_irq_work
[ 14.741939] pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--)
[ 14.742495] pc : rt_spin_unlock+0xa8/0x130
[ 14.742892] lr : update_sta_info+0x80/0x144 [8723ds]
[ 14.744129] sp : ffff800011a1b490
[ 14.744438] x29: ffff800011a1b490 x28: ffff8000115ca000
[ 14.744944] x27: 000000000007a120 x26: ffff8000129bf004
[ 14.745441] x25: ffff800011dc2da0 x24: ffff800011dc10e8
[ 14.745943] x23: ffff800012955b28 x22: ffff000006cac434
[ 14.746443] x21: ffff800011dc1030 x20: ffff800011dc1000
[ 14.746943] x19: ffff8000129bf004 x18: ffffffffffffffff
[ 14.747443] x17: 0000000000000007 x16: 0000000000000001
[ 14.747942] x15: 000002bcf731a530 x14: 0000000000000000
[ 14.748440] x13: ffff000000000000 x12: ffffffffffffffff
[ 14.748940] x11: 0000000000000001 x10: 0000000000000000
[ 14.749438] x9 : 0000000000000000 x8 : 0000000000000000
[ 14.749938] x7 : 0000000000000000 x6 : ffff8000129bfe04
[ 14.750435] x5 : ffff8000129bf01c x4 : ffff80000eadd000
[ 14.750935] x3 : ffff8000129bf004 x2 : ffff000002374b00
[ 14.751435] x1 : 0000000000000000 x0 : ffff8000129bf004
[ 14.751937] Call trace:
[ 14.752173] rt_spin_unlock+0xa8/0x130
[ 14.752546] update_sta_info+0x80/0x144 [8723ds]
[ 14.753669] rtw_joinbss_event_prehandle+0x36c/0x620 [8723ds]
[ 14.754883] report_join_res+0xbc/0x11c [8723ds]
[ 14.755993] OnAssocRsp+0x114/0x2b0 [8723ds]
[ 14.757069] _mgt_dispatcher+0x88/0xe4 [8723ds]
[ 14.758169] mgt_dispatcher+0x134/0x260 [8723ds]
[ 14.759282] validate_recv_mgnt_frame+0x7c/0x154 [8723ds]
[ 14.760454] validate_recv_frame+0x36c/0x3f8 [8723ds]
[ 14.761595] recv_func_prehandle+0x44/0x8c [8723ds]
[ 14.762726] recv_func+0x34/0x19c [8723ds]
[ 14.763795] rtw_recv_entry+0x20/0x5c [8723ds]
[ 14.764898] rtl8723ds_recv_tasklet+0x2d4/0x380 [8723ds]
[ 14.766085] tasklet_action_common.isra.23+0x138/0x168
[ 14.766583] tasklet_action+0x38/0x48
[ 14.766940] efi_header_end+0x138/0x3e8
[ 14.767314] __local_bh_enable_ip+0x1a0/0x1b8
[ 14.767732] dw_mci_request+0x98/0x120
[ 14.768106] __mmc_start_request+0x7c/0x200
[ 14.768513] mmc_start_request+0x94/0xc0
[ 14.768894] mmc_wait_for_req+0x74/0xf8
[ 14.769264] mmc_wait_for_cmd+0x6c/0xa0
[ 14.769637] mmc_io_rw_direct_host+0x90/0x140
[ 14.770057] mmc_io_rw_direct+0x14/0x20
[ 14.770428] sdio_readb+0x48/0xa0
[ 14.770755] _sd_cmd52_read+0x7c/0x11c [8723ds]
[ 14.771880] sd_cmd52_read+0x6c/0xc0 [8723ds]
[ 14.772978] SdioLocalCmd52Read1Byte+0x40/0x68 [8723ds]
[ 14.774142] ReadInterrupt8723DSdio+0x6c/0xb8 [8723ds]
[ 14.775293] sd_int_dpc+0x298/0x50c [8723ds]
[ 14.776381] sd_int_hdl+0x84/0xb0 [8723ds]
[ 14.777454] sd_sync_int_hdl+0x30/0x78 [8723ds]
[ 14.778562] process_sdio_pending_irqs+0x60/0x1f0
[ 14.779024] sdio_irq_work+0x50/0x80
[ 14.779375] process_one_work+0x1ec/0x4f8
[ 14.779772] worker_thread+0x44/0x478
[ 14.780134] kthread+0x168/0x188
[ 14.780456] ret_from_fork+0x10/0x34
[ 14.780827] Code: c8047ca2 35ffff84 17ffff35 f98000b1 (c85ffca0)
[ 14.781400] ---[ end trace 0000000000000002 ]---
[ 14.782324] Kernel panic - not syncing:
[ 14.782679] Oops: Fatal exception in interrupt
[ 14.783163] SMP: stopping secondary CPUs
[ 14.783955] Kernel Offset: disabled
[ 14.784276] CPU features: 0x0040002,20002000
[ 14.784676] Memory Limit: none
[ 14.784970] ---[ end Kernel panic - not syncing: Oops: Fatal exception in interrupt ]---

Can't make the driver work on Linux 4.9.170

I've got a custom board with a 4.9.170 kernel on Linux on aarch64 (Allwinner). I compiled the driver successfully, it is loaded on boot and dmesg shows me that the driver seems to be in the working state, the firmware has been loaded fine and the wlan interface is in the UP state. But every time I try to scan the devices I see in syslog that the driver loads the firmware again and with the success status. SDIO pins seems to be in the working state. Here is the log:

# cat /proc/net/rtl8723ds/log_level 
drv_log_level:5
  _DRV_NONE_ = 0 = 0
  _DRV_ALWAYS_ = 1 = 1
  _DRV_ERR_ = 2 = 2
  _DRV_WARNING_ = 3 = 3
  _DRV_INFO_ = 4 = 4
+ _DRV_DEBUG_ = 5 = 5
  _DRV_MAX_ = 6 = 6
# dmesg | grep RTW
[   10.375873] RTW: module init start
[   10.375884] RTW: rtl8723ds v5.1.1.5_20523.20161209_BTCOEX20161208-1212
[   10.375889] RTW: build time: Feb  7 2024 13:12:19
[   10.375893] RTW: rtl8723ds BT-Coex version = BTCOEX20161208-1212
[   10.386845] RTW: sdio_init: sdio clk rate: 50000000
[   10.390696] RTW: CHIP TYPE: RTL8723D
[   10.393629] RTW: rtw_hal_config_rftype RF_Type is 3 TotalTxPath is 1
[   10.393643] RTW: Chip Version Info: CHIP_8723D_Normal_Chip_TSMC_D_CUT_1T1R_RomVer(0)
[   10.393828] RTW: CardEnable: LP-LPS: 02
[   10.406571] RTW: SetHwReg: bMacPwrCtrlOn=1
[   10.406941] RTW: sdio_power_on_check: val_mix:0x0000063f, res:0x0000063f
[   10.406949] RTW: sdio_power_on_check: 0x100 the result of cmd52 and cmd53 is the same.
[   10.407008] RTW: sdio_power_on_check: 0x1B8 test Pass.
[   10.407313] RTW: ReadAdapterInfo8723DS, 0x4e=0x82
[   10.407376] RTW: EEPROM type is E-FUSE
[   10.409434] RTW: hal_EfuseSwitchToBank: Efuse switch bank to 0
[   10.470529] RTW: hal_ReadEFuse_WiFi: data end at address=0xcc
[   10.470597] RTW: HW EFUSE
[   10.470602] RTW: 0x000: 29 81 00 7C E1 88 07 00    A0 04 EC 35 12 C0 A2 D8
[   10.470658] RTW: 0x010: 27 27 29 29 29 29 29 29    2B 2B 2B 02 FF FF FF FF
[   10.470712] RTW: 0x020: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
[   10.470766] RTW: 0x030: FF FF FF FF FF FF FF FF    FF FF 22 22 22 22 22 22
[   10.470819] RTW: 0x040: 21 21 21 21 21 02 FF FF    FF FF FF FF FF FF FF FF
[   10.470873] RTW: 0x050: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
[   10.470927] RTW: 0x060: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
[   10.470980] RTW: 0x070: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
[   10.471034] RTW: 0x080: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
[   10.471088] RTW: 0x090: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
[   10.471141] RTW: 0x0a0: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
[   10.471567] RTW: 0x0b0: FF FF FF FF FF FF FF FF    20 18 1F 00 00 00 FF FF
[   10.471621] RTW: 0x0c0: FF 29 20 11 00 00 00 FF    00 FF 11 FF FF FF FF FF
[   10.471675] RTW: 0x0d0: 3E 10 01 12 23 FF FF FF    20 04 4C 02 23 D7 21 02
[   10.471729] RTW: 0x0e0: 0C 00 22 04 00 08 00 32    FF 21 02 0C 00 22 2A 01
[   10.471782] RTW: 0x0f0: 01 00 00 00 00 00 00 00    00 00 00 00 02 00 FF FF
[   10.471836] RTW: 0x100: 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00
[   10.471889] RTW: 0x110: 00 EB 00 6E 01 00 00 00    00 FF 00 E0 4C 01 4E 65
[   10.471943] RTW: 0x120: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
[   10.471997] RTW: 0x130: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
[   10.472050] RTW: 0x140: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
[   10.472104] RTW: 0x150: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
[   10.472165] RTW: 0x160: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
[   10.472237] RTW: 0x170: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
[   10.472290] RTW: 0x180: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
[   10.472344] RTW: 0x190: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
[   10.472398] RTW: 0x1a0: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
[   10.472452] RTW: 0x1b0: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
[   10.472505] RTW: 0x1c0: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
[   10.472559] RTW: 0x1d0: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
[   10.472613] RTW: 0x1e0: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
[   10.472666] RTW: 0x1f0: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
[   10.477487] RTW: Hal_EfuseParseBTCoexistInfo_8723D: Enable BT-coex, ant_num=1
[   10.477501] RTW: hal_com_config_channel_plan chplan:0x20
[   10.477507] RTW: Hal_EfuseParseVoltage_8723D hwinfo[EEPROM_Voltage_ADDR_8723D] =a0
[   10.477512] RTW: Hal_EfuseParseVoltage_8723D pHalData->adjuseVoltageVal =a
[   10.477805] RTW: kfree Pwr Trim flag:0
[   10.478504] RTW: rtl8723d_FirmwareDownload fw: FW_NIC, size: 27506
[   10.478517] RTW: rtl8723d_FirmwareDownload: fw_ver=1b fw_subver=0000 sig=0x23d1, Month=12, Date=07, Hour=14, Minute=07
[   10.478522] RTW: rtl8723d_FirmwareDownload(): Shift for fw header!
[   10.478550] RTW: rtl8723d_FirmwareDownload by IO write!
[   10.762053] RTW: polling_fwdl_chksum: Checksum report OK! (1, 0ms), REG_MCUFWDL:0x07060705
[   10.762062] RTW: rtl8723d_FirmwareDownload: download FW count:1
[   10.762340] RTW: _8051Reset8723: Finish
[   10.780511] RTW: _FWFreeToGo: Polling FW ready OK! (322, 16ms), REG_MCUFWDL:0x070607c6
[   10.780518] RTW: rtl8723d_FirmwareDownload success. write_fw:1, 300ms
[   10.780551] RTW:  <=== rtl8723d_FirmwareDownload()
[   10.791847] RTW: hal_read_mac_hidden_rpt OK! (2, 13ms), fwdl:1, id:0x19
[   10.792301] RTW: SetHwReg: bMacPwrCtrlOn=0
[   10.792709] RTW: rtw_hal_read_chip_info in 400 ms
[   10.792851] RTW: init_mlme_default_rate_set: support CCK
[   10.792856] RTW: init_mlme_default_rate_set: support OFDM
[   10.792865] RTW: init_channel_set((null)) ChannelPlan ID:0x20, ch num:13
[   10.793829] RTW: rtw_alloc_macid((null)) if1, hwaddr:ff:ff:ff:ff:ff:ff macid:1
[   10.793906] RTW: Init_ODM_ComInfo_8723d(): fab_ver=0 cut_ver=3
[   10.793917] RTW: rtw_regsty_chk_target_tx_power_valid return _FALSE for band:0, path:0, rs:0, t:-1
[   10.794390] RTW: phy_ConfigBBWithPgParaFile(): No File PHY_REG_PG.txt, Load from HWImg Array!
[   10.794403] RTW: default power by rate loaded
[   10.794412] RTW: phy_txpwr_by_rate_chk_for_path_dup duplicate 2.4G [A] to [B]
[   10.794813] RTW: rtw_macaddr_cfg mac addr:00:e0:4c:01:4e:65
[   10.794913] RTW: bDriverStopped:True, bSurpriseRemoved:False, bup:0, hw_init_completed:0
[   10.795036] RTW: rtw_wiphy_alloc(phy0)
[   10.795042] RTW: rtw_wdev_alloc(padapter=ffffff8009ff8000)
[   10.795058] RTW: rtw_wiphy_register(phy0)
[   10.795063] RTW: Register RTW cfg80211 vendor cmd(0x67) interface
[   10.795745] RTW: _rtw_reg_notifier
[   10.795752] RTW: _rtw_reg_notifier_apply: NL80211_REGDOM_SET_BY_CORE to DRV
[   10.796654] RTW: rtw_ndev_init(wlan0) if1 mac_addr=00:e0:4c:01:4e:65
[   10.798836] RTW: rtw_ndev_notifier_call(wlan0) state:16
[   10.802561] RTW: cfg80211_rtw_get_txpower
[   10.803096] RTW: rtw_ndev_notifier_call(wlan0) state:5
[   10.803418] RTW: module init ret=0
[   12.336687] RTW: rtw_ndev_notifier_call(wlan0) state:13
[   12.336702] RTW: _netdev_open(wlan0) , bup=0
[   12.336807] RTW: FW does not exist before power on!!
[   12.336904] RTW: CardEnable: LP-LPS: 02
[   12.341273] RTW: SetHwReg: bMacPwrCtrlOn=1
[   12.341585] RTW: sdio_power_on_check: val_mix:0x0000063f, res:0x0000063f
[   12.341590] RTW: sdio_power_on_check: 0x100 the result of cmd52 and cmd53 is the same.
[   12.341641] RTW: sdio_power_on_check: 0x1B8 test Pass.
[   12.342490] RTW: Power on ok!
[   12.342643] RTW: rtl8723d_FirmwareDownload fw: FW_NIC, size: 27506
[   12.342651] RTW: rtl8723d_FirmwareDownload: fw_ver=1b fw_subver=0000 sig=0x23d1, Month=12, Date=07, Hour=14, Minute=07
[   12.342656] RTW: rtl8723d_FirmwareDownload(): Shift for fw header!
[   12.342677] RTW: rtl8723d_FirmwareDownload by IO write!
[   12.524723] RTW: polling_fwdl_chksum: Checksum report OK! (1, 0ms), REG_MCUFWDL:0x00060705
[   12.524732] RTW: rtl8723d_FirmwareDownload: download FW count:1
[   12.525017] RTW: _8051Reset8723: Finish
[   12.543168] RTW: _FWFreeToGo: Polling FW ready OK! (312, 16ms), REG_MCUFWDL:0x000607c6
[   12.543175] RTW: rtl8723d_FirmwareDownload success. write_fw:1, 200ms
[   12.543209] RTW:  <=== rtl8723d_FirmwareDownload()
[   12.543216] RTW: HalDetectPwrDownMode(): PDN=0
[   12.543220] RTW: Set RF Chip ID to RF_6052 and RF type to 3.
[   12.624411] RTW: ===>phy_SpurCalibration_8723D: Channel = 1
[   12.624686] RTW: ===>phy_SwChnl8723D: Channel = 1
[   12.940673] RTW: rtw_hal_set_macaddr_port wlan0- hw port(0) mac_addr =00:e0:4c:01:4e:65
[   12.940888] RTW: rtw_hal_get_macaddr_port wlan0- hw port(0) mac_addr =00:e0:4c:01:4e:65
[   12.940895] RTW: wlan0- hw port(0) mac_addr =00:e0:4c:01:4e:65
[   12.941559] RTW: ===>phy_SpurCalibration_8723D: Channel = 1
[   12.941796] RTW: ===>phy_SwChnl8723D: Channel = 1
[   12.943025] RTW: MAC Address = 00:e0:4c:01:4e:65
[   12.943486] RTW: start rtl8723ds_xmit_thread(wlan0)
[   12.943679] RTW: C2H_MAILBOX_STATUS: 02 
[   12.943828] RTW: rtw_cfg80211_init_wiphy:rf_type=3
[   12.943835] RTW: [HT] HAL Support STBC = 0x01
[   12.943847] RTW: -871x_drv - drv_open, bup=1
[   12.944044] RTW: cfg80211_rtw_set_power_mgmt(wlan0) enabled:1, timeout:-1
[   12.944097] RTW: rtw_ndev_notifier_call(wlan0) state:1
[   15.267966] RTW: _btmpoper_cmd: Didn't get BT response!
[   15.321255] RTW: _btmpoper_cmd: Didn't get BT response!
[   15.374612] RTW: _btmpoper_cmd: Didn't get BT response!
[   15.427954] RTW: _btmpoper_cmd: Didn't get BT response!
[   15.481282] RTW: _btmpoper_cmd: Didn't get BT response!
[   15.537969] RTW: _btmpoper_cmd: Didn't get BT response!
[   15.537992] RTW: ==>rtw_ps_processor .fw_state(0)
[   15.538559] RTW: ==>ips_enter cnts:1
[   15.538567] RTW: nolinked power save enter
[   15.538573] RTW: ===> rtw_ips_pwr_down...................
[   15.538578] RTW: ====> rtw_ips_dev_unload...
[   15.548853] RTW: SetHwReg: bMacPwrCtrlOn=0
[   15.549271] RTW: <=== rtw_ips_pwr_down..................... in 10ms
[   20.028206] RTW: cfg80211_rtw_scan(wlan0)
[   20.028222] RTW: _rtw_pwr_wakeup call ips_leave....
[   20.028230] RTW: ==>ips_leave cnts:1
[   20.028235] RTW: ===>  rtw_ips_pwr_up..............
[   20.028253] RTW: ===> ips_netdrv_open.........
[   20.028403] RTW: FW does not exist before power on!!
[   20.028529] RTW: CardEnable: LP-LPS: 02
[   20.033304] RTW: SetHwReg: bMacPwrCtrlOn=1
[   20.033670] RTW: sdio_power_on_check: val_mix:0x0000063f, res:0x0000063f
[   20.033680] RTW: sdio_power_on_check: 0x100 the result of cmd52 and cmd53 is the same.
[   20.033743] RTW: sdio_power_on_check: 0x1B8 test Pass.
[   20.036637] RTW: Power on ok!
[   20.036817] RTW: rtl8723d_FirmwareDownload fw: FW_NIC, size: 27506
[   20.036828] RTW: rtl8723d_FirmwareDownload: fw_ver=1b fw_subver=0000 sig=0x23d1, Month=12, Date=07, Hour=14, Minute=07
[   20.036832] RTW: rtl8723d_FirmwareDownload(): Shift for fw header!
[   20.036858] RTW: rtl8723d_FirmwareDownload by IO write!
[   20.240497] RTW: polling_fwdl_chksum: Checksum report OK! (1, 0ms), REG_MCUFWDL:0x00060705
[   20.240507] RTW: rtl8723d_FirmwareDownload: download FW count:1
[   20.240819] RTW: _8051Reset8723: Finish
[   20.258981] RTW: _FWFreeToGo: Polling FW ready OK! (220, 20ms), REG_MCUFWDL:0x000607c6
[   20.258993] RTW: rtl8723d_FirmwareDownload success. write_fw:1, 223ms
[   20.259054] RTW:  <=== rtl8723d_FirmwareDownload()
[   20.259062] RTW: HalDetectPwrDownMode(): PDN=0
[   20.259066] RTW: Set RF Chip ID to RF_6052 and RF type to 3.
[   20.341538] RTW: ===>phy_SpurCalibration_8723D: Channel = 1
[   20.341794] RTW: ===>phy_SwChnl8723D: Channel = 1
[   20.667714] RTW: rtw_hal_set_macaddr_port wlan0- hw port(0) mac_addr =00:e0:4c:01:4e:65
[   20.668061] RTW: rtw_hal_get_macaddr_port wlan0- hw port(0) mac_addr =00:e0:4c:01:4e:65
[   20.668073] RTW: wlan0- hw port(0) mac_addr =00:e0:4c:01:4e:65
[   20.669312] RTW: ===>phy_SpurCalibration_8723D: Channel = 1
[   20.669591] RTW: ===>phy_SwChnl8723D: Channel = 1
[   20.671138] RTW: <===  rtw_ips_pwr_up.............. in 640ms
[   20.671155] RTW: nolinked power save leave
[   20.671501] RTW: ==> ips_leave.....LED(0x08828282)...
[   20.671764] RTW: C2H_MAILBOX_STATUS: 02 
[   20.676195] RTW: ===>phy_SpurCalibration_8723D: Channel = 1
[   20.676512] RTW: ===>phy_SwChnl8723D: Channel = 1
[   20.678705] RTW: C2H_MAILBOX_STATUS: 02 
[   20.678789] RTW: C2H_MAILBOX_STATUS: 02 
[   20.782137] RTW: ===>phy_SpurCalibration_8723D: Channel = 2
[   20.782381] RTW: ===>phy_SwChnl8723D: Channel = 2
[   20.885403] RTW: ===>phy_SpurCalibration_8723D: Channel = 3
[   20.885646] RTW: ===>phy_SwChnl8723D: Channel = 3
[   20.989057] RTW: ===>phy_SpurCalibration_8723D: Channel = 4
[   20.989315] RTW: ===>phy_SwChnl8723D: Channel = 4
[   21.092209] RTW: ===>phy_SpurCalibration_8723D: Channel = 5
[   21.092484] RTW: ===>phy_SwChnl8723D: Channel = 5
[   21.195811] RTW: ===>phy_SpurCalibration_8723D: Channel = 6
[   21.196063] RTW: ===>phy_SwChnl8723D: Channel = 6
[   21.298872] RTW: ===>phy_SpurCalibration_8723D: Channel = 7
[   21.299118] RTW: ===>phy_SwChnl8723D: Channel = 7
[   21.402125] RTW: ===>phy_SpurCalibration_8723D: Channel = 8
[   21.402391] RTW: ===>phy_SwChnl8723D: Channel = 8
[   21.505601] RTW: ===>phy_SpurCalibration_8723D: Channel = 9
[   21.505997] RTW: ===>phy_SwChnl8723D: Channel = 9
[   21.608794] RTW: ===>phy_SpurCalibration_8723D: Channel = 10
[   21.609054] RTW: ===>phy_SwChnl8723D: Channel = 10
[   21.712291] RTW: ===>phy_SpurCalibration_8723D: Channel = 11
[   21.712549] RTW: ===>phy_SwChnl8723D: Channel = 11
[   21.815657] RTW: ===>phy_SpurCalibration_8723D: Channel = 12
[   21.815961] RTW: ===>phy_SwChnl8723D: Channel = 12
[   21.918805] RTW: ===>phy_SpurCalibration_8723D: Channel = 13
[   21.955301] RTW: ===>phy_SwChnl8723D: Channel = 13
[   22.058966] RTW: ===>phy_SpurCalibration_8723D: Channel = 1
[   22.059228] RTW: ===>phy_SwChnl8723D: Channel = 1
[   22.060995] RTW: survey done event(0) band:0 for wlan0
[   22.061068] RTW: rtw_indicate_scan_done(wlan0)
[   22.354654] RTW: _btmpoper_cmd: Didn't get BT response!
[   22.354678] RTW: ==>rtw_ps_processor .fw_state(0)
[   22.355162] RTW: ==>ips_enter cnts:2
[   22.355169] RTW: nolinked power save enter
[   22.355175] RTW: ===> rtw_ips_pwr_down...................
[   22.355179] RTW: ====> rtw_ips_dev_unload...
[   22.365989] RTW: SetHwReg: bMacPwrCtrlOn=0
[   22.366405] RTW: <=== rtw_ips_pwr_down..................... in 10ms

This is a snippet of the SDIO parameters in the device tree file that are used (they work for other wifi modules such as rtl8822bs):

sdc1: sdmmc@04021000 {
		pinctrl-0 = <&sdc1_pins_a>;
		bus-width = <4>;
		no-mmc;
		no-sd;
		cap-sd-highspeed;
		/*sd-uhs-sdr12*/
		/*sd-uhs-sdr25*/
		sd-uhs-sdr50;
		sd-uhs-ddr50;
		sd-uhs-sdr104;
		/*sunxi-power-save-mode;*/
		sunxi-dis-signal-vol-sw;
		/*sdio-used-1v8;*/
		cap-sdio-irq;
		keep-power-in-suspend;
		ignore-pm-notify;
		max-frequency = <150000000>;
		ctl-spec-caps = <0x8>;
		status = "okay";
};

As I said earlier, every time I try to scan the devices I get:

# logread -f | grep -o RTW:.*
RTW: cfg80211_rtw_scan(wlan0)
RTW: _rtw_pwr_wakeup call ips_leave....
RTW: ==>ips_leave cnts:4
RTW: ===>  rtw_ips_pwr_up..............
RTW: ===> ips_netdrv_open.........
RTW: FW does not exist before power on!!
RTW: CardEnable: LP-LPS: 02
RTW: SetHwReg: bMacPwrCtrlOn=1
RTW: sdio_power_on_check: val_mix:0x0000063f, res:0x0000063f
RTW: sdio_power_on_check: 0x100 the result of cmd52 and cmd53 is the same.
RTW: sdio_power_on_check: 0x1B8 test Pass.
RTW: Power on ok!
RTW: rtl8723d_FirmwareDownload fw: FW_NIC, size: 27506
RTW: rtl8723d_FirmwareDownload: fw_ver=1b fw_subver=0000 sig=0x23d1, Month=12, Date=07, Hour=14, Minute=07
RTW: rtl8723d_FirmwareDownload(): Shift for fw header!
RTW: rtl8723d_FirmwareDownload by IO write!
RTW: polling_fwdl_chksum: Checksum report OK! (1, 0ms), REG_MCUFWDL:0x00060705
RTW: rtl8723d_FirmwareDownload: download FW count:1
RTW: _8051Reset8723: Finish
RTW: _FWFreeToGo: Polling FW ready OK! (282, 16ms), REG_MCUFWDL:0x000607c6
RTW: rtl8723d_FirmwareDownload success. write_fw:1, 183ms
RTW:  <=== rtl8723d_FirmwareDownload()
RTW: HalDetectPwrDownMode(): PDN=0
RTW: Set RF Chip ID to RF_6052 and RF type to 3.
RTW: ===>phy_SpurCalibration_8723D: Channel = 1
RTW: ===>phy_SwChnl8723D: Channel = 1
RTW: rtw_hal_set_macaddr_port wlan0- hw port(0) mac_addr =00:e0:4c:01:4e:65
RTW: rtw_hal_get_macaddr_port wlan0- hw port(0) mac_addr =00:e0:4c:01:4e:65
RTW: wlan0- hw port(0) mac_addr =00:e0:4c:01:4e:65
RTW: ===>phy_SpurCalibration_8723D: Channel = 1
RTW: ===>phy_SwChnl8723D: Channel = 1
RTW: <===  rtw_ips_pwr_up.............. in 576ms
RTW: nolinked power save leave
RTW: ==> ips_leave.....LED(0x08828282)...
RTW: C2H_MAILBOX_STATUS: 02 
RTW: ===>phy_SpurCalibration_8723D: Channel = 1
RTW: ===>phy_SwChnl8723D: Channel = 1
RTW: C2H_MAILBOX_STATUS: 02 
RTW: C2H_MAILBOX_STATUS: 02 
RTW: ===>phy_SpurCalibration_8723D: Channel = 2
RTW: ===>phy_SwChnl8723D: Channel = 2
RTW: ===>phy_SpurCalibration_8723D: Channel = 3
RTW: ===>phy_SwChnl8723D: Channel = 3
RTW: ===>phy_SpurCalibration_8723D: Channel = 4
RTW: ===>phy_SwChnl8723D: Channel = 4
RTW: ===>phy_SpurCalibration_8723D: Channel = 5
RTW: ===>phy_SwChnl8723D: Channel = 5
RTW: ===>phy_SpurCalibration_8723D: Channel = 6
RTW: ===>phy_SwChnl8723D: Channel = 6
RTW: ===>phy_SpurCalibration_8723D: Channel = 7
RTW: ===>phy_SwChnl8723D: Channel = 7
RTW: ===>phy_SpurCalibration_8723D: Channel = 8
RTW: ===>phy_SwChnl8723D: Channel = 8
RTW: ===>phy_SpurCalibration_8723D: Channel = 9
RTW: ===>phy_SwChnl8723D: Channel = 9
RTW: ===>phy_SpurCalibration_8723D: Channel = 10
RTW: ===>phy_SwChnl8723D: Channel = 10
RTW: ===>phy_SpurCalibration_8723D: Channel = 11
RTW: ===>phy_SwChnl8723D: Channel = 11
RTW: ===>phy_SpurCalibration_8723D: Channel = 12
RTW: ===>phy_SwChnl8723D: Channel = 12
RTW: ===>phy_SpurCalibration_8723D: Channel = 13
RTW: ===>phy_SwChnl8723D: Channel = 13
RTW: ===>phy_SpurCalibration_8723D: Channel = 1
RTW: ===>phy_SwChnl8723D: Channel = 1
RTW: survey done event(0) band:0 for wlan0
RTW: rtw_indicate_scan_done(wlan0)
RTW: C2H_MAILBOX_STATUS: 02 
RTW: _btmpoper_cmd: Didn't get BT response!
RTW: ==>rtw_ps_processor .fw_state(0)
RTW: ==>ips_enter cnts:5
RTW: nolinked power save enter
RTW: ===> rtw_ips_pwr_down...................
RTW: ====> rtw_ips_dev_unload...
RTW: SetHwReg: bMacPwrCtrlOn=0
RTW: <=== rtw_ips_pwr_down..................... in 10ms

What is interesting I have the exact same board (the same OS, kernel version, device tree and hardware) except for the wifi module rtl8822bs and it works out nice (with a respective driver, of course), so I am not sure my rootfs is configured wrong.
I also managed to compile Android OS on the Allwinner board (which used to be Linux) and compiled the 8723ds driver for it but wifi still does not work, the log is the same as for the LInux. So I believe it is not the kernel distinction that is to blame as well.

This issue might not be in the current driver software, but how can I troubleshoot it further?

Thanks in advance.

Reboot after nmcli connect

I had tried this driver and cross-compile.
The nmcli device wifi list working normal
But once I try to connect it works 1 out of 20 and could ping for a while.

Really need help/
No clue how to resolve such behavior

Question: Will this driver work on the Asus tinker S R2.0 running kernel 4.4?

Using the built-in driver for Linaro (Debian) I am getting the following
OnDeAuth(wlan0) reason=15
and as result cannot login to the defined hotspot on the board.

this is the output from modinfo

filename: /lib/modules/4.4.194/kernel/drivers/net/wireless/rockchip_wlan/rtl8723ds/8723ds.ko
version: v5.10.1-20-g5af20e016.20200310_beta
author: Realtek Semiconductor Corp.
description: Realtek Wireless Lan Driver
license: GPL
srcversion: 39C67B8EE4708CE5DD13822

I need to know if by using this driver my luck could change

RTL8723DS Bluetooth

@lwfinger

I am not sure but are there any driver can run UART RTL8723DS bluetooth with H4?
Or RTL8723DS only use H5?
For USB it can run internal kernel supplied bluetooth driver.
But for RTL8723DS I am lost.

Thank you

Build fails linking with 5.18-rc1

When trying to build the module for an Allwinner D1 kernel i get linking errors:

  LD [M]  /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/8723ds.o
riscv64-linux-gnu-ld: /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/core/rtw_security.o: in function `is_multicast_mac_addr':
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/core/rtw_security.c:1924: multiple definition of `is_multicast_mac_addr'; /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/core/rtw_cmd.o:/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/core/rtw_cmd.c:4186: first defined here
riscv64-linux-gnu-ld: /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/core/rtw_security.o: in function `is_broadcast_mac_addr':
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/include/ieee80211.h:1295: multiple definition of `is_broadcast_mac_addr'; /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/core/rtw_cmd.o:/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/include/ieee80211.h:1295: first defined here
riscv64-linux-gnu-ld: /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/core/rtw_security.o: in function `is_zero_mac_addr':
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/include/ieee80211.h:1301: multiple definition of `is_zero_mac_addr'; /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/core/rtw_cmd.o:/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/include/ieee80211.h:1301: first defined here
riscv64-linux-gnu-ld: /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/core/rtw_debug.o: in function `is_multicast_mac_addr':

These are repeated many times, i can provide the full log but didn't want to spam too much.
(It was working fine with 5.17)

rtl8723d_config-OBDA8723.bin

where can I find rtl8723d_config-OBDA8723.bin ?

I'm using debian 10 and i got the message

[ 11.241601] Bluetooth: hci0: RTL: loading rtl_bt/rtl8723d_fw.bin
[ 11.246773] Bluetooth: hci0: RTL: loading rtl_bt/rtl8723d_config-OBDA8723.bin
[ 11.246825] bluetooth hci0: Direct firmware load for rtl_bt/rtl8723d_config-OBDA8723.bin failed with error -2
[ 11.246830] Bluetooth: hci0: RTL: mandatory config file rtl_bt/rtl8723d_config not found

Not getting broadcast messages

Hi,

it looks like the drive does not deliver broadcast messages to the kernel. I enabled debugging and put some debug messages into the function rtw_os_recv_indicate_pkt (CONFIG_RTW_NAPI/GRO = n). When I try to ping 255.255.255.255 from another host in the network, I do not see any debug messages.

I am using the Sipeed Lichee RV Dock with OpenWrt as host board.

I left any other configurations untouched. Nevertheless I am not sure it there is a problem with the host or the wifi chip/driver.

Does this problem sound familiar to anyone?

Merge the driver in mainline Linux

I see kernel 6.7.12 lists rtl8723ds in sun20i-d1-mangopi-mq-pro.dts.
Any chance the driver will be merged in to mainline Linux soon?

Thanks!

what's the function of hal_largest_bw(_adapter *adapter, u8 in_bw)

Hello๏ผŒ
I use this rtl8723ds driver in my linux 6.1.x platform, sometimes it works well,but sometimes it prompts me bellow infomation when this driver works:

[ 10.545668] WARNING: CPU: 0 PID: 425 at drivers/net/wireless/realtek/rtl8723ds/hal/hal_com.c:10261 hal_largest_bw+0x70/0x98
[ 10.556786] Modules linked in: crct10dif_ce polyval_ce soc_imx9 polyval_generic layerscape_edac_mod flexcan imx8_media_dev(C) can_dev fuse
[ 10.569216] CPU: 0 PID: 425 Comm: RTW_CMD_THREAD Tainted: G C 6.1.36 #5
[ 10.577204] Hardware name: NXP xxxxx EVK board (DT)
[ 10.582673] pstate: 40400009 (nZcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 10.589623] pc : hal_largest_bw+0x70/0x98
[ 10.593627] lr : rtw_adjust_chbw+0x40/0xd8
[ 10.597717] sp : ffff80000b5e3d80
[ 10.601020] x29: ffff80000b5e3d80 x28: ffff000005109200 x27: ffff800008badefc
[ 10.608143] x26: ffff800009609f70 x25: ffff800009609000 x24: 0000000000000001
[ 10.615267] x23: ffff80000a58ae34 x22: ffff80000a58a784 x21: ffff80000a58aeb0
[ 10.622391] x20: ffff80000a58a784 x19: ffff80000a58a783 x18: 0000000000000000
[ 10.629515] x17: 0000000000000000 x16: 00000000000000ff x15: 1e192c1a2d000100
[ 10.636639] x14: 0000000000000001 x13: 0000000000000000 x12: 000000ff1e192c1a
[ 10.643763] x11: 000000010007163d x10: 0000000000000000 x9 : 02ac0f00000104ac
[ 10.650887] x8 : 0000000000000000 x7 : 0000000000000000 x6 : 00ff1e192c1a2d00
[ 10.658011] x5 : 000000000000003b x4 : 0000000000000000 x3 : ffff80000960c100
[ 10.665135] x2 : 0000000000000000 x1 : 0000000000000004 x0 : 0000000000000000
[ 10.672260] Call trace:
[ 10.674696] hal_largest_bw+0x70/0x98
[ 10.678352] join_cmd_hdl+0x1fc/0x304
[ 10.682009] rtw_cmd_thread+0x2b8/0x37c
[ 10.685840] kthread+0x108/0x10c
[ 10.689064] ret_from_fork+0x10/0x20
[ 10.692635] ---[ end trace 0000000000000000 ]---

so I don't know what's the function of hal_largest_bw,and why it sometimes works error that makes kernel panic.
this function in drivers/net/wireless/realtek/rtl8723ds/hal/hal_com.c

u8 hal_largest_bw(_adapter *adapter, u8 in_bw)
{
for (; in_bw > CHANNEL_WIDTH_20; in_bw--) {
if (hal_is_bw_support(adapter, in_bw))
break;
}

if (!hal_is_bw_support(adapter, in_bw))
	rtw_warn_on(1);

return in_bw;

}

Static source code analysis report

Hi,

I'm working with the Ubuntu security team and we were asked to give this project a very quick review as part of the Main Inclusion Review[1].
Part of the review is to run Coverity, a static source code analyzer. The outputs are interesting and useful from a security perspective.
In case it is useful, I'm attaching here the full report from Coverity scan in a text based output: coverity.txt. If you are interested, you can sign up for a free account in https://scan.coverity.com and it will give you a better experience viewing the issues.

Some of them are worth looking and some I wonder if it is really an issue or not.

For example, I've selected the following report, for a uninitialized variable[2]:

core/rtw_ieee80211.c:1413:2:
  Type: Uninitialized scalar variable (UNINIT)

core/rtw_ieee80211.c:1383:2:
  1. var_decl: Declaring variable "mac" without initializer.
core/rtw_ieee80211.c:1385:2:
  2. path: Condition "out == NULL", taking false branch.
core/rtw_ieee80211.c:1391:2:
  3. path: Condition "rtw_initmac", taking false branch.
core/rtw_ieee80211.c:1407:2:
  4. path: Condition "hw_mac_addr", taking false branch.
core/rtw_ieee80211.c:1413:2:
  5. uninit_use_in_call: Using uninitialized value "*mac" when calling "rtw_check_invalid_mac_address".
core/rtw_ieee80211.c:1348:2:
  5.1. read_value: Reading value "*mac_addr" when calling "_rtw_memcmp".
os_dep/osdep_service.c:721:2:
  5.1.1. read_value: Reading value "*dst" when calling "memcmp". [Note: The source code implementation of the function has been overridden by a builtin model.]
os_dep/osdep_service.c:721:2:
  5.1.2. path: Condition "!memcmp(dst, src, sz)", taking true branch.
core/rtw_ieee80211.c:1348:2:
  5.2. path: Condition "_rtw_memcmp(mac_addr, null_mac_addr, 6)", taking true branch.
core/rtw_ieee80211.c:1350:3:
  5.3. path: Jumping to label "func_exit".
  • We can, for example, reach the case where mac_addr has a random value from the memory and the driver may be lead to an undefined behavior.

In the other hand, we have some false-positives, like below:

os_dep/linux/ioctl_linux.c:10206:4:
  Type: Out-of-bounds write (OVERRUN)

os_dep/linux/ioctl_linux.c:9593:2:
  1. path: Condition "copy_from_user(extra, wrqu->pointer, wrqu->length)", taking false branch.
os_dep/linux/ioctl_linux.c:9599:2:
  2. path: Condition "setdata == NULL", taking false branch.
...
os_dep/linux/ioctl_linux.c:10179:3:
  21. path: Condition "hal_efuse_macaddr_offset(padapter) == -1", taking false branch.
os_dep/linux/ioctl_linux.c:10184:3:
  22. return_constant: Function call "hal_efuse_macaddr_offset(padapter)" may return -1.
os_dep/linux/ioctl_linux.c:10184:3:
  23. assignment: Assigning: "addr" = "hal_efuse_macaddr_offset(padapter)". The value of "addr" is now 65535.
...
  29. overrun-local: Overrunning array "pEfuseHal->fakeEfuseModifiedMap" of 1024 bytes at byte offset 65535 using index "addr + jj" (which evaluates to 65535).
  • In this case, Coverity is not taking into account that, in Condition 21, there is an error check for hal_efuse_macaddr_offset() returning -1 and not proceeding from there, so Condition 22 won't happen.

There is this other one, overlapping memory, that is being reported repeatedly in many parts of the tree:

os_dep/linux/ioctl_mp.c:1515:4:
  Type: Copy of overlapping memory (OVERLAPPING_COPY)

os_dep/linux/ioctl_mp.c:1499:2:
  1. path: Switch case value "MP_SINGLE_TONE_TX".
os_dep/linux/ioctl_mp.c:1514:3:
  2. path: Condition "bStartTest != 0", taking true branch.
os_dep/linux/ioctl_mp.c:1515:4:
  3. overlapping_copy: In the call to function "sprintf", the arguments "extra" and "extra" may point to the same object.
  • I honestly don't think this is a big issue, but it might be worth taking a look how sprintf is being used to guarantee that no overlap is really happening.

Anyway, what we are trying to bring here are some inputs to work with, from a security perspective.
I really hope it can be useful.

Thanks!

[1] https://github.com/canonical/ubuntu-mir
[2] https://cwe.mitre.org/data/definitions/457.html

This driver has an problem on openwrt

Dear lwfinger:
I using this driver for an openwrt system on an arm64 architecture. I want to connect to the network using wireless in STA mode. When I click on the scan button under radio0 in openwrt, I encounter the following error. Can you please help me identify the issue?
the kernel is version 5.4.240 and 5.10.176.

[  111.142754] RTW: cfg80211_rtw_scan(wlan0)
[  111.146798] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
[  111.155176] Mem abort info:
[  111.158539]   ESR = 0x96000006
[  111.161768]   EC = 0x25: DABT (current EL), IL = 32 bits
[  111.166349]   SET = 0, FnV = 0
[  111.169564]   EA = 0, S1PTW = 0
[  111.172843] Data abort info:
[  111.175981]   ISV = 0, ISS = 0x00000006
[  111.179230]   CM = 0, WnR = 0
[  111.182332] user pgtable: 4k pages, 39-bit VAs, pgdp=000000001aacb000
[  111.188417] [0000000000000000] pgd=0000000002242003, p4d=0000000002242003, pud=0000000002242003, pmd=0000000000000000
[  111.198849] Internal error: Oops: 96000006 [#1] PREEMPT SMP
[  111.204317] Modules linked in: rtl8723ds(O) fast_classifier shortcut_fe_cm shortcut_fe_ipv6 shortcut_fe pppoe ppp_async rt2800usb rt2800lib rt2500usb pppox ppp_mppe ppp_generic mt76x0u mt76x0_common ipt_REJECT brcmfmac br_netfilter batman_adv ath10k_usb ath10k_sdio ath10k_core xt_time xt_tcpudp xt_state xt_socket xt_recent xt_quota xt_pkttype xt_owner xt_nat xt_multiport xt_mark xt_mac xt_limit xt_iprange xt_helper xt_conntrack xt_connmark xt_connlimit xt_connbytes xt_comment xt_cgroup xt_addrtype xt_TPROXY xt_TCPMSS xt_REDIRECT xt_MASQUERADE xt_LOG xt_FLOWOFFLOAD xt_CT ums_usbat ums_sddr55 ums_sddr09 ums_karma ums_jumpshot ums_isd200 ums_freecom ums_datafab ums_cypress ums_alauda ts_fsm ts_bm tcp_bbr slhc rtl8188fu rtl8150 rt2x00usb rt2x00lib r8723bs(C) r8188eu(C) r8152 panfrost nf_tproxy_ipv6 nf_tproxy_ipv4 nf_socket_ipv6 nf_socket_ipv4 nf_reject_ipv4 nf_nat_tftp nf_nat_snmp_basic nf_nat_sip nf_nat_pptp nf_nat_irc nf_nat_h323 nf_nat_ftp nf_nat_amanda nf_log_ipv4 nf_flow_table
[  111.204556]  nf_conntrack_tftp nf_conntrack_snmp nf_conntrack_sip nf_conntrack_pptp nf_conntrack_netlink nf_conntrack_irc nf_conntrack_h323 nf_conntrack_ftp nf_conntrack_broadcast ts_kmp nf_conntrack_amanda nf_conncount mt76x2u mt76x2_common mt76x02_usb mt76x02_lib mt7663u mt7663_usb_sdio_common mt7615_common mt7601u mt76_usb mt76 meson_gxbb_wdt macvlan mac80211 lib80211 iptable_raw iptable_nat iptable_mangle iptable_filter ip_tables bridge brcmutil ax88179_178a ath 88x2cs 8189fs cfg80211 rfkill snd_soc_ac97 cryptodev 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_ip ip_set_bitmap_port ip_set_bitmap_ipmac ip_set_bitmap_ip ip_set nfnetlink ip6table_nat nf_nat ip6t_NPT nf_log_ipv6 nf_log_common ip6table_mangle ip6table_filter ip6_tables ip6t_REJECT x_tables nf_reject_ipv6 snd_ac97_codec dummy veth tun
[  111.311401]  snd_rawmidi snd_seq_device snd_hwdep ntfs3 dm_mirror dm_region_hash dm_log dm_crypt dm_mod asix usbnet hid_logitech_hidpp hid_logitech_dj lima gpu_sched dw_hdmi_cec
[  111.445519] CPU: 0 PID: 7590 Comm: luci Tainted: G         C O      5.10.176 #1
[  111.452759] Hardware name: Amlogic Meson GXL (S905X) P212 Development Board (DT)
[  111.460094] pstate: 40000005 (nZcv daif -PAN -UAO -TCO BTYPE=--)
[  111.466051] pc : __pi_memcmp+0x20/0x1ec
[  111.471544] lr : _rtw_memcmp+0x14/0x28 [rtl8723ds]
[  111.476897] sp : ffffffc0135834b0
[  111.482222] x29: ffffffc0135834b0 x28: 0000000000000000
[  111.487578] x27: 0000000000000000 x26: 0000000000000000
[  111.492910] x25: ffffff800396c448 x24: 0000000000000000
[  111.498222] x23: ffffff8007cf2200 x22: 0000000000000000
[  111.503507] x21: ffffff801a94e000 x20: ffffffc011e47000
[  111.508779] x19: ffffff8007cf2200 x18: ffffffffffffffff
[  111.514028] x17: 0000000000000000 x16: 0000000000000001
[  111.519270] x15: 0000000000000006 x14: ffffffc0935831d7
[  111.524466] x13: ffffffc01180b660 x12: 0000000000000000
[  111.529635] x11: 00000000000004a8 x10: ffffffc0118bb660
[  111.534799] x9 : ffffffc01180b660 x8 : 0000000000000000
[  111.539992] x7 : ffffffc0118bb660 x6 : ffffffc0135833e0
[  111.545253] x5 : 0000000000000001 x4 : ffffffc0100d82a8
[  111.550514] x3 : 0000000000000000 x2 : 0000000000000007
[  111.555776] x1 : ffffffc009ddb4b0 x0 : 0000000000000000
[  111.561038] Call trace:
[  111.566004]  __pi_memcmp+0x20/0x1ec
[  111.571123]  cfg80211_rtw_scan+0x200/0x844 [rtl8723ds]
[  111.576221]  cfg80211_scan+0x144/0x17c [cfg80211]
[  111.581297]  nl80211_trigger_scan+0x3e8/0x650 [cfg80211]
[  111.586334]  genl_family_rcv_msg_doit+0xc8/0x150
[  111.591277]  genl_rcv_msg+0xe4/0x1e0
[  111.596111]  netlink_rcv_skb+0x5c/0x130
[  111.600798]  genl_rcv+0x38/0x50
[  111.605306]  netlink_unicast+0x228/0x2f0
[  111.609666]  netlink_sendmsg+0x1bc/0x3f0
[  111.613844]  sock_sendmsg+0x54/0x60
[  111.617851]  ____sys_sendmsg+0x220/0x24c
[  111.621702]  ___sys_sendmsg+0x7c/0xc0
[  111.625385]  __sys_sendmsg+0x68/0xd0
[  111.628900]  __arm64_sys_sendmsg+0x24/0x30
[  111.632262]  el0_svc_common.constprop.0+0x80/0x270
[  111.635930]  do_el0_svc+0x24/0x90
[  111.639210]  el0_svc+0x10/0x1c
[  111.642227]  el0_sync_handler+0xe8/0x114
[  111.646108]  el0_sync+0x180/0x1c0
[  111.649389] Code: f2400808 54000261 d100044c d343fd8c (f8408403)
[  111.655425] ---[ end trace 6ef627f6333e3b9b ]---

License

What license is this source code released under?

Compiling kernel (6.1.26) fails

Hey, I'm trying to include this driver in my kernel configuration and I'm failing to get it to compile properly. I appreciate any help! <3

Environment

Kernel version I am trying to build: 6.1.26
Target arch: arm64
Host OS: Debian GNU/Linux 11 (bullseye)

Kernel setup

  1. Cloned the 6.1.26 kernel:
    git clone --depth 1 --branch linux-6.1.y https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
  2. Cloned this repository into the wireless realtek folder:
    git clone --depth 1 https://github.com/lwfinger/rtl8723ds drivers/net/wireless/realtek/rtl8723ds
  3. Modified drivers/net/wireless/realtek/rtl8723ds/Kconfig and deleted the hypens around --help--
  4. Edited the drivers/net/wireless/realtek/Kconfig file and inserted source "drivers/net/wireless/realtek/rtl8723ds/Kconfig"
  5. Edited the drivers/net/wireless/realtek/Makefile file and inserted obj-$(CONFIG_RTL8723DS) += rtl8723ds/

Kernel config

I used the default config with make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- defconfig and added CONFIG_RTL8723DS=y to include this driver.

Compiling

make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image

This resulted in the following error:

aarch64-linux-gnu-ld: Unexpected GOT/PLT entries detected!
aarch64-linux-gnu-ld: Unexpected run-time procedure linkages detected!
aarch64-linux-gnu-ld: ID map text too big or misaligned
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/core/rtw_p2p.o: in function `cancel_ro_ch_handler':
/root/project/linux_6.1/drivers/net/wireless/realtek/rtl8723ds/core/rtw_p2p.c:3355: undefined reference to `cfg80211_remain_on_channel_expired'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/recv_linux.o: in function `rtw_handle_tkip_mic_err':
/root/project/linux_6.1/drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/recv_linux.c:569: undefined reference to `cfg80211_michael_mic_failure'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `cfg80211_connect_bss':
/root/project/linux_6.1/./include/net/cfg80211.h:7551: undefined reference to `cfg80211_connect_done'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `ieee80211_frequency_to_channel':
/root/project/linux_6.1/./include/net/cfg80211.h:5972: undefined reference to `ieee80211_freq_khz_to_channel'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `cfg80211_mgmt_tx_status':
/root/project/linux_6.1/./include/net/cfg80211.h:7976: undefined reference to `cfg80211_mgmt_tx_status_ext'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `ieee80211_frequency_to_channel':
/root/project/linux_6.1/./include/net/cfg80211.h:5972: undefined reference to `ieee80211_freq_khz_to_channel'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `cfg80211_rtw_remain_on_channel':
/root/project/linux_6.1/drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:5258: undefined reference to `cfg80211_ready_on_channel'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `ieee80211_get_channel':
/root/project/linux_6.1/./include/net/cfg80211.h:5995: undefined reference to `ieee80211_get_channel_khz'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `cfg80211_inform_bss_frame':
/root/project/linux_6.1/./include/net/cfg80211.h:6664: undefined reference to `cfg80211_inform_bss_frame_data'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `rtw_cfg80211_inform_bss':
/root/project/linux_6.1/drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:547: undefined reference to `cfg80211_put_bss'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `ieee80211_get_channel':
/root/project/linux_6.1/./include/net/cfg80211.h:5995: undefined reference to `ieee80211_get_channel_khz'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `rtw_cfg80211_check_bss':
/root/project/linux_6.1/drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:577: undefined reference to `cfg80211_get_bss'
aarch64-linux-gnu-ld: /root/project/linux_6.1/drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:588: undefined reference to `cfg80211_put_bss'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `ieee80211_get_channel':
/root/project/linux_6.1/./include/net/cfg80211.h:5995: undefined reference to `ieee80211_get_channel_khz'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `rtw_cfg80211_ibss_indicate_connect':
/root/project/linux_6.1/drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:657: undefined reference to `cfg80211_ibss_joined'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `ieee80211_get_channel':
/root/project/linux_6.1/./include/net/cfg80211.h:5995: undefined reference to `ieee80211_get_channel_khz'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `rtw_cfg80211_indicate_connect':
/root/project/linux_6.1/drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:755: undefined reference to `cfg80211_roamed'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `rtw_cfg80211_indicate_disconnect':
/root/project/linux_6.1/drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:859: undefined reference to `cfg80211_disconnected'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `rtw_cfg80211_indicate_scan_done':
/root/project/linux_6.1/drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:1918: undefined reference to `cfg80211_scan_done'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `rtw_cfg80211_unlink_bss':
/root/project/linux_6.1/drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:1970: undefined reference to `cfg80211_get_bss'
aarch64-linux-gnu-ld: /root/project/linux_6.1/drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:1982: undefined reference to `cfg80211_unlink_bss'
aarch64-linux-gnu-ld: /root/project/linux_6.1/drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:1985: undefined reference to `cfg80211_put_bss'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `cfg80211_rtw_scan':
/root/project/linux_6.1/drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:2506: undefined reference to `cfg80211_scan_done'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `rtw_cfg80211_indicate_sta_assoc':
/root/project/linux_6.1/drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:3524: undefined reference to `cfg80211_new_sta'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `cfg80211_del_sta':
/root/project/linux_6.1/./include/net/cfg80211.h:7792: undefined reference to `cfg80211_del_sta_sinfo'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `cfg80211_rx_mgmt':
/root/project/linux_6.1/./include/net/cfg80211.h:7917: undefined reference to `cfg80211_rx_mgmt_ext'
aarch64-linux-gnu-ld: /root/project/linux_6.1/./include/net/cfg80211.h:7917: undefined reference to `cfg80211_rx_mgmt_ext'
aarch64-linux-gnu-ld: /root/project/linux_6.1/./include/net/cfg80211.h:7917: undefined reference to `cfg80211_rx_mgmt_ext'
aarch64-linux-gnu-ld: /root/project/linux_6.1/./include/net/cfg80211.h:7917: undefined reference to `cfg80211_rx_mgmt_ext'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `wiphy_new':
/root/project/linux_6.1/./include/net/cfg80211.h:5550: undefined reference to `wiphy_new_nm'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `rtw_wiphy_free':
/root/project/linux_6.1/drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:6938: undefined reference to `wiphy_free'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `rtw_wiphy_register':
/root/project/linux_6.1/drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:6952: undefined reference to `wiphy_register'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `rtw_wiphy_unregister':
/root/project/linux_6.1/drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:6967: undefined reference to `wiphy_unregister'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.o: in function `rtw_wdev_unregister':
/root/project/linux_6.1/drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:7070: undefined reference to `cfg80211_disconnected'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/rtw_cfgvendor.o: in function `cfg80211_vendor_cmd_alloc_reply_skb':
/root/project/linux_6.1/./include/net/cfg80211.h:7179: undefined reference to `__cfg80211_alloc_reply_skb'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/rtw_cfgvendor.o: in function `rtw_cfgvendor_send_cmd_reply':
/root/project/linux_6.1/drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/rtw_cfgvendor.c:214: undefined reference to `cfg80211_vendor_cmd_reply'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/rtw_cfgvendor.o: in function `cfg80211_vendor_event_alloc':
/root/project/linux_6.1/./include/net/cfg80211.h:7231: undefined reference to `__cfg80211_alloc_event_skb'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/rtw_cfgvendor.o: in function `cfg80211_vendor_event':
/root/project/linux_6.1/./include/net/cfg80211.h:7281: undefined reference to `__cfg80211_send_event_skb'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/rtw_cfgvendor.o: in function `cfg80211_vendor_cmd_alloc_reply_skb':
/root/project/linux_6.1/./include/net/cfg80211.h:7179: undefined reference to `__cfg80211_alloc_reply_skb'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/rtw_cfgvendor.o: in function `rtw_cfgvendor_send_cmd_reply':
/root/project/linux_6.1/drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/rtw_cfgvendor.c:214: undefined reference to `cfg80211_vendor_cmd_reply'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/rtw_cfgvendor.o: in function `cfg80211_vendor_cmd_alloc_reply_skb':
/root/project/linux_6.1/./include/net/cfg80211.h:7179: undefined reference to `__cfg80211_alloc_reply_skb'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/rtw_cfgvendor.o: in function `rtw_cfgvendor_get_feature_set_matrix':
/root/project/linux_6.1/drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/rtw_cfgvendor.c:359: undefined reference to `cfg80211_vendor_cmd_reply'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/wifi_regd.o: in function `ieee80211_get_channel':
/root/project/linux_6.1/./include/net/cfg80211.h:5995: undefined reference to `ieee80211_get_channel_khz'
aarch64-linux-gnu-ld: drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/wifi_regd.o: in function `_rtw_regd_init_wiphy':
/root/project/linux_6.1/drivers/net/wireless/realtek/rtl8723ds/os_dep/linux/wifi_regd.c:503: undefined reference to `wiphy_apply_custom_regulatory'
make[1]: *** [scripts/Makefile.vmlinux:34: vmlinux] Error 1
make: *** [Makefile:1255: vmlinux] Error 2

Fails to compile against v6.1.0-rc3

When building against https://github.com/smaeul/linux/commits/d1/all the following errors occur:

In function '__nat25_add_pppoe_tag',
    inlined from 'nat25_db_handle' at /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/core/rtw_br_ext.c:1170:11:
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/core/rtw_br_ext.c:125:9: warning: 'memcpy' reading between 2052 and 9220 bytes from a region of size 40 [-Wstringop-overread]
  125 |         memcpy((unsigned char *)ph->tag, tag, data_len);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/core/rtw_br_ext.c: In function 'nat25_db_handle':
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/core/rtw_br_ext.c:1139:63: note: source object 'tag_buf' of size 40
 1139 |                                                 unsigned char tag_buf[40];
      |                                                               ^~~~~~~
  CC [M]  /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/os_dep/linux/mlme_linux.o
  CC [M]  /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/os_dep/linux/recv_linux.o
  CC [M]  /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/os_dep/linux/ioctl_cfg80211.o
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/os_dep/osdep_service.c: In function 'rtw_random32':
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/os_dep/osdep_service.c:1607:16: error: implicit declaration of function 'prandom_u32'; did you mean 'prandom_u32_max'? [-Werror=implicit-function-declaration]
 1607 |         return prandom_u32();
      |                ^~~~~~~~~~~
      |                prandom_u32_max
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/os_dep/linux/os_intfs.c: In function 'rtw_os_ndev_register':
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/os_dep/linux/os_intfs.c:1379:9: error: too many arguments to function 'netif_napi_add'
 1379 |         netif_napi_add(ndev, &adapter->napi, rtw_recv_napi_poll, RTL_NAPI_WEIGHT);
      |         ^~~~~~~~~~~~~~
In file included from /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/include/osdep_service_linux.h:35,
                 from /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/include/osdep_service.h:35,
                 from /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/include/drv_types.h:32,
                 from /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/os_dep/linux/os_intfs.c:22:
/home/user/Projects/risc-v-lichee-rv/image_builder/build/linux/include/linux/netdevice.h:2562:1: note: declared here
 2562 | netif_napi_add(struct net_device *dev, struct napi_struct *napi,
      | ^~~~~~~~~~~~~~
make[2]: *** [/home/user/Projects/risc-v-lichee-rv/image_builder/build/linux/scripts/Makefile.build:250: /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/os_dep/linux/os_intfs.o] Fehler 1
make[2]: *** Es wird auf noch nicht beendete Prozesse gewartet....
cc1: some warnings being treated as errors
make[2]: *** [/home/user/Projects/risc-v-lichee-rv/image_builder/build/linux/scripts/Makefile.build:250: /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/os_dep/osdep_service.o] Fehler 1
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/os_dep/linux/ioctl_cfg80211.c: In function 'rtw_cfg80211_indicate_connect':
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:748:26: error: 'struct cfg80211_roam_info' has no member named 'bssid'
  748 |                 roam_info.bssid = cur_network->network.MacAddress;
      |                          ^
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/os_dep/linux/ioctl_cfg80211.c: In function 'cfg80211_rtw_scan':
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:2350:33: warning: the comparison will always evaluate as 'true' for the address of 'ssid' will never be NULL [-Waddress]
 2350 |                 if (ssids->ssid != NULL
      |                                 ^~
In file included from /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/include/osdep_service_linux.h:93,
                 from /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/include/osdep_service.h:35,
                 from /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/include/drv_types.h:32,
                 from /home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:22:
/home/user/Projects/risc-v-lichee-rv/image_builder/build/linux/include/net/cfg80211.h:2359:12: note: 'ssid' declared here
 2359 |         u8 ssid[IEEE80211_MAX_SSID_LEN];
      |            ^~~~
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/os_dep/linux/ioctl_cfg80211.c: At top level:
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:6793:20: error: initialization of 'int (*)(struct wiphy *, struct net_device *, int,  u8,  bool,  const u8 *, struct key_params *)' {aka 'int (*)(struct wiphy *, struct net_device *, int,  unsigned char,  _Bool,  const unsigned char *, struct key_params *)'} from incompatible pointer type 'int (*)(struct wiphy *, struct net_device *, u8,  bool,  const u8 *, struct key_params *)' {aka 'int (*)(struct wiphy *, struct net_device *, unsigned char,  _Bool,  const unsigned char *, struct key_params *)'} [-Werror=incompatible-pointer-types]
 6793 |         .add_key = cfg80211_rtw_add_key,
      |                    ^~~~~~~~~~~~~~~~~~~~
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:6793:20: note: (near initialization for 'rtw_cfg80211_ops.add_key')
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:6794:20: error: initialization of 'int (*)(struct wiphy *, struct net_device *, int,  u8,  bool,  const u8 *, void *, void (*)(void *, struct key_params *))' {aka 'int (*)(struct wiphy *, struct net_device *, int,  unsigned char,  _Bool,  const unsigned char *, void *, void (*)(void *, struct key_params *))'} from incompatible pointer type 'int (*)(struct wiphy *, struct net_device *, u8,  bool,  const u8 *, void *, void (*)(void *, struct key_params *))' {aka 'int (*)(struct wiphy *, struct net_device *, unsigned char,  _Bool,  const unsigned char *, void *, void (*)(void *, struct key_params *))'} [-Werror=incompatible-pointer-types]
 6794 |         .get_key = cfg80211_rtw_get_key,
      |                    ^~~~~~~~~~~~~~~~~~~~
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:6794:20: note: (near initialization for 'rtw_cfg80211_ops.get_key')
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:6795:20: error: initialization of 'int (*)(struct wiphy *, struct net_device *, int,  u8,  bool,  const u8 *)' {aka 'int (*)(struct wiphy *, struct net_device *, int,  unsigned char,  _Bool,  const unsigned char *)'} from incompatible pointer type 'int (*)(struct wiphy *, struct net_device *, u8,  bool,  const u8 *)' {aka 'int (*)(struct wiphy *, struct net_device *, unsigned char,  _Bool,  const unsigned char *)'} [-Werror=incompatible-pointer-types]
 6795 |         .del_key = cfg80211_rtw_del_key,
      |                    ^~~~~~~~~~~~~~~~~~~~
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:6795:20: note: (near initialization for 'rtw_cfg80211_ops.del_key')
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:6796:28: error: initialization of 'int (*)(struct wiphy *, struct net_device *, int,  u8,  bool,  bool)' {aka 'int (*)(struct wiphy *, struct net_device *, int,  unsigned char,  _Bool,  _Bool)'} from incompatible pointer type 'int (*)(struct wiphy *, struct net_device *, u8,  bool,  bool)' {aka 'int (*)(struct wiphy *, struct net_device *, unsigned char,  _Bool,  _Bool)'} [-Werror=incompatible-pointer-types]
 6796 |         .set_default_key = cfg80211_rtw_set_default_key,
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/user/Projects/risc-v-lichee-rv/image_builder/build/rtl8723ds/os_dep/linux/ioctl_cfg80211.c:6796:28: note: (near initialization for 'rtw_cfg80211_ops.set_default_key')
cc1: some warnings being treated as errors

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.