TP官方有linux驱动 aic8800fdrvpackage.deb 就是死活安装不上,有大佬懂的吗?
以下是安装的报错信息
******@Thomas:$ ls
aic8800 aria2 aria2.sock qbt
*******@Thomas:$ cd aic8800
@Thomas:~/aic8800$ sudo dpkg -i aic8800fdrvpackage.deb
(Reading database ... 71044 files and directories currently installed.)
Preparing to unpack aic8800fdrvpackage.deb ...
Uninstall aic8800 wifi driver!!!!!
rmmod: ERROR: Module aic8800_fdrv is not currently loaded
rmmod: ERROR: Module aic_load_fw is not currently loaded
cd aic_load_fw/;make clean;cd ..
make[1]: warning: **server unavailable: using -j1. Add '+' to parent make rule.
make[1]: Entering directory '/AIC8800/drivers/aic8800/aic_load_fw'
rm -rf .o .ko .o. .mod. modules. Module. .a .o ..o. .mod .tmp .cache.mk .modules.order.cmd .Module.symvers.cmd
make[1]: Leaving directory '/AIC8800/drivers/aic8800/aic_load_fw'
cd aic8800_fdrv/;make clean;cd ..
make[1]: warning: **server unavailable: using -j1. Add '+' to parent make rule.
make[1]: Entering directory '/AIC8800/drivers/aic8800/aic8800_fdrv'
/bin/sh: 1: test: -lt: unexpected operator
rm -rf .o .ko .o. .mod. modules. Module. .a .o ..o. .mod .tmp .cache.mk .modules.order.cmd .Module.symvers.cmd
make[1]: Leaving directory '/AIC8800/drivers/aic8800/aic8800_fdrv'
rm -rf modules.order Module.symvers .modules.order.cmd .Module.symvers.cmd .tmp_versions/
rm -rfv /lib/modules/6.12.18-trim/kernel/drivers/net/wireless/aic8800/aic_load_fw.ko
rm -rfv /lib/modules/6.12.18-trim/kernel/drivers/net/wireless/aic8800/aic8800_fdrv.ko
/sbin/depmod -a 6.12.18-trim
rm .o wifi_test bt_test
rm: cannot remove '.o': No such file or directory
rm: cannot remove 'wifi_test': No such file or directory
rm: cannot remove 'bt_test': No such file or directory
make: *** [Makefile:19: clean] Error 1
Install aic8800 wifi driver!!!!!
Unpacking aic8800fdrvpackage (1.1.0) over (1.1.0) ...
Uninstall aic8800 wifi driver successful!!!!!
Setting up aic8800fdrvpackage (1.1.0) ...
udev done
device not exist
cp fw done
make -C /lib/modules/6.12.18-trim/build M=/AIC8800/drivers/aic8800 ARCH=x86_64 CROSS_COMPILE= modules
make[1]: warning: **server unavailable: using -j1. Add '+' to parent make rule.
make[1]: Entering directory '/usr/src/linux-headers-6.12.18-trim'
make[4]: warning: -j4 forced in makefile: resetting **server mode.
CC [M] /AIC8800/drivers/aic8800/aic_load_fw/aic_bluetooth_main.o
CC [M] /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_wakelock.o
CC [M] /AIC8800/drivers/aic8800/aic_load_fw/aicbluetooth.o
CC [M] /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_msg_tx.o
CC [M] /AIC8800/drivers/aic8800/aic_load_fw/aicwf_usb.o
CC [M] /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_msg_rx.o
CC [M] /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_utils.o
CC [M] /AIC8800/drivers/aic8800/aic_load_fw/aic_txrxif.o
/AIC8800/drivers/aic8800/aic_load_fw/aicwf_usb.c:1365:5: warning: no previous prototype for ‘aicfw_download_fw_8800’ [-Wmissing-prototypes]
1365 | int aicfw_download_fw_8800(struct aic_usb_dev *usb_dev){
| ^~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic_load_fw/aicwf_usb.c:1589:5: warning: no previous prototype for ‘aicfw_download_fw’ [-Wmissing-prototypes]
1589 | int aicfw_download_fw(struct aic_usb_dev *usb_dev)
| ^~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_msg_tx.c:170:18: warning: no previous prototype for ‘rwnx_cmd_malloc’ [-Wmissing-prototypes]
170 | struct rwnx_cmd *rwnx_cmd_malloc(void){
| ^~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_msg_tx.c:199:6: warning: no previous prototype for ‘rwnx_cmd_free’ [-Wmissing-prototypes]
199 | void rwnx_cmd_free(struct rwnx_cmd *cmd){
| ^~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_msg_tx.c:209:5: warning: no previous prototype for ‘rwnx_init_cmd_array’ [-Wmissing-prototypes]
209 | int rwnx_init_cmd_array(void){
| ^~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_msg_tx.c:224:6: warning: no previous prototype for ‘rwnx_free_cmd_array’ [-Wmissing-prototypes]
224 | void rwnx_free_cmd_array(void){
| ^~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic_load_fw/aicbluetooth.c:813:6: warning: no previous prototype for ‘get_fw_path’ [-Wmissing-prototypes]
813 | void get_fw_path(char* fw_path){
| ^~~~~~~~~~~
/AIC8800/drivers/aic8800/aic_load_fw/aicbluetooth.c:821:6: warning: no previous prototype for ‘set_testmode’ [-Wmissing-prototypes]
821 | void set_testmode(int val){
| ^~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic_load_fw/aicbluetooth.c:825:5: warning: no previous prototype for ‘get_testmode’ [-Wmissing-prototypes]
825 | int get_testmode(void){
| ^~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic_load_fw/aicbluetooth.c:829:5: warning: no previous prototype for ‘get_hardware_info’ [-Wmissing-prototypes]
829 | int get_hardware_info(void){
| ^~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic_load_fw/aicbluetooth.c:834:5: warning: no previous prototype for ‘get_adap_test’ [-Wmissing-prototypes]
834 | int get_adap_test(void){
| ^~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic_load_fw/aicbluetooth.c:849:6: warning: no previous prototype for ‘get_userconfig_xtal_cap’ [-Wmissing-prototypes]
849 | void get_userconfig_xtal_cap(xtal_cap_conf_t *xtal_cap)
| ^~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic_load_fw/aicbluetooth.c:862:6: warning: no previous prototype for ‘get_userconfig_txpwr_idx’ [-Wmissing-prototypes]
862 | void get_userconfig_txpwr_idx(txpwr_idx_conf_t *txpwr_idx){
| ^~~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic_load_fw/aicbluetooth.c:889:6: warning: no previous prototype for ‘get_userconfig_txpwr_ofst’ [-Wmissing-prototypes]
889 | void get_userconfig_txpwr_ofst(txpwr_ofst_conf_t *txpwr_ofst){
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic_load_fw/aicbluetooth.c:912:6: warning: no previous prototype for ‘rwnx_plat_userconfig_set_value’ [-Wmissing-prototypes]
912 | void rwnx_plat_userconfig_set_value(char *command, char *value){
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic_load_fw/aicbluetooth.c:960:6: warning: no previous prototype for ‘rwnx_plat_userconfig_parsing’ [-Wmissing-prototypes]
960 | void rwnx_plat_userconfig_parsing(char *buffer, int size){
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
CC [M] /AIC8800/drivers/aic8800/aic_load_fw/aicbluetooth_cmds.o
/AIC8800/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] /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_cmds.o
CC [M] /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_irqs.o
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_msg_rx.c:1583:6: warning: no previous prototype for ‘rwnx_rx_handle_msg’ [-Wmissing-prototypes]
1583 | void rwnx_rx_handle_msg(struct rwnx_hw *rwnx_hw, struct ipc_e2a_msg *msg)
| ^~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_msg_rx.c:1595:6: warning: no previous prototype for ‘rwnx_rx_handle_print’ [-Wmissing-prototypes]
1595 | void rwnx_rx_handle_print(struct rwnx_hw *rwnx_hw, u8 *msg, u32 len)
| ^~~~~~~~~~~~~~~~~~~~
CC [M] /AIC8800/drivers/aic8800/aic_load_fw/aic_compat_8800d80.o
CC [M] /AIC8800/drivers/aic8800/aic_load_fw/aic_compat_8800d80x2.o
CC [M] /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_cfgfile.o
CC [M] /AIC8800/drivers/aic8800/aic_load_fw/md5.o
/AIC8800/drivers/aic8800/aic_load_fw/aic_compat_8800d80.c:322:5: warning: no previous prototype for ‘aicbt_ext_patch_data_load’ [-Wmissing-prototypes]
322 | int aicbt_ext_patch_data_load(struct aic_usb_dev *usb_dev, struct aicbt_patch_info_t *patch_info)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
CC [M] /AIC8800/drivers/aic8800/aic_load_fw/aicwf_txq_prealloc.o
CC [M] /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_strs.o
CC [M] /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_rx.o
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_cmds.c:313:6: warning: no previous prototype for ‘cmd_mgr_task_process’ [-Wmissing-prototypes]
313 | void cmd_mgr_task_process(struct work_struct *work)
| ^~~~~~~~~~~~~~~~~~~~
/AIC8800/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)
| ^~~~~~~~~~~~~
/AIC8800/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] /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_tx.o
/AIC8800/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)
| ^~~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/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)
| ^~~~~~~~~~~~~~~~~~~~~~~
CC [M] /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_txq.o
LD [M] /AIC8800/drivers/aic8800/aic_load_fw/aic_load_fw.o
CC [M] /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.o
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_rx.c:309:6: warning: no previous prototype for ‘rwnx_rx_data_skb_resend’ [-Wmissing-prototypes]
309 | void rwnx_rx_data_skb_resend(struct rwnx_hw *rwnx_hw, struct rwnx_vif *rwnx_vif,
| ^~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_rx.c:1353:5: warning: no previous prototype for ‘reord_flush_tid’ [-Wmissing-prototypes]
1353 | int reord_flush_tid(struct aicwf_rx_priv *rx_priv, struct sk_buff *skb, u8 tid)
| ^~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_rx.c:1567:6: warning: no previous prototype for ‘reord_rxframes_process’ [-Wmissing-prototypes]
1567 | bool reord_rxframes_process(struct aicwf_rx_priv *rx_priv, struct reord_ctrl *preorder_ctrl, int bforced)
| ^~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_rx.c:1603:6: warning: no previous prototype for ‘reord_rxframes_ind’ [-Wmissing-prototypes]
1603 | void reord_rxframes_ind(struct aicwf_rx_priv *rx_priv,
| ^~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_rx.c:1687:5: warning: no previous prototype for ‘reord_process_unit’ [-Wmissing-prototypes]
1687 | int reord_process_unit(struct aicwf_rx_priv *rx_priv, struct sk_buff *skb, u16 seq_num, u8 tid, u8 forward)
| ^~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_rx.c:1890:6: warning: no previous prototype for ‘remove_sec_hdr_mgmt_frame’ [-Wmissing-prototypes]
1890 | void remove_sec_hdr_mgmt_frame(struct hw_rxhdr *hw_rxhdr,struct sk_buff *skb)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/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)
| ^~~~~~~~~~~~~~
In file included from ./include/linux/string.h:390,
from ./include/linux/dma-mapping.h:7,
from /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_rx.c:10:
In function ‘fortify_memcpy_chk’,
inlined from ‘rwnx_rx_add_rtap_hdr’ at /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_rx.c:1186:9,
inlined from ‘rwnx_rx_monitor’ at /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_rx.c:1226:5,
inlined from ‘rwnx_rxdataind_aicwf’ at /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_rx.c:2019: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);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_tx.c:1243:5: warning: no previous prototype for ‘intf_tx’ [-Wmissing-prototypes]
1243 | int intf_tx(struct rwnx_hw *priv,struct msg_buf *msg)
| ^~~~~~~
CC [M] /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_mod_params.o
CC [M] /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_mesh.o
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c:534:6: warning: no previous prototype for ‘rwnx_skb_align_8bytes’ [-Wmissing-prototypes]
534 | void rwnx_skb_align_8bytes(struct sk_buff *skb){
| ^~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c:601:6: warning: no previous prototype for ‘rwnx_frame_parser’ [-Wmissing-prototypes]
601 | void rwnx_frame_parser(char* tag, char* data, unsigned long len){
| ^~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c: In function ‘rwnx_csa_finish’:
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c:1077:17: error: too many arguments to function ‘cfg80211_ch_switch_notify’
1077 | cfg80211_ch_switch_notify(vif->ndev, &csa->chandef, 0, 0);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c:16:
./include/net/cfg80211.h:8993:6: note: declared here
8993 | void cfg80211_ch_switch_notify(struct net_device *dev,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c: At top level:
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c:1137:6: warning: no previous prototype for ‘rwnx_update_mesh_power_mode’ [-Wmissing-prototypes]
1137 | void rwnx_update_mesh_power_mode(struct rwnx_vif *vif)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_defs.h:32,
from /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c:25:
/AIC8800/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)
| ^~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c:1663:5: note: in expansion of macro ‘rwnx_select_queue’
1663 | u16 rwnx_select_queue(struct net_device *dev, struct sk_buff *skb,
| ^~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c:1956:6: warning: no previous prototype for ‘aicwf_p2p_alive_timeout’ [-Wmissing-prototypes]
1956 | void aicwf_p2p_alive_timeout(struct timer_list *t)
| ^~~~~~~~~~~~~~~~~~~~~~~
CC [M] /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_platform.o
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c:2482:5: warning: no previous prototype for ‘rwnx_send_check_p2p’ [-Wmissing-prototypes]
2482 | int rwnx_send_check_p2p(struct cfg80211_scan_request *param){
| ^~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c:3306:6: warning: no previous prototype for ‘apm_staloss_work_process’ [-Wmissing-prototypes]
3306 | void apm_staloss_work_process(struct work_struct *work)
| ^~~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c:3420:6: warning: no previous prototype for ‘apm_probe_sta_work_process’ [-Wmissing-prototypes]
3420 | void apm_probe_sta_work_process(struct work_struct *work)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c:3900:5: warning: no previous prototype for ‘rwnx_cfg80211_set_monitor_channel_’ [-Wmissing-prototypes]
3900 | int rwnx_cfg80211_set_monitor_channel_(struct wiphy *wiphy,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c:3910:5: warning: no previous prototype for ‘rwnx_cfg80211_probe_client’ [-Wmissing-prototypes]
3910 | int rwnx_cfg80211_probe_client(struct wiphy *wiphy, struct net_device *dev,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c:3947:6: warning: no previous prototype for ‘rwnx_cfg80211_mgmt_frame_register’ [-Wmissing-prototypes]
3947 | void rwnx_cfg80211_mgmt_frame_register(struct wiphy *wiphy,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c:4625:5: warning: no previous prototype for ‘rwnx_cfg80211_channel_switch’ [-Wmissing-prototypes]
4625 | int rwnx_cfg80211_channel_switch(struct wiphy *wiphy,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c: In function ‘rwnx_cfg80211_channel_switch’:
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c:4712:17: error: too many arguments to function ‘cfg80211_ch_switch_started_notify’
4712 | cfg80211_ch_switch_started_notify(dev, &csa->chandef, 0, params->count, false, 0);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/net/cfg80211.h:9009:6: note: declared here
9009 | void cfg80211_ch_switch_started_notify(struct net_device *dev,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c: At top level:
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c:4960:5: warning: no previous prototype for ‘rwnx_cfg80211_change_bss’ [-Wmissing-prototypes]
4960 | int rwnx_cfg80211_change_bss(struct wiphy *wiphy, struct net_device *dev,
| ^~~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c:5719:30: error: initialization of ‘int (*)(struct wiphy *, struct net_device *, struct cfg80211_chan_def *, u32, int)’ {aka ‘int (*)(struct wiphy *, struct net_device *, struct cfg80211_chan_def *, unsigned int, int)’} from incompatible pointer type ‘int (*)(struct wiphy *, struct net_device *, struct cfg80211_chan_def *, u32)’ {aka ‘int (*)(struct wiphy *, struct net_device *, struct cfg80211_chan_def *, unsigned int)’} [-Werror=incompatible-pointer-types]
5719 | .start_radar_detection = rwnx_cfg80211_start_radar_detection,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c:5719:30: note: (near initialization for ‘rwnx_cfg80211_ops.start_radar_detection’)
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c:7912:5: warning: no previous prototype for ‘rwnx_ic_system_init’ [-Wmissing-prototypes]
7912 | int rwnx_ic_system_init(struct rwnx_hw *rwnx_hw){
| ^~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c:7951:5: warning: no previous prototype for ‘rwnx_ic_rf_init’ [-Wmissing-prototypes]
7951 | int rwnx_ic_rf_init(struct rwnx_hw *rwnx_hw){
| ^~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.c:7990:6: warning: no previous prototype for ‘aic_ipc_setting’ [-Wmissing-prototypes]
7990 | void aic_ipc_setting(struct rwnx_vif *rwnx_vif){
| ^~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[4]: *** [scripts/Makefile.build:229: /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.o] Error 1
make[4]: *** Waiting for unfinished **s....
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_mod_params.c:268:6: warning: no previous prototype for ‘rwnx_get_countrycode_channels’ [-Wmissing-prototypes]
268 | void rwnx_get_countrycode_channels(struct wiphy *wiphy,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_mod_params.c:327:29: warning: no previous prototype for ‘getRegdomainFromRwnxDBIndex’ [-Wmissing-prototypes]
327 | struct ieee80211_regdomain *getRegdomainFromRwnxDBIndex(struct wiphy *wiphy,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_mod_params.c:347:29: warning: no previous prototype for ‘getRegdomainFromRwnxDB’ [-Wmissing-prototypes]
347 | struct ieee80211_regdomain *getRegdomainFromRwnxDB(struct wiphy *wiphy,
| ^~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_platform.c:542:5: warning: no previous prototype for ‘rwnx_request_firmware_common’ [-Wmissing-prototypes]
542 | int rwnx_request_firmware_common(struct rwnx_hw *rwnx_hw, u32** buffer, const char *filename)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_platform.c:553:6: warning: no previous prototype for ‘rwnx_release_firmware_common’ [-Wmissing-prototypes]
553 | void rwnx_release_firmware_common(u32** buffer)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_platform.c:570:5: warning: no previous prototype for ‘rwnx_plat_bin_fw_upload_2’ [-Wmissing-prototypes]
570 | int rwnx_plat_bin_fw_upload_2(struct rwnx_hw *rwnx_hw, u32 fw_addr,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_platform.c:1739:5: warning: no previous prototype for ‘rwnx_atoi2’ [-Wmissing-prototypes]
1739 | int rwnx_atoi2(char *value, int c_len)
| ^~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_platform.c:1766:5: warning: no previous prototype for ‘rwnx_atoi’ [-Wmissing-prototypes]
1766 | int rwnx_atoi(char *value)
| ^~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_platform.c:2101:6: warning: no previous prototype for ‘get_userconfig_xtal_cap’ [-Wmissing-prototypes]
2101 | void get_userconfig_xtal_cap(xtal_cap_conf_t *xtal_cap)
| ^~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_platform.c:2110:6: warning: no previous prototype for ‘rwnx_plat_nvram_set_value’ [-Wmissing-prototypes]
2110 | void rwnx_plat_nvram_set_value(char *command, char *value)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_platform.c:2412:6: warning: no previous prototype for ‘rwnx_plat_nvram_set_value_8800d80x2’ [-Wmissing-prototypes]
2412 | void rwnx_plat_nvram_set_value_8800d80x2(char *command, char *value)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_platform.c:2631:6: warning: no previous prototype for ‘rwnx_plat_userconfig_parsing_8800d80x2’ [-Wmissing-prototypes]
2631 | void rwnx_plat_userconfig_parsing_8800d80x2(char *buffer, int size)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘rwnx_plat_patch_load’,
inlined from ‘rwnx_platform_on’ at /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_platform.c:3263:11:
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_platform.c:1369:9: warning: ‘sprintf’ argument 3 overlaps destination object ‘aic_fw_path’ [-Wrestrict]
1369 | sprintf(aic_fw_path, "%s/%s", aic_fw_path, "aic8800DC");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_platform.c: In function ‘rwnx_platform_on’:
/AIC8800/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];
| ^~~~~~~~~~~
make[3]: *** [scripts/Makefile.build:478: /AIC8800/drivers/aic8800/aic8800_fdrv] Error 2
make[2]: *** [/usr/src/linux-headers-6.12.18-trim/Makefile:1932: /AIC8800/drivers/aic8800] Error 2
make[1]: *** [Makefile:224: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.12.18-trim'
make: *** [Makefile:64: modules] Error 2
make failed, install aic8800 wifi drvier failed
dpkg: error processing package aic8800fdrvpackage (--install):
installed aic8800fdrvpackage package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
aic8800fdrvpackage