助手设计稿 · 示例数据

对话

用大白话问板子的事。开了 Agent 模式,模型会自己读日志、调用 alb 工具;会改动板子的操作等你点头。

今天
  • 上一次开机的内核崩溃网页 · qwen2.5:7b · 4 次工具
  • 读取最近的 tombstone外部 agent · MCP
昨天
  • 开机为什么慢了 1.3 秒网页 · 云端 API
  • 板上模型测速板上 · 未连接
GET /sessions

上一次开机的内核崩溃

board-aqwen2.5:7b · 本机
WS /chat/ws
@ 问题 · 内核崩溃(pstore)

上一次开机的内核崩溃是怎么回事?把前后的日志也看一下。

alb_diag_pstore device=board-a0.4 s
参数
{
  "device": "board-a"
}
输出 · 4 行
Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008
pc : sensors_poll+0x4c/0x1a0
lr : sensors_poll+0x30/0x1a0
Kernel panic - not syncing: Oops: Fatal exception
alb_log_search pattern=sensors_poll|iio:device01.1 sdmesg 9 · logcat 31 · timeline 09:30–09:32
alb_shell "ls -lZ /dev/iio:device0"只读 · 0.2 scrw-rw---- system system u:object_r:iio_device:s0
qwen2.5:7b · 本机 · 6.1 s

崩溃点在传感器驱动的 sensors_poll+0x4c,读的地址是 0x8。这是空指针再加 8 字节偏移:结构体指针还没建好就被用了。

就在它之前,14 条 SELinux 拒绝让 hal_sensors_default 读不了 iio:device0,HAL 也打出 “open failed: Permission denied”。推测顺序:打开失败 → 驱动私有数据没建 → poll 用到空指针。这个顺序是按时间推出来的,还没验证。

依据pstore:112dmesg 09:31:04.218logcat 09:31:04.121

产出文件screen-0931.png

下一步要你同意:临时放开 SELinux 复现一次。会改变板子状态,下次重启恢复。

alb_shell "setenforce 0"

再把这次开机的完整 dmesg 读一下。

qwen2.5:7b

从开机读 dmesg:前 2 秒里

@ board-a@ 时间轴 · 09:30:58
6.2k / 32k tokens · 会话 20261028…1111

模型

GET /playground/backends
已用上下文6.2k / 32k

用云端 API 时,发送前会列出哪些日志要传出本机。

工具

Agent 模式
  • alb_logcat · alb_log_search直接跑只读
  • alb_diag_* · alb_tombstone_pull直接跑只读
  • alb_shell先问只读命令直接跑,其余先问
  • alb_reboot · alb_app_*先问改动板子

板上模型

未连接
新:POST /api/assistant/ondevice/probe

同一个问题在板上和主机上各跑一次,并排比较:

主机板上
首字延迟0.42 s—
每秒 token38.0—
占用内存5.1 GB—