Jump to content

Recommended Posts

Posted

The Wi-Fi isn't working. I've been trying to get it working for a week now.
My hardware is a board from a TV set-top box based on the Amlogic S905X. I have six of them. Armbian OS v26.2, kernel 6.12.59-current-meson64

There are 6 adapters: noname aic8800 ax900 bt5.4 usb (Two types. Some are detected slightly differently by the system, but I want to figure out the first type first (on the left in the photo))

 

Photo of adapters: https://disk.yandex.ru/i/x37stQnEgEW52gра

 

As far as I can tell, the manufacturer's website: https://www.fenvi.com/index.php/drive.html?id=1&page=2

What I've tried:
https://resource.tp-link.com.cn/pc/docCenter/showDocproductId=3343&type=DRIVER&id=1744265707665927
https://www.tendacn.com/ru/material/show/105769

https://www.lulian.cn/download/135.html

https://github.com/Wolfdv1/aic8800/

https://github.com/radxapkg/aic8800

https://github.com/geniuskidkanyi/aic8800

https://github.com/nbfalcon/aic8800

https://github.com/shenmintao/aic8800d80

In the related thread https://www.linux.org.ru/forum/linux-hardware/18109581?cid=18151734 , they suggested installing: https://github.com/shenmintao/aic8800d80 , but that didn't help me.

What helped:
1) I tried following the instructions from https://linux.brostrend.com/
After that, the adapter worked once, but after a reboot, it didn't work again. I couldn't try again on a clean system.

 

2) On a clean system, the description from the first post helped once: https://forums.linuxmint.com/viewtopic.php?t=437357
```
sudo dkms remove aic8800/1.0.8 –all
sudo dpkg –remove –force-all aic8800-dkms
sudo dpkg –remove –force-all aic8800-dkms
sudo rm -rf /var/lib/dkms/aic8800
```
then installed the deb packages from https://github.com/radxa-pkg/aic8800/releases/tag/4.0%2Bgit20250410.b99ca8b6-3
```
sudo dpkg -i aic8800-firmware_4.0+git20250410.b99ca8b6-3_all.deb
sudo dpkg -i aic8800-usb-dkms_4.0+git20250410.b99ca8b6-3_all.deb
```
But after two reboots, for some reason, it crashed and I can't retry.

I also disable the storage on the Wi-Fi adapter: according to the instructions at https://linux.brostrend.com/advanced/usb_modeswitch/, that is,
```
sudo apt install usb-modeswitch

lsusb | grep -E '(0bda|368b|a69c):(8812|b812|c811|b832|c832|1a2b|88df|8d80|8d83|5721|5723)'
sudo /usr/sbin/usb_modeswitch -KQ -v a69c -p 5721
```

When running the lsusb command, the output is:
```
Bus 001 Device 004: ID 368b:8d81 AICSemi AIC 8800D80
```

I also tried this one because the description says it supports my adapter. They promise support for 368b:*

https://github.com/xProbe/aic8800d80-wifi-driver

But there are a lot of mistakes there:

 

'''/home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aicbluetooth.c:259:5: warning: no previous prototype for ‘aic_crc32’ [-Wmissing-prototypes] 259 | u32 aic_crc32(u8 p, u32 len, u32 crc) | ^~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aicbluetooth.c: In function ‘rwnx_plat_flash_bin_upload_android’: /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aicbluetooth.c:760:15: warning: conversion from ‘long unsigned int’ to ‘u32’ {aka ‘unsigned int’} changes value from ‘18446744073709551615’ to ‘4294967295’ [-Woverflow] 760 | u32 crc = ~0UL; | ^ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aicbluetooth.c: At top level: /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aicbluetooth.c:900:6: warning: no previous prototype for ‘get_fw_path’ [-Wmissing-prototypes] 900 | void get_fw_path(char fw_path){ | ^~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aicbluetooth.c:908:6: warning: no previous prototype for ‘set_testmode’ [-Wmissing-prototypes] 908 | void set_testmode(int val){ | ^~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aicbluetooth.c:912:5: warning: no previous prototype for ‘get_testmode’ [-Wmissing-prototypes] 912 | int get_testmode(void){ | ^~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aicbluetooth.c:916:5: warning: no previous prototype for ‘get_hardware_info’ [-Wmissing-prototypes] 916 | int get_hardware_info(void){ | ^~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aicbluetooth.c:921:5: warning: no previous prototype for ‘get_adap_test’ [-Wmissing-prototypes] 921 | int get_adap_test(void){ | ^~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aicbluetooth.c:925:5: warning: no previous prototype for ‘get_flash_bin_size’ [-Wmissing-prototypes] 925 | int get_flash_bin_size(void) | ^~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aicbluetooth.c:930:5: warning: no previous prototype for ‘get_flash_bin_crc’ [-Wmissing-prototypes] 930 | u32 get_flash_bin_crc(void) | ^~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aicbluetooth.c:949:6: warning: no previous prototype for ‘get_userconfig_xtal_cap’ [-Wmissing-prototypes] 949 | void get_userconfig_xtal_cap(xtal_cap_conf_t *xtal_cap) | ^~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aicbluetooth.c:962:6: warning: no previous prototype for ‘get_userconfig_txpwr_idx’ [-Wmissing-prototypes] 962 | void get_userconfig_txpwr_idx(txpwr_idx_conf_t *txpwr_idx){ | ^~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aicbluetooth.c:989:6: warning: no previous prototype for ‘get_userconfig_txpwr_ofst’ [-Wmissing-prototypes] 989 | void get_userconfig_txpwr_ofst(txpwr_ofst_conf_t *txpwr_ofst){ | ^~~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aicbluetooth.c:1012:6: warning: no previous prototype for ‘rwnx_plat_userconfig_set_value’ [-Wmissing-prototypes] 1012 | void rwnx_plat_userconfig_set_value(char *command, char *value){ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aicbluetooth.c:1060:6: warning: no previous prototype for ‘rwnx_plat_userconfig_parsing’ [-Wmissing-prototypes] 1060 | void rwnx_plat_userconfig_parsing(char *buffer, int size){ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aicwf_usb.o /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_msg_tx.c:174:18: warning: no previous prototype for ‘rwnx_cmd_malloc’ [-Wmissing-prototypes] 174 | struct rwnx_cmd *rwnx_cmd_malloc(void){ | ^~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_msg_tx.c:203:6: warning: no previous prototype for ‘rwnx_cmd_free’ [-Wmissing-prototypes] 203 | void rwnx_cmd_free(struct rwnx_cmd *cmd){ | ^~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_msg_tx.c:213:5: warning: no previous prototype for ‘rwnx_init_cmd_array’ [-Wmissing-prototypes] 213 | int rwnx_init_cmd_array(void){ | ^~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_msg_tx.c:228:6: warning: no previous prototype for ‘rwnx_free_cmd_array’ [-Wmissing-prototypes] 228 | void rwnx_free_cmd_array(void){ | ^~~~~~~~~~~~~~~~~~~ CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_msg_rx.o CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aic_txrxif.o /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aicwf_usb.c:1375:5: warning: no previous prototype for ‘aicfw_download_fw_8800’ [-Wmissing-prototypes] 1375 | int aicfw_download_fw_8800(struct aic_usb_dev *usb_dev){ | ^~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aicwf_usb.c:1650:5: warning: no previous prototype for ‘aicfw_download_fw’ [-Wmissing-prototypes] 1650 | int aicfw_download_fw(struct aic_usb_dev *usb_dev) | ^~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_msg_rx.c:1655:6: warning: no previous prototype for ‘rwnx_rx_handle_msg’ [-Wmissing-prototypes] 1655 | void rwnx_rx_handle_msg(struct rwnx_hw *rwnx_hw, struct ipc_e2a_msg *msg) | ^~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_msg_rx.c:1667:6: warning: no previous prototype for ‘rwnx_rx_handle_print’ [-Wmissing-prototypes] 1667 | void rwnx_rx_handle_print(struct rwnx_hw *rwnx_hw, u8 *msg, u32 len) | ^~~~~~~~~~~~~~~~~~~~ CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_utils.o CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aicbluetooth_cmds.o CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_cmds.o CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aic_compat_8800d80.o CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_irqs.o /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_utils.c:23:5: warning: no previous prototype for ‘rwnx_init_aic’ [-Wmissing-prototypes] 23 | int rwnx_init_aic(struct rwnx_hw *rwnx_hw) | ^~~~~~~~~~~~~ CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_cfgfile.o /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_cmds.c:339:6: warning: no previous prototype for ‘cmd_mgr_task_process’ [-Wmissing-prototypes] 339 | void cmd_mgr_task_process(struct work_struct *work) | ^~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aic_compat_8800d80.c: In function ‘aicfw_download_fw_8800d80’: /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aic_compat_8800d80.c:375:31: warning: unused variable ‘patch_info’ [-Wunused-variable] 375 | struct aicbt_patch_info_t patch_info = { | ^~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aic_compat_8800d80.c:374:31: warning: unused variable ‘head’ [-Wunused-variable] 374 | struct aicbt_patch_table *head = NULL; | ^~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aic_compat_8800d80.c: At top level: /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aic_compat_8800d80.c:340:12: warning: ‘aicbt_ext_patch_data_load’ defined but not used [-Wunused-function] 340 | static int aicbt_ext_patch_data_load(struct aic_usb_dev *usb_dev, struct aicbt_patch_info_t *patch_info) | ^~~~~~~~~~~~~~~~~~~~~~~~~ CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aic_compat_8800d80x2.o CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_strs.o CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_rx.o /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_irqs.c:21:13: warning: no previous prototype for ‘rwnx_irq_hdlr’ [-Wmissing-prototypes] 21 | irqreturn_t rwnx_irq_hdlr(int irq, void *dev_id) | ^~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_irqs.c:34:6: warning: no previous prototype for ‘rwnx_task’ [-Wmissing-prototypes] 34 | void rwnx_task(unsigned long data) | ^~~~~~~~~ CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_tx.o CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/md5.o CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_txq.o CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aicwf_rx_prealloc.o /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_rx.c:344:6: warning: no previous prototype for ‘rwnx_rx_data_skb_resend’ [-Wmissing-prototypes] 344 | void rwnx_rx_data_skb_resend(struct rwnx_hw *rwnx_hw, struct rwnx_vif *rwnx_vif, struct sk_buff *skb) | ^~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_rx.c:1533:5: warning: no previous prototype for ‘reord_flush_tid’ [-Wmissing-prototypes] 1533 | int reord_flush_tid(struct aicwf_rx_priv *rx_priv, struct sk_buff *skb, u8 tid) | ^~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_rx.c:1793:6: warning: no previous prototype for ‘reord_rxframes_process’ [-Wmissing-prototypes] 1793 | bool reord_rxframes_process(struct aicwf_rx_priv *rx_priv, struct reord_ctrl *preorder_ctrl, int bforced) | ^~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_rx.c:1829:6: warning: no previous prototype for ‘reord_rxframes_ind’ [-Wmissing-prototypes] 1829 | void reord_rxframes_ind(struct aicwf_rx_priv *rx_priv, | ^~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_rx.c:1915:5: warning: no previous prototype for ‘reord_process_unit’ [-Wmissing-prototypes] 1915 | int reord_process_unit(struct recv_msdu *pframe, struct aicwf_rx_priv *rx_priv, struct sk_buff *skb, u16 seq_num, u8 tid, u8 forward, u8 is_amsdu) | ^~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_rx.c:2115:6: warning: no previous prototype for ‘remove_sec_hdr_mgmt_frame’ [-Wmissing-prototypes] 2115 | void remove_sec_hdr_mgmt_frame(struct hw_rxhdr *hw_rxhdr,struct sk_buff *skb) | ^~~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_rx.c:2196:6: warning: no previous prototype for ‘defrag_timeout_cb’ [-Wmissing-prototypes] 2196 | void defrag_timeout_cb(struct timer_list *t) | ^~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_tx.c:1244:5: warning: no previous prototype for ‘intf_tx’ [-Wmissing-prototypes] 1244 | int intf_tx(struct rwnx_hw *priv,struct msg_buf *msg) | ^~~~~~~ CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_main.o In file included from ./include/linux/string.h:390, from ./include/linux/dma-mapping.h:7, from /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_rx.c:10: In function ‘fortify_memcpy_chk’, inlined from ‘rwnx_rx_add_rtap_hdr’ at /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_rx.c:1365:9, inlined from ‘rwnx_rx_monitor’ at /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_rx.c:1405:5, inlined from ‘rwnx_rxdataind_aicwf’ at /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_rx.c:2335:13: ./include/linux/fortify-string.h:571:25: warning: call to ‘__write_overflow_field’ declared with attribute warning: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Wattribute-warning] 571 | write_overflow_field(p_size_field, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aicwf_txq_prealloc.o /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_txq.c:154:6: warning: no previous prototype for ‘rwnx_txq_flush’ [-Wmissing-prototypes] 154 | void rwnx_txq_flush(struct rwnx_hw *rwnx_hw, struct rwnx_txq *txq) | ^~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aicwf_txq_prealloc.c:13:7: warning: no previous prototype for ‘aicwf_prealloc_txq_alloc’ [-Wmissing-prototypes] 13 | void aicwf_prealloc_txq_alloc(size_t size) | ^~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aicwf_txq_prealloc.c:50:6: warning: no previous prototype for ‘aicwf_prealloc_txq_free’ [-Wmissing-prototypes] 50 | void aicwf_prealloc_txq_free(void) | ^~~~~~~~~~~~~~~~~~~~~~~ LD [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic_load_fw/aic_load_fw.o CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_mod_params.o CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_mesh.o CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_platform.o /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_main.c:552:6: warning: no previous prototype for ‘rwnx_skb_align_8bytes’ [-Wmissing-prototypes] 552 | void rwnx_skb_align_8bytes(struct sk_buff skb){ | ^~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_main.c:619:6: warning: no previous prototype for ‘rwnx_frame_parser’ [-Wmissing-prototypes] 619 | void rwnx_frame_parser(char tag, char data, unsigned long len){ | ^~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_main.c:1157:6: warning: no previous prototype for ‘rwnx_update_mesh_power_mode’ [-Wmissing-prototypes] 1157 | void rwnx_update_mesh_power_mode(struct rwnx_vif *vif) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_defs.h:32, from /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_main.c:25: /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_compat.h:395:5: warning: no previous prototype for ‘rwnx_select_queue’ [-Wmissing-prototypes] 395 | rwnx_select_queue(dev, skb, sb_dev) | ^~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_main.c:1736:5: note: in expansion of macro ‘rwnx_select_queue’ 1736 | u16 rwnx_select_queue(struct net_device *dev, struct sk_buff *skb, | ^~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_main.c:2029:6: warning: no previous prototype for ‘aicwf_p2p_alive_timeout’ [-Wmissing-prototypes] 2029 | void aicwf_p2p_alive_timeout(struct timer_list *t) | ^~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_main.c:2708:5: warning: no previous prototype for ‘rwnx_send_check_p2p’ [-Wmissing-prototypes] 2708 | int rwnx_send_check_p2p(struct cfg80211_scan_request *param){ | ^~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_main.c:3564:6: warning: no previous prototype for ‘apm_staloss_work_process’ [-Wmissing-prototypes] 3564 | void apm_staloss_work_process(struct work_struct *work) | ^~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_main.c:3678:6: warning: no previous prototype for ‘apm_probe_sta_work_process’ [-Wmissing-prototypes] 3678 | void apm_probe_sta_work_process(struct work_struct *work) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_main.c:4216:5: warning: no previous prototype for ‘rwnx_cfg80211_set_monitor_channel’ [-Wmissing-prototypes] 4216 | int rwnx_cfg80211_set_monitor_channel(struct wiphy *wiphy, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_main.c:4228:5: warning: no previous prototype for ‘rwnx_cfg80211_probe_client’ [-Wmissing-prototypes] 4228 | int rwnx_cfg80211_probe_client(struct wiphy *wiphy, struct net_device *dev, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_main.c:4265:6: warning: no previous prototype for ‘rwnx_cfg80211_mgmt_frame_register’ [-Wmissing-prototypes] 4265 | void rwnx_cfg80211_mgmt_frame_register(struct wiphy *wiphy, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_main.c:4969:5: warning: no previous prototype for ‘rwnx_cfg80211_channel_switch’ [-Wmissing-prototypes] 4969 | int rwnx_cfg80211_channel_switch(struct wiphy *wiphy, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_main.c:5311:5: warning: no previous prototype for ‘rwnx_cfg80211_change_bss’ [-Wmissing-prototypes] 5311 | int rwnx_cfg80211_change_bss(struct wiphy *wiphy, struct net_device *dev, | ^~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_main.c:8438:5: warning: no previous prototype for ‘rwnx_ic_system_init’ [-Wmissing-prototypes] 8438 | int rwnx_ic_system_init(struct rwnx_hw *rwnx_hw){ | ^~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_main.c:8477:5: warning: no previous prototype for ‘rwnx_ic_rf_init’ [-Wmissing-prototypes] 8477 | int rwnx_ic_rf_init(struct rwnx_hw *rwnx_hw){ | ^~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_main.c:8516:6: warning: no previous prototype for ‘aic_ipc_setting’ [-Wmissing-prototypes] 8516 | void aic_ipc_setting(struct rwnx_vif rwnx_vif){ | ^~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_mod_params.c:270:6: warning: no previous prototype for ‘rwnx_get_countrycode_channels’ [-Wmissing-prototypes] 270 | void rwnx_get_countrycode_channels(struct wiphy wiphy, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_pci.o /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_platform.c:762:5: warning: no previous prototype for ‘rwnx_request_firmware_common’ [-Wmissing-prototypes] 762 | int rwnx_request_firmware_common(struct rwnx_hw rwnx_hw, u32 buffer, const char filename) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_platform.c:773:6: warning: no previous prototype for ‘rwnx_release_firmware_common’ [-Wmissing-prototypes] 773 | void rwnx_release_firmware_common(u32 buffer) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_platform.c:790:5: warning: no previous prototype for ‘rwnx_plat_bin_fw_upload_2’ [-Wmissing-prototypes] 790 | int rwnx_plat_bin_fw_upload_2(struct rwnx_hw *rwnx_hw, u32 fw_addr, | ^~~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_platform.c:1959:5: warning: no previous prototype for ‘rwnx_atoi2’ [-Wmissing-prototypes] 1959 | int rwnx_atoi2(char *value, int c_len) | ^~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_platform.c:1986:5: warning: no previous prototype for ‘rwnx_atoi’ [-Wmissing-prototypes] 1986 | int rwnx_atoi(char *value) | ^~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_platform.c:2334:6: warning: no previous prototype for ‘get_userconfig_xtal_cap’ [-Wmissing-prototypes] 2334 | void get_userconfig_xtal_cap(xtal_cap_conf_t *xtal_cap) | ^~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_platform.c:2343:6: warning: no previous prototype for ‘rwnx_plat_nvram_set_value’ [-Wmissing-prototypes] 2343 | void rwnx_plat_nvram_set_value(char *command, char *value) | ^~~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_platform.c:2649:6: warning: no previous prototype for ‘rwnx_plat_nvram_set_value_8800d80x2’ [-Wmissing-prototypes] 2649 | void rwnx_plat_nvram_set_value_8800d80x2(char *command, char *value) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_platform.c:2872:6: warning: no previous prototype for ‘rwnx_plat_userconfig_parsing_8800d80x2’ [-Wmissing-prototypes] 2872 | void rwnx_plat_userconfig_parsing_8800d80x2(char *buffer, int size) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_dini.o In function ‘rwnx_plat_patch_load’, inlined from ‘rwnx_platform_on’ at /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_platform.c:3563:11: /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_platform.c:1589:9: warning: ‘sprintf’ argument 3 overlaps destination object ‘aic_fw_path’ [-Wrestrict] 1589 | sprintf(aic_fw_path, «%s/%s», aic_fw_path, «aic8800DC»); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_platform.c: In function ‘rwnx_platform_on’: /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_platform.c:51:13: note: destination object referenced by ‘restrict’-qualified argument 1 was declared here 51 | extern char aic_fw_path[FW_PATH_MAX_LEN]; | ^~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_pci.c:85:5: warning: no previous prototype for ‘rwnx_pci_register_drv’ [-Wmissing-prototypes] 85 | int rwnx_pci_register_drv(void) | ^~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_pci.c:90:6: warning: no previous prototype for ‘rwnx_pci_unregister_drv’ [-Wmissing-prototypes] 90 | void rwnx_pci_unregister_drv(void) | ^~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_dini.c:105:5: warning: no previous prototype for ‘rwnx_cfpga_irq_enable’ [-Wmissing-prototypes] 105 | int rwnx_cfpga_irq_enable(struct rwnx_hw *rwnx_hw) | ^~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_dini.c:129:5: warning: no previous prototype for ‘rwnx_cfpga_irq_disable’ [-Wmissing-prototypes] 129 | int rwnx_cfpga_irq_disable(struct rwnx_hw *rwnx_hw) | ^~~~~~~~~~~~~~~~~~~~~~ CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_v7.o CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/ipc_host.o CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_tdls.o CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/regdb.o CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/md5.o CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aic_vendor.o CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aic_priv_cmd.o CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_compat_8800dc.o CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_compat_8800d80.o /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aic_vendor.c:41:5: warning: no previous prototype for ‘aic_dev_start_mkeep_alive’ [-Wmissing-prototypes] 41 | int aic_dev_start_mkeep_alive(struct rwnx_hw *rwnx_hw, struct rwnx_vif *rwnx_vif, | ^~~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aic_vendor.c:69:5: warning: no previous prototype for ‘aic_dev_stop_mkeep_alive’ [-Wmissing-prototypes] 69 | int aic_dev_stop_mkeep_alive(struct rwnx_hw *rwnx_hw, struct rwnx_vif *rwnx_vif, u8 mkeep_alive_id) | ^~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aic_vendor.c:1064:5: warning: no previous prototype for ‘aicwf_vendor_init’ [-Wmissing-prototypes] 1064 | int aicwf_vendor_init(struct wiphy *wiphy) | ^~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aic_priv_cmd.c:235:14: warning: no previous prototype for ‘command_strtoul’ [-Wmissing-prototypes] 235 | unsigned int command_strtoul(const char *cp, char **endp, unsigned int base) | ^~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aic_priv_cmd.c:268:5: warning: no previous prototype for ‘str_starts’ [-Wmissing-prototypes] 268 | int str_starts(const char *str, const char *start) | ^~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aic_priv_cmd.c:1614:5: warning: no previous prototype for ‘handle_private_cmd’ [-Wmissing-prototypes] 1614 | int handle_private_cmd(struct net_device *net, char *command, u32 cmd_len) | ^~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aic_priv_cmd.c:1730:6: warning: no previous prototype for ‘set_mon_chan’ [-Wmissing-prototypes] 1730 | void set_mon_chan(struct rwnx_vif *vif, char *parameter) | ^~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_compat_8800dc.c:2637:5: warning: no previous prototype for ‘aicwf_patch_var_config_8800dc’ [-Wmissing-prototypes] 2637 | int aicwf_patch_var_config_8800dc(struct rwnx_hw *rwnx_hw) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_compat_8800dc.c:3585:5: warning: no previous prototype for ‘set_bbpll_config’ [-Wmissing-prototypes] 3585 | int set_bbpll_config(struct rwnx_hw *rwnx_hw){ | ^~~~~~~~~~~~~~~~ CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_compat_8800d80x2.o /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_compat_8800d80.c:19:5: warning: no previous prototype for ‘aicwf_set_rf_config_8800d80’ [-Wmissing-prototypes] 19 | int aicwf_set_rf_config_8800d80(struct rwnx_hw *rwnx_hw, struct mm_set_rf_calib_cfm *cfm) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_compat_8800d80.c:39:9: warning: no previous prototype for ‘rwnx_plat_userconfig_load_8800d80’ [-Wmissing-prototypes] 39 | int rwnx_plat_userconfig_load_8800d80(struct rwnx_hw *rwnx_hw){ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_compat_8800d80.c: In function ‘rwnx_plat_userconfig_load_8800d80’: /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_compat_8800d80.c:57:13: warning: ‘sprintf’ argument 3 overlaps destination object ‘aic_fw_path’ [-Wrestrict] 57 | sprintf(aic_fw_path, «%s/%s», aic_fw_path, «aic8800D80»); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_compat_8800d80.c:11:13: note: destination object referenced by ‘restrict’-qualified argument 1 was declared here 11 | extern char aic_fw_path[200]; | ^~~~~~~~~~~ CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_radar.o CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_tcp_ack.o CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/usb_host.o /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_compat_8800d80x2.c:17:5: warning: no previous prototype for ‘aicwf_set_rf_config_8800d80x2’ [-Wmissing-prototypes] 17 | int aicwf_set_rf_config_8800d80x2(struct rwnx_hw *rwnx_hw, struct mm_set_rf_calib_cfm *cfm) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_compat_8800d80x2.c:37:9: warning: no previous prototype for ‘rwnx_plat_userconfig_load_8800d80x2’ [-Wmissing-prototypes] 37 | int rwnx_plat_userconfig_load_8800d80x2(struct rwnx_hw *rwnx_hw){ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_compat_8800d80x2.c: In function ‘rwnx_plat_userconfig_load_8800d80x2’: /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_compat_8800d80x2.c:43:5: warning: ‘sprintf’ argument 3 overlaps destination object ‘aic_fw_path’ [-Wrestrict] 43 | sprintf(aic_fw_path, «%s/%s», aic_fw_path, «aic8800D80X2»); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_compat_8800d80x2.c:8:13: note: destination object referenced by ‘restrict’-qualified argument 1 was declared here 8 | extern char aic_fw_path[200]; | ^~~~~~~~~~~ CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_txrxif.o /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_radar.c:904:22: warning: no previous prototype for ‘pri_detector_init’ [-Wmissing-prototypes] 904 | struct pri_detector *pri_detector_init(struct dfs_pattern_detector *dpd, | ^~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_radar.c:1073:6: warning: no previous prototype for ‘print_radar_detect_info’ [-Wmissing-prototypes] 1073 | void print_radar_detect_info(struct pri_detector *pde, struct pri_sequence *ps) | ^~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_tcp_ack.c:17:6: warning: no previous prototype for ‘intf_tcp_drop_msg’ [-Wmissing-prototypes] 17 | void intf_tcp_drop_msg(struct rwnx_hw *priv, | ^~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_tcp_ack.c:30:6: warning: no previous prototype for ‘tcp_ack_timeout’ [-Wmissing-prototypes] 30 | void tcp_ack_timeout(struct timer_list *t) | ^~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_tcp_ack.c:123:5: warning: no previous prototype for ‘tcp_check_quick_ack’ [-Wmissing-prototypes] 123 | int tcp_check_quick_ack(unsigned char *buf, | ^~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_tcp_ack.c:216:5: warning: no previous prototype for ‘tcp_check_ack’ [-Wmissing-prototypes] 216 | int tcp_check_ack(unsigned char *buf, | ^~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_tcp_ack.c:260:5: warning: no previous prototype for ‘tcp_ack_match’ [-Wmissing-prototypes] 260 | int tcp_ack_match(struct tcp_ack_manage *ack_m, | ^~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_tcp_ack.c:288:6: warning: no previous prototype for ‘tcp_ack_update’ [-Wmissing-prototypes] 288 | void tcp_ack_update(struct tcp_ack_manage *ack_m) | ^~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_tcp_ack.c:313:5: warning: no previous prototype for ‘tcp_ack_alloc_index’ [-Wmissing-prototypes] 313 | int tcp_ack_alloc_index(struct tcp_ack_manage *ack_m) | ^~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_tcp_ack.c:352:5: warning: no previous prototype for ‘tcp_ack_handle’ [-Wmissing-prototypes] 352 | int tcp_ack_handle(struct msg_buf *new_msgbuf, | ^~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_tcp_ack.c:447:5: warning: no previous prototype for ‘tcp_ack_handle_new’ [-Wmissing-prototypes] 447 | int tcp_ack_handle_new(struct msg_buf *new_msgbuf, | ^~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/usb_host.c:35:30: warning: no previous prototype for ‘aicwf_usb_host_txdesc_get’ [-Wmissing-prototypes] 35 | volatile struct txdesc_host *aicwf_usb_host_txdesc_get(struct usb_host_env_tag *env, const int queue_idx) | ^~~~~~~~~~~~~~~~~~~~~~~~~ CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_usb.o CC [M] /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_wext_linux.o /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_txrxif.c:1300:17: warning: no previous prototype for ‘rxbuff_queue_penq’ [-Wmissing-prototypes] 1300 | struct rx_buff *rxbuff_queue_penq(struct rx_frame_queue *pq, struct rx_buff *p) | ^~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_usb.c:158:6: warning: no previous prototype for ‘rwnx_stop_sta_all_queues’ [-Wmissing-prototypes] 158 | void rwnx_stop_sta_all_queues(struct rwnx_sta *sta, struct rwnx_hw *rwnx_hw) | ^~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_usb.c:168:6: warning: no previous prototype for ‘rwnx_wake_sta_all_queues’ [-Wmissing-prototypes] 168 | void rwnx_wake_sta_all_queues(struct rwnx_sta *sta, struct rwnx_hw *rwnx_hw) | ^~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_wext_linux.c: In function ‘aicwf_get_iwe_stream_mac_addr’: /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_wext_linux.c:403:25: warning: the comparison will always evaluate as ‘true’ for the address of ‘bssid’ will never be NULL [-Waddress] 403 | if(scan_re->bss && &scan_re->bss->bssid[0]){ | ^~ In file included from /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_defs.h:20, from /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/rwnx_msg_tx.h:16, from /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_wext_linux.c:10: ./include/net/cfg80211.h:2980:12: note: ‘bssid’ declared here 2980 | u8 bssid[ETH_ALEN]; | ^~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_wext_linux.c: At top level: /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_wext_linux.c:717:5: warning: no previous prototype for ‘aic_get_sec_ie’ [-Wmissing-prototypes] 717 | int aic_get_sec_ie(u8 *in_ie, uint in_len, u8 *rsn_ie, u16 *rsn_len, u8 *wpa_ie, u16 *wpa_len) | ^~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_usb.c:1964:6: warning: no previous prototype for ‘aicwf_usb_cancel_all_urbs’ [-Wmissing-prototypes] 1964 | void aicwf_usb_cancel_all_urbs(struct aic_usb_dev *usb_dev){ | ^~~~~~~~~~~~~~~~~~~~~~~~~ /home/igor/aic8800d80-wifi-driver/drivers/aic8800/aic8800_fdrv/aicwf_wext_linux.c:830:4: warning: no previous prototype for ‘aicwf_get_is_wps_ie’ [-Wmissing-prototypes] 830 | u8 aicwf_get_is_wps_ie(u8 *ie_ptr, uint *wps_ielen) | ^~~~~~~~~~~~~~~~~~~ '''

 

Posted (edited)
38 minutes ago, SteeMan said:

Have you installed armbian-firmware-full package?

 

I just tried it on a clean system. I didn't know about this package before. It didn't help me, even though it seemed to have the necessary drivers. But maybe they're for a different version of the adapter.

https://github.com/armbian/firmware/tree/master/aic8800/USB

Edited by Игорь Шаповалов

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines