树莓派网络配置记录
文章目录
前言
记录之前使用过的树莓派网络配置的相关操作,总结一下过往树莓派网络配置的经验。一、配置网口的IP地址
主要是想配置各个网口(eth0,eth1)的IP地址,通过修改DHCPCD网络地址动态分配协议。
示例:树莓派采用CM4子卡,底板采用Mcuzone生产的CM4_GIGA_USB3.0扩展板,扩展出2个PCIE网卡,将各个网口配置成已下状态:
- Eth0配置固定ip:11.0.0.2
- Eth2配置固定ip:192.168.10.200
- Eth1配置dhcp自动获取
使用步骤
1)输入命令:进入dhcpcd.conf 配置文件(注:nano为系统自带的一个文本编辑器,习惯vim可用vim)
sudo nano /etc/dhcpcd.conf
2)在配置文件中添加以下内容
interface eth0
static ip_address=11.0.0.2/24
static routers=11.0.0.1
static domain_name_servers=11.0.0.1 8.8.8.8
#interface eth1
#static ip_address=192.168.11.200/24
#static routers=192.168.11.1
#static domain_name_servers=192.168.11.200 8.8.8.8
interface eth2
static ip_address=192.168.10.200/24
static routers=192.168.10.1
static domain_name_servers=192.168.10.200 8.8.8.8
3)重启 系统
sudo reboot
使用ifconfig命令可查看当前网路状态
ifconfig -a
输入上述命令后会出现类似下面的内容(这里显示的网口IP地址与设置的不同是因为写文章时接的是另一个树莓派,实际上只要配置好文件并重启后,IP地址应与设置的一致)
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.137.211 netmask 255.255.255.0 broadcast 192.168.137.255
inet6 fe80::28d9:a2c4:c8d6:e5ff prefixlen 64 scopeid 0x20<link>
ether dc:a6:32:a7:c5:4b txqueuelen 1000 (Ethernet)
RX packets 2992 bytes 250184 (244.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1503 bytes 167474 (163.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 9318 bytes 1403662 (1.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 9318 bytes 1403662 (1.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.195 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::11c9:1a8f:4c3b:90f9 prefixlen 64 scopeid 0x20<link>
ether dc:a6:32:a7:c5:4c txqueuelen 1000 (Ethernet)
RX packets 11698 bytes 1580615 (1.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 11740 bytes 1753799 (1.6 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
二、NTP服务配置 - 将树莓派作为NTP服务器
概述
因项目需要,需将树莓派作为系统终端的时间同步服务器,本文描述了如何配置树莓派作为NTP服务器,并使同一局域网中的电脑获取NTP服务。这里参考了jack_孟先生的博客,相关链接:https://www.cnblogs.com/mq0036/p/9362706.html。
操作步骤
- 安装ntp服务
sudo apt-get install ntp
- 修改配置文件ntp.conf
安装完成后,打开/etc/ntp.conf文件,并在文件末尾添加树莓派的IP地址(本文只描述了最简单的使用方法。根据自己的网络情况,以及使用情况,请自行修改ntp配置)。这样添加后局域网中的其他设备就可以通过NTP服务访问树莓派(NTP服务器)修改自己的时间。
sudo nano /etc/ntp.conf
#然后在配置文件末尾添加如下内容,192.168.0.126是树莓派在局域网中的IP地址
server 192.168.0.126
- 重启NTP服务,并测试NTP服务
sudo service ntp restart
ntpq -q
若出现以上结果则说明NTP服务器进程存在。接下来测试同一局域网中的设备与树莓派同步时间,需要修改Internet时间服务器。
操作步骤:控制面板—时钟与区域—日期和时间—Internet时间—更改设置—修改服务器IP
测试结果如下图:
其他相关操作
1)树莓派修改矫正时间
未完待续
三、树莓派5G网络配置(树莓派驱动安装)
项目背景
在过去的项目中测试过三种5G模组,在Windows上只要使用厂商提供的驱动都能简单的连上网络,但是在向树莓派上移植却出现了许多问题,目前网络上的资料都是让人去编译linux内核,由于树莓派内核的特殊性(注:这里指的是树莓派官方提供的系统),无法编译内核。这里介绍三种5G模组的驱动配置方法。
1. SIM820X-M2 5G模组
第一种使用的是微雪电子的SIM820X-M2 5G HAT模组,详情可见微雪相关文档说明,参考链接:https://www.waveshare.net/wiki/SIM8200EA-M2_5G_HAT
使用微雪已经装好驱动的系统镜像可以直接实现5G网络接入(注:SIM卡须使用手机卡。第一次使用时用的是NB卡,一直连不上网)。有时模组接上后会出现出现识别了模组驱动缺没有分配IP的情况,可能的原因是rc.local下的脚本未正常启动simcom-cm可执行文件,需要用户手动启动。
因为微雪的资料相对比较齐全这里就不多做赘述。
2. 中移物联 F03 5G模组
这里提一下中移物联模组的Windows驱动,因为其官网上提供的驱动是历史版本,当时测试时一直无法正确识别设备。建议直接联系FAE或者售后获取最新驱动。
操作步骤
1)检查内核版本与驱动支持版本是否一致。键入命令 uname -a ,可查看系统版本信息。
上图所示为中移提供的Linux驱动,该USB_Driver支持系统版本为4.15.1
2)编译驱动文件
- 首先在安装驱动前需打开 option.c 文件添加待测试模块的 PID&VID(待测试模块的 PID&VID 已
存在可忽略此步),路径:drivers/usb/serial/ option.c - 将驱动文件添加到树莓派上,在驱动源码目录下找到 makefile 文件,直接 make install 进行编译安装;编译完成后重启电脑,插入模块确认模块 USB 驱动是否加载成功,终端输入 ls /dev/ttyUSB* 。若可正常识别模块 USB 口(USB0:DM 口, USB1:NEMA 口, USB2:AT 口,USB3:MODEM口)则说明驱动安装成功。
3)拨号上网
驱动安装成功后,输入 ifconfig -a 会观察到一个新生成的网口,如下图所示
-
获取 CMIOT_ConnectManager 拨号工具解压,进入 cmiot-CM 文件夹下进行编译:
make clean;make //若电脑有多个工具编译会出现异常,此处请注意
-
进入 cmiot-CM 文件夹下执行 ./cmiot-CM,在另一个窗口下执行 ifconfig –a 查询是否存在 IP 地址,如下图则拨号成功
3. 移远RM500Q 5G模组
如果提示:
输入以下命令:
sudo apt-get install raspberrypi-kernel-headers
一些经验
三种模组都是基于高通骁龙 X55 平台,它们的驱动有一定的相似性,我最后能成功移植RM500Q模组的驱动也是借鉴了中移模组的文档。在目前许多文章中没提到的是5G模组具有多种拨号上网模式,不同模式所使用的驱动是不同的,一开始的时候由于缺少对5G模组拨号方式的认识,导致同时装载了多种驱动使驱动冲突。
这里介绍三种5G模组的拨号上网方式(我也第一次接触5G,这里仅供参考):
1. ECM拨号(这个不是所有模组都有)
ECM 在 linux 下是自动拨号,故只要模块配置对应的 usbnet 模式和网卡驱动加载正确;在命令窗口 ping 外网,如果可以 ping 通说明拨号连接成功。
2. QMI_WWAN 拨号
这种拨号方式一般移植的是Linux_USB_Serial_Option_Driver文件。
移植后可以使用lsusb –t 与 ifconfig –a 双重确认,调出 telminal 终端窗口,键入 lsusb –t 确认网卡驱动是 Driver=qmi_wwan, ifconfig –a 确认网络接口类型存在 wwan0。
驱动移植成功后再调用拨号工具即可。
3. GobiNet 拨号
GobiNet 网卡驱动不能与 qmi_wwan 驱动共存,请安装之前务必确认 qmi_wwan 网卡驱动已卸载。modprobe -r qmi_wwan 卸载 wwan 驱动,执行 lsusb –t 查询 usb 信息,确认 Driver=空,执行 ifconfig -a 查询当前网卡信息,没有出现 wwan0 证明成功卸载。
这种拨号方式一般移植的是GobiNet_文件。
移植后可以使用lsusb –t 与 ifconfig –a 双重确认,调出 telminal 终端窗口,键入 lsusb –t 确认网卡驱动是 Driver=GobiNet, ifconfig –a 确认网络接口类型存在 usb0。
驱动移植成功后再调用拨号工具即可。
一些使用过的命令总结:
查询Linux内核版本
uname -a
查询网络设备
ifconfig -a
查看驱动信息:
lsusb -t
指定设备ping
ping -I usb0 www.baidu.com
获取IP:
sudo dhclient -v usb0
添加路由:
sudo route add -net 0.0.0.0 usb0
卸载驱动:
modprobe -r qmi_wwan
未完待续
四、 树莓派上实现OpenSSL双向认证
参考链接:https://www.cnblogs.com/lsdb/p/9391979.html
项目背景
未完待续