arch使用create_ap创建wifi热点

本文详细介绍了如何在Sarchlinux环境下使用create_ap命令创建热点,包括命令参数说明、创建有密码和无密码热点的方法,以及通过systemctl实现后台运行和开机自启的步骤。

安装

yaourt -S archlinuxcn/create_ap
#或者:
yaourt -S aur/create_ap

终端下创建热点

首先执行ifconfig命令查看网卡端口
下面是我的:

ap0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ...................
enp4s0f2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 
        ...................
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        ...................
ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  
        ...................
wlp3s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ...................

解释:
ap0:是我用create_ap命令创建出来的ap
enp4s0f2:有线网卡
lo:暂时不清楚
ppp0:这个用ADSL上网的话就会出现
wlp3s0:无线网卡

当你没有使用create_ap创建ap时,ifconfig命令不会返回ap0,当你没有使用ADSL上网时(路由器LAN口直连)不会有ppp0

所以,如果你没有使用ADSL上网时(路由器LAN口直连):

创建一个名字是wifiName,密码是wifiPasswd的热点
sudo create_ap wlp3s0 enp4s0f2 wifiName wifiPasswd

如果你用的的ADSL上网的:

创建一个名字是wifiName,密码是wifiPasswd的热点
sudo create_ap wlp3s0 ppp0 wifiName wifiPasswd

如果你使用wifi上网的:

创建一个名字是wifiName,密码是wifiPasswd的热点
sudo create_ap wlp3s0 wlp3s0 wifiName wifiPasswd

创建没有密码的热点:

创建一个名字是wifiName,没有密码的热点
sudo create_ap wlp3s0 wlp3s0 wifiName

也就是不写密码就行了

上面几种方法根据自己的情况任选一种,创建好之后执行ifconfig命令就会发现多出来了一个ap0的接口信息

使用systemctl创建后台热点(服务)

安装create_ap时,会自动生成一个wifi.service文件到/usr/lib/systemd/system目录下
里面也是调用了create_ap命令来创建热点,可以打开这个文件,按需编辑,
编辑好内容之后,就可执行systemctl来启动创建热点的服务了:

#启动
systemctl start wifi.service
#停止
systemctl stop wifi.service

也可以开机自动运行:

#允许开机自动执行
systemctl enable wifi.service
#禁止开机自动执行
systemctl disable wifi.service

可以修改wifi.service文件为你想要的文件名,比如修改成create_ap.service,那么启动服务时的命令就要改成:

#启动
systemctl start create_ap.service
#停止
systemctl stop create_ap.service

开机自动启动同上

Created 'cdt-AP-AL02-C13_256M32_DDR4.bin' Created 'boot_cdt_array.c' nary created cdt_info_file location: /home/tp/workfile/be95/iplatform/board/model_qca_wifi7/sdk/12.1/qca-networking-2022-spf-12-1/common/build/ipq_x64/ipq9574/machid_xml/AP-AL02-C7_256M32_DDR4.xml Creating CDT binary ...CDT binary created cdt_info_file location: /home/tp/workfile/be95/iplatform/board/model_qca_wifi7/sdk/12.1/qca-networking-2022-spf-12-1/common/build/ipq_x64/ipq9574/machid_xml/AP-AL02-C15_256M32_DDR4.xml Creating CDT binary ...CDT binary created cdt_info_file location: /home/tp/workfile/be95/iplatform/board/model_qca_wifi7/sdk/12.1/qca-networking-2022-spf-12-1/common/build/ipq_x64/ipq9574/machid_xml/AP-AL03-C1_256M32_DDR3.xml Creating CDT binary ...CDT binary created cdt_info_file location: /home/tp/workfile/be95/iplatform/board/model_qca_wifi7/sdk/12.1/qca-networking-2022-spf-12-1/common/build/ipq_x64/ipq9574/machid_xml/AP-AL02-C16_256M32_DDR4.xml Creating CDT binary ...CDT binary created cdt_info_file location: /home/tp/workfile/be95/iplatform/board/model_qca_wifi7/sdk/12.1/qca-networking-2022-spf-12-1/common/build/ipq_x64/ipq9574/machid_xml/AP-AL02-C6_256M32_DDR4.xml Creating CDT binary ...CDT binary created cdt_info_file location: /home/tp/workfile/be95/iplatform/board/model_qca_wifi7/sdk/12.1/qca-networking-2022-spf-12-1/common/build/ipq_x64/ipq9574/machid_xml/AP-AL02-C3_256M32_DDR4.xml Creating CDT binary ...CDT binary created cdt_info_file location: /home/tp/workfile/be95/iplatform/board/model_qca_wifi7/sdk/12.1/qca-networking-2022-spf-12-1/common/build/ipq_x64/ipq9574/machid_xml/DB-AL01-C2_256M32_DDR3.xml Creating CDT binary ...CDT binary created cdt_info_file location: /home/tp/workfile/be95/iplatform/board/model_qca_wifi7/sdk/12.1/qca-networking-2022-spf-12-1/common/build/ipq_x64/ipq9574/machid_xml/AP-AL02-C4_256M32_DDR4.xml Creating CDT binary ...CDT binary created cdt_info_file location: /home/tp/workfile/be95/iplatform/board/model_qca_wifi7/sdk/12.1/qca-networking-2022-spf-12-1/common/build/ipq_x64/ipq9574/machid_xml/AP-AL02-C8_256M32_DDR4.xml Creating CDT binary ...CDT binary created cdt_info_file location: /home/tp/workfile/be95/iplatform/board/model_qca_wifi7/sdk/12.1/qca-networking-2022-spf-12-1/common/build/ipq_x64/ipq9574/machid_xml/DB-AL02-C2_1024M32_DDR4.xml Creating CDT binary ...CDT binary created cdt_info_file location: /home/tp/workfile/be95/iplatform/board/model_qca_wifi7/sdk/12.1/qca-networking-2022-spf-12-1/common/build/ipq_x64/ipq9574/machid_xml/AP-AL02-C10_256M32_DDR4.xml Creating CDT binary ...CDT binary created cdt_info_file location: /home/tp/workfile/be95/iplatform/board/model_qca_wifi7/sdk/12.1/qca-networking-2022-spf-12-1/common/build/ipq_x64/ipq9574/machid_xml/AP-AL02-C13_256M32_DDR4.xml Creating CDT binary ...CDT binary created Nand page size: 2048, pages/block: 64 Bootconfig dir: /home/tp/workfile/be95/iplatform/board/model_qca_wifi7/sdk/12.1/qca-networking-2022-spf-12-1/common/build/ipq_x64/ipq9574/bootconfig/ Creating raw partition ...Raw partition created Creating Nand bootconfig Traceback (most recent call last): File "/home/tp/workfile/be95/iplatform/board/model_qca_wifi7/sdk/12.1/qca-networking-2022-spf-12-1/common/build/ipq_x64/scripts/gen_bootconfig_bin.py", line 123, in <module> main() File "/home/tp/workfile/be95/iplatform/board/model_qca_wifi7/sdk/12.1/qca-networking-2022-spf-12-1/common/build/ipq_x64/scripts/gen_bootconfig_bin.py", line 118, in main if process_bootconfig(config_file) < 0: File "/home/tp/workfile/be95/iplatform/board/model_qca_wifi7/sdk/12.1/qca-networking-2022-spf-12-1/common/build/ipq_x64/scripts/gen_bootconfig_bin.py", line 90, in process_bootconfig ], cwd=outputdir) File "/usr/lib/python2.7/subprocess.py", line 394, in __init__ errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1047, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory Creating Bootconfig ERROR: unable to create bootconfig binary Executing: python ./ipq_x64/scripts/pack_hk.py --arch ipq9574_64 --fltype emmc --srcPath ./ipq_x64 --inImage ./ipq_x64 --outImage ./bin --multi_wifi_fw pack: error opening /home/tp/workfile/be95/iplatform/board/model_qca_wifi7/sdk/12.1/qca-networking-2022-spf-12-1/common/build/./ipq_x64/gpt_main2.bin: [Errno 2] No such file or directory: '/home/tp/workfile/be95/iplatform/board/model_qca_wifi7/sdk/12.1/qca-networking-2022-spf-12-1/common/build/./ipq_x64/gpt_main2.bin' python command returned error: 1 Image creation summary: Generation of 64 bit single ['nand-ipq9574_64-single.img', 'nand-4k-ipq9574_64-single.img'] Failed Generation of 64 bit single ['norplusnand-ipq9574_64-single.img', 'norplusnand-4k-ipq9574_64-single.img'] Failed Generation of 64 bit single emmc-ipq9574_64-single.img Failed Generation of 64 bit single norplusemmc-ipq9574_64-single.img Failed Generation of 64 bit single nor-ipq9574_64-single.img Failed Generation of 64 bit apps ['nand-ipq9574_64-apps.img', 'nand-4k-ipq9574_64-apps.img'] Failed Generation of 64 bit apps ['norplusemmc-ipq9574_64-apps.img', 'norplusnand-4k-ipq9574_64-apps.img'] Failed Generation of 64 bit apps emmc-ipq9574_64-apps.img Failed Generation of 64 bit apps norplusemmc-ipq9574_64-apps.img Failed Generation of 64 bit apps nor-ipq9574_64-apps.img Failed update_common_info.py:============ UPDATE COMMON INFO COMPLETE==================== #@cp /home/tp/workfile/be95/iplatform/board/model_qca_wifi7/build/../sdk/12.1/qca-networking-2022-spf-12-1/common/build/ipq_x64/ /home/tp/workfile/be95/iplatform/board/model_qca_wifi7/build/../image/be95_sp2/bin #@cp /home/tp/workfile/be95/iplatform/board/model_qca_wifi7/build/../sdk/12.1/qca-networking-2022-spf-12-1/common/build/ipq_x64/bt_fw_patch_squashfs.img /home/tp/workfile/be95/iplatform/board/model_qca_wifi7/build/../image/be95_sp2/bin #@cp /home/tp/workfile/be95/iplatform/board/model_qca_wifi7/build/../sdk/12.1/bin/targets/ipq95xx/generic/openwrt-ipq-ipq50xx_64-squashfs-root.img /home/tp/workfile/be95/iplatform/board/model_qca_wifi7/build/../image/be95_sp2/bin cp: 无法获取'/home/tp/workfile/be95/iplatform/board/model_qca_wifi7/build/../sdk/12.1/qca-networking-2022-spf-12-1/common/build/ipq_x64/nand-system-partition-ipq9574-qcn9224.bin' 的文件状态(stat): 没有那个文件或目录 Makefile:107: recipe for target '__prep_sdk_bin' failed make[1]: *** [__prep_sdk_bin] Error 1 make[1]: 离开目录“/home/tp/workfile/be95/iplatform/board/model_qca_wifi7/build” Makefile:246: recipe for target '__bin_target' failed make: *** [__bin_target] Error 2 怎么回事
10-24
`arch_counter_get_cntvct` 通常是与 ARM 架构定时器相关的函数。 ### 含义 在 ARM 架构中,`CNTVCT` 寄存器用于访问虚拟计数器(virtual counter)。对于不支持安全扩展和虚拟化扩展的系统,虚拟计数器和物理计数器的值是一样的。`arch_counter_get_cntvct` 函数的含义就是获取 `CNTVCT` 寄存器的值,也就是获取虚拟计数器的当前计数值 [^1]。 ### 作用 - **时间测量**:通过获取虚拟计数器的值,可以实现高精度的时间测量。例如,在代码中记录某个操作开始和结束时的 `CNTVCT` 值,通过计算差值可以得到该操作所消耗的时间。 - **定时任务**:在操作系统或应用程序中,根据 `CNTVCT` 的值来实现定时任务。比如,设定一个时间间隔,当 `CNTVCT` 的值达到某个特定值时触发相应的任务。 ### 使用方法 以下是一个简单的伪代码示例,展示了 `arch_counter_get_cntvct` 的使用方法: ```c #include <linux/kernel.h> #include <linux/init.h> #include <linux/module.h> // 假设这是 arch_counter_get_cntvct 函数的声明 u64 arch_counter_get_cntvct(void); static int __init arch_timer_example_init(void) { u64 start_value, end_value; // 获取操作开始时的计数器值 start_value = arch_counter_get_cntvct(); // 模拟一些操作 for (int i = 0; i < 1000000; i++) { // 这里可以是具体的操作代码 } // 获取操作结束时的计数器值 end_value = arch_counter_get_cntvct(); // 计算操作消耗的计数器差值 u64 elapsed = end_value - start_value; printk(KERN_INFO "Operation elapsed %llu counter ticks\n", elapsed); return 0; } static void __exit arch_timer_example_exit(void) { printk(KERN_INFO "Arch timer example module unloaded\n"); } module_init(arch_timer_example_init); module_exit(arch_timer_example_exit); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Your Name"); MODULE_DESCRIPTION("Example of using arch_counter_get_cntvct"); ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值