品名: ROCK Pi S D4W;
资源: RK3308,512MB 内存,无板载存储,10/100Mbit 以太网,USB2.0x2,uSD 卡插槽,802.11 a/b/g/n,BT 4.2。
板上资源
处理器: RK3308 SBC(单板计算机);
- RK3308 datasheet
- RK3308 TRM(Technical Reference Manual) Part1, Part2
网络: 100M以太网、 2.4GHz 802.11 b/g/n/i/e WIFI 以及蓝牙 4.0;
- Realtek RTL8723DS - wifi/蓝牙芯片
内存:512M DDR3;
外设: tf卡槽、USB2.0-A、USB3.0-C、26个GPIO、两个按钮;
开发示例
从头开始
准备工作
-
准备:
- rock pi s;
- tf 卡、读卡器;
- usb-c 数据线(供电、adb);
-
下载镜像和烧写工具:地址
-
使用烧写工具把镜像烧写到 tf 卡;
下载好的镜像无需解压 xxx.img.gz;
分区出问题,或者想还原时,使用 DiskGenius.exe 工具;
-
使用 etcher 烧写方法:

-
使用 rufus(推荐)烧写方法:

-
-
将 tf 插入到主板,使用 usb-c 连接 rock-pi s 和 PC;
看到绿灯常亮、蓝灯 blink 就启动成功。
串口连接
如果有串口线就用串口连接;
没有就通过 usb adb 访问 shell,或者烧写好 tf 卡后接着修改 rootfs 中的网络配置;
串口连接如下,usb 转 ttl 线(IC 为 FT232RL)通过 3 根线和 rock-pi s 连接,不要连接红线(VCC);

串口访问
波特率为 1500000(注意是 5 个 0);
ubuntu bionic 的用户名密码为:rock/rock;

连接以太网
-
使用网线把主板和路由器连接起来,在路由器后台查找到rock pi s的ip,然后用putty连接到rock pi s后台。
1 2
用户名:rock 密码:rock
如果没有路由器,请看第5点,使用静态ip连接。
-
登录后修改root密码:
1
sudo passwd root
后面就可以使用
su - root切换到root账户;注意:
su - root是切换到root,并使用root的环境变量(echo $PATH查看);su root是切换到root使用xx环境变量。 -
安装adb支持
开机到adb连接有点慢,请耐心等待。
如果网络不行,可以尝试换一个网,比如先连wifi。当正常连接后,输入指令进行管理,我一般进去后先查ip
sudo ip address show然后用putty连接:1
adb shell
-
连接wifi
rock pi s有如下网络设备:
- eth0: 以太网类型;
- p2p0: wifi类型,WIFI Direct直连;
- wlan0: wifi类型;
- lo: 回环类型,固定IP 127.0.0.1;
这样是否可以p2p0连好后,使用wlan0开热点?
官方的连接命令如下:
有点问题的是有的时候它会把所有wifi类型的设备连接到目标热点上,包括p2p0和wlan0(扫描WiFi得到的也是两组信息);有的时候又只用p2p0进行连接,可能p2p0是默认的吧!1 2 3 4
su - root # Switch to super user mode nmcli r wifi on # Open the WIFI nmcli dev wifi # Scan WIFI nmcli dev wifi connect "mi8" password "12345678" # Connect to WIFI network
所以使用如下命令只用wlan0进行扫描和连接:
1 2
nmcli dev wifi list ifname wlan0 nmcli dev wifi connect "mi8" password "12345678" ifname wlan0
查看帮助使用下面的命令:
1 2
nmcli dev --help nmcli dev wifi --help
每次执行
nmcli dev wifi connect命令后,会在/etc/NetworkManager/system-connections/目录下创建一个新文件(如mi8.nmconnection)来保存配置,重复执行则创建多个这样的文件。然后按照如下方式修改配置可以在连接目标wifi时使用静态IP:
1 2 3 4 5 6 7 8
nmcli dev set wlan0 autoconnect yes # 配置wlan0自动连接 nmcli connection down mi8 # 断开mi8 nmcli connection modify mi8 ipv4.addr 192.168.43.15/24 # 配置IP和掩码 nmcli connection modify mi8 ipv4.gateway 192.168.43.1 # 添加网关 nmcli connection modify mi8 +ipv4.dns "223.5.5.5, 223.6.6.6" # 添加DNS nmcli connection modify mi8 ipv4.method manual # 获取IP改为手动 nmcli connection up mi8 ifname wlan0 # 启用mi8
连接成功后,每次开机默认都会去连接该wifi,如果没有请耐心等待。如果真没有请检查下是不是wlan0的mac地址自动变化了,如果变化了我也没有太好的办法,就用官方命令吧!
科普:network-manager是发行版上动态控制及配置网络的守护进程,自带nmcli 命令。
net-tools家族(ifconfig、route、arp和netstat等)是管理和排查网络配置工具。这类工具原先起源于BSD TCP/IP工具箱,旨在配置老式Linux内核的网络功能。自2001年以后,它在Linux社区的发展就止步不前了。Debian等一些Linux发行版已经弃用了net-tools,改而使用iproute2(ip、ss命令等)。
-
使用静态IP连接设备
在PC的
控制面板\网络和 Internet\网络和共享中心路径下可以找到的目标活动网络a连接,点击a,再点击详细信息就可以找到当前连接的“IP”、“掩码”、“网关”、“DNS”等信息;接着在开发板中设置相同的信息。-
编辑
vim /etc/rc.local开机文件(可以ssh后编辑,也可以挂载sd卡到虚拟机进行编辑)1 2 3 4 5
# dhclient eth0 #屏蔽dhcp的设置 # 临时设置(重启或重启网卡服务后失效),板上默认安装了net-tools ifconfig eth0 10.8.190.50/24 #IP和掩码 route add default gw 10.8.190.7 eth0 #添加默认网关 -
编辑
vim /etc/resolv.conf添加需要的DNS1 2 3
# 设置DNS nameserver 10.98.94.5 nameserver 10.98.94.28
值得一说的是用iproute2为网卡指定IP地址,这只是用来调试网络用的,并不会更改系统关于网卡的配置文件。如果你想把网络接口的IP地址固定下来,目前有三个方法:
- 一是通过各个发行版本专用工具来修改IP地址(比如network-manager);
- 二是直接修改网络接口的配置文件(
/etc/network/interfaces;红帽发行版是/etc/sysconfig/network-scripts/ifcfg-eth0); - 三是写入到开机启动文件里(
/etc/rc.local、/etc/rc.d/rc.local等);
完成之后就可以使用上述电脑进行putty ssh~
-
如果不能上网的解决办法:
使用ip route show查看是否存在多条默认网关,通过如下命令删除多余的网关信息:
1
2
ip route del default via 10.8.190.7 dev eth0 #删除一条默认网关
ping qq.com #测试网络是否正常