7,994
社区成员
发帖
与我相关
我的任务
分享平台:Qualcomm QCS6490(瑞莎 Dragon Q6A)
定位:一个开发者的学习记录,不是官方教程
一句话:Type-C 供电是个好设计,但它也顺手堵死了一条最省事的调试通路。
从快递站拿回来,拆开第一眼的感觉是——小。85 × 56 mm,比之前用的犀牛派 X1 小一圈,拿在手里大概一张名片多一点。

图 1:到手时 microSD 卡已经插在卡槽里
拍了几张照片:正面塞着 microSD 卡,侧面能看到双层的 USB-A 和网口,背面 40-Pin 排针,两根天线引线从金色的天线座绕到板子另一头。


图 2、图 3:侧面与背面,天线已经接好
卡插在板子上了,但得先有系统。官方步骤写得很完整,这里不重复,直接给链接:安装系统到 microSD 卡 | Radxa Docs
我只补充几个文档里容易忽略、但实际操作会卡住的点:

图 4:读卡器要这种 USB-A 直插式的,不要买只能读大 SD 卡的
.img.xz,必须解成 .img 再交给 Etcher,直接选压缩包会失败。上电前先看供电:这块板子没有 DC 圆头,走的是 Type-C。
犀牛派 X1 用的是传统 DC 圆头适配器,丢了就得找同规格的。Q6A 换成 Type-C 之后,只要一个能出 12V 的 PD 电源就能点亮,线材通用、体积也小。但"能点亮"和"能正常写卡"是两件事,这一节后面就有个反面例子。
代价是容易踩坑:
实测:手机充电器把 SD 卡写废了
我一开始拿手边的小米 90W 充电器供电。系统能正常起来,桌面进得去,SSH 也连得上——但跑了一阵开始报错,最后内核里直接报 SD 卡超时:
[ 17.380060] mmc1: Timeout waiting for hardware interrupt.
[ 17.387481] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
[ 17.560926] mmc1: tried to HW reset card, got error -110
-110 是 ETIMEDOUT,意思是控制器连"硬复位"这张卡都没成功。之后卡就读不出来了,只能重写镜像。

图 5:卡掉线那一刻,屏幕上刷出来的就是这些 —— 先是 sync_state() pending 一串,然后 mmc1 超时、SDHCI 寄存器全部打印出来
心疼一下那张卡:32G 的红色卡,一百块。钱不算多,堵心的是它没坏在寿命上——是我为了省事,随手抓了个手机充电头省出来的。
问题出在卡本身还是供电,我暂时没法百分百断定;但供电是最可疑的一环:手机快充头落在 12V 档的电流普遍偏小,开机、写卡、Wi-Fi 一起上来的时候容易掉压,而掉压最先伤到的就是正在写入的卡。
结论很直接:电源这块别省,用官方推荐的。官方推荐的是瑞莎自家的 Radxa Power PD 30W;手上有明确标注 12V 输出、2A 以上的适配器同样可以。手机充电头能让板子亮起来,但不适合拿来装系统、写卡、长时间跑任务。
看到 Type-C,第一反应是:能不能像手机那样插根线到电脑,adb devices 一敲就把设备列出来。
翻完接口表,结论比较明确:硬件层面不存在这条通路。
Dragon Q6A 的接口定义里,Type-C 那一项写的是"USB C PD 供电",纯供电;唯一的数据口是那颗 USB 3.1 Type-A(HOST / OTG),和另外三个 USB 2.0 Type-A 在一起。
也就是说:
adb 直连之所以顺手,是因为它的调试口被放在主机能枚举到的数据通道上所以在这块板子上,调试通道只能另找:要么走 USB 3.1 的 OTG 口,要么走 UART。
结论是得先有屏幕。接上 HDMI 和键盘,进系统后第一件事是把网连上。
图形界面点两下也能连,但既然是块开发板,命令行更省事,也方便以后写进脚本:
nmcli device wifi connect "SSID" password "PASSWORD"
把 SSID 和 PASSWORD 换成自己的就行。连完用 nmcli device 看一眼,对应网卡那行的状态从 disconnected 变成 connected 就算通了——顺手把 IP 记下来,下一步要用。
网络通了之后,照官方文档 SSH 登录 | Radxa Docs 走。在板子的终端里依次执行:
sudo apt update && sudo apt install openssh-server -y
装完先把服务拉起来,再设成开机自启:
sudo systemctl start ssh
sudo systemctl enable ssh
start 和 enable 两条都要敲。只 start 的话当场能连,重启之后就又断了——这一步很容易漏,因为敲完 start 之后表面上一切正常。
最后确认服务状态:
sudo systemctl status ssh
输出里关注两处:Loaded: 那行结尾应该是 enabled,Active: 那行应该是 active (running):
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; ...)
Active: active (running) since ...
Docs: man:sshd(8)
Main PID: 518 (sshd)
看到这两条都对了,就可以离开板子的键盘,回 PC 上连。
回 PC 一敲,先给我来了这么一段:
PS C:\Users\chenl> ssh radxa@192.168.112.188
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ED25519 key sent by the remote host is
SHA256:uiufB469eZH8rtTIafQWhA/vL2LRFoLC9xZ8wZDWpBI.
Please contact your system administrator.
Add correct host key in C:\Users\chenl/.ssh/known_hosts to get rid of this message.
Offending ED25519 key in C:\Users\chenl/.ssh/known_hosts:70
Host key for 192.168.112.188 has changed and you have requested strict checking.
Host key verification failed.
这一堆 @ 容易吓人,但放在开发板上其实是最常见的一种情况:重装/重刷系统会重新生成主机密钥,PC 侧 known_hosts 里存的还是上一次的旧密钥,对不上就直接拒绝连接。它宁可报"可能是中间人攻击"也不放行,这个设计本身是对的。
解决办法就是把旧记录删掉再连:
ssh-keygen -R 192.168.112.188
之后重新 ssh radxa@<板子IP>,会照常问一次 yes/no,输 yes 接受新密钥即可。
记住这条规律:只要这块板子重刷过卡、或者 IP 被分给了另一台设备,第一次连接基本都会遇到这个提示,属于正常现象,不用怀疑网络被人劫持。
复盘一下这次打通 SSH 的完整动作:先在板子上接好 HDMI 显示器和键鼠,本地登录进系统;再确认无线网卡拿到的地址(ip a);最后回到 PC 的终端执行 ssh。三步里有两步是纯物理操作。
同样的目的,在手机或犀牛派那套流程里只需要:插一根数据线,敲 adb devices 就能看到设备。
差别不在步骤数量,而在于是否需要额外硬件。没有 adb,意味着每换一次网络、每重装一次系统,都得重新找显示器或者串口线;这两样东西工位上不常备,客户现场更不常备。
我目前的做法是把 HDMI 线固定挂在工位,SSH 一通就全程远程操作。能跑通,但离"插上线就能用"还差一截。
已经确认的
手机充电头不适合给这块板子供电:小米 90W 能把系统点亮、SSH 也连得上,但运行中报错,最后 SD 卡读写超时(mmc1: Timeout waiting for hardware interrupt.、mmc1: tried to HW reset card, got error -110),卡读不出来,只能重写镜像。建议直接用官方电源。
登录凭据:用户名 ubuntu、密码 radxa,两者不相同;主机名也是 ubuntu。
SSH 不是默认开的:这套 Ubuntu 镜像默认没有 OpenSSH,需要手动 apt install openssh-server 再 start + enable。
系统时间开机时是错的,联网后自动校正:登录横幅显示 2137 年;联网后 timedatectl 显示 System clock synchronized: yes、NTP service: active,时间回到 2026-11-09 07:08 UTC。往底层追,问题出在 RTC 上——板上有一颗 DS1307(I2C 地址 0x68,注册为 rtc0),但内核启动时读它失败了:
rtc-ds1307 10-0068: registered as rtc0
rtc-ds1307 10-0068: hctosys: unable to read the hardware clock
也就是说开机那一刻,系统时间压根没从 RTC 取到值;而 40-Pin 上的 RTC 电池接口又是空的,断电后 RTC 也留不住时间。结论:联网之前的时间都不可信,要做日志排查或证书校验,先确认 NTP 已经同步。(顺带一个坑:Ubuntu 24.04 里默认没有 hwclock 命令,要读 RTC 得装 util-linux-extra。)
网络接口:板载有线是 enp1s0,当前没插网线(NO-CARRIER / DOWN);实际联网走的是 USB 无线网卡 wlx68249956abec,地址 192.168.111.214 由 DHCP 分配。
mDNS 该找的名字:主机名是 ubuntu,所以该试的是 ubuntu.local,不是文档里那种 radxa.local。
还没验证的