【Linux应用】开发板USB共享网络,网线或USB以太网共享网络(局域网连接PC和开发板,实现PC给开发板共享网络,USB通过NDIS驱动共享)
文章目录
- USB共享网络配置(每次插拔USB可能都需要重新配置)
- 连接PC和开发板
- 开发板网络验证
- 开发板静态IP配置
- 网线或USB以太网共享网络(网口没变则不需要重新配置)
- [附录:开发板快速上手:镜像烧录、串口shell、外设挂载、WiFi配置、SSH连接、文件交互(RADXA ZERO 3为例)](#附录:开发板快速上手:镜像烧录、串口shell、外设挂载、WiFi配置、SSH连接、文件交互(RADXA ZERO 3为例))
USB共享网络配置(每次插拔USB可能都需要重新配置)
PC通过USB给开发板共享网络 实际上与手机开启USB热点类似
需要微软的NDIS服务
同时开发板的USB需要是支持OTG口的USB
插上OTG USB后 设备管理器里会出现NDIS设备(要么未识别 要么安装过其他NDIS驱动的话 就会显示成别的NDIS)
点击更新驱动
手动安装
如果这里没显示 远程 NDIS 兼容设备 则取消显示兼容硬件勾选
然后找到微软厂商下的远程 NDIS 兼容设备
在网络适配器中就会看到NDIS网卡
连接PC和开发板
现在有两种方法实现PC和开发板共享
方法一
一个是设置以太网4的静态IP 并且最后一位改成1 比如192.168.1.1
然后将开发板的USB网卡设置为静态IP 放在192.168.1.1网关下
譬如:
powershell
# 设置IP地址和子网掩码
netsh interface ip set address "以太网" static 192.168.1.1 255.255.255.0
bash
# 临时设置(重启失效)
sudo ifconfig eth0 192.168.1.2 netmask 255.255.255.0
# 永久设置(Ubuntu系统)
sudo nano /etc/netplan/01-netcfg.yaml
bash
network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses: [192.168.1.2/24]
或者在PC上 通过启用ICS自动分配IP进行连接共享
powershell
# 启用 Internet 连接共享 (ICS)
netsh interface ip set address "以太网" static 192.168.1.1 255.255.255.0
netsh interface ip set dnsservers "以太网" static 8.8.8.8
netsh interface ip set winservers "以太网" static 1.1.1.1
# 2. 启用ICS核心功能(关键步骤)
netsh routing ip nat install
netsh routing ip nat add interface "以太网" full
# 以下可选:
# 安装DHCP服务(Windows专业版/企业版)
Add-WindowsFeature DHCP
# 创建作用域
Add-DhcpServerv4Scope -Name "DevBoard" -StartRange 192.168.1.100 -EndRange 192.168.1.200 -SubnetMask 255.255.255.0
# 绑定到以太网适配器
$adapter = Get-NetAdapter -Name "以太网"
Set-DhcpServerv4Binding -BindingState $true -InterfaceIndex $adapter.ifIndex
这样就能实现局域网连接 但是开发板无法上外网
方法二
该方法较为简单 也是我推荐的方法
选择一个网卡(例如要共享的WLAN网卡 没有其他的网卡则虚拟创建一个网卡)
右键属性共享:
选择到要共享过去的网卡即可
那么该网口就会变成192.167.137.1的IP 并能够给下面的设备自动分配IP
开发板网络验证
通过ip a
命令可以看到是否有分配到IP
如果没有 则需要使用命令sudo dhclient usb0
来进行连接

这里的命令也可以改成 eth0 也就是开发板的以太网接口(或者USB转以太网)
如果报错 那就是没连接上
开发板静态IP配置
通过命令和写入文件可以设置静态IP
bash
# 临时设置(重启失效)
sudo ifconfig eth0 192.168.1.2 netmask 255.255.255.0
# 永久设置(Ubuntu系统)
sudo nano /etc/netplan/01-netcfg.yaml
bash
network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses: [192.168.1.2/24]
同样 如果使用的是usb0 那么需要更改为usb0
网线或USB以太网共享网络(网口没变则不需要重新配置)
这里就是直接插网线 或者USB转网线的方式进行共享
插上PC以后 会直接显示出以太网网卡
然后进行 连接PC和开发板 即可
这里的USB 可以使用任意USB都可 只需要接一个USB转网口设备即可
附录:开发板快速上手:镜像烧录、串口shell、外设挂载、WiFi配置、SSH连接、文件交互(RADXA ZERO 3为例)
开发板快速上手:镜像烧录、串口shell、外设挂载、WiFi配置、SSH连接、文件交互(RADXA ZERO 3为例)
ZERO 3烧录
ZERO 3有两种 最本质的就是一个带WiFi一个不带WiFi
ZERO 3作为一个Linux板 其存储支持从sd卡EFI启动
系统安装则直接通过Balena Etcher来进行
可以使用其Windows版本即可
官方文档:
官方文档快速上手描述
镜像下载则也可以使用官方镜像:
Radxa ZERO 3 Debian Build 6
该镜像是最初的镜像 很多依赖都没有
如果开发的话 可以直接下载第三方镜像 或者自己在原有官方镜像上去安装镜像包等等
烧录很简单 直接用工具选择U盘 选择镜像即可
下图为烧录好了的sd卡
除了系统分区外 就是一个config分区 其挂载根根目录名称即为config

ZERO 3串口shell
串口与ZERO 3链接如下图:
链接后 配置串口为
c
baudrate: 1500000
data bit: 8
stop bit: 1
parity : none
flow control: none
启动后 用户名和密码都为radxa
外设挂载
根据df
命令查询系统挂载点
其做好了的U盘外部存储空间为/config
连接WiFi
使用如下指令链接WiFi:
c
nmcli device wifi #扫描WiFi
sudo nmcli device wifi connect <ssid> password <passwd> #连接WiFi

连上后 使用ip a
命令即可查看连接状态和ip
SSH连接
使用命令sudo systemctl status ssh
查看ssh状态
前提是要安装ssh
如果没有安装 则通过shell安装ssh:
powershell
sudo apt-get update
sudo apt-get install openssh-server openssh-sftp-server
根据Active
判断是否需要重启ssh服务:
重启ssh服务:
powershell
sudo systemctl restart ssh
启动后如下:
Active
状态就被设置为了running
开机自启动ssh则使用命令:
powershell
sudo systemctl enable --now ssh
在PC上 支持ssh的设备中 使用以下指令链接到板子:
powershell
ssh [username]@[IP address] # or ssh [username]@[hostname]
如下图:
SSH的文件交互
若是在PC上作为主机去访问设备
那么就是在PC的cmd中运行shell
有的终端软件配备了ssh的文件管理传输功能
连上以后就可以直接搜素到当前目录下的各类文件 以便于实现文件管理
并且可以直接download
powershell
# 复制 Windows 文件到 Linux
scp D:\data\1.txt root@192.168.88.161:/root/data
# 复制 Windows 目录到 Linux(记得加 -r)
scp -r D:\data root@192.168.88.161:/root/data
# 复制 Linux 文件到 Windows
scp root@192.168.88.161:/root/data/1.txt D:\data
# 复制 Linux 目录到 Windows(记得加 -r)
scp -r root@192.168.88.161:/root/data D:\data
前提是设备开启了ssh可以被链接
发过去后便能在板子上看到:
回传文件夹:
如果是Linux设备去连接Windows设备 则需要在Windows里面设置对应的服务 相关教程很多 这里不过多赘述
如果是Linux设备访问Linux设备 则主设备也要指定IP
powershell
scp root@192.168.88.161:/root/1.txt root@192.168.88.162:/root
# 如果设置了Linux之间的免密登录,可这样写:
scp 192.168.88.161:///root/1.txt 192.168.88.162:///root
换源
Linux系统的源都在/etc/apt/
下 一般有两个文件
一个是sources.list
另外一个是sources.list.d
目录下的品牌list文件
如树莓派需要备份原本的源:
c
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak
而radxa的则是:
c
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo cp /etc/apt/sources.list.d/radxa.list /etc/apt/sources.list.d/radxa.list.bak
将原本的文件进行编辑:
c
sudo nano /etc/apt/sources.list
注释掉最初的源 并添加新的源:
c
deb https://mirrors.tuna.tsinghua.edu.cn/debian bookworm main contrib non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian bookworm-updates main contrib non-free-firmware
如图:
然后再换子目录下的源
c
sudo nano /etc/apt/sources.list.d/raspi.list
替换成:
c
deb https://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ bullseye main
不过很可惜 清华源没有radxa 但是可以换debian的源(/etc/apt/sources.list
):
c
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
换源后 执行
c
sudo apt-get upgrade
sudo apt-get update