本帖最后由 sunsili 于 2023-7-19 11:43 编辑 4 D5 h: a, m4 U8 Q5 \
: i, n7 u1 m* |5 P* N% ^- ?! EROC-RK3568-PC开发板OpenWRT系统初体验$ g2 O# k0 H( G
) P P" U$ ~' M
. x/ | r" k. T; K
ROC-RK3568-PC这块开发板非常好,不是一般的强大,通过官方介绍可见一斑: ' K! G9 c7 j! t
8 T/ n: E9 B' ~4 l. W
其支持的操作系统非常的多,可用的固件包括但不限于以下官方提供的:
, s; f f; i9 K8 A; L
' z6 @4 [( N9 @* V* Z
这次我先选择了OpenWRT进行体验。
- W: K/ i0 P- I; D要在ROC-RK3568-PC开发板上运行OpenWRT可以直接刷到eMMC中,也可以直接通过SD来运行。方便起见,我直接使用了SD卡来运行。 / L( g/ ^( k) X" g) m5 A/ ]8 O
一、安装 2 K. J1 S. K& q# D9 r% n
下载的OpenWRT包里面,包含了镜像文件和SD启动卡制作工具: 2 ~3 K' h! B: i( A
0 ~1 _1 U- Y9 {& v镜像文件压缩包为Station_P2_LEDE_GPT_RAW_20220812.zip,需要先解压为Station_P2_LEDE_GPT_RAW_20220812.img才能使用。
* i& x: m @8 ~. R7 _balenaEtcher是个简单好用的工具,可以在Windows、macOS、Linux下面是用,超简洁图形界面的。
0 S' _3 c! ^$ r m/ k我平时使用的是macOS,所以下面的操作,都在macOS下面进行。
) Y, n2 v$ l! z5 H0 Y% O* T$ N8 }' o打开balenaEtcher,选择好镜像文件和目标盘后,123一键开刷:
$ k% D' I' q2 @) w
* ~. a6 ]0 d; R& v- j4 u6 w
烧录过程中,会显示一点点小广告,但没有任何影响:
2 ]5 ~5 F8 o7 n) ~& W+ T
% @- `2 g6 _0 R) o) Z( T" m' t) o烧录完成后,噔的一声,弹了个窗,吓了一跳: 8 y9 W8 u1 e( d1 E, n) v: ?% n
3 O# [8 s+ K/ P4 z还好不是弹窗①②③④⑤,那就不是无解的。一开始还以为SD卡给刷坏了,又刷了一遍,又噔的弹了一次。 7 Y: r7 X% n+ u8 {7 |9 k
这次仔细瞅了一下:
+ M$ j! s' Y( U9 }
# W+ B4 B. [& Q3 i9 {; w2 q0 Z
原来SD卡没有刷坏,只是分区不能被macOS挂载而已。退出卡,插到ROC-RK3568-PC开发板上,就能使用了。
0 A6 V: B7 b1 o( h M二、串口调试 因为不带屏幕,所以开始使用的时候,最好连接串口,能够知道系统到底咋样了。
) p6 x. u* q% a; Q8 E0 J5 ~; V2 J' ZROC-RK3568-PC 默认的波特率是 1500000,有些USB转串口芯片波特率无法达到 1500000,所以官方苦口婆心的推荐:
; c I# ]" v8 J9 w
1 l' J. v8 X$ k5 I
具体是这款USB转TTL串口模块适配:
! D* {+ C# M7 `" O
3 H2 @# w- \/ h6 E3 E. S$ Q
要29.9大洋,感觉有点小贵,因为我手头有1个20的,一个9块9包邮的,难道就不行了吗?
$ ^2 ?0 m$ _1 a5 l. c$ p不试不知道,试了发现,挺好用的,不用单独买了。
! M7 U$ H7 s: k' P最终实际测试的设备如下:
3 ?; a( o! Z9 \' O; O) i1 D& J
) p6 [" C q7 i: m/ y$ E, l c我的这两个USB2TTL都能使用,一个是CP2102,一个是CH340G。 - |6 m) L% W; b: B8 m4 P0 U
不过,开发板上的这个串口引脚,不是2.54的,需要一个转接头,刚好我手头又有一个转接头,直接连上了: 7 D3 t7 ^* G( X0 K: W' D
) d# ^1 D" N+ S8 m1 g0 ^
连接的时候,注意线序。 $ C V: N6 l2 A# B9 t
连接好以后,把USB2TTL插上电脑,在给开发板上电,就能进行调试了。
* { i8 K; I% l# ]1 u4 N' E5 x& I我常用的串口终端工具为minicom,串口调试使用WCHSerialPort。
$ m. w$ e+ `& j3 E考虑到是Linux系统的终端,所以先使用 minicom进行连接: ls /dev/*usb* /dev/cu.usbserial-0001 /dev/tty.usbserial-0001 # 两者实际上是一个
3 x" ]% h2 ]9 U1 P8 ]2 |minicom -b 1500000 -D /dev/tty.usbserial-0001 (左右移动查看全部内容)
* u/ y5 R' F, q# R没想到,minicom翻船了:
1 X% u% X9 _5 d! b
+ i! M8 v9 S% M) Y- p反复测试,发现都是乱码。连其他的设备,速度没有这么高的,发现又是正常的。郁闷之余,用WCH的串口工具测试了一把: $ r2 A- { P/ ?" l6 G+ h& `' V
3 M) E, h/ L# s( Q! X+ A _
欣喜的发现,能够正常显示输出。那就说明,这个USB2TTL能用,问题出在minicom上。
) Z4 y3 b, _5 I/ l+ v进过一番了解,发现,macOS上面的minicom,不支持1500000这么高的速率。幸好,还有两个工具,是可以支持的: 8 w) {: i: b9 E( _$ T) L
picocom collterm 9 k: Q. H4 f1 |3 E5 J) J
picocom的使用如下: #安装 brew install --build-from-source radxa/picocom/picocom
" n' U6 M6 Y h3 E# P% Y- \# 连接 picocom -b 1500000 -d 8 /dev/cu.usbserial-0001 (左右移动查看全部内容) * s+ T4 F" t' r% `( o
这次,得到了熟悉的OpenWRT命令行界面: 1 f$ S" \6 F H- y8 S
: U: o1 S& S! ]& g" V& S
coolterm的使用如下: # 安装 brew install coolterm
0 u+ w+ U7 D; f% M" A/ b7 U/ B2 [/ y, m8 H7 G# 打开 open /Applications/CoolTerm.app (左右移动查看全部内容)
: f2 R' F4 i+ @2 Y# N" l, G5 t然后选择串口,设置参数:
1 W- v2 N( F" a
L/ o# P. |9 P. D, z
点击连接: # R# G# u; N% _' M
* K8 N6 w7 K* O* p( \0 W. a三、网络设置 登录系统之后,马上查看一下当前网络情况: ifconfig / \* S4 [) o- m, w$ |2 p* h
: X6 X' P: d1 K! L7 E6 D( T4 U再具体查看一下网卡的硬件信息: dmesg | grep eth0 dmesg | grep eth1 dmesg | grep wlan= (左右移动查看全部内容)
1 ]. _4 E; t" p- i0 m6 t# k- F
; J6 R2 T1 j% \& g8 e/ S: m- Y从上面的信息可以看出: 有线网卡2个:eth0、eth1,使用RTL8211F,千兆 无线网卡1个:wlan0,使用BCM43752/2,是一款双频802.11ax Wi-Fi芯片,官方介绍支持WiFi 6(802.11ax)无线网络通讯,最大频宽达到160MHz,最高速率可达9.6Gbps eht0为WAN接口 eth1、wlan0为内网接口,关联到br-lan 内网地址为192.168.1.1 ' @6 T4 `" P+ ^+ K |* \
4 Q. A6 q8 X0 b0 B9 V% `
我的上级路由,本身的内网网段为192.168.1.0,其地址为192.168.1.1,为了防止冲突,先连接无线登录修改一下。通过命令行修改/etc/config/network也可以。 : A3 I5 i7 D ^ }3 d5 ?7 c/ E
先通过无线连接:
7 P! z9 ~( H. L% Z; |- X1 g
+ G, E: n. D3 J+ H: ]/ g或者通过有线连接也可,注意要连接到远离电源接线的Ethernet1。
5 D; ~+ n t4 H
# r/ L, S4 \1 ~, O7 F默认密码为空,直接点击登录即可。登录后,到网络->接口中,修改LAN(br-lan): ; \6 _, @$ m' R* v( x
4 q) f; L1 I2 M- O0 R: }8 D" O根据实际情况,修改到一个不冲突的网段即可,如192.168.2.1: ( f6 {4 @; s. I
0 q+ @! E! j4 D5 S% ~修改后,点应用保存,然后等一会儿,再重连开发板的WiFi,就会发现IP发生了变化,在此管理,就需要使用 http:// 192.168.2.1了。 : f' O7 V' `0 c/ z0 Y
设置完内网IP,赶紧接上网线:
3 [/ d- z$ q X2 A+ L% D
4 k. o- Y4 {7 I* \到OpenWRT管理界面(luci)可以查看当前系统的信息: 2 ~7 Y1 U2 U. W3 X1 Q
. a( d2 r. }2 t! U1 D! d
以及网络状态: ( p& f5 F4 A" s' _. n- X; |% ?
4 f% ^6 S% L: D0 O, }, F+ U
从网络状态可以看到,已经成功连上了上级路由器,WAN的IP为192.168.1.42。 : c# b' B+ I$ M/ p
然后,到网络->接口->无线中,修改radio0的配置:
4 G) i$ ~& }8 M ~" V" F9 ^
/ p' @5 h/ {+ A
设置WiFi连接的密码,再次点击保存应用即可。
2 u* i z1 h, A! b4 a4 Q
3 d" {3 b. d% o! `. b稍等一会,再次重连,就需要密码进行连接了。
' Q3 r$ c1 P9 o3 O+ o7 |
- w; M5 ^3 @1 E) ~: o
四、管理权限 默认的管理界面密码为空,不安全,上述设置完成后,马上到系统->管理权限中进行修改:
% q0 u; W) n0 H" S- g# O- f
# j' l% v4 n8 w% ~
密码根据自己需要的进行设置。 ! [, e$ n. W6 \* q( j& j1 l
ssh登录权限,通常情况下,我都会禁止密码登录,强制要求使用证书登录,取消勾选上面的选项,然后把秘钥的公钥复制进来,点击保存应用即可。
/ C6 k, J$ F- w5 c' f5 @( F: o, ~现在,就可以通过ssh登录到开发板了: 4 T' z) J5 z7 O# J3 }) z6 T6 q' ~. t: ?
* d2 [6 a9 x G l五、系统功能 经过上述的基础设置,ROC-RK3568-PC开发板的OpenWRT,已经可以投入使用了,当然,要正式使用,还需要根据自己的需要进行详细的设置。
( {6 L% `; }, ROpenWRT是一个可模块化裁剪的系统,通过系统菜单,可以了解系统已经包含的功能:
" ]0 W; b7 h, x, r# Y
* K. }( f1 ]: k7 h9 U/ q可以看到,提供的这个版本,基础功能已经比较完善了,当作普通的无线路由使用,完全没有问题了。 . f2 l2 z @9 \: O" _2 k
六、后续 后续将会基于OpenWRT系统,进行高速网络测试,做家庭存储中心和多媒体中心,尝试进行流媒体推送等测试,并继续分享。 |