【Linux应用】开发板USB共享网络,网线或USB以太网共享网络(局域网连接PC和开发板,实现PC给开发板共享网络,USB通过NDIS驱动共享)

【Linux应用】开发板USB共享网络,网线或USB以太网共享网络(局域网连接PC和开发板,实现PC给开发板共享网络,USB通过NDIS驱动共享)

文章目录

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
相关推荐
木卯彳亍2 小时前
番外-linux系统运行.net framework 4.0的项目
linux·docker·.net
望获linux2 小时前
【实时Linux实战系列】硬实时与软实时设计模式
linux·运维·服务器·数据库·操作系统·rtos·嵌入式软件
沉默的八哥4 小时前
Linux中LVM逻辑卷扩容
linux·运维·服务器
退役小学生呀4 小时前
十一、K8s细粒度权限管理RBAC
linux·docker·云原生·容器·kubernetes·k8s
wanhengidc5 小时前
服务器机柜与网络机柜各自的优势
服务器·网络·智能路由器
托比-马奎尔6 小时前
第十二章:网络编程
网络
basketball6166 小时前
Linux C 管道文件操作
linux·运维·c语言
颖川初尘6 小时前
端口到底是个什么鬼?回答我!
服务器·网络·tcp/ip·node.js
浩浩测试一下7 小时前
Windows 与 Linux 内核安全及 Metasploit/LinEnum 在渗透测试中的综合应用
linux·运维·windows·web安全·网络安全·系统安全·安全架构