前言

最近想使用F50随身wifi和rock5A做一个随时可以玩任天堂splatoon3的加速器热点. 已知F50可以和rock5A通过数据线共享网络

大概的思路

rock5A无线网卡的wifi热点->rock5A代理软件->F50->互联网

但是折腾了很久,我的rock5A的Ax210的网卡驱动一直有问题,日志里面提示ucode错误.我感觉官方的debian系统驱动没有armbian丰富. 为此,我决定迁移系统到Armbian,还买了一个radaxa官方的A8无线网卡.

需要的材料

  • 随身wifi F50

  • rock5A

  • radxa无线网卡A8

  • A to C数据线(连接F50和rock5A)

  • micro SD卡

  • emmc模块

  • 网线

  • 网线转type-C

  • SD卡读卡器

系统要求

旧的系统使用的是官方的debian12

新系统这里我使用的是Armbian_25.2.3_Rock-5a_noble_vendor_6.1.99.img.xz

新系统镜像下载地址https://armbian.lv.auroradev.org/dl/rock-5a/archive/

制作系统

前面的系统下载完成后,就可以制作系统了.我之前的系统在emmc上保存的,默认情况下sd卡的系统启动的优先级高于emmc. 我之前的系统在emmc上面,我的思路是在SD卡上创建新的系统,配置好系统后再使用dd命令,将sd卡的系统覆盖到emmc. 这里需要注意,sd卡的容量最好低于emmc的容量. 制作镜像我使用的是这个软件 image-20260115192916471

启动系统

将SD卡插入rock5A,然后使用网线连接到路由器,确保电脑和rock5a在同一个局域网.然后就可以登录路由器后台获取rock5a的ip,在电脑使用ssh连接开发版

Armbian的默认账户是 root,默认密码通常是 1234

换源

需要对两个文件进行换源

armbain

root@rock-5a:/etc/apt/sources.list.d# cat armbian.sources 
Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/armbian
Suites: noble
Components: main noble-utils noble-desktop
Signed-By: /usr/share/keyrings/armbian.gpg
root@rock-5a:/etc/apt/sources.list.d# 

ubuntu

root@rock-5a:/etc/apt/sources.list.d# cat armbian.sources 
Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/armbian
Suites: noble
Components: main noble-utils noble-desktop
Signed-By: /usr/share/keyrings/armbian.gpg
root@rock-5a:/etc/apt/sources.list.d# cat ubuntu.sources 
Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Types: deb-src
URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Types: deb-src
URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

设置ipv4转发

创建wifi热点需要开启转发功能

vim /etc/sysctl.conf

修改 net.ipv4.ip_forward=1 然后执行

sysctl -p

为有线网口设置静态ip

之前rock5A是通过网线连接路由器的,这里我为rock5A的有线网口设置静态ip 10.10.10.1,我的mac电脑设置为10.10.10.2,改成使用电脑有线连接到rock5A

root@rock-5a:/etc/netplan# cat 10-static-end1.yaml 
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    end1:
      addresses:
      - "10.10.10.1/24"
      nameservers:
        addresses:
        - 223.5.5.5
        - 8.8.4.4
      dhcp4: false
      dhcp6: false
      routes:
      - to: "default"
        via: "10.10.10.254"

设置权限

chmod 600 10-static-end1.yaml 然后执行netplan apply

设置nat规则

F50在rock5A的网卡接口是enxb8d4bc289f08,这里设置网络从F50出去

iptables -t nat -A POSTROUTING -o enxb8d4bc289f08 -j MASQUERADE

NAT规则持久化

apt update -y && apt install iptables-persistent
iptables-save > /etc/iptables/rules.v4

配置wifi热点

安装软件

sudo apt install dnsmasq hostapd

设置DHCP

用来给给接wifi热点的设备自动分配ip

编辑/etc/dnsmasq.conf

# 指定上游 DNS 服务器(可选,如果不想 dnsmasq 处理 DNS)
server=223.5.5.5

# 网络接口配置
interface=wlP4p65s0
bind-interfaces

# DHCP 配置
dhcp-range=192.168.100.100,192.168.100.200,12h
dhcp-option=option:router,192.168.100.1

# 关键修改:将 DNS 服务器指向系统 resolver 或其他 DNS
# 如果你的系统 resolver 在 192.168.100.1,保持不变
# 或者直接指向公共 DNS,例如:
dhcp-option=option:dns-server,223.5.5.5

# 禁用 dnsmasq 的 DNS 功能
port=0

# 日志配置
log-queries
log-dhcp

这里的wlP4p65s0为无线网卡的接口,请根据实际情况调整

配置wifi热点

执行

sudo systemctl unmask hostapd

然后编辑配置文件

root@rock-5a:~# cat /etc/hostapd/hostapd.conf
interface=wlP4p65s0
driver=nl80211
ssid=test
# 只有在国家代码设置正确时,某些频段才允许使用
country_code=CN
# 2.4GHz频段(5GHz AP模式当前不可用)
hw_mode=g
channel=10

# --- 开启 802.11n (关键修改) ---
ieee80211n=1
# 802.11ac仅支持5GHz,2.4GHz不支持
# ieee80211ac=1
# 尝试启用 WMM (多媒体支持,通常开启 N 模式需要)
wmm_enabled=1
# VHT信道宽度(仅用于5GHz)
# vht_oper_chwidth=1
# VHT中心频率段0(仅用于5GHz,2.4GHz不需要)
# vht_oper_centr_freq_seg0_idx=155

# --- 安全设置 (关键修改) ---
wpa=2
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
# 使用 CCMP (AES) 代替 TKIP
rsn_pairwise=CCMP
# 旧版配置兼容项 (通常写这一行或者上面的 rsn_pairwise)
wpa_pairwise=CCMP

ignore_broadcast_ssid=0

# --- 连接稳定性设置 ---
# 增加客户端不活动超时时间(秒),默认300秒,设置为600秒(10分钟)
ap_max_inactivity=600

# 禁用低ACK自动断开(防止因信号波动导致的断开)
disassoc_low_ack=0

# 最大客户端数量
max_num_sta=10

# 启用AP模式
ap_isolate=0

# 信标间隔(毫秒),默认100ms
beacon_int=100

# DTIM周期(信标间隔的倍数),默认2
dtim_period=2

# --- 防止接口关闭的设置 ---
# 确保hostapd控制接口
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0

# 禁用电源管理(防止WiFi自动关闭)
# 这个设置在驱动层面,需要通过iw命令设置

调整无线网卡的管理方式

禁止使用NetworkManager管理接口推荐使用配置文件

在 /etc/NetworkManager/conf.d/ 目录中创建一个 *.conf 文件,例如 /etc/NetworkManager/conf.d/99-unmanaged-devices.conf

要将特定接口配置为 unmanaged,文件内容如下

[device-wlP4p65s0-unmanaged]
match-device=interface-name:wlP4p65s0
managed=0

参考文档

https://docs.redhat.com/zh-cn/documentation/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/configuring-networkmanager-to-ignore-certain-devices_configuring-and-managing-networking

配置无线网卡ip

如果无线网卡没有ip,前面配置的DHCP服务会启动报错.这里我们配置一个服务,在DHCP和hostap启动前配置无线网卡的静态ip. 这里我设置的wifi热点的ip是192.168.100.1/24

编辑

/etc/systemd/system/hotspot-network.service

设置文件内容为

[Unit]
Description=Configure hotspot network interface
Before=dnsmasq.service
Before=hostapd.service

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStartPre=/usr/bin/ip addr replace 192.168.100.1/24 dev wlP4p65s0
ExecStart=/usr/bin/ip link set wlP4p65s0 up
ExecStop=/usr/bin/ip link set wlP4p65s0 down
ExecStopPost=/usr/bin/ip addr del 192.168.100.1/24 dev wlP4p65s0

[Install]
WantedBy=multi-user.target

设置wifi服务自启动

使用systemctl enable命令设置dnsmasq hostapd 以及hotspot-network服务的开机自启动,就能在开机的时候创建一个wifi名字为test密码为12345678的wifi热点了

如何设置代理

这里不再描述,后续也许开新贴

从SD卡迁移系统到EMMC

可以参考之前到文章

记录一次系统迁移