故障排除
大家真正遇到过的问题,以及该怎么办。这里都对不上时,收集日志,开一个 issue。
启动不了 Linux 的设备,会在达到你设的失败次数(默认 5 次)后自己回到 Android,除非 Linux 处于锁定状态。耐心等一等、重新插一下,能解决的问题比你想象的多。
安装过程中
安装程序找不到设备
先确认电脑能看到设备,并且 root 可用:
adb devices
adb shell su -c id设备应该显示为 device(如果是 unauthorized:在设备上同意 USB 调试的提示),第二条命令应该输出 uid=0(root)。安装程序需要已经 root 并解锁的设备:见开始之前。
检查发现没有空闲空间
这是 32 GB 版本,userdata 占满了整个磁盘。可以用 SD 卡(F50),或者让安装程序缩小 userdata,这会清空 Android 的数据:见32 GB 版本。如果数字既不像 64 GB 也不像 32 GB 的设备,请带上 --check 的输出开一个 issue。
“警告:未分区空间并非空白”
安装程序在空闲区域抽查的样本里有一些含有数据,说明这个固件可能在用这块地方。安装会覆盖它,安装程序会请你输入 overwrite。如果你不确定是谁写进去的,先停下来,带上检查的输出在 issue 里问一问。
安装程序好几分钟没有输出,设备还发烫
在分区表一直延伸到磁盘末尾的设备上(32 GB 版本,以及 userdata 后面没有空隙的 F50),读取内部存储末尾之外的位置会一直卡住不返回。从 v2026.10.13 起已修复。重启设备结束卡住的读取,然后用当前的安装程序。
下载很慢
GitHub 的下载服务器在某些地区会限制单个连接的速度。安装程序本来就分 8 段并行下载;可以用 MU300_FETCH_JOBS 调整段数,或者把 MU300_RELEASE_URL 指向你自己的发布文件镜像。
安装之后
安装后设备没有回来
等两分钟。还是没动静,就拔掉再插上。每一次没完成的启动都算数,连续 5 次(或你设的次数)之后设备会启动 Android。然后收集日志:
tools/collect-logs.sh # 在电脑上运行,设备处于 Android
电脑能看到设备,但拿不到地址(macOS)
macOS 在屏幕锁定时不会为从没见过的网卡做设置。每台设备都有自己的 USB MAC 地址,所以第一次插上某台设备时(或者更新带来了这些地址之后),解锁 Mac,网卡就会出现。F50 和 U30 Air 同时插着时,地址分别是 192.168.77.1 和 192.168.78.1;两台同型号的需要用 /etc/mu300/lan.conf 区分。即使没有网络,串口控制台(screen /dev/cu.usbmodem* 115200)也能用。
没网
先确认 SIM 卡有流量套餐,然后运行 sudo mobile-data status。没有套餐时,看起来就像连接不停地断开。大多数运营商不需要 APN;如果你的需要,见移动数据和 APN。
用 6.18 内核时,没要求却回到了 Android
在部分板子上,6.18 偶尔会在启动的头几秒卡死(README 在一块板子上测得大约每 20 次启动一次;最新的发布说明在一块板子上看到 50 次中 2 次,另一块 100 次中 0 次,7.2 也是 100 次中 0 次)。这时设备会回到 Android;如果 Linux 处于锁定状态,则会再次启动 Linux。用 su -c mu300-linux 或 Magisk 模块的操作按钮重新启动 Linux,或者换成 7.2 或 5.4。详情见 FINDINGS 31m(英文)。
更新后回到了 Android
用较老的启动镜像(v2026.09.27 及更早)时,Linux 只要崩溃或重置一次,设备就会回到 Android 并停在那里。用 su -c mu300-linux 重新启动 Linux,然后按更新里的方法更新。如果 Linux 再也起不来,就在电脑上重新运行安装程序并选 update:它会写入新的启动镜像,并保留你的设置和数据。
5.4 内核上的 OpenWrt:拿不到地址、打不开网页界面、连不上热点
在 v2026.10.13 之前的版本里,防火墙开机时的规则里没有 LAN 的部分,而在 5.4 上本该补上这些规则的重新加载总是失败。从 v2026.10.13 起已修复;请更新。在受影响的版本上,通过 USB 串口控制台(ttyGS0,root shell)登录,运行:
nft delete flowtable inet fw4 ft; fw4 reload从 v2026.10.17 起,5.4 上单独执行 fw4 reload 或 restart 就能生效。
热点在 52 到 144 之间的 5 GHz 信道上起不来
hostapd 报 start_dfs_cac() failed 然后停下(v2026.10.18 及之前的版本)。那些是 DFS 信道,而 Wi-Fi 驱动无法检测雷达。从 v2026.10.20 起已修复:这种信道会被换成 36(或 149),日志里有一行说明。在旧版本上请选 36-48 或 149-165,Ubuntu 上也可以用 auto。
一条 AT 命令卡住后,控制面板一片空白
在带控制面板的 OpenWrt 上,直到 v2026.10.18,一条卡住的 AT 命令能让所有页面空白好几分钟,连电池卡片也是,重启之后也一样。从 v2026.10.20 起已修复:页面会保留上一次的读数并说明它们有多旧,OpenWrt 上一条 AT 命令只要 0.13 秒而不是一秒。在旧版本上等它过去,或者重启 rpcd 和 mu300-atd。
Wi-Fi 客户端连不上某个网络
只有 WPA3 的网络连不上(Wi-Fi 驱动没有 SAE);把路由器设成 WPA2/WPA3 混合模式。另外,无线要么当热点要么当客户端,在开机时决定:它正在当热点时,wifi-client connect 会请你重启。
我忘了密码
不用登录也能回到 Android,电脑上的一个脚本可以在保留数据的同时设置新密码:见忘记密码。
网站以为我在别的国家
设备没有 GPS,网站只能根据 IP 地址猜位置,而移动运营商和 VPN 服务器的 IP 常常看起来像在另一个城市。
内核警告不在 journalctl -k 里
在 Ubuntu 上,它们在 journalctl -t kernel 里:只有警告和错误,从每次启动开始记录,重复出现的厂商驱动杂讯已经过滤掉(/etc/mu300/kmsg-ignore)。其余的都在 dmesg 里。
当前版本的已知问题
- 6.18 上罕见的启动时无声卡死,只在一块板子上见过(见上文)。
- Wi-Fi 长时间高负载时,厂商驱动会在丢包的同时记录
edma_pending_q_buffer full或push link fail。传输最终会完成。 - 开着热点时挂起(suspend)会立即返回。有些运营商会丢弃 UDP、封锁 OpenVPN。
- 短信的邮件转发需要
msmtp,而镜像里没有它,所以这个目标保持关闭。 - 从 v2026.10.14 或更早的版本更新时,会显示“could not arm the Linux slot for a trial”。启动失败后回到 Android 的功能仍然正常。
每个版本的说明都会列出它自己的已知问题:发布页面。
sysupgrade,也不要刷 OpenWrt 固件镜像
它们是为普通路由器写的,会覆盖设备的存储。正常的 apk upgrade 没问题,但 kernel 和 kmod-* 软件包除外。请用 mu300-update 更新。
寻求帮助
- 先翻一翻已有的 issue。
- 用
tools/collect-logs.sh收集日志,并复制./install.sh --check的输出。 - 删掉所有隐私信息(IMEI、电话号码、Wi-Fi 名称和密码),然后开一个 issue:写明设备、系统和内核、版本号、你做了什么、发生了什么。
关于硬件的深入说明在 docs/FINDINGS.md 和 wiki 里(英文)。