Ubuntu下AIC8800DC无线网卡驱动安装全攻略:从编译到固件与联网
如果你也和我一样拿到一张AIC8800DC无线网卡想在Ubuntu上把它跑起来先别急着拍桌子。这片卡在Windows下倒是省心进了Linux就完全是另一副面孔——内核默认没有驱动官方文档分散在好几个地方网上问答平台的帖子还经常对不上号。这篇文章我会把整个安装过程拆开揉碎从识别网卡、选驱动来源到编译、装固件、配启动最后到联网和排错完整走一遍。Ubuntu 22.04和24.04我都实测过文中涉及的操作命令、文件路径、内核模块参数都可以直接照着抄。先补一句背景AIC8800DC是一颗WiFi 6的无线芯片常见于一些笔记本模组和USB网卡成品上走的是SDIO或USB接口Linux主线内核里长期没有它的驱动所以必须自己动手。整个流程说难不难但有几个环节特别容易被忽略尤其是固件文件的位置、内核头文件版本、还有Secure Boot的签名问题。踩过一次坑之后我把这些全部整理成了清单式的步骤下面进入正题。1. 动手前先搞清这张卡的“脾气”识别与方案选型很多人一上来就找驱动源码其实第一步应该是确认你手里的硬件到底是哪一颗芯片、走什么接口、当前系统认不认得出设备。省掉这一步后面编译出来的驱动可能根本加载不上。1.1 你手上到底是不是AIC8800DC先插上设备在终端里执行lsusb或lspci看系统能不能枚举到它。USB接口的卡在lsusb输出里会多出一行里面有芯片的vendor ID和product ID这两个ID在后面的驱动配置里会用到SDIO接口的卡通常出现在开发板或者部分笔记本的无线模组上需要用dmesg或者内核日志才能看到枚举信息普通lsusb看不到。我在一台老笔记本上遇到过这种情况设备管理器里明明能看到“AIC8800”的字样但在Ubuntu下lsusb却没有任何新设备。折腾半天发现是那张卡走的是SDIO而且被BIOS默认关掉了。所以如果你的设备干脆不被识别先去检查主板固件设置里无线开关和SDIO/PCIe通道是不是启用状态而不是先怀疑驱动有问题。如果你手头是板载模组还可以通过ethtool -i看网络接口名多数时候设备会显示成wlan0或者类似名字。Ubuntu的可变接口命名规则比如wlx开头的USB网卡也常在这里出现不用被名字吓到。1.2 三条路线怎么选不那么纠结驱动来源大致有三条各有利弊发行版仓库里现成的包某些第三方仓库会把AIC8800的驱动打包成dkms包装完基本能用。好处是省心坏处是版本常常滞后且仓库本身的维护质量参差不齐。官方/厂商开源仓库源码编译这是最主流的方式。源码一般会带Makefile和一套完整的驱动目录编译目标明确遇到问题也好修。内核自带驱动如果有很遗憾AIC8800DC目前不在主线内核里这条路基本不用考虑。如果你不想折腾可以先搜一下适用你Ubuntu版本的dkms包。但我个人建议第一次安装还是走源码编译因为你会更清楚驱动被装到了哪里以后升级内核出问题排查起来脑子里有个全貌。三条路线里核心依赖是一样的内核头文件、编译器、make工具、以及一份和你内核版本匹配的源码包。下面一节专门说编译环境。2. 编译驱动前必须搭好的环境依赖与内核头文件核对AIC8800DC是个外部模块编译它的本质是把源码编译成可以加载进内核的.ko文件。ko文件内核对版本和编译配置非常敏感版本号对不上insmod的时候会直接报“version magic”错误连加载都进不去。2.1 为什么内核头文件版本必须严格一致内核头文件在Ubuntu里的路径是/usr/lib/modules/$(uname -r)/build。这个build目录实际上是一个符号链接指向/usr/src/linux-headers-$(uname -r)。编译驱动时Makefile会从这个目录里读取内核的配置、头文件和makefile片段生成一个与当前正在运行的内核完全匹配的模块。如果你装的是linux-headers-generic这种带版本后缀的元包但内核已经升级到更新版本而系统没重启那么uname -r看到的还是旧版本头文件却是新的编译时就会出各种奇怪的类型定义错误。所以每次编译前都要先执行uname -r再确认/usr/src/linux-headers-$(uname -r)是否存在缺了就装对应版本。我自己踩过最疼的一次是在Ubuntu 24.04上系统自动更新把内核从6.8.0-38升到了6.8.0-40但旧头文件还在新头文件也装了结果Makefile选错了目录编出来的ko加载时直接报“Invalid module format”。2.2 最小依赖清单和一条命令装齐编译最少需要这样几个东西build-essential包含gcc、make、ld等基础编译工具。linux-headers-$(uname -r)当前运行内核的头文件。dkms如果你打算用动态内核模块管理方式这个必装。git拉取驱动源码用。Ubuntu上一条命令就可以装齐sudo apt update sudo apt install build-essential dkms git linux-headers-$(uname -r)注意命令里的$(uname -r)是在执行时动态替换成你当前内核版本号的。如果你装的是HWE内核硬件支持栈常见于较新的笔记本头文件包名可能是linux-headers-generic-hwe-24.04但用uname -r拼出来的包名通常也能对上装不上时再去软件源里搜一下即可。另外如果你的机器开启了Secure Boot模块如果没有签名即使编译成功也加载不进去系统日志里会留下“Module signature verification failed”的记录。个人非受限设备上直接把Secure Boot关掉在主板固件设置里是最省事的办法如果必须开着就得走DKMS的签名流程或者自己生成密钥对ko签名具体做法后面会提到。3. 从源码到koAIC8800DC驱动编译的核心环节依赖装好后接下来就是拿到源码、看懂目录、动手编译。这一步是整个流程的主干很多教程在这一步就断了只告诉你“make make install”但对Makefile里的选项、源码目录的含义、以及编译产物怎么处理一句话带过。这里我把它展开讲清楚。3.1 获取驱动源码与目录结构解读AIC8800DC的驱动源码一般以压缩包或git仓库的形式提供常见的目录结构大致如下aic8800/ ├── aic8800_fdrv/ # WiFi主驱动源码目录 ├── aic8800_btlpm/ # 蓝牙低功耗共存模块如果芯片带蓝牙 ├── Makefile ├── aic8800.conf # 配置文件包含部分编译选项 └── readme.txt源码包里通常还会带一个README里面会写明依赖的内核版本范围。AIC8800DC对内核的兼容性整体还行Ubuntu 22.04内核5.15和24.04内核6.8我都编译通过但如果你用的是6.2以后的内核个别宏可能已经被内核侧移除需要小改源码。这一步最需要留心的是接口类型。AIC8800DC既支持SDIO也支持USB驱动源码在编译前要在Makefile或者配置头文件里指定走哪个接口。搞错接口类型编译可能照样成功甚至insmod都能过但网卡就是无法工作多半是接口通道没对上。3.2 Makefile里需要改哪些地方每个版本的源码Makefile略有不同但核心就几处开关下面是我实际改过的一个例子# 接口选择二选一 CONFIG_AIC8800_SDIO y # CONFIG_AIC8800_USB y # 编译模式一般用m编译成模块 CONFIG_AIC8800 m # 工具链x86 PC上保持默认即可交叉编译时才需要改 CROSS_COMPILE ? ARCH ? x86_64如果你的卡是USB款就把CONFIG_AIC8800_SDIO那行注释掉打开USB那行SDIO款反之。驱动源码里如果自带自动检测脚本可以先用脚本生成配置再编译省得自己判断。另外部分源码包在Makefile里会引用一个KERNELDIR变量KERNELDIR ? /lib/modules/$(shell uname -r)/build这个值一般不用改但如果你的头文件路径特殊比如用了自编译内核要指向你自己的内核源码目录否则编译时会报找不到内核头文件。3.3 编译产物和ko加载路径在源码根目录执行make编译完成后去aic8800_fdrv目录下看一眼里面应该诞生了一个.ko文件比如aic8800_fdrv.ko。这就是我们要的东西。接着手动加载试一下sudo insmod aic8800_fdrv/aic8800_fdrv.ko加载后马上查一下内核日志dmesg | tail -30正常的日志里会看到网卡注册、firmware加载完成、以及wlan接口创建这类信息。如果看到failed to request firmware这类报错别慌九成是固件文件位置不对下面这一节专门讲。成功后把ko复制到系统模块目录后面才能实现开机自动加载sudo cp aic8800_fdrv/aic8800_fdrv.ko /lib/modules/$(uname -r)/extra/ sudo depmod -adepmod这步很多人会忘它的作用是重建模块依赖关系表不然直接modprobe可能找不到这个ko。如果你准备走DKMS方式来管理源码编译这步可以跳过手动cp先在dkms.conf里配置好“编译什么模块、安装到哪里”再执行dkms add、dkms install。后面会有专门一节说DKMS的配置细节。4. 固件与配置文件最容易“装好了但网卡起不来”的地方驱动编译成功、ko也加载进去了但无线网卡依然不工作大多数时候不是代码问题而是固件文件没有放到内核会去找的路径。AIC8800DC跟大多数WiFi芯片一样芯片里没有固件上电后要由驱动把固件写到芯片里去这个过程由request_firmware机制完成。4.1 固件文件放到哪个目录内核查找固件的默认路径是/lib/firmware以及/lib/firmware/updatesUbuntu特有的overlay目录。具体搜索顺序由内核配置决定一般就这两个地方。把源码包里附带的.bin文件通常在fw目录或者固件目录下拷贝过去sudo mkdir -p /lib/firmware/aic8800 sudo cp fw/*.bin /lib/firmware/aic8800/放完后可以在加载驱动前先确认一下固件是否可读、权限是否正常ls -l /lib/firmware/aic8800/固件文件权限必须是644owner可读写组和其他人可读如果权限不对内核可能拒绝加载固件。有些源码包的固件文件名里有版本号驱动源码里硬编码了它要找的文件名如果名字对不上一样起不来。此时观察dmesg报错里给出的文件名把固件改名为那个名字即可。4.2 配置文件与蓝牙共存问题AIC8800DC这颗芯片常常集成了蓝牙驱动包里有个aic8800_btlpm目录是低功耗蓝牙共存模块。它和WiFi驱动共用同一套固件资源但加载顺序上有讲究如果WiFi先加载蓝牙后加载一般没问题反过来就会在蓝牙部分出现无休止的firmware超时重试。所以建议把WiFi和蓝牙模块都编出来加载顺序为先加载WiFi驱动aic8800_fdrv等它完全起来且固件加载完毕再加载蓝牙低功耗模块aic8800_btlpm。如果你只用WiFi不用蓝牙可以完全不编译蓝牙模块不影响WiFi功能只是系统日志里会多一些和蓝牙相关的注释不影响使用。另外有些源码包自带一个.conf文件用来设置信道、工作模式等参数正常情况保持默认即可。出场默认一般没太大毛病除非你要在特殊频段或者做监听模式否则不建议动它。5. 加载、开机自启与联网配置实战编译好、固件就位还只是第一步真正要用起来还要把模块固化到系统里并处理Ubuntu的NetworkManager和网络命名问题。5.1 手动加载和模块参数先用modprobe确认加载没问题sudo modprobe aic8800_fdrv如果报错先检查dmesgsudo dmesg | grep aic8800常见报错和对应解法后面单独开一节列成表。手动成功之后让模块开机自动加载办法是写一个模块加载配置文件echo aic8800_fdrv | sudo tee /etc/modules-load.d/aic8800.conf这个文件的作用是让systemd在开机时用modprobe自动加载列出的模块。如果你还编译了蓝牙模块同样把它追加进去但顺序上要保证WiFi在前。黑名单是另一个需要注意的点。有些网卡会被另一个通用驱动抢先绑定导致专用驱动加载后拿不到设备。检查一下lsmod | grep -i aic如果看到cfg80211等模块自动加载但没有aic8800的绑定信息而dmesg又没有明确报错可以考虑把占用设备的通用驱动加入黑名单。写入/etc/modprobe.d/blacklist-aic.conf# 将可能抢设备的模块列入黑名单按实际报错调整 blacklist somedriver黑名单的操作要克制定位到确切的冲突驱动再黑否则容易带出别的问题。5.2 DKMS让驱动不随内核升级失效直接cp ko到/lib/modules/下有个问题系统一升级内核新内核目录下没有这个ko驱动就失效了。DKMS就是为了解决这类外部模块而设计的它会在你升级内核时自动重新编译并安装对应版本的模块。配置DKMS需要写dkms.conf最简单的内容类似PACKAGE_NAMEaic8800 PACKAGE_VERSION1.0 BUILT_MODULE_NAME[0]aic8800_fdrv DEST_MODULE_LOCATION[0]/kernel/extra/net/wireless/ MAKE[0]make -C aic8800_fdrv KERNELDIR/lib/modules/${kernelver}/build CLEANmake clean AUTOINSTALLyes然后执行sudo dkms add . sudo dkms build -m aic8800 -v 1.0 sudo dkms install -m aic8800 -v 1.0如果你的机器开着Secure Bootdkms install阶段会提示需要给模块签名。此时可以用mokutil导入自己的密钥或者临时关掉Secure Boot后再装。装完后建议重启一次确认模块确实随开机加载了。5.3 网络接口命名与NetworkManager连接模块加载成功后用ip link看一下有没有新的无线网卡ip link通常会出现wlan0或者类似名字的接口。如果接口名是wlx后面跟一串MAC比如wlx001122334455那是udev对USB网卡的固定命名规则不影响使用但看着别扭。想改成固定简洁名字可以在/etc/systemd/network/里写一个.link文件来指定Name策略多数人其实用不到这一步我建议新手不要改因为改坏了可能会让NetworkManager找不到设备。接着用NetworkManager连接WiFi图形界面下直接点右上角网络图标操作就行。命令行下更快nmcli device wifi list nmcli device wifi connect 你的SSID password 你的密码如果连接后一直拿不到IP先检查是不是被NetworkManager接管了运行nmcli device status看到网卡状态是“connected”才行如果是“unmanaged”说明NetworkManager没管这张卡。把设备托管给NM配置在/etc/NetworkManager/NetworkManager.conf里确保managedtrue。如果网卡能扫描到WiFi但连不上自家路由器的5GHz频段可能是区域码限制。执行iw reg set CN临时切到中国区码试试。注意这个设置重启后会失效需要持久化的话在/etc/default/crda或NetworkManager配置里指定不同Ubuntu版本方式略有差异具体以iw reg get的输出为准。6. 常见问题与排查技巧实录这个章节是我在全过程里反复遇到、且网上帖子语焉不详的部分。按“问题现象→原因→解决办法”整理成表方便你对照dmesg和实际操作快速定位。6.1 dmesg报错速查表报错关键词原因解决办法version magic mismatch内核头文件版本与当前内核不符用uname -r确认版本安装对应linux-headersDirect firmware load for aic8800... failed固件文件缺失或路径不对把固件bin拷到/lib/firmware并检查文件名是否与报错一致module verification failedSecure Boot拒载未签名模块开启MOK签名或关掉Secure Bootfailed to create wlan device接口类型或引脚配置错误回到Makefile核对SDIO/USB开关odd sizeof not zero编译时结构体对齐或内核版本不兼容换用与内核版本匹配的源码分支或打补丁timed out waiting for firmware固件加载超时多为蓝牙抢占资源调整加载顺序WiFi先于蓝牙或禁用蓝牙模块实际用好这张表的关键在于先看dmesg有没有和aic8800相关的行再看报错属于哪一类而不是漫无目的地重新编译。6.2 编译报错案例分析我在Ubuntu 24.04内核6.8上遇到过一段报错error: implicit declaration of function ‘for_each_netdev’这种报错通常是内核API变了驱动源码还停留在旧写法。解决办法分三步确认Ubuntu版本和内核版本去源码的issue区找是否有适配该内核的分支或补丁或者自己把源码里对应的旧API改成新API。很多厂商驱动维护并不活跃这个靠自己改也是常事。如果不想硬啃内核API也有个折中方案在开机GRUB引导菜单里选择旧内核启动让驱动跑在新旧兼容的版本上但不推荐长期依赖旧内核安全更新会积累隐患。6.3 信号弱、连不上5GHz的处理思路排除驱动问题之后物理层的问题也很常见。AIC8800DC如果板载天线设计得差信号强度会惨不忍睹这不是驱动能解决的。先跑一下iw dev wlan0 link确认信号强度如果数值很差但周边设备都正常优先怀疑天线接线和金属遮挡。区域码对5GHz影响最明显。中国区码允许的5GHz信道和路由器默认信道经常不一致而路由器设置的自动信道可能跳到驱动不支持的信道频段。把路由器信道固定为36-48这一档通常能解决“能看到5GHz但连不上”的问题。在Ubuntu端通过iw reg set手动切区码也能应急但治本还是把路由器设置成双方都支持的频段。还有一个容易忽略的点如果你的无线网卡是USB供电的某些USB口供电不足会导致网卡频繁掉线或信号暴跌尤其插在机箱前面板口时常见。换一个背板USB口或者用带供电的USB Hub问题可能直接消失。6.4 蓝牙共存模块的坑如果你同时加载了aic8800_btlpm偶尔会遇到WiFi工作时蓝牙同步启动导致整机卡顿的情况这是共存模块的中断争抢问题。快速验证方法先不加载蓝牙模块只用WiFi跑一段时间观察卡顿是否消失。如果消失了说明是共存逻辑在多核或特定电源状态下的Bug。这类问题没有通用解药与Ubuntu的电源管理、内核调度都有关。临时方案是给蓝牙模块加参数禁用某个低功耗特性或者索性只在需要时手动加载蓝牙模块平时单独用WiFi。我不建议一上来就深挖共存Bug先把WiFi本身搞稳定蓝牙作为可选项再优化优先级更合理。最后分享一个我个人的使用习惯每次内核升级之后不要急着用新内核重启先切回旧内核把驱动状态确认一遍再考虑要不要升级。这样即使DKMS自动重建失败你也有足够的时间去修而不是开机后才发现无线网卡失效、有线还没插。AIC8800DC这套流程本质上就是“源码获取→依赖确认→编译→固件放置→自动加载→网络管理接管”这条主线。你按照上面每一节走完基本能稳定用起来。后面如果遇到具体报错拿dmesg的输出对着速查表来找原因比重新编译十遍都管用。

相关新闻

爆款视频拆解智能体搭建实战:从零用大模型自动化分析短视频

爆款视频拆解智能体搭建实战:从零用大模型自动化分析短视频

前阵子我们团队做内容复盘,为了一条只有几十秒的爆款视频,几个人围着屏幕看了一遍又一遍,笔记记了整整三页,最后讨论到快下班也没统一它到底“赢”在哪里。后来我就开始琢磨,能不能把这套拆解工作交给大模型&#xff0…

2026/10/19 8:02:37 阅读更多 →
STM32 MODBUS RTU从站协议栈完整实现:四种功能码与状态机设计

STM32 MODBUS RTU从站协议栈完整实现:四种功能码与状态机设计

简介:面向嵌入式开发者和工控工程师的STM32 MODBUS RTU通信完整实例,覆盖MODBUS协议全部常用功能码,解决设备间串行通信、寄存器读写、CRC校验等工程落地问题,尤其适合PLC、传感器和仪表类设备的数据交互场景。资源包共787个文件&…

2026/10/19 8:02:37 阅读更多 →
React Native登录页开发实战:从表单校验到安全存储的完整方案

React Native登录页开发实战:从表单校验到安全存储的完整方案

一个刚入行没多久的小伙伴前两天问我:接手了一个仿XX产品的React Native项目,第一个页面就是登录页,看起来不复杂,但写起来总觉得别扭,问我有没有什么套路可以少走弯路。说实话,登录页这个页面我前前后后至…

2026/10/19 8:02:37 阅读更多 →

最新新闻

Pallas引擎如何看穿AI写作?从降AI到人机协同的正确路径

Pallas引擎如何看穿AI写作?从降AI到人机协同的正确路径

先说结论:2026年了,还在问“怎么降AI”的人,思路本身就反了。真正的答案不是研究怎么骗过Pallas引擎,而是研究为什么它盯上你。我把国内外主流AIGC检测工具,包括知网近期升级的Pallas引擎思路做了拆解,结合…

2026/10/20 7:14:56 阅读更多 →
Boost PFC CCM平均电流控制与相位补偿的Plecs仿真实战

Boost PFC CCM平均电流控制与相位补偿的Plecs仿真实战

做开关电源仿真绕不开PFC这个话题。最近我把Boost PFC的CCM平均电流控制叠加电流相位补偿控制,在Plecs里完整跑了一遍仿真,从主电路参数计算到控制环路搭建,再到波形分析和问题排查,整个过程踩了几个坑,也把原理重新梳…

2026/10/20 7:14:56 阅读更多 →
批量出图怎样做到像素级可控?规则渲染管线实战解析

批量出图怎样做到像素级可控?规则渲染管线实战解析

这个需求最近真的很多人问。我自己的项目里也是碰到一模一样的瓶颈:业务方要求批量出图,图片里不能有丝毫随机性——同样的输入必须产出同样的构图、同样的配色、同样的文字位置。拿通用多模态生成模型试了几轮,效果确实惊艳,但根…

2026/10/20 7:14:56 阅读更多 →
litellm:统一大模型接入层,解决多模型切换与适配之痛

litellm:统一大模型接入层,解决多模型切换与适配之痛

最近在做一个多模型调度的内部项目时,我把团队的模型接入层整体切换到了 litellm。这个决定帮我省掉了大量重复的适配代码,也让我们在评估不同大模型服务时效率高了不少。如果你同样被"每个模型一套 SDK、一套请求格式、一套报错风格"折磨过&a…

2026/10/20 7:14:56 阅读更多 →
新手考古路线图:3 步定位登月舱降落代码 BURN, BABY, BURN——从 Luminary099 源码索引到 P63 着陆算法

新手考古路线图:3 步定位登月舱降落代码 BURN, BABY, BURN——从 Luminary099 源码索引到 P63 着陆算法

新手考古路线图:3 步定位登月舱降落代码 BURN, BABY, BURN——从 Luminary099 源码索引到 P63 着陆算法 【免费下载链接】Apollo-11 Original Apollo 11 Guidance Computer (AGC) source code for the command and lunar modules. 项目地址: https://gitcode.com/…

2026/10/20 7:14:56 阅读更多 →
投机推理:突破大模型自回归瓶颈的并行验证加速技术

投机推理:突破大模型自回归瓶颈的并行验证加速技术

1. 大模型推理的“车堵一条道”困局老做推理优化的朋友都有过这种体验:GPU 明明算力爆炸强,但每次生成一个 token 都得几毫秒甚至几十毫秒,batch 稍微大一点,延时就像坐火箭一样往上蹿。一开始我们都骂“模型太大了”,…

2026/10/20 7:13:55 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →