真自然语言编程:他让AI写驱动让未知设备完美驱动了

2026-06-12 18:33:21 0点赞 0收藏 0评论

有时候,一个看似普通的技术案例,会突然让人意识到:时代真的变了。

最近在 ophub/amlogic-s9xxx-armbian 项目里,有一个很让人惊喜的案例:一位用户 w2xg2022 使用 Codex 辅助,为一块浪潮 MD1000 RK3566 设备完成了 Armbian 适配。他不仅让设备跑上了主线 Linux 6.18.y,还解决了最棘手的有线网卡问题:为 Maxio MAE0621A 写出了 PHY 驱动,同时整理出了专用设备树:

真自然语言编程:他让AI写驱动让未知设备完美驱动了

rk3566-md1000.dts

最终,这块原本没有完整支持、连有线网卡都无法正常工作的设备,实现了:

  • 千兆有线网卡可用;

  • RTL8822CS WiFi 可用;

  • 蓝牙可用;

  • USB Host 可用;

  • HDMI 正常;

  • CPU 频率、系统稳定性也达到可用状态;

  • 并且基于主线 linux-6.18.y 形成了可维护的源码级适配。

这件事最打动人的地方,并不仅仅是“某个设备被适配了”,而是它突破了很多人过去对技术边界的想象。


一、过去:一块“不受支持”的板子,往往意味着止步于此

在嵌入式 Linux、电视盒子、开发板、拆机主板这些领域里,很多人都有类似经历:

买到一块硬件,芯片看起来很熟悉,比如 RK3566、RK3588、S905X3、S905X4; 镜像也能勉强启动; HDMI 也许有显示; 系统似乎进入了 Linux。

但接下来问题就来了:

  • USB 不工作;

  • 有线网卡不识别;

  • WiFi 没有;

  • 蓝牙没有;

  • eMMC、SDIO、UART、GPIO 对不上;

  • 原厂资料缺失;

  • 设备树不匹配;

  • 某个冷门 PHY 没有主线驱动。

对普通用户来说,到了这一步,基本就等于“没戏了”。

因为适配这类设备,往往需要:

  • 能读懂 DTS / DTSI;

  • 会分析原厂 Android 固件;

  • 会看内核启动日志;

  • 会调 MDIO、PHY、regulator、pinctrl;

  • 会改内核驱动;

  • 会写 Kconfig / Makefile;

  • 会编译内核;

  • 会根据实机反馈一点点修。

这不是简单改个配置文件,也不是复制一个 DTB 就能解决的事。

尤其像 MD1000 这次遇到的 Maxio MAE0621A PHY,并不是 Linux 主线里常见的以太网 PHY。也就是说,即便 RK3566 的 GMAC 控制器本身能工作,如果 PHY 没有驱动、没有正确初始化,网口仍然不会正常起来。

过去遇到这种情况,很多设备就只能停在“能亮屏,但不能真正用”的状态。

对于普通玩家来说,梦想到这里就断了。


二、转折:一个非程序员,用自然语言指导 AI 写出了驱动

而这次的不同在于,w2xg2022 并不是传统意义上的内核开发者。

他没有一开始就手写完整驱动,也不是靠多年 Linux PHY 子系统开发经验从零开始硬啃。他做了一件过去听起来有些不可思议的事:

用自然语言指导 AI,分析硬件、整理设备树、生成驱动、修改补丁,并通过真实设备不断测试迭代。

真自然语言编程:他让AI写驱动让未知设备完美驱动了

整个过程大致经历了几个阶段。

一开始,他使用 jp-tvbox 的 Armbian 镜像尝试启动 MD1000。系统能显示画面,但 USB 和有线网卡都不可用。也就是说,设备虽然“活了”,但还没有真正“可用”。

随后,通过分析原厂 Android 固件,提取出关键的 rk-kernel.dts,再结合 Codex 辅助理解各个节点的意义,包括:

  • USB 供电;

  • USB Hub reset;

  • SDIO WiFi;

  • UART 蓝牙;

  • GMAC;

  • PHY;

  • pinctrl;

  • regulator;

  • GPIO;

  • 时钟和复位。

AI 在这里不是简单“生成一段代码”,而是扮演了一个协作者的角色:帮助用户阅读复杂资料,推测硬件连接关系,整理成适合 Linux 主线风格的设备树。

后来,针对 Maxio MAE0621A 这个最关键的网卡 PHY,AI 又辅助生成了 maxio.c 驱动,并配套修改:

drivers/net/phy/maxio.c drivers/net/phy/Kconfig drivers/net/phy/Makefile

同时在内核配置中加入:

CONFIG_MAXIO_PHY=y

最终,设备不再依赖后装脚本,不再只是临时绑定模块,而是变成了更规范的内核源码级支持。

这意味着什么?

意味着一个原本“不可能适配”的设备,被一个非专业内核开发者,在 AI 的辅助下,一步步推到了“可以正式合入、可以维护、可以复现”的程度。

这确实足够让人惊艳。

真自然语言编程:他让AI写驱动让未知设备完美驱动了

三、AI没有替代人,但极大放大了人的能力

这个案例真正值得思考的地方,不是简单地说“AI 会写驱动了”。

更准确地说,是:

AI 正在把过去只有少数专业人士才能进入的技术深水区,逐渐开放给更多有热情、有耐心、有设备、有目标的人。

在 MD1000 的适配过程中,AI 并不是一次性给出完美答案。中间也经历过失败:

  • 早期基于 jp-tvbox.dtb 只能部分启动;

  • maxio.ko 需要手动绑定;

  • 将驱动编入内核后曾出现启动卡住;

  • MDIO 访问顺序、mutex、驱动初始化等问题需要继续修正;

  • 设备树也需要从反编译 DTS 逐步整理成可维护的主线风格。

也就是说,AI 并没有凭空“魔法般”解决一切。

真正发生的是一种新的协作模式:

人负责提出目标、提供实机、收集日志、判断现象、不断追问; AI负责阅读资料、生成代码、解释机制、提出方案、整理补丁; 维护者负责把关方向、指出规范、提供构建环境、推动进入正式工程流程。

这三者结合起来,才让事情发生了。

如果没有真实设备测试,AI 的代码可能只是纸上谈兵。 如果没有人的坚持,第一次失败后可能就放弃了。 如果没有项目维护者的经验,这些补丁也可能停留在“能用但不可维护”的状态。

所以,这不是 AI 独自完成的奇迹,而是 AI 把普通人的能力边界向前推了一大截。

它让一个原本不具备完整内核开发经验的人,有机会站到更高的起点上,去完成过去几乎不敢想的事情。


四、从“能用脚本修补”到“进入主线式适配”

这个案例还有一个很重要的技术价值:它不是停留在“我这里能用”的临时方案。

一开始,MD1000 的网口需要单独加载 maxio.ko,再通过脚本绑定 MDIO bus。这样的方式虽然能解决燃眉之急,但长期来看并不理想:

  • 用户刷机后还要手动执行脚本;

  • 内核升级后模块可能失效;

  • 初始化顺序不稳定;

  • 不适合放进正式支持列表;

  • 其他用户难以复现。

在维护者 ophub 的建议下,适配方向发生了变化: 不要依赖反编译 DTS 和外挂脚本,而是整理出正式补丁。

最终形成的路线是:

  1. 新增专用设备树:

arch/arm64/boot/dts/rockchip/rk3566-md1000.dts

  1. 在 Rockchip DTS Makefile 中加入:

rk3566-md1000.dtb

  1. 新增 Maxio PHY 驱动:

drivers/net/phy/maxio.c

  1. 修改 PHY 子系统:

drivers/net/phy/Kconfig drivers/net/phy/Makefile

  1. 启用配置:

CONFIG_MAXIO_PHY=y

这一步非常关键。

因为它意味着适配成果不再是个人机器上的“偏方”,而是变成了项目可以编译、可以维护、可以传播的正式成果。

这也是 AI 辅助开发真正有价值的地方: 不只是帮你临时解决问题,而是帮助你把问题整理成工程化、可复用、可合并的解决方案。


五、梦想和现实之间,可能只差一次“让 AI 试试”

这个案例最让人感慨的是:过去我们面对未知设备时,常常会下意识地判断“算了,不可能”。

没有资料,不可能。 没有驱动,不可能。 没有人适配过,不可能。 我不是程序员,不可能。 Linux 内核太复杂,不可能。

这些“不可能”,曾经都很真实。

但现在,AI 正在改变这些“不可能”的边界。

它不能保证每一次尝试都会成功。 它也不会让复杂技术突然变得毫无门槛。 但它会给普通人一个以前没有的机会:

你可以把原厂 DTS 扔给它分析; 可以让它解释启动日志; 可以让它对比两个设备树; 可以让它帮你写初版驱动; 可以让它修改 Kconfig 和 Makefile; 可以让它整理 patch; 可以让它根据 dmesg 继续推断问题。

过去这些工作需要你先学很久,才有资格开始。 现在,你可以边做边学,边问边试,边失败边修。

这就是 AI 最令人兴奋的地方: 它不是直接替你完成梦想,而是让你第一次觉得,梦想也许真的可以动手试一试。

真自然语言编程:他让AI写驱动让未知设备完美驱动了

六、AI时代的开发者,不一定先是程序员,而可以先是探索者

w2xg2022 的故事给人一个很大的启发:

未来很多有价值的创造,可能不再只来自传统意义上的“专业程序员”。

它也可能来自:

  • 一个手里有冷门设备的玩家;

  • 一个想让旧硬件重获新生的爱好者;

  • 一个愿意反复测试的折腾者;

  • 一个会清楚描述问题的人;

  • 一个敢于让 AI 尝试未知任务的人。

在 AI 时代,表达需求、拆解问题、验证结果、持续迭代,正在变成一种新的核心能力。

你不一定要一开始就会写 Linux PHY 驱动。 但你要知道自己想让设备做什么。 你要能把现象说清楚。 你要愿意提供日志。 你要敢于测试。 你要能在失败后继续问:“为什么卡住?下一步怎么查?”

当 AI 能够承担越来越多阅读、生成、解释和重构的工作时,人类的角色并没有消失,而是更像一个方向感很强的探索者。

人提出问题,AI扩展路径。 人验证现实,AI修正方案。 人保留判断,AI提供可能。 人怀抱梦想,AI帮你把梦想拆成一个个可以执行的步骤。


七、这或许真的是一个里程碑

“AI 写驱动”这件事本身,也许在未来会越来越常见。 但在今天,这个案例仍然值得被记住。

因为它完成的不只是一个技术动作,而是一次观念上的突破。

它证明了:

  • AI 可以参与底层系统开发;

  • AI 可以辅助设备树适配;

  • AI 可以帮助非程序员进入复杂工程;

  • AI 可以把原本停留在想象中的事情推进到现实;

  • AI 可以和开源社区、真实硬件测试结合,产生真正可用的成果。

更重要的是,它让很多人重新思考:

那些被我们放在抽屉里的板子,是否还有机会? 那些没有资料的设备,是否还能再试试? 那些以前觉得太难的目标,是否可以交给 AI 一起拆解? 那些被“不可能”挡住的念头,是否只是还没有被认真尝试过?


结语:从梦想到现实的距离,是你有没有让 AI 试试

浪潮 MD1000 的适配,不只是一个 RK3566 设备支持案例。它更像是一个信号:

一个非程序员,借助 AI、开源社区和真实设备测试,完成了过去看起来只有专业内核开发者才能完成的工作。

这背后最珍贵的,不是某一段代码,也不是某一个 DTS 文件,而是一种新的可能性:

我们可以更加大胆地设想,也可以更加大胆地动手。 面对未知设备,别急着说“不可能”。 也许,AI 已经能陪你走过最难的第一段路。

从前,梦想和现实之间隔着大量知识、经验和门槛。 现在,这个距离正在被 AI 一点点缩短。

也许下一块被点亮的设备,下一项被实现的功能,下一次让人惊叹的突破,就来自某个普通人的一句话:

“让 AI 试试吧。”

真自然语言编程:他让AI写驱动让未知设备完美驱动了
展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
0
扫一下,分享更方便,购买更轻松