Linux系统中,需要连接Wifi的同时,且开启热点…

注意:目前的两种方式,在deepin系统中都未生效。

  • 截止2024.06.01,官方仍然不支持

一、linux-wifi-hotspot

系统 Debian

参考: https://github.com/lakinduakash/linux-wifi-hotspot

步骤1: 安装

$ git clone https://github.com/lakinduakash/linux-wifi-hotspot
$ cd linux-wifi-hotspot

# build binaries
linux-wifi-hotspot $ make

# install
linux-wifi-hotspot $ sudo make install

步骤2: 运行

在应用程序菜单中搜索“Wifi热点”或使用终端启动GUI

$ wihotspot

# 如果在运行时,提示无障碍报错
$ NO_AT_BRIDGE=1 sudo wihotspot

注意: 如果你想要卸载linux-wifi-hotspot,那么请执行如下命令:

$ sudo make uninstall

二、终端命令方式

系统 Debian

参考: https://bbs.deepin.org/post/187033

步骤1: 检查网卡是否支持网络共享

$ iw phy # 终端输入

# 找到输出
    # ...
    valid interface combinations:
        * #{ managed } <= 1, #{ AP, P2P-client, P2P-GO } <= 1, #{ P2P-device } <= 1, total <= 3, #channels <= 2

# 注意,满足以下这些条件,才代表硬件支持网络共享:
# 1.managed数量2以上更好,至少是1
# 2.AP(即Access Point,热点)一定要有
# 3.channels至少是2

步骤2: 添加热点

  • 用桌面自带的网络管理,打开移动热点(此时,其他无线连接会被切断)
  • 添加一个无线网虚拟接口(interface)
$ iw dev # 终端输入: 查看目前有的interfaces
        # 这里应该有一个
        Interface <接口名>
                ...
                type AP
                ...
        # AP即为热点开启状态,如果是无线连接状态就是managed

终端输入,添加一个managed接口:

# 方式1
$ sudo iw dev <原有的那个接口名> interface add <自己起一个接口名,不要和原来的重复> type managed

# 方式2
$ sudo iw phy <设备名> interface add <自己起一个接口名,不要和原来的重复> type managed
# 设备名可以通过iw phy 查看,在第一行Wiphy后面,一般是phy0
lianpf@lianpf-PC:~$ iw phy
Wiphy phy0
        max # scan SSIDs: 20
...

步骤3: 断开热点并恢复原状

  • 方法1: 删除接口
    • 1.删除新建的interfacesudo iw dev <新建的接口名> del
    • 2.在桌面自带的网络管理断开热点重新连接无线网
  • 方法2: 直接重启系统即可

当前方法的原理:

  • 附: 为什么要先打开热点再添加接口?
    原理就是把一个网卡当成两个用。 因为我的设备只能同时使用一个managed接口,即便添加到两个managed接口也只能一个搜索wifi和开启热点(转换成AP状态),另一个是不可用状态。 因此如果你支持更多managed接口,就没有这个限制。(iw实际上允许AP状态的接口不转换回managed时关闭热点,看iw dev ap start那个超长的命令)
  • 附: 如何修改热点名(SSID)和密码?
    自带的控制中心可改

命令整合:

# 1.查看【当前】无线网虚拟接口
lianpf@lianpf-PC:~$ iw dev
phy#0
        Unnamed/non-netdev interface
                ...
        Interface wlp0s20f3
                ...
                type managed
                channel 52 (5260 MHz), width: 40 MHz, center1: 5270 MHz
                ...

# 2.桌面自带网关管理打开移动热点
# 3.查看【当前】无线网虚拟接口 - 已连接给热点
lianpf@lianpf-PC:~$ iw dev
phy#0
        Unnamed/non-netdev interface
                ...
        Interface wlp0s20f3 # 注意这里
                ...
                type AP # 注意类型
                ...
# 4.添加一个新的managed接口
$ sudo iw dev wlp0s20f3 interface add wlp5s0 type managed

参考


最后, 希望大家早日实现:成为编程高手的伟大梦想!
欢迎交流~

微信公众号

本文版权归原作者曜灵所有!未经允许,严禁转载!对非法转载者, 原作者保留采用法律手段追究的权利!
若需转载,请联系微信公众号:连先生有猫病,可获取作者联系方式!