c中in6_addr地址和修改in6_addr地址


in6_addr的结构体:

struct in6_addr
{
    union
    {
        uint8_t __u6_addr8[16];   // 128 bit
        #if defined __USE_MISC || defined __USE_GNU
        uint16_t __u6_addr16[8];  // 64 bit
        uint32_t __u6_addr32[4];  // 32 bit
        #endif
    } __in6_u;
    #define s6_addr         __in6_u.__u6_addr8
    #if defined __USE_MISC || defined __USE_GNU
    # define s6_addr16      __in6_u.__u6_addr16
    # define s6_addr32      __in6_u.__u6_addr32
    #endif
};

结构体中的unit8_t,unit16_t,unit32_t这三个数据类型如下:

typedef unsigned char           uint8_t;  
typedef unsigned short int      uint16_t;  
#ifndef __uint32_t_defined  
typedef unsigned int            uint32_t;  
# define __uint32_t_defined  
#endif 

要想在程序中实现改变ipv6地址的功能,只需要改变in6_addr中u里面的__u6_addr8这个数组里面的内容。

ipv6的格式为X:X:X:X:X:X:X:X,其中每个X表示地址中的16b,以十六进制表示,例如:z的地址是ABCD:EF01:2345:6789:ABCD:EF01:2345:6789

__u6_addr8这个数组里面一共有16个元素,那么平均分配下来每两个元素表示一个X,也就是16b。

__u6_addr8[0]和__u6_addr8[1]代表z地址中第一个16位中的AB和CD。

__u6_addr8[2]和__u6_addr8[3]代表z地址中第二个16位中的EF和01。

__u6_addr8[4]和__u6_addr8[5]代表z地址中第三个16位中的23和45。

以此类推,__u6_addr8数组正好能够将所有的位数都表示。

因为是16进制,所以逢16进1。如果__u6_addr8[0] = 16,__u6_addr8[1] = 10,那么前16位就是:100a。

数组元素里面最大是255,因为两位16进制的数能够表示最大的数就是ff。


in6_addr p;
p.__in6_u.__u6_addr8[0] = 255;
p.__in6_u.__u6_addr8[1] = 255;
p.__in6_u.__u6_addr8[2] = 255;
p.__in6_u.__u6_addr8[3] = 0;
p.__in6_u.__u6_addr8[4] = 0;
p.__in6_u.__u6_addr8[5] = 255;
p.__in6_u.__u6_addr8[6] = 16;
p.__in6_u.__u6_addr8[7] = 1;
p.__in6_u.__u6_addr8[8] = 255;
p.__in6_u.__u6_addr8[9] = 17;
p.__in6_u.__u6_addr8[10] = 15;
p.__in6_u.__u6_addr8[11] = 255;
p.__in6_u.__u6_addr8[12] = 10;
p.__in6_u.__u6_addr8[13] = 10;
p.__in6_u.__u6_addr8[14] = 1;
p.__in6_u.__u6_addr8[15] = 10;

上面程序打印出来的结果就是:ffff:ff00:ff:1001:ff11:fff:a0a:10a

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
全志R16的tinav2.1下调通AP6181的步骤.txt 思路:由于tinav2.1的SDK在全志R16的开发板SC3817上是可以使用AP6212A0的WIFI功能的。 由此证明:SC3817的开发板的WIFI的硬件部分正常。我拿到的tinav2.1的SDK正常。 由于在驱动lichee,WIFI通过读取ID号自动加载固件的。 因此只需要把AP6181A2的固件放到AP6212的目录下,并适当修改配置文件/做出相应的修改。 就可以让tinav2.1在上电启动的时候,通过自动识别AP6181A2来加载其固件了。 1、使用AP6212原厂/代理商提供的固件在android4.4.2 parrotv1.1下调通AP6181: (如果没有这个文件,可以生成WLAN0节点,但是不能连网) R:\wyb\ap6181+ap6212a0_r16_tinav2.1\package\firmware\ap6212\config.txt (这个文件没用) R:\wyb\ap6181+ap6212a0_r16_tinav2.1\package\firmware\ap6212\device-bcm.mk R:\wyb\ap6181+ap6212a0_r16_tinav2.1\package\firmware\ap6212\fw_bcm40181a2.bin R:\wyb\ap6181+ap6212a0_r16_tinav2.1\package\firmware\ap6212\fw_bcm40181a2_apsta.bin R:\wyb\ap6181+ap6212a0_r16_tinav2.1\package\firmware\ap6212\fw_bcm40181a2_p2p.bin R:\wyb\ap6181+ap6212a0_r16_tinav2.1\package\firmware\ap6212\nvram_ap6181.txt 2、 R:\wyb\ap6181+ap6212a0_r16_tinav2.1\package\firmware\linux-firmware\broadcom.mk Package/ap6212-firmware = $(call Package/firmware-default,Broadcom AP6212 firmware) define Package/ap6212-firmware/install $(INSTALL_DIR) $(1)/lib/firmware $(INSTALL_DATA) \ $(TOPDIR)/package/firmware/ap6212/*.bin \ $(1)/lib/firmware/ $(INSTALL_DATA) \ $(TOPDIR)/package/firmware/ap6212/*.hcd \ $(1)/lib/firmware/ $(INSTALL_DATA) \ $(TOPDIR)/package/firmware/ap6212/nvram_ap6212.txt \ $(1)/lib/firmware/nvram.txt endef $(eval $(call BuildPackage,ap6212-firmware)) 修改为: Package/ap6212-firmware = $(call Package/firmware-default,Broadcom AP6212 firmware) define Package/ap6212-firmware/install $(INSTALL_DIR) $(1)/lib/firmware $(INSTALL_DATA) \ $(TOPDIR)/package/firmware/ap6212/*.bin \ $(1)/lib/firmware/ $(INSTALL_DATA) \ $(TOPDIR)/package/firmware/ap6212/*.hcd \ $(1)/lib/firmware/ $(INSTALL_DATA) \ $(TOPDIR)/package/firmware/ap6212/nvram_ap6181.txt \ $(1)/lib/firmware/nvram.txt $(INSTALL_DATA) \ $(TOPDIR)/package/firmware/ap6212/config.txt \ $(1)/lib/firmware/config.txt endef $(eval $(call BuildPackage,ap6212-firmware)) 3、 R:\wyb\ap6181+ap6212a0_r16_tinav2.1\target\allwinner\astar-parrot\configs\sys_config.fex [wakeup_src_para] cpu_en = 0 cpu_freq = 48 ; (cpu:apb:ahb) pll_ratio = 0x111 dram_selfresh_en= 1 dram_freq = 36 wakeup_src_wl = port:PL07<4><default><default><0> wakeup_src_bt = port:PL09<4><default><default><0> bb_wake_ap = port:PL02<4><default><default><0> 修改为: [wakeup_src_para] cpu_en = 0 cpu_freq = 48 ; (cpu:apb:ahb) pll_ratio = 0x111 dram_selfresh_en= 1 dram_freq = 36 ;wakeup_src_wl = port:PL07<4><default><default><0> wakeup_src_wl = port:PG09<4><default><default><0> ;wakeup_src_bt = port:PL09<4><default><default><0> bb_wake_ap = port:PL02<4><default><default><0> [rf_para] module_num = 10 module_power1 = "axp22_dldo1" module_power1_vol = 3300000 module_power2 = "axp22_dldo2" module_power2_vol = 3300000 module_power3 = "axp22_aldo1" module_power3_vol = 3300000 power_switch = chip_en = lpo_use_apclk = "losc_out" 修改为: [rf_para] module_num = 1 module_power1 = "axp22_dldo1" module_power1_vol = 3300000 module_power2 = "axp22_dldo2" module_power2_vol = 3300000 module_power3 = "axp22_aldo1" module_power3_vol = 3300000 power_switch = chip_en = lpo_use_apclk = "losc_out" [wifi_para] wifi_used = 1 wifi_sdc_id = 1 wifi_usbc_id = 1 wifi_usbc_type = 1 wl_reg_on = port:PL06<1><default><default><0> wl_host_wake = port:PL07<4><default><default><0> 修改为: [wifi_para] wifi_used = 1 wifi_sdc_id = 1 wifi_usbc_id = 1 wifi_usbc_type = 1 ;wl_reg_on = port:PL06<1><default><default><0> ;wl_host_wake = port:PL07<4><default><default><0> wl_reg_on = port:PG06<1><default><default><0> wl_host_wake = port:PG09<4><default><default><0> wl_host_wake_invert = 0 AP6181没有蓝牙功能,直接关闭。 [bt_para] bt_used = 0 ;bt_uart_id = 1 ;bt_rst_n = port:PL08<1><default><default><0> ;bt_wake = port:PL10<1><default><default><0> ;bt_host_wake = port:PL09<4><default><default><0> ;bt_host_wake_invert = 0 4、编译系统: rootroot@rootroot-E400:~/wyb/ap6181+ap6212a0_r16_tinav2.1$ source build/envsetup.sh including target/allwinner/tulip-d1/vendorsetup.sh including target/allwinner/azalea-evb/vendorsetup.sh including target/allwinner/octopus-sch/vendorsetup.sh including target/allwinner/astar-evb/vendorsetup.sh including target/allwinner/azalea-perf3/vendorsetup.sh including target/allwinner/azalea-perf2/vendorsetup.sh including target/allwinner/azalea-perf1/vendorsetup.sh including target/allwinner/astar-spk/vendorsetup.sh including target/allwinner/generic/vendorsetup.sh including target/allwinner/astar-parrot/vendorsetup.sh including target/allwinner/octopus-dev/vendorsetup.sh rootroot@rootroot-E400:~/wyb/ap6181+ap6212a0_r16_tinav2.1$ lunch You're building on Linux Lunch menu... pick a combo: 1. tulip_d1-tina 2. tulip_d1-dragonboard 3. azalea_evb-tina 4. azalea_evb-dragonboard 5. octopus_sch-tina 6. octopus_sch-dragonboard 7. astar_evb-tina 8. azalea_perf3-tina 9. azalea_perf3-dragonboard 10. azalea_perf2-tina 11. azalea_perf2-dragonboard 12. azalea_perf1-tina 13. azalea_perf1-dragonboard 14. astar_spk-tina 15. astar_spk-dragonboard 16. astar_parrot-tina 17. astar_parrot-dragonboard 18. octopus_dev-tina 19. octopus_dev-dragonboard Which would you like?16 ============================================ PLATFORM_VERSION_CODENAME=Neptune PLATFORM_VERSION=2.0.0 TARGET_PRODUCT=astar_parrot TARGET_BUILD_VARIANT=tina TARGET_BUILD_TYPE=release TARGET_BUILD_APPS= TARGET_ARCH=arm TARGET_ARCH_VARIANT=armv7-a-neon TARGET_CPU_VARIANT=cortex-a7 TARGET_2ND_ARCH= TARGET_2ND_ARCH_VARIANT= TARGET_2ND_CPU_VARIANT= HOST_ARCH=x86_64 HOST_OS=linux HOST_OS_EXTRA=Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty HOST_BUILD_TYPE=release BUILD_ID=57513AA3 OUT_DIR= ============================================ rootroot@rootroot-E400:~/wyb/ap6181+ap6212a0_r16_tinav2.1$ make -j8 rootroot@rootroot-E400:~/wyb/ap6181+ap6212a0_r16_tinav2.1$ pack -d 5、打开WIFI连接的应用程序: Tina wifimanager API_V2.0.pdf WIFI管理的API接口文档 rootroot@rootroot-E400:~/wyb/ap6181+ap6212a0_r16_tinav2.1$ make menuconfig Allwinner ---> -*- wifimanager............................................ Tina wifi manager ---> --- wifimanager............................................ Tina wifi manager (选) <*> wifimanager-demo...................................... Tina wifi app demo R:\wyb\ap6181+ap6212a0_r16_tinav2.1\package\allwinner\wifimanager\demo\wifi_on_off_test.c R:\wyb\ap6181+ap6212a0_r16_tinav2.1\package\allwinner\wifimanager\demo\wifi_connect_ap.cpp 编译之后,R16的TINAV2.1的系统的/bin会有: root@TinaLinux:/bin# ll w* lrwxrwxrwx 1 root root 13 Oct 19 14:22 wget -> uclient-fetch -rwxr-xr-x 1 root root 4102 Oct 19 14:12 wifi_connect_ap_test -rwxr-xr-x 1 root root 4102 Oct 19 14:12 wifi_on_off_test root@TinaLinux:/bin# /* *argc[1] ap ssid *argc[2] ap passwd */ int main(int argv, char *argc[]){ wifi_connect_ap.cpp的main函数嵌可以看见第一个参数为SSID,第二参数为密码,间用空格隔开即可。 WIFI连接之前: root@TinaLinux:/# ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:20 errors:0 dropped:0 overruns:0 frame:0 TX packets:20 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1572 (1.5 KiB) TX bytes:1572 (1.5 KiB) wlan0 Link encap:Ethernet HWaddr 94:A1:A2:C4:E3:12 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) root@TinaLinux:/# WIFI连接: root@TinaLinux:/bin# root@TinaLinux:/bin# ./wifi_connect_ap_test citybrand-2 citybrand200903 ********************************* ***Start wifi connect ap test!*** ********************************* event_label 0x0 WiFi on success! do cmd LIST_NETWORKS call event 0xf004 do cmd SCAN event_label 0x0 It has no wifi auto connect when wifi on! aw wifi connect state 0xf0 enter get_key_mgmt, ssid citybrand-2 scan stauts 1 do cmd SCAN_RESULTS ssid citybrand-2, flag [WPA2-PSK-CCMP][ESS] do cmd LIST_NETWORKS do cmd ADD_NETWORK do cmd SET_NETWORK 0 ssid "citybrand-2" do cmd SET_NETWORK 0 key_mgmt WPA-PSK do cmd SET_NETWORK 0 psk "citybrand200903" do cmd LIST_NETWORKS do cmd GET_NETWORK 0 priority do cmd SET_NETWORK 0 priority 1 do cmd SELECT_NETWORK 0 do cmd RECONNECT do cmd LIST_NETWORKS connecting id 0, connected id 0 Unknown HZ value! (-1) Assume 1241 ttyS0 15049-12:58:15 udhcpc_wlan0 Command failed: Not found Unknown HZ value! (-1) Assume 1241 ttyS0 15049-12:58:15 udhcpc_wlan0 do cmd SAVE_CONFIG do cmd LIST_NETWORKS do cmd ENABLE_NETWORK 0 do cmd SAVE_CONFIG wifi state busing,waiting vflag= 4 call event 0xf00b event_label 0x1 WiFi connected ap! ****************************** Wifi connect ap test: Success! ****************************** root@TinaLinux:/bin# root@TinaLinux:/bin# root@TinaLinux:/bin# ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:40 errors:0 dropped:0 overruns:0 frame:0 TX packets:40 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3116 (3.0 KiB) TX bytes:3116 (3.0 KiB) wlan0 Link encap:Ethernet HWaddr 94:A1:A2:C4:E3:12 inet addr:192.168.0.167 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:34 errors:0 dropped:0 overruns:0 frame:0 TX packets:25 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3084 (3.0 KiB) TX bytes:2516 (2.4 KiB) root@TinaLinux:/bin# root@TinaLinux:/bin# 6、R16的TINAV2.0平台的SSH连接 rootroot@rootroot-E400:~/wyb/ap6181+ap6212a0_r16_tinav2.1$ make menuconfig Base system ---> (选这里) <*> dropbear........................................ Small SSH2 client/server Configuration ---> [*] Curve25519 support (NEW) (这里不用选) [ ] Elliptic curve cryptography (ECC) (NEW) 7、再次编译系统打包刷机之后以SCP方式远程登陆R16的tinav2.1: rootroot@cm-System-Product-Name:/home/wwt/parrot_r16_tinav2.0$ make -j12 rootroot@cm-System-Product-Name:/home/wwt/parrot_r16_tinav2.0$ pack -d 在串口终端输入(必须设置root用户的密码): root@TinaLinux:/bin# root@TinaLinux:/bin# passwd Changing password for root New password: Bad password: too short Retype password: Password for root changed by root root@TinaLinux:/bin# root@TinaLinux:/bin# SSH连接工具使用:WinSCP_5.9.0.6786_Setup.exe 文件协议选择:SCP 主机名:192.168.0.167(根据你的R16的实际IP修改) 端口号:22 用户名:root 密码:root 点击 登陆 即可。 如果重新刷机,IP地址不变,但是RSA密码改变,选择 更新 即可。 8、在ubuntu14.04文版下通过SSH访问R16的tinav2.1: (注意刚登陆的地方是空的根目录) rootroot@rootroot-E400:~/wyb/ap6181+ap6212a0_r16_tinav2.1$ rootroot@rootroot-E400:~/wyb/ap6181+ap6212a0_r16_tinav2.1$ ssh [email protected] [email protected]'s password: BusyBox v1.24.1 () built-in shell (ash) _____ _ __ _ |_ _||_| ___ _ _ | | |_| ___ _ _ _ _ | | _ | || | | |__ | || || | ||_'_| | | | || | || _ | |_____||_||_|_||___||_,_| |_| |_||_|_||_|_| Tina is Based on OpenWrt! ---------------------------------------------- Tina Linux (Neptune, 57513AA3) ---------------------------------------------- root@TinaLinux:~# ll drwxr-xr-x 2 root root 3 Dec 22 20:11 . drwxr-xr-x 1 root root 1024 Dec 23 2016 .. root@TinaLinux:~# pwd /root root@TinaLinux:~# cd / root@TinaLinux:/# ll drwxr-xr-x 1 root root 1024 Dec 23 2016 . drwxr-xr-x 1 root root 1024 Dec 23 2016 .. drwxr-xr-x 2 root root 984 Dec 22 20:11 bin drwxrwxrwx 2 root root 16384 Jan 1 1970 boot drwxrwxrwx 2 root root 8192 Jan 1 1970 boot-res -rw-r--r-- 1 root root 441 Dec 23 2016 bt_config.xml drwxr-xr-x 9 root root 2900 Dec 23 2016 dev drwxr-xr-x 1 root root 1024 Dec 23 11:33 etc drwxr-xr-x 10 root root 661 Dec 22 19:38 lib drwx------ 2 root root 12288 Dec 23 2016 lost+found drwxr-xr-x 1 root root 1024 Dec 23 2016 mnt drwxr-xr-x 7 root root 1024 Dec 23 2016 overlay dr-xr-xr-x 88 root root 0 Jan 1 1970 proc drwxr-xr-x 16 root root 211 Dec 22 20:11 rom drwxr-xr-x 2 root root 3 Dec 22 20:11 root drwxr-xr-x 2 root root 689 Dec 22 20:11 sbin dr-xr-xr-x 12 root root 0 Dec 23 2016 sys drwxrwxrwt 9 root root 300 Dec 23 2016 tmp drwxr-xr-x 7 root root 101 Dec 22 19:50 usr lrwxrwxrwx 1 root root 4 Dec 22 20:11 var -> /tmp drwxr-xr-x 2 root root 3 Dec 22 20:11 www root@TinaLinux:/#
1B在全志r16平台tinav2.5系统下调通RTL8188FU 2018/5/11 14:49 版本:V1.0 开发板:客户提供 SDK:tina v2.5 1、01原始编译全志r16平台tinav2.5系统: rootroot@cm88:~$ cd /home/wwt rootroot@cm88:/home/wwt$ rootroot@cm88:/home/wwt$ md5sum tinav2.5_orig_r16repack_20171214_1114.tar.gz aa13de7313f393ca25375d9802a65da8 tinav2.5_orig_r16repack_20171214_1114.tar.gz rootroot@cm88:/home/wwt$ tar zxvf tinav2.5_orig_r16repack_20171214_1114.tar.gz rootroot@cm88:/home/wwt$ cd tinav2.5/ rootroot@cm88:/home/wwt/tinav2.5$ rootroot@cm88:/home/wwt/tinav2.5$ 7za x com_tinav2.5通用修改2没有外层目录_干掉AXP223的温度检测20180326_1023.7z -r -o./ rootroot@cm88:/home/wwt/tinav2.5$ source build/envsetup.sh (请严重注意:lunch之后的选项是环境依赖的,请选择astar_parrot-tina前的实际数值!) rootroot@cm88:/home/wwt/tinav2.5$ lunch 32. astar_parrot-tina Which would you like?32 rootroot@cm88:/home/wwt/tinav2.5$ make -j12 rootroot@cm88:/home/wwt/tinav2.5$ pack -d rootroot@cm88:/home/wwt/tinav2.5$ 2、 rootroot@cm88:/home/wwt/tinav2.5$ rootroot@cm88:/home/wwt/tinav2.5$ cd lichee/linux-3.4/drivers/net/wireless/ rootroot@cm88:/home/wwt/tinav2.5/lichee/linux-3.4/drivers/net/wireless$ rootroot@cm88:/home/wwt/tinav2.5/lichee/linux-3.4/drivers/net/wireless$ tar zxvf rtl8188FU_linux_v5.2.11.1_22924.20170703.tar.gz rootroot@cm88:/home/wwt/tinav2.5/lichee/linux-3.4/drivers/net/wireless$ rootroot@cm88:/home/wwt/tinav2.5/lichee/linux-3.4/drivers/net/wireless$ mv rtl8188FU_linux_v5.2.11.1_22924.20170703 rtl8188fu 维权之R16平台配置Makefile: W:\tinav2.5\lichee\linux-3.4\drivers\net\wireless\rtl8188fu\Makefile ########################## WIFI IC ############################ CONFIG_MULTIDRV = n (可选增加) CONFIG_RTL8192C = n CONFIG_RTL8192D = n CONFIG_RTL8723A = n CONFIG_RTL8188E = n CONFIG_RTL8812A = n CONFIG_RTL8821A = n CONFIG_RTL8192E = n CONFIG_RTL8723B = n CONFIG_RTL8814A = n CONFIG_RTL8723C = n CONFIG_RTL8188F = y CONFIG_RTL8822B = n CONFIG_RTL8723D = n CONFIG_RTL8821C = n ###################### Platform Related ####################### (务必修改,否则就是X86架构了) CONFIG_PLATFORM_I386_PC = n CONFIG_PLATFORM_ANDROID_X86 = n CONFIG_PLATFORM_ANDROID_INTEL_X86 = n CONFIG_PLATFORM_JB_X86 = n CONFIG_PLATFORM_ARM_S3C2K4 = n CONFIG_PLATFORM_ARM_PXA2XX = n CONFIG_PLATFORM_ARM_S3C6K4 = n CONFIG_PLATFORM_MIPS_RMI = n CONFIG_PLATFORM_RTD2880B = n CONFIG_PLATFORM_MIPS_AR9132 = n CONFIG_PLATFORM_RTK_DMP = n CONFIG_PLATFORM_MIPS_PLM = n CONFIG_PLATFORM_MSTAR389 = n CONFIG_PLATFORM_MT53XX = n CONFIG_PLATFORM_ARM_MX51_241H = n CONFIG_PLATFORM_FS_MX61 = n CONFIG_PLATFORM_ACTIONS_ATJ227X = n CONFIG_PLATFORM_TEGRA3_CARDHU = n CONFIG_PLATFORM_TEGRA4_DALMORE = n CONFIG_PLATFORM_ARM_TCC8900 = n CONFIG_PLATFORM_ARM_TCC8920 = n CONFIG_PLATFORM_ARM_TCC8920_JB42 = n CONFIG_PLATFORM_ARM_TCC8930_JB42 = n CONFIG_PLATFORM_ARM_RK2818 = n CONFIG_PLATFORM_ARM_RK3066 = n CONFIG_PLATFORM_ARM_RK3188 = n CONFIG_PLATFORM_ARM_URBETTER = n CONFIG_PLATFORM_ARM_TI_PANDA = n CONFIG_PLATFORM_MIPS_JZ4760 = n CONFIG_PLATFORM_DMP_PHILIPS = n (可选修改) CONFIG_PLATFORM_TI_DM365 = n CONFIG_PLATFORM_MSTAR_TITANIA12 = n CONFIG_PLATFORM_MSTAR = n CONFIG_PLATFORM_SZEBOOK = n CONFIG_PLATFORM_ARM_SUNxI = n CONFIG_PLATFORM_ARM_SUN6I = n CONFIG_PLATFORM_ARM_SUN7I = n CONFIG_PLATFORM_ARM_SUN8I_W3P1 = n (务必修改,配置为全志R16平台) CONFIG_PLATFORM_ARM_SUN8I_W5P1 = y W:\tinav2.5\lichee\linux-3.4\drivers\net\wireless\Kconfig source "drivers/net/wireless/ath/Kconfig" source "drivers/net/wireless/b43/Kconfig" source "drivers/net/wireless/b43legacy/Kconfig" source "drivers/net/wireless/bcmdhd/Kconfig" source "drivers/net/wireless/brcm80211/Kconfig" source "drivers/net/wireless/hostap/Kconfig" source "drivers/net/wireless/ipw2x00/Kconfig" source "drivers/net/wireless/iwlwifi/Kconfig" source "drivers/net/wireless/iwlegacy/Kconfig" source "drivers/net/wireless/iwmc3200wifi/Kconfig" source "drivers/net/wireless/libertas/Kconfig" source "drivers/net/wireless/orinoco/Kconfig" source "drivers/net/wireless/p54/Kconfig" source "drivers/net/wireless/rt2x00/Kconfig" source "drivers/net/wireless/rtlwifi/Kconfig" source "drivers/net/wireless/wl1251/Kconfig" source "drivers/net/wireless/wl12xx/Kconfig" source "drivers/net/wireless/zd1211rw/Kconfig" source "drivers/net/wireless/mwifiex/Kconfig" source "drivers/net/wireless/rtl8188eu/Kconfig" source "drivers/net/wireless/rtl8188fu/Kconfig" source "drivers/net/wireless/rtl8189es/Kconfig" source "drivers/net/wireless/rtl8723bs/Kconfig" source "drivers/net/wireless/esp8089/Kconfig" source "drivers/net/wireless/rtl8723bs_vq0/Kconfig" W:\tinav2.5\lichee\linux-3.4\drivers\net\wireless\Makefile obj-$(CONFIG_HOSTAP) += hostap/ obj-$(CONFIG_B43) += b43/ obj-$(CONFIG_B43LEGACY) += b43legacy/ obj-$(CONFIG_ZD1211RW) += zd1211rw/ obj-$(CONFIG_RTL8180) += rtl818x/ obj-$(CONFIG_RTL8187) += rtl818x/ obj-$(CONFIG_RTLWIFI) += rtlwifi/ obj-$(CONFIG_RTL8188EU) += rtl8188eu/ obj-$(CONFIG_RTL8188FU) += rtl8188fu/ obj-$(CONFIG_RTL8189ES) += rtl8189es/ obj-$(CONFIG_RTL8723BS) += rtl8723bs/ obj-$(CONFIG_ESP8089) += esp8089/ obj-$(CONFIG_ESP8089) += esp_prealloc/ obj-$(CONFIG_RTL8723BS_VQ0) += rtl8723bs_vq0/ 3、 W:\tinav2.5\package\firmware\linux-firmware\realtek.mk Package/r8188eu-firmware = $(call Package/firmware-default,RealTek RTL8188EU firmware) define Package/r8188eu-firmware/install $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi # #$(CP) \ # $(PKG_BUILD_DIR)/rtlwifi/rtl8188eufw.bin \ # $(1)/lib/firmware/rtlwifi endef $(eval $(call BuildPackage,r8188eu-firmware)) (RTL8188FU请直接参照RTL8188EU修改即可:) Package/r8188fu-firmware = $(call Package/firmware-default,RealTek RTL8188FU firmware) define Package/r8188fu-firmware/install $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi # #$(CP) \ # $(PKG_BUILD_DIR)/rtlwifi/rtl8188fufw.bin \ # $(1)/lib/firmware/rtlwifi endef $(eval $(call BuildPackage,r8188fu-firmware)) Package/r8723bs-firmware = $(call Package/firmware-default,RealTek RTL8723BS firmware) define Package/r8723bs-firmware/install $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi # #$(CP) \ # $(PKG_BUILD_DIR)/rtlwifi/rtl8188eufw.bin \ # $(1)/lib/firmware/rtlwifi endef $(eval $(call BuildPackage,r8723bs-firmware)) 4、 W:\tinav2.5\package\kernel\linux\modules\wireless.mk # # Copyright (C) 2006-2008 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # WIRELESS_MENU:=Wireless Drivers define KernelPackage/net-rtl8188eu SUBMENU:=$(WIRELESS_MENU) TITLE:=RTL8188EU support (staging) DEPENDS:=@USB_SUPPORT +@DRIVER_WEXT_SUPPORT +r8188eu-firmware +kmod-usb-core # KCONFIG:=\ # CONFIG_STAGING=y \ # CONFIG_R8188EU \ # CONFIG_88EU_AP_MODE=y \ # CONFIG_88EU_P2P=n FILES:=$(LINUX_DIR)/drivers/net/wireless/rtl8188eu/8188eu.ko AUTOLOAD:=$(call AutoProbe,8188eu) endef define KernelPackage/net-rtl8188eu/description Kernel modules for RealTek RTL8188EU support endef $(eval $(call KernelPackage,net-rtl8188eu)) (RTL8188FU请直接参照RTL8188EU修改即可:) define KernelPackage/net-rtl8188fu SUBMENU:=$(WIRELESS_MENU) TITLE:=RTL8188FU support (staging) DEPENDS:=@USB_SUPPORT +@DRIVER_WEXT_SUPPORT +r8188fu-firmware +kmod-usb-core # KCONFIG:=\ # CONFIG_STAGING=y \ # CONFIG_R8188FU \ # CONFIG_88FU_AP_MODE=y \ # CONFIG_88FU_P2P=n FILES:=$(LINUX_DIR)/drivers/net/wireless/rtl8188fu/8188fu.ko AUTOLOAD:=$(call AutoProbe,8188fu) endef define KernelPackage/net-rtl8188fu/description Kernel modules for RealTek RTL8188FU support endef $(eval $(call KernelPackage,net-rtl8188fu)) define KernelPackage/net-rtl8723bs SUBMENU:=$(WIRELESS_MENU) TITLE:=RTL8723BS support (staging) DEPENDS:=@USB_SUPPORT +@DRIVER_WEXT_SUPPORT +r8723bs-firmware # KCONFIG:=\ # CONFIG_STAGING=y \ # CONFIG_R8723BS \ # CONFIG_23BS_AP_MODE=y \ # CONFIG_23BS_P2P=n FILES:=$(LINUX_DIR)/drivers/net/wireless/rtl8723bs/8723bs.ko AUTOLOAD:=$(call AutoProbe,8723bs) endef define KernelPackage/net-rtl8723bs/description Kernel modules for RealTek RTL8723BS support endef $(eval $(call KernelPackage,net-rtl8723bs)) define KernelPackage/cfg80211 SUBMENU:=$(WIRELESS_MENU) TITLE:=cfg80211 support (staging) DEPENDS:= FILES:=$(LINUX_DIR)/net/wireless/cfg80211.ko AUTOLOAD:=$(call AutoProbe,cfg80211) endef define KernelPackage/cfg80211/description Kernel modules for CFG80211 support endef $(eval $(call KernelPackage,cfg80211)) 5、配置文件: W:\tinav2.5\target\allwinner\astar-parrot\configs\sys_config.fex ;---------------------------------------------------------------------------------- ;dcdc1_vol ---set dcdc1 voltage,mV,1600-3400,100mV/step ;dcdc2_vol ---set dcdc2 voltage,mV,600-1540,20mV/step ;dcdc3_vol ---set dcdc3 voltage,mV,600-1860,20mV/step ;dcdc4_vol ---set dcdc4 voltage,mV,600-1540,20mV/step ;dcdc5_vol ---set dcdc5 voltage,mV,1000-2550,50mV/step ;aldo2_vol ---set aldo2 voltage,mV,700-3300,100mV/step ;aldo3_vol ---set aldo3 voltage,mV,700-3300,100mV/step ;---------------------------------------------------------------------------------- [power_sply] dcdc1_vol = 3000 dcdc2_vol = 1100 dcdc3_vol = 1200 dcdc4_vol = 0 dcdc5_vol = 1500 aldo2_vol = 2500 aldo3_vol = 3000 dldo3_vol = 2800 ldoio1_vol = 3300 ldoio0_vol = 3300 eldo2_vol = 1800 eldo1_vol = 1800 ;---------------------------------------------------------------------------------- ;usb configuration ;usb_used: usb controller enable, 0-disable, 1-enable ;usb_port_type: usb mode: 0-device, 1-host, 2-otg ;usb_detect_type: usb hotplug detect mode, 0-none, 1-vbus/id detect, 2-id/dpdm detect ;usb_id_gpio: usb id detect IO ;usb_det_vbus_gpio: usb vbus detect IO, "axp_ctrl" for axp ;usb_drv_vbus_gpio: usb dirve vbus IO ;usb_restrict_gpio: usb current restrict IO ;usb_restric_flag: usb current restrict flag ;---------------------------------------------------------------------------------- [usbc0] usb_used = 1 usb_port_type = 0 ;-------------------------------------------------------------------------------- ;wifi/bt/fm/gps/nfc modules configuration ;module_num: ; 0- none ; 1- ap6181(wifi) ; 2- ap6210(wifi+bt) ; 3- rtl8188eu(wifi)/rtl8188fu(wifi) ; 4- rtl8723au(wifi+bt) ; 5- rtl8723bs(wifi+bt) ; 6- esp8089(wifi) ; 7- ap6476(wifi+bt+fm+gps) ; 8- ap6330(wifi+bt+fm) ; 9- gb9663(wifi+bt+fm) ; 10- ap6212(wifi+bt+fm) ;module_power1: ""- bat, "axp_dldo1"- axp dldo1 ;module_power1_vol: power1 voltage, mv; not used for module_power1 is "" ;module_power2: ""- bat, "axp_dldo2"- axp dldo2 ;module_power2_vol: power2 voltage, mv; not used for module_power2 is "" ;module_power3: ""- bat, "axp_dldo2"- axp dldo2 ;module_power3_vol: power3 voltage, mv; not used for module_power3 is "" ;power_switch: module power switch io when bat supply ;chip_en: enable chip io ;lpo_use_apclk: ""- not use, "losc_out"- a23/33, "ac10032k1"、"ac10032k2"、"ac10032k3"- a80/a83 ;-------------------------------------------------------------------------------- [rf_para] module_num = 3 module_power1 = "axp22_dldo1" module_power1_vol = 3300000 module_power2 = "axp22_dldo2" module_power2_vol = 3300000 module_power3 = "axp22_aldo1" module_power3_vol = 3300000 power_switch = chip_en = lpo_use_apclk = "losc_out" 6、这里需要断开一下SSH连接或者退出一下终端,因为修改了menuconfig的内容。貌似重新source都不行! rootroot@cm88:/home/wwt$ cd tinav2.5/ rootroot@cm88:/home/wwt/tinav2.5$ rootroot@cm88:/home/wwt/tinav2.5$ source build/envsetup.sh (请严重注意:lunch之后的选项是环境依赖的,请选择astar_parrot-tina前的实际数值!) rootroot@cm88:/home/wwt/tinav2.5$ lunch 32. astar_parrot-tina Which would you like?32 rootroot@cm88:/home/wwt/tinav2.5$ make kernel_menuconfig Device Drivers ---> [*] Network device support ---> [*] Wireless LAN ---> Broadcom FullMAC wireless cards support (/lib/firmware/fw_bcmdhd.bin) Firmware path (/lib/firmware/nvram.txt) NVRAM path Enable Chip Interface (SDIO bus interface support) ---> Interrupt type (Out-of-Band Interrupt) ---> Realtek 8188F USB WiFi (NEW) 修改为: Broadcom FullMAC wireless cards support Realtek 8188F USB WiFi 请严重注意,这里是有顺序的: rootroot@cm88:/home/wwt/tinav2.5$ make menuconfig Kernel modules ---> Wireless Drivers ---> kmod-cfg80211................................. cfg80211 support (staging) kmod-net-ap6212........................................... ap6212 support kmod-net-rtl8188eu........................... RTL8188EU support (staging) kmod-net-rtl8188fu........................... RTL8188FU support (staging) (NEW) kmod-net-rtl8723bs........................... RTL8723BS support (staging) 修改为: kmod-cfg80211................................. cfg80211 support (staging) kmod-net-ap6212........................................... ap6212 support kmod-net-rtl8188eu........................... RTL8188EU support (staging) kmod-net-rtl8188fu........................... RTL8188FU support (staging) kmod-net-rtl8723bs........................... RTL8723BS support (staging) Firmware ---> ap6212-firmware................................. Broadcom AP6212 firmware 修改为: ap6212-firmware................................. Broadcom AP6212 firmware ap6212_plus_ap6212a-firmware............. Broadcom compatibility firmware ap6212a-firmware............................... Broadcom AP6212A firmware ap6255-firmware................................. Broadcom AP6255 firmware ap6335-firmware................................. Broadcom AP6335 firmware ap6356s-firmware............................... Broadcom AP6356S firmware r8188eu-firmware.............................. RealTek RTL8188EU firmware -*- r8188fu-firmware.............................. RealTek RTL8188FU firmware r8723bs-firmware.............................. RealTek RTL8723BS firmware xr819-firmware..................................... Xradio xr819 firmware rootroot@cm88:/home/wwt/tinav2.5$ make -j12 CC [M] drivers/net/wireless/rtl8188fu/os_dep/linux/rtw_cfgvendor.o CC [M] drivers/net/wireless/rtl8188fu/os_dep/linux/wifi_regd.o CC [M] drivers/net/wireless/rtl8188fu/os_dep/linux/rtw_android.o CC [M] drivers/net/wireless/rtl8188fu/os_dep/linux/rtw_proc.o CC [M] drivers/net/wireless/rtl8188fu/os_dep/linux/ioctl_mp.o CC [M] drivers/net/wireless/rtl8188fu/hal/hal_intf.o CC [M] drivers/net/wireless/rtl8188fu/hal/hal_com.o CC [M] drivers/net/wireless/rtl8188fu/hal/hal_com_phycfg.o CC [M] drivers/net/wireless/rtl8188fu/hal/hal_phy.o CC [M] drivers/net/wireless/rtl8188fu/hal/hal_dm.o CC [M] drivers/net/wireless/rtl8188fu/hal/hal_btcoex_wifionly.o CC [M] drivers/net/wireless/rtl8188fu/hal/hal_btcoex.o CC [M] drivers/net/wireless/rtl8188fu/hal/hal_mp.o CC [M] drivers/net/wireless/rtl8188fu/hal/hal_mcc.o CC [M] drivers/net/wireless/rtl8188fu/hal/hal_hci/hal_usb.o CC [M] drivers/net/wireless/rtl8188fu/hal/led/hal_usb_led.o CC [M] drivers/net/wireless/rtl8188fu/hal/HalPwrSeqCmd.o CC [M] drivers/net/wireless/rtl8188fu/hal/rtl8188f/Hal8188FPwrSeq.o CC [M] drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_sreset.o CC [M] drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_hal_init.o CC [M] drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_phycfg.o CC [M] drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_rf6052.o CC [M] drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_dm.o CC [M] drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_rxdesc.o CC [M] drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_cmd.o CC [M] drivers/net/wireless/rtl8188fu/hal/rtl8188f/hal8188f_fw.o CC [M] drivers/net/wireless/rtl8188fu/hal/rtl8188f/usb/usb_halinit.o CC [M] drivers/net/wireless/rtl8188fu/hal/rtl8188f/usb/rtl8188fu_led.o CC [M] drivers/net/wireless/rtl8188fu/hal/rtl8188f/usb/rtl8188fu_xmit.o CC [M] drivers/net/wireless/rtl8188fu/hal/rtl8188f/usb/rtl8188fu_recv.o CC [M] drivers/net/wireless/rtl8188fu/hal/rtl8188f/usb/usb_ops.o CC [M] drivers/net/wireless/rtl8188fu/hal/efuse/rtl8188f/HalEfuseMask8188F_USB.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/phydm_debug.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/phydm_antdiv.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/phydm_antdect.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/phydm_interface.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/phydm_hwconfig.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/phydm.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/halphyrf_ce.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/phydm_dig.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/phydm_pathdiv.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/phydm_rainfo.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/phydm_dynamicbbpowersaving.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/phydm_powertracking_ce.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/phydm_dynamictxpower.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/phydm_adaptivity.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/phydm_cfotracking.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/phydm_noisemonitor.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/phydm_acs.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/phydm_beamforming.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/phydm_dfs.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/txbf/halcomtxbf.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/txbf/haltxbfinterface.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/txbf/phydm_hal_txbf_api.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/phydm_adc_sampling.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/phydm_kfree.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/phydm_ccx.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/phydm_psd.o CC [M] drivers/net/wireless/rtl8188fu/hal/btc/halbtc8723bwifionly.o CC [M] drivers/net/wireless/rtl8188fu/hal/btc/halbtc8822bwifionly.o CC [M] drivers/net/wireless/rtl8188fu/hal/btc/halbtc8821cwifionly.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/rtl8188f/halhwimg8188f_bb.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/rtl8188f/halhwimg8188f_mac.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/rtl8188f/halhwimg8188f_rf.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/rtl8188f/phydm_regconfig8188f.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/rtl8188f/halphyrf_8188f.o CC [M] drivers/net/wireless/rtl8188fu/hal/phydm/rtl8188f/phydm_rtl8188f.o CC [M] drivers/net/wireless/rtl8188fu/platform/platform_ops.o CC [M] drivers/net/wireless/rtl8188fu/platform/platform_ARM_SUNxI_usb.o CC [M] drivers/net/wireless/rtl8188fu/core/rtw_mp.o LD [M] drivers/net/wireless/rtl8188fu/8188fu.o drivers/net/wireless/rtl8188fu/core/rtw_security.o: In function `is_multicast_mac_addr': rtw_security.c:(.text+0x2048): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_security.o: In function `is_broadcast_mac_addr': rtw_security.c:(.text+0x2068): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_security.o: In function `is_zero_mac_addr': rtw_security.c:(.text+0x20ec): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/rtw_debug.o: In function `is_multicast_mac_addr': rtw_debug.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_debug.o: In function `is_broadcast_mac_addr': rtw_debug.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_debug.o: In function `is_zero_mac_addr': rtw_debug.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/rtw_io.o: In function `is_multicast_mac_addr': rtw_io.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_io.o: In function `is_broadcast_mac_addr': rtw_io.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_io.o: In function `is_zero_mac_addr': rtw_io.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/rtw_ioctl_query.o: In function `is_multicast_mac_addr': rtw_ioctl_query.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_ioctl_query.o: In function `is_broadcast_mac_addr': rtw_ioctl_query.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_ioctl_query.o: In function `is_zero_mac_addr': rtw_ioctl_query.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/rtw_ioctl_set.o: In function `is_multicast_mac_addr': rtw_ioctl_set.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_ioctl_set.o: In function `is_broadcast_mac_addr': rtw_ioctl_set.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_ioctl_set.o: In function `is_zero_mac_addr': rtw_ioctl_set.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/rtw_ieee80211.o: In function `is_multicast_mac_addr': rtw_ieee80211.c:(.text+0x58): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_ieee80211.o: In function `is_broadcast_mac_addr': rtw_ieee80211.c:(.text+0x78): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_ieee80211.o: In function `is_zero_mac_addr': rtw_ieee80211.c:(.text+0xfc): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/rtw_mlme.o: In function `is_multicast_mac_addr': rtw_mlme.c:(.text+0x3b4): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_mlme.o: In function `is_broadcast_mac_addr': rtw_mlme.c:(.text+0x3d4): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_mlme.o: In function `is_zero_mac_addr': rtw_mlme.c:(.text+0x458): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/rtw_mlme_ext.o: In function `is_multicast_mac_addr': rtw_mlme_ext.c:(.text+0x10bc): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_mlme_ext.o: In function `is_broadcast_mac_addr': rtw_mlme_ext.c:(.text+0x10dc): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_mlme_ext.o: In function `is_zero_mac_addr': rtw_mlme_ext.c:(.text+0x1160): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/rtw_mi.o: In function `is_multicast_mac_addr': rtw_mi.c:(.text+0x7f8): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_mi.o: In function `is_broadcast_mac_addr': rtw_mi.c:(.text+0x818): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_mi.o: In function `is_zero_mac_addr': rtw_mi.c:(.text+0x89c): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/rtw_wlan_util.o: In function `is_multicast_mac_addr': rtw_wlan_util.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_wlan_util.o: In function `is_broadcast_mac_addr': rtw_wlan_util.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_wlan_util.o: In function `is_zero_mac_addr': rtw_wlan_util.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/rtw_vht.o: In function `is_multicast_mac_addr': rtw_vht.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_vht.o: In function `is_broadcast_mac_addr': rtw_vht.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_vht.o: In function `is_zero_mac_addr': rtw_vht.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/rtw_pwrctrl.o: In function `is_multicast_mac_addr': rtw_pwrctrl.c:(.text+0xb4): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_pwrctrl.o: In function `is_broadcast_mac_addr': rtw_pwrctrl.c:(.text+0xd4): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_pwrctrl.o: In function `is_zero_mac_addr': rtw_pwrctrl.c:(.text+0x158): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/rtw_rf.o: In function `is_multicast_mac_addr': rtw_rf.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_rf.o: In function `is_broadcast_mac_addr': rtw_rf.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_rf.o: In function `is_zero_mac_addr': rtw_rf.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/rtw_recv.o: In function `is_multicast_mac_addr': rtw_recv.c:(.text+0x770): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_recv.o: In function `is_broadcast_mac_addr': rtw_recv.c:(.text+0x790): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_recv.o: In function `is_zero_mac_addr': rtw_recv.c:(.text+0x814): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/rtw_sta_mgt.o: In function `is_multicast_mac_addr': rtw_sta_mgt.c:(.text+0x50): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_sta_mgt.o: In function `is_broadcast_mac_addr': rtw_sta_mgt.c:(.text+0x70): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_sta_mgt.o: In function `is_zero_mac_addr': rtw_sta_mgt.c:(.text+0xf4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/rtw_ap.o: In function `is_multicast_mac_addr': rtw_ap.c:(.text+0x1bc): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_ap.o: In function `is_broadcast_mac_addr': rtw_ap.c:(.text+0x1dc): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_ap.o: In function `is_zero_mac_addr': rtw_ap.c:(.text+0x260): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/rtw_xmit.o: In function `is_multicast_mac_addr': rtw_xmit.c:(.text+0xa4): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_xmit.o: In function `is_broadcast_mac_addr': rtw_xmit.c:(.text+0xc4): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_xmit.o: In function `is_zero_mac_addr': rtw_xmit.c:(.text+0x148): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/rtw_p2p.o: In function `is_multicast_mac_addr': rtw_p2p.c:(.text+0x858): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_p2p.o: In function `is_broadcast_mac_addr': rtw_p2p.c:(.text+0x878): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_p2p.o: In function `is_zero_mac_addr': rtw_p2p.c:(.text+0x8fc): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/rtw_tdls.o: In function `is_multicast_mac_addr': rtw_tdls.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_tdls.o: In function `is_broadcast_mac_addr': rtw_tdls.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_tdls.o: In function `is_zero_mac_addr': rtw_tdls.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/rtw_br_ext.o: In function `is_multicast_mac_addr': rtw_br_ext.c:(.text+0x734): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_br_ext.o: In function `is_broadcast_mac_addr': rtw_br_ext.c:(.text+0x754): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_br_ext.o: In function `is_zero_mac_addr': rtw_br_ext.c:(.text+0x7d8): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/rtw_iol.o: In function `is_multicast_mac_addr': rtw_iol.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_iol.o: In function `is_broadcast_mac_addr': rtw_iol.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_iol.o: In function `is_zero_mac_addr': rtw_iol.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/rtw_sreset.o: In function `is_multicast_mac_addr': rtw_sreset.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_sreset.o: In function `is_broadcast_mac_addr': rtw_sreset.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_sreset.o: In function `is_zero_mac_addr': rtw_sreset.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/rtw_btcoex_wifionly.o: In function `is_multicast_mac_addr': rtw_btcoex_wifionly.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_btcoex_wifionly.o: In function `is_broadcast_mac_addr': rtw_btcoex_wifionly.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_btcoex_wifionly.o: In function `is_zero_mac_addr': rtw_btcoex_wifionly.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/rtw_beamforming.o: In function `is_multicast_mac_addr': rtw_beamforming.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_beamforming.o: In function `is_broadcast_mac_addr': rtw_beamforming.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_beamforming.o: In function `is_zero_mac_addr': rtw_beamforming.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/rtw_odm.o: In function `is_multicast_mac_addr': rtw_odm.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/rtw_odm.o: In function `is_broadcast_mac_addr': rtw_odm.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/rtw_odm.o: In function `is_zero_mac_addr': rtw_odm.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/core/efuse/rtw_efuse.o: In function `is_multicast_mac_addr': rtw_efuse.c:(.text+0xd8): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/core/efuse/rtw_efuse.o: In function `is_broadcast_mac_addr': rtw_efuse.c:(.text+0xf8): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/core/efuse/rtw_efuse.o: In function `is_zero_mac_addr': rtw_efuse.c:(.text+0x17c): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/os_dep/osdep_service.o: In function `is_multicast_mac_addr': osdep_service.c:(.text+0x178): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/os_dep/osdep_service.o: In function `is_broadcast_mac_addr': osdep_service.c:(.text+0x198): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/os_dep/osdep_service.o: In function `is_zero_mac_addr': osdep_service.c:(.text+0x21c): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/os_intfs.o: In function `is_multicast_mac_addr': os_intfs.c:(.text+0x6c4): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/os_intfs.o: In function `is_broadcast_mac_addr': os_intfs.c:(.text+0x6e4): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/os_intfs.o: In function `is_zero_mac_addr': os_intfs.c:(.text+0x768): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/usb_intf.o: In function `is_multicast_mac_addr': usb_intf.c:(.text+0x454): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/usb_intf.o: In function `is_broadcast_mac_addr': usb_intf.c:(.text+0x474): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/usb_intf.o: In function `is_zero_mac_addr': usb_intf.c:(.text+0x4f8): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/usb_ops_linux.o: In function `is_multicast_mac_addr': usb_ops_linux.c:(.text+0x5a8): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/usb_ops_linux.o: In function `is_broadcast_mac_addr': usb_ops_linux.c:(.text+0x5c8): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/usb_ops_linux.o: In function `is_zero_mac_addr': usb_ops_linux.c:(.text+0x64c): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/ioctl_linux.o: In function `is_multicast_mac_addr': ioctl_linux.c:(.text+0xa838): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/ioctl_linux.o: In function `is_broadcast_mac_addr': ioctl_linux.c:(.text+0xa858): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/ioctl_linux.o: In function `is_zero_mac_addr': ioctl_linux.c:(.text+0xa8dc): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/xmit_linux.o: In function `is_multicast_mac_addr': xmit_linux.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/xmit_linux.o: In function `is_broadcast_mac_addr': xmit_linux.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/xmit_linux.o: In function `is_zero_mac_addr': xmit_linux.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/mlme_linux.o: In function `is_multicast_mac_addr': mlme_linux.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/mlme_linux.o: In function `is_broadcast_mac_addr': mlme_linux.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/mlme_linux.o: In function `is_zero_mac_addr': mlme_linux.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/recv_linux.o: In function `is_multicast_mac_addr': recv_linux.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/recv_linux.o: In function `is_broadcast_mac_addr': recv_linux.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/recv_linux.o: In function `is_zero_mac_addr': recv_linux.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/ioctl_cfg80211.o: In function `is_multicast_mac_addr': ioctl_cfg80211.c:(.text+0x5144): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/ioctl_cfg80211.o: In function `is_broadcast_mac_addr': ioctl_cfg80211.c:(.text+0x5164): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/ioctl_cfg80211.o: In function `is_zero_mac_addr': ioctl_cfg80211.c:(.text+0x51e8): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/rtw_cfgvendor.o: In function `is_multicast_mac_addr': rtw_cfgvendor.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/rtw_cfgvendor.o: In function `is_broadcast_mac_addr': rtw_cfgvendor.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/rtw_cfgvendor.o: In function `is_zero_mac_addr': rtw_cfgvendor.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/wifi_regd.o: In function `is_multicast_mac_addr': wifi_regd.c:(.text+0x130): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/wifi_regd.o: In function `is_broadcast_mac_addr': wifi_regd.c:(.text+0x150): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/wifi_regd.o: In function `is_zero_mac_addr': wifi_regd.c:(.text+0x1d4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/rtw_android.o: In function `is_multicast_mac_addr': rtw_android.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/rtw_android.o: In function `is_broadcast_mac_addr': rtw_android.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/rtw_android.o: In function `is_zero_mac_addr': rtw_android.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/rtw_proc.o: In function `is_multicast_mac_addr': rtw_proc.c:(.text+0x4698): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/rtw_proc.o: In function `is_broadcast_mac_addr': rtw_proc.c:(.text+0x46b8): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/rtw_proc.o: In function `is_zero_mac_addr': rtw_proc.c:(.text+0x473c): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/ioctl_mp.o: In function `is_multicast_mac_addr': ioctl_mp.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/ioctl_mp.o: In function `is_broadcast_mac_addr': ioctl_mp.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/os_dep/linux/ioctl_mp.o: In function `is_zero_mac_addr': ioctl_mp.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/hal/hal_intf.o: In function `is_multicast_mac_addr': hal_intf.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/hal/hal_intf.o: In function `is_broadcast_mac_addr': hal_intf.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/hal/hal_intf.o: In function `is_zero_mac_addr': hal_intf.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/hal/hal_com.o: In function `is_multicast_mac_addr': hal_com.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/hal/hal_com.o: In function `is_broadcast_mac_addr': hal_com.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/hal/hal_com.o: In function `is_zero_mac_addr': hal_com.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/hal/hal_com_phycfg.o: In function `is_multicast_mac_addr': hal_com_phycfg.c:(.text+0x174): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/hal/hal_com_phycfg.o: In function `is_broadcast_mac_addr': hal_com_phycfg.c:(.text+0x194): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/hal/hal_com_phycfg.o: In function `is_zero_mac_addr': hal_com_phycfg.c:(.text+0x218): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/hal/hal_phy.o: In function `is_multicast_mac_addr': hal_phy.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/hal/hal_phy.o: In function `is_broadcast_mac_addr': hal_phy.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/hal/hal_phy.o: In function `is_zero_mac_addr': hal_phy.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/hal/hal_dm.o: In function `is_multicast_mac_addr': hal_dm.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/hal/hal_dm.o: In function `is_broadcast_mac_addr': hal_dm.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/hal/hal_dm.o: In function `is_zero_mac_addr': hal_dm.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/hal/hal_btcoex_wifionly.o: In function `is_multicast_mac_addr': hal_btcoex_wifionly.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/hal/hal_btcoex_wifionly.o: In function `is_broadcast_mac_addr': hal_btcoex_wifionly.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/hal/hal_btcoex_wifionly.o: In function `is_zero_mac_addr': hal_btcoex_wifionly.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/hal/hal_mp.o: In function `is_multicast_mac_addr': hal_mp.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/hal/hal_mp.o: In function `is_broadcast_mac_addr': hal_mp.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/hal/hal_mp.o: In function `is_zero_mac_addr': hal_mp.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/hal/hal_hci/hal_usb.o: In function `is_multicast_mac_addr': hal_usb.c:(.text+0x208): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/hal/hal_hci/hal_usb.o: In function `is_broadcast_mac_addr': hal_usb.c:(.text+0x228): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/hal/hal_hci/hal_usb.o: In function `is_zero_mac_addr': hal_usb.c:(.text+0x2ac): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/hal/led/hal_usb_led.o: In function `is_multicast_mac_addr': hal_usb_led.c:(.text+0x5c): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/hal/led/hal_usb_led.o: In function `is_broadcast_mac_addr': hal_usb_led.c:(.text+0x7c): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/hal/led/hal_usb_led.o: In function `is_zero_mac_addr': hal_usb_led.c:(.text+0x100): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/hal/HalPwrSeqCmd.o: In function `is_multicast_mac_addr': HalPwrSeqCmd.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/hal/HalPwrSeqCmd.o: In function `is_broadcast_mac_addr': HalPwrSeqCmd.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/hal/HalPwrSeqCmd.o: In function `is_zero_mac_addr': HalPwrSeqCmd.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/Hal8188FPwrSeq.o: In function `is_multicast_mac_addr': Hal8188FPwrSeq.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/Hal8188FPwrSeq.o: In function `is_broadcast_mac_addr': Hal8188FPwrSeq.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/Hal8188FPwrSeq.o: In function `is_zero_mac_addr': Hal8188FPwrSeq.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_sreset.o: In function `is_multicast_mac_addr': rtl8188f_sreset.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_sreset.o: In function `is_broadcast_mac_addr': rtl8188f_sreset.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_sreset.o: In function `is_zero_mac_addr': rtl8188f_sreset.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_hal_init.o: In function `is_multicast_mac_addr': rtl8188f_hal_init.c:(.text+0x1bec): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_hal_init.o: In function `is_broadcast_mac_addr': rtl8188f_hal_init.c:(.text+0x1c0c): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_hal_init.o: In function `is_zero_mac_addr': rtl8188f_hal_init.c:(.text+0x1c90): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_phycfg.o: In function `is_multicast_mac_addr': rtl8188f_phycfg.c:(.text+0x234): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_phycfg.o: In function `is_broadcast_mac_addr': rtl8188f_phycfg.c:(.text+0x254): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_phycfg.o: In function `is_zero_mac_addr': rtl8188f_phycfg.c:(.text+0x2d8): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_rf6052.o: In function `is_multicast_mac_addr': rtl8188f_rf6052.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_rf6052.o: In function `is_broadcast_mac_addr': rtl8188f_rf6052.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_rf6052.o: In function `is_zero_mac_addr': rtl8188f_rf6052.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_dm.o: In function `is_multicast_mac_addr': rtl8188f_dm.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_dm.o: In function `is_broadcast_mac_addr': rtl8188f_dm.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_dm.o: In function `is_zero_mac_addr': rtl8188f_dm.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_rxdesc.o: In function `is_multicast_mac_addr': rtl8188f_rxdesc.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_rxdesc.o: In function `is_broadcast_mac_addr': rtl8188f_rxdesc.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_rxdesc.o: In function `is_zero_mac_addr': rtl8188f_rxdesc.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_cmd.o: In function `is_multicast_mac_addr': rtl8188f_cmd.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_cmd.o: In function `is_broadcast_mac_addr': rtl8188f_cmd.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/rtl8188f_cmd.o: In function `is_zero_mac_addr': rtl8188f_cmd.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/hal8188f_fw.o: In function `is_multicast_mac_addr': hal8188f_fw.c:(.text+0x0): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/hal8188f_fw.o: In function `is_broadcast_mac_addr': hal8188f_fw.c:(.text+0x20): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/hal8188f_fw.o: In function `is_zero_mac_addr': hal8188f_fw.c:(.text+0xa4): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/usb/usb_halinit.o: In function `is_multicast_mac_addr': usb_halinit.c:(.text+0x73c): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/usb/usb_halinit.o: In function `is_broadcast_mac_addr': usb_halinit.c:(.text+0x75c): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/usb/usb_halinit.o: In function `is_zero_mac_addr': usb_halinit.c:(.text+0x7e0): multiple definition of `is_zero_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x298): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/usb/rtl8188fu_led.o: In function `is_multicast_mac_addr': rtl8188fu_led.c:(.text+0x84): multiple definition of `is_multicast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x1f4): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/usb/rtl8188fu_led.o: In function `is_broadcast_mac_addr': rtl8188fu_led.c:(.text+0xa4): multiple definition of `is_broadcast_mac_addr' drivers/net/wireless/rtl8188fu/core/rtw_cmd.o:rtw_cmd.c:(.text+0x214): first defined here drivers/net/wireless/rtl8188fu/hal/rtl8188f/usb/rtl8188fu_led.o: In function `is_zero_mac_addr': rtl8188fu_led.c:(.text+0x128): multiple definition of `is_zero_mac_addr' driver
inet_ntop() 函数能够将网络字节序的二进制IP地址转换为点分十进制格式的字符串IP地址。如果要将代码的inet_ntoa()函数改为inet_ntop()函数,需要修改以下几点: 1. 在头文件包含<arpa/inet.h>以使用inet_ntop()函数。 2. 将inet_ntoa(client_addr.sin_addr)替换为inet_ntop(AF_INET, &(client_addr.sin_addr), client_ip, INET_ADDRSTRLEN),其client_ip是存放字符串IP地址的缓冲区,INET_ADDRSTRLEN是缓冲区大小。 3. 在调用inet_ntop()函数之前,需要将client_ip缓冲区清空,以防止出现未知的字符。 下面是修改后的代码示例: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <arpa/inet.h> #include <sys/socket.h> #include <netinet/in.h> #define PORT 8080 int main(int argc, char const *argv[]) { int server_fd, new_socket, valread; struct sockaddr_in address; int opt = 1; int addrlen = sizeof(address); char buffer[1024] = {0}; char *hello = "Hello from server"; char client_ip[INET_ADDRSTRLEN]; // Creating socket file descriptor if ((server_fd = socket(AF_INET, SOCK_STREAM, 0)) == 0) { perror("socket failed"); exit(EXIT_FAILURE); } // Forcefully attaching socket to the port 8080 if (setsockopt(server_fd, SOL_SOCKET, SO_REUSEADDR | SO_REUSEPORT, &opt, sizeof(opt))) { perror("setsockopt"); exit(EXIT_FAILURE); } address.sin_family = AF_INET; address.sin_addr.s_addr = INADDR_ANY; address.sin_port = htons(PORT); // Forcefully attaching socket to the port 8080 if (bind(server_fd, (struct sockaddr *)&address, sizeof(address)) < 0) { perror("bind failed"); exit(EXIT_FAILURE); } if (listen(server_fd, 3) < 0) { perror("listen"); exit(EXIT_FAILURE); } if ((new_socket = accept(server_fd, (struct sockaddr *)&address, (socklen_t *)&addrlen)) < 0) { perror("accept"); exit(EXIT_FAILURE); } // Convert binary IP address to string IP address memset(client_ip, '\0', INET_ADDRSTRLEN); inet_ntop(AF_INET, &(address.sin_addr), client_ip, INET_ADDRSTRLEN); printf("Connection accepted from %s:%d\n", client_ip, ntohs(address.sin_port)); valread = read(new_socket, buffer, 1024); printf("%s\n", buffer); send(new_socket, hello, strlen(hello), 0); printf("Hello message sent\n"); return 0; } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值