正在选中未选择的软件包 aic8800fdrvpackage。 (正在读取数据库 ... 系统当前共安装有 171571 个文件和目录。) 准备解压 aic8800fdrvpackage.deb ... Install aic8800 wifi driver!!!!! 正在解压 aic8800fdrvpackage (1.1.0) ... 正在设置 aic8800fdrvpackage (1.1.0) ... udev done device not exist cp fw done make -C /lib/modules/6.11.0-17-generic/build M=/AIC8800/drivers/aic8800 ARCH=x86_64 CROSS_COMPILE= modules make[1]: 警告: jobserver 不可用: 正使用 -j1。添加 “+” 到父 make 的规则。 make[1]: 进入目录“/usr/src/linux-headers-6.11.0-17-generic” warning: the compiler differs from the one used to build the kernel The kernel was built by: x86_64-linux-gnu-gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0 You are using: gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0 make[4]: 警告: 子 make 中强制 -j4: 重置 jobserver 模式。 CC [M] /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_wakelock.o CC [M] /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_msg_tx.o CC [M] /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_msg_rx.o CC [M] /AIC8800/drivers/aic8800/aic_load_fw/aic_bluetooth_main.o CC [M] /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_utils.o CC [M] /AIC8800/drivers/aic8800/aic_load_fw/aicbluetooth.o CC [M] /AIC8800/drivers/aic8800/aic_load_fw/aicwf_usb.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/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/aic_txrxif.o /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/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) | ^~~~~~~~~~~~~ /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/aic8800_fdrv/rwnx_cmds.o CC [M] /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_irqs.o CC [M] /AIC8800/drivers/aic8800/aic_load_fw/aicbluetooth_cmds.o CC [M] /AIC8800/drivers/aic8800/aic_load_fw/aic_compat_8800d80.o CC [M] /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_cfgfile.o CC [M] /AIC8800/drivers/aic8800/aic_load_fw/aic_compat_8800d80x2.o /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/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/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) | ^~~~~~~~~~~~~~~~~~~~ CC [M] /AIC8800/drivers/aic8800/aic_load_fw/aicwf_txq_prealloc.o CC [M] /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_tx.o CC [M] /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_txq.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) | ^~~~~~~~~~~~~~~~~~~~~~~ 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) | ^~~~~~~~~~~~~~ /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) | ^~~~~~~ In file included from ./include/linux/string.h:374, 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); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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:8990:6: note: declared here 8990 | 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) | ^~~~~~~~~~~~~~~~~~~~~~~ /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) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ CC [M] /AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_platform.o /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:9006:6: note: declared here 9006 | 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: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){ | ^~~~~~~~~~~~~~~ make[4]: *** [scripts/Makefile.build:244:/AIC8800/drivers/aic8800/aic8800_fdrv/rwnx_main.o] 错误 1 make[4]: *** 正在等待未完成的任务.... /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:485:/AIC8800/drivers/aic8800/aic8800_fdrv] 错误 2 make[2]: *** [/usr/src/linux-headers-6.11.0-17-generic/Makefile:1931:/AIC8800/drivers/aic8800] 错误 2 make[1]: *** [Makefile:224:__sub-make] 错误 2 make[1]: 离开目录“/usr/src/linux-headers-6.11.0-17-generic” make: *** [Makefile:64:modules] 错误 2 make failed, install aic8800 wifi drvier failed dpkg: 处理软件包 aic8800fdrvpackage (--install)时出错: 已安装 aic8800fdrvpackage 软件包 post-installation 脚本 子进程返回错误状态 1 在处理时有错误发生: aic8800fdrvpackage sudo dpkg -i linux-image-6.8.0-31-generic*.deb \ linux-headers-6.8.0-31-generic*.deb \ linux-modules-6.8.0-31-generic*.deb 安装完成后: sudo update-grub sudo reboot