血泪史:我的Thinkpad T420 Coreboot之旅
作者记录了将Coreboot刷入Thinkpad T420的痛苦经历。从拆解这台“坚固如坦克”的老Thinkpad开始,到处理IC芯片连接的难题,再到编译Coreboot固件时遇到的UEFI兼容性问题,整个过程充满挑战。最终,虽然成功刷入Coreboot并实现了加速启动,但一些功能例如Windows XP启动、硬件时钟和其它一些Payload都出现了问题。作者表示,除非升级CPU,否则可能不会继续使用Coreboot。
作者记录了将Coreboot刷入Thinkpad T420的痛苦经历。从拆解这台“坚固如坦克”的老Thinkpad开始,到处理IC芯片连接的难题,再到编译Coreboot固件时遇到的UEFI兼容性问题,整个过程充满挑战。最终,虽然成功刷入Coreboot并实现了加速启动,但一些功能例如Windows XP启动、硬件时钟和其它一些Payload都出现了问题。作者表示,除非升级CPU,否则可能不会继续使用Coreboot。
现代笔记本电脑扬声器依靠大量数字信号处理(DSP)才能获得良好的音质。本文作者利用Room EQ Wizard测量了GPD Pocket 4内置扬声器的频率响应,发现存在一个明显的4kHz谐振峰,导致声音刺耳。通过REW生成一个卷积滤波器的脉冲响应,并结合PipeWire音频服务器,作者成功地补偿了这个缺陷,显著提升了扬声器的音质,过程类似于Asahi Linux项目对苹果硅Macbook的音频优化。
三星宣布其Ballie机器人将于今年夏天在美国和韩国上市。更令人兴奋的是,这款小型机器人将通过与谷歌云的合作,搭载Gemini AI模型。Ballie具备多模态能力,能够处理来自传感器的语音、音频和视觉数据,并能管理智能家居设备,甚至提供健康和造型建议。虽然三星尚未公布价格,但这款历经多次迭代的机器人终于将在今年夏天与消费者见面,此前曾在2020年和2024年CES展出。
市面上便携式录音机的规格参差不齐,难以客观评估其录制微弱动物声音的能力。本文对比测试了多款录音机的麦克风输入噪声,数据包括等效输入噪声(EIN)、输入削波电平、最大增益下的动态范围等,以A加权和未加权两种方式呈现20Hz-20kHz频响范围内的噪声水平。结果显示,不同型号录音机的噪声性能差异显著,为用户选择合适的录音设备提供了参考依据。
雷蛇近期在其美国官网下架了Blade 16和其他笔记本电脑的预购和购买选项。这与美国政府对中国台湾等国家实施新关税的时间点高度吻合。虽然雷蛇官方未明确回应关税影响,但其Blade 16的配置器已显示404错误,其他产品也仅剩“通知我”选项。而其他国家的雷蛇官网仍可预购Blade 16,这进一步暗示了美国市场受关税影响而暂停销售的可能性。
一位爱好者利用FPGA复刻了1956年的LGP-30电脑。LGP-30以其简单的设计和低廉的成本被认为是首批个人电脑之一。该复刻版忠实地再现了LGP-30的比特串行CPU和磁鼓存储器,并使用现代组件,例如Numato Mimas FPGA开发板。用户可以通过附加的LCD和HDMI显示器观察其内部工作原理,甚至可以逐位地单步调试。该项目提供了完整的构建说明、原理图和源代码,让爱好者可以亲手构建一台历史悠久的电脑。
本文追溯了苹果Mac电脑从1984年至今的接口演变历程。从最初的DE-9鼠标接口、RJ11键盘接口和RS-422串口,到后来的ADB、SCSI、Parallel ATA、USB、FireWire和Thunderbolt,每个接口都见证了科技的进步和苹果设计理念的变迁。文章详细介绍了各种接口的技术特点、应用以及苹果在不同时期所做的选择,展现了一段充满技术细节和历史故事的科技发展史。
本文介绍了如何使用树莓派和PiFex开发板进行硬件逆向工程,目标是一个电动牙刷。作者详细讲解了如何使用PiGen生成包含必要软件工具的树莓派镜像,配置UART、SPI、I2C等外设,并利用OpenOCD WebUI和Jupyter Notebooks进行固件提取和硬件级调试。文章还提供了修改配置文件和安装依赖项的步骤,以及通过USB-to-Serial和USB-to-Ethernet接口访问树莓派的方法。最终目标是提取电动牙刷的固件并实现硬件级调试。
Erica Synths停止生产其经典的DIY Eurorack模块后,决定将其开源。他们提供了PCB面板的Gerber文件,并对模块设计做了一些修改,去除了定制和稀有组件(部分模块仍需一些可在www.ericasynths.lv上找到的稀有IC)。每个文件夹都包含完整的模块构建信息和文件:原理图、面板Gerber文件、PCB Gerber文件、BOM、带值和标号的元件放置以及装配手册(请注意,一些手册是为旧版模块设计的)。Erica Synths允许第三方将这些项目用于个人、教育或商业用途。但Erica Synths不会为此提供任何支持,请参考论坛(www.muffwiggler.com)获取构建细节、故障排除、零件可用性或替代方案的信息。开源项目包括:Bassline、BBD delay/flanger、Delay、Dual VCA、Envelope、MIDI-CV、Mixer、Modulator、Output、Polivoks VCF、Swamp和VCO3等。
本文以一台2013年末15英寸MacBook Pro为例,详细描述了如何利用Memtest86测试结果和内存地址解码,精确定位导致内存故障的单个RAM IC。文章分析了内存地址与通道、Rank和数据位的映射关系,并结合电路图和板视图,最终成功更换故障IC,修复了内存问题。需要注意的是,此方法依赖于部分逆向工程成果,且需要一定的电子维修技能。
一位退休广播工程师利用DeskPi RackMate T1迷你机架,构建了一个管理40多个远程塔站的完美系统。该系统集成了网络连接冗余、多音频源处理、静音监控、激励器以及远程监控等功能,实现了标准化和易于维护。工程师还提出了改进建议,包括使用更高更大的机架、PoE供电和更标准的迷你机架安装选项,以进一步提升效率和便捷性。
作者利用生日收到的HackPack里的红外炮塔,结合巧妙的编程和3D打印技术,制作了一个能够实时追踪国际空间站的装置。该装置通过获取国际空间站的两行轨道根数(TLE)数据,利用SGP4算法计算其位置,并将其转换为方位角和仰角,从而控制步进电机和伺服电机精确指向空间站。整个项目涉及天文计算、嵌入式编程、3D建模等多个领域,展现了作者的创造力和动手能力,也为天文爱好者提供了一个独特的观测工具。
AMD RDNA 4 架构引入了一种创新的动态 VGPR(向量通用寄存器)分配模式,以解决光线追踪中寄存器数量与线程占用率之间的权衡难题。传统GPU在处理光线追踪时,由于每个线程的寄存器分配固定,高寄存器需求的阶段会限制线程并行度,从而影响性能。RDNA 4 的动态分配模式允许线程在运行时动态调整寄存器数量,从而在不增加寄存器文件大小的情况下提高线程占用率,降低延迟,提升光线追踪性能。虽然这种模式也可能导致死锁,但AMD通过死锁避免模式进行缓解。这项技术并非万能药,仅限于 wave32 计算着色器,但为AMD在光线追踪技术上的进步提供了有力支撑。
本文介绍了一个极简的Linux电脑项目,仅使用三个8引脚芯片构建而成。作者克服了引脚数量限制的挑战,巧妙地利用SPI RAM与SD卡共享引脚,并通过软件实现了USB-串口通信和SD卡访问。最终,这个微型电脑成功运行了Debian Linux系统,并支持vi、gcc等常用工具,展现了精巧的设计和强大的性能。
相机RAW格式五花八门,Canon的CR3、Nikon的NEF、Sony的ARW等,导致软件兼容性问题频发。Adobe的DNG(数字底片)格式试图解决这一问题,但并未被所有厂商采用。文章探讨了厂商坚持自有格式的原因:更好地控制图像处理流程,以及针对自家软件优化。虽然DNG具有开放性、易用性和未来兼容性等优势,但大型厂商出于对性能和独特功能的追求,仍倾向于自有格式。这给早期用户和软件开发者带来不便,但只要厂商与Adobe等公司保持合作,现状或可维持。
开源BIOS解决方案Coreboot发布了25.03版本,带来了诸多改进。该版本提升了显示处理、USB调试体验,更新了CPU拓扑结构,优化了老旧Intel Haswell平台的内存初始化,并改进对USB Type-C、Thunderbolt、RISC-V架构的支持,以及DDR5-7500的支持。此外,它还修复了大量bug,并新增了22个主板的支持,其中包括一些Google Chromebook、AMD“Crater”开发平台、旧款ASRock主板以及StarLabs设备。Intel Panther Lake参考平台“Intel Ptlrvp”也得到了支持。
一位电动船舶行业的机械工程师,为了测试自己设计的船用变速箱,花费大量时间和精力自制了一台30kW的动力计。这台动力计集成了扭矩测量、水冷、CAN总线集成和基于Python的仪表盘等功能。文章详细介绍了动力计的构建过程、遇到的挑战以及技术细节,包括电机选择、传感器集成、数据采集和电源系统等方面,并分享了在传感器噪声抑制和系统集成方面的经验教训。
作者在感染新冠后,突发奇想在30年前的486电脑上安装AIX 1.3操作系统。这台486经过多次升级改造,硬件老化严重。安装过程充满挑战:94张软盘镜像、IDE接口识别问题、VGA兼容性问题、安装盘损坏等。作者尝试各种方法,包括更换显卡、更换硬盘、制作新的安装盘,甚至还自制VGA线,最终仍未成功安装。这个故事体现了对复古电脑的热爱和对技术的执着追求,也展示了老旧硬件的诸多问题和安装过程中的各种意外。
Tenstorrent发布了其新款Blackhole™ AI加速卡,采用全新RISC-V内核,旨在高效处理海量AI工作负载,并提供无限扩展的解决方案。Blackhole™产品线包括单处理器版本(p100和p150,价格分别为999美元和1299美元)以及四处理器液冷工作站TT-Quietbox(价格为11999美元)。新一代Blackhole™ PCIe卡采用6nm工艺制程,拥有更快的片上网络、更高的内存密度和更多的集成RISC-V内核。同时,Tenstorrent还推出了开发者中心,为开发者提供模型支持、教程视频、奖励和资源。所有Blackhole™卡和TT-Quietbox都完全支持Tenstorrent的开源软件栈,包括TT-Forge™、TT-NN™、TT-Metalium™和TT-LLK。
作者入手一台老旧的AlphaStation 500工作站,却发现其无法启动。经过一番调查,他发现问题可能出在SROM(串行ROM)上。SROM芯片中包含8个多路复用在一起的镜像,通过跳线选择启动镜像。作者提取了SROM数据并编写Python和Rust程序进行解码,最终成功恢复了Alpha机器码,并分析了其启动流程,发现CPU通过特殊的内部寄存器直接控制串口进行比特操作。虽然问题仍未解决,但这次深入探索揭示了AlphaStation 500独特的启动机制。
作者对比了其17岁的ThinkPad和新款MacBook,探讨了产品耐用性与设计理念的关系。ThinkPad凭借模块化设计、易于维修和开放的生态系统,展现出强大的韧性,即使出现故障也能轻松修复或升级。作者借鉴纳西姆·尼古拉斯·塔勒布的“Lindy效应”,认为经受住时间考验的产品寿命会更长。而新款MacBook虽然性能强劲,但其封闭式设计、难以维修以及对苹果软件系统的依赖,使其易受损且寿命有限。作者最终得出结论:ThinkPad的耐用性源于其模块化设计和广泛的社区支持,使其具备更长的生命周期。
麻省理工学院的开源课程“安全硬件设计”(6.5950/6.5951)独树一帜,它不仅教授学生如何攻击现代CPU,还深入讲解如何设计抵御这些攻击的架构。课程内容涵盖了各种最新的硬件攻击和防御技术,学生将通过实际操作,对真实处理器进行黑客攻击,并学习如何构建安全的硬件系统。课程采用“思考-实践-行动”的三大支柱式教学模式,理论与实践相结合,最终项目是设计一个CPU模糊测试器,发现真实的CPU RTL设计中的漏洞。
Classic 2 鼠标正式发布,售价144加元起!它沿袭了初代Classic的经典人体工学设计,并对USB接口升级为USB-C,同时大幅提升了滚轮精度,解决了初代产品滚轮反应迟缓的问题。这一切得益于搭载了新的Raspberry RP2040微控制器。Classic 2依旧开源,并提升了3D打印的友好性,但遗憾的是,并不提供升级套件。
安全研究人员发现了一种利用电压毛刺攻击绕过Microchip SAM4C32微控制器JTAG锁的方法。该攻击利用复位引脚作为侧信道,在芯片上电时注入电压毛刺,从而禁用安全位,获得未锁定的JTAG访问权限。该方法可能适用于许多使用GPNVM位控制安全功能的SAM系列微控制器。此漏洞可能难以修复,对依赖此类微控制器的设备安全构成威胁。
本文对不同厂商的GPU在构建光线追踪加速结构(BVH)时的内存占用进行了对比测试。结果显示,不同GPU之间存在巨大的差异,最新NVIDIA GPU的内存占用只有AMD GPU的1/3甚至1/2.5。文章深入探讨了BVH的内部结构、不同驱动程序的实现差异以及硬件架构的影响,并分析了AMD RDNA2/3和RDNA4架构的BVH实现细节,解释了内存占用差异背后的原因。最终,作者总结了BVH内存占用受硬件、驱动程序和算法等多种因素影响,并展望了未来改进的空间。
OpenChess是一个完全开源的智能象棋棋盘,旨在让每个人都能轻松体验互动式智能游戏。它结合了低成本电子元件、3D打印和可定制软件,让创客、教育者和象棋爱好者可以自己动手搭建联网象棋体验,而无需花费高昂的费用。OpenChess价格实惠、易于DIY、可编程且模块化开放,用户可以根据自己的需求定制棋盘、棋子或升级电子元件。
一位父亲为了给三岁儿子打造一辆酷炫的电动车,将一辆普通的脚踏卡丁车改装成了强大的全地形电动卡丁车。他利用废旧的平衡车电机、廉价的控制器和Arduino Nano作为主控,并增加了遥控和手动两种驾驶模式、速度限制器以及照明系统。虽然还有一些待改进的地方,例如转向遥控和再生制动,但这辆充满创意和父爱的自制电动车已经初具规模,为孩子带来了无限乐趣。
作者在使用锂电池组供电一周后进行了总结。锂电池组的充电效率很高,放电电压下降缓慢且可预测。在测试中,1200W的吸尘器负载未引起过热。然而,在连续供电五晚后,一个电池组电压骤降,原因在于电池组内电池数量差异导致容量不一致,少电池组的容量在低C倍率下提升更大。作者通过增加电池并重新平衡解决问题,并总结出电池组在未达到充放电极值时,轻微的不平衡是可以接受的。
作者搭建了一台高性能工作站用于处理大型语言模型工作负载,面临高能耗的挑战。为了解决这个问题,他开发了WattWise,一个轻量级的命令行工具,可以实时监控和管理Kasa智能插座的功耗。WattWise不仅能显示实时功耗、历史图表,还能根据电价高峰期自动调节CPU/GPU频率,实现动态电源管理。该工具支持直接连接Kasa智能插座或通过Home Assistant集成,具有良好的可扩展性和实用性。
本文深入探讨了原始奔腾处理器中微代码ROM的底层电路。作者通过显微镜下的芯片照片,揭示了ROM的物理结构,包括由晶体管阵列组成的两个矩形存储单元,每个单元存储45位数据,总计90位微指令。文章详细分析了微代码地址寄存器、行选择驱动器和输出电路的运作机制,并解释了ROM中用于测试的移位寄存器和异或门的用途,以及奔腾处理器中复杂的电源分配系统。最终,作者总结了奔腾处理器微代码ROM的复杂性,以及为了提高性能和密度而进行的优化设计。