手机网站 多html,com网站注册域名,佛山市住房和城乡建设局网站,安卓做网站教程1、在/etc/config/wireless文件添加多个WIFI网卡的方法。 2、修改WIFI驱动#xff0c;在src/embedded/ap/ap.c文件里面#xff0c;从系统文件信息来修改ra1网卡的MAC内容#xff0c;添加红色部分源代码。 RTMP_IO_WRITE32(pAd, RMAC_RMACDR, Value); if (idx 0) …
1、在/etc/config/wireless文件添加多个WIFI网卡的方法。 2、修改WIFI驱动在src/embedded/ap/ap.c文件里面从系统文件信息来修改ra1网卡的MAC内容添加红色部分源代码。 RTMP_IO_WRITE32(pAd, RMAC_RMACDR, Value); if (idx 0) { struct file *file; file filp_open(/etc/mac.bin, O_RDONLY, 0); if (IS_ERR(file)) { /* MT7603, bit1 in byte0 shall always be b1 for Multiple BSSID */ wdev-if_addr[0] | 0x2; switch (MacByte) { case 0x1: /* choose bit[23:20]*/ wdev-if_addr[2] wdev-if_addr[2] MacMask;//clear high 4 bits, wdev-if_addr[2] (wdev-if_addr[2] | (idx 4)); break; case 0x2: /* choose bit[31:28]*/ wdev-if_addr[3] wdev-if_addr[3] MacMask;//clear high 4 bits, wdev-if_addr[3] (wdev-if_addr[3] | (idx 4)); break; case 0x3: /* choose bit[39:36]*/ wdev-if_addr[4] wdev-if_addr[4] MacMask;//clear high 4 bits, wdev-if_addr[4] (wdev-if_addr[4] | (idx 4)); break; case 0x4: /* choose bit [47:44]*/ wdev-if_addr[5] wdev-if_addr[5] MacMask;//clear high 4 bits, wdev-if_addr[5] (wdev-if_addr[5] | (idx 4)); break; default: /* choose bit[15:12]*/ wdev-if_addr[1] wdev-if_addr[1] MacMask;//clear high 4 bits, wdev-if_addr[1] (wdev-if_addr[1] | (idx 4)); break; } } else { unsigned char buf[8]{0}; if (kernel_read(file, 0, buf, 8) 0) { wdev-if_addr[0] buf[0] ; wdev-if_addr[1] buf[1]; wdev-if_addr[2] buf[2]; wdev-if_addr[3] buf[3]; wdev-if_addr[4] buf[4] ; wdev-if_addr[5] buf[5]; printk(%d.mac-addr%x:%x:%x:%x:%x:%x\n,idx,buf[0],buf[1],buf[2],buf[3],buf[4],buf[5]); } } } } 3、开发应用程序用于写MAC信息到文件里面。
libraSVN:~/openwrt_mtk_4G/ra1_MAC$ cat Write_MAC.c #include sys/stat.h #include fcntl.h #include errno.h #include netdb.h #include sys/types.h #include arpa/inet.h
#include stdio.h #include string.h #include stdlib.h #include unistd.h
#define MAC_ADDR_DATA /etc/mac.bin
int main() { unsigned char mac_addr[8]{0}; FILE *outfileNULL; int rc0; printf(Please enter the MAC data(0x20 0x15 0x12 0x07 0x00 0x00):\n); scanf(%x%x%x%x%x%x,mac_addr[0],mac_addr[1],mac_addr[2],mac_addr[3],mac_addr[4],mac_addr[5]); outfile fopen(MAC_ADDR_DATA, wb ); if( outfile NULL) { printf(fopen %s, %s\n,MAC_ADDR_DATA,not exit/n); return -1; } fseek(outfile,0x0,SEEK_SET); rcfwrite(mac_addr, 1, 6, outfile ); fclose(outfile); printf(The starting position of MAC is:%x:%x:%x:%x:%x:%x\n,mac_addr[0],mac_addr[1],mac_addr[2],mac_addr[3],mac_addr[4],mac_addr[5]); return rc; } libraSVN:~/openwrt_mtk_4G/ra1_MAC$ cat make.sh rm -rf Write_MAC /home/libra/openwrt_mtk_4G/openwrt-sdk/staging_dir/toolchain-mipsel_24kecdsp_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mipsel-openwrt-linux-gcc Write_MAC.c -o Write_MAC libraSVN:~/openwrt_mtk_4G/ra1_MAC$