关于737-MAX MCAS波音手册问题的整理

首先,纠正一处广为流传的误解,波音没有在手册中提到MCAS的存在。实际上,波音在FCOM的“失速识别”这一章节中有提到在判定失速的情况下,速度配平系统会调整配平来避免失速,虽然没有出现MCAS这个名字,但是这已经完全概括了MCAS系统的功能。

继续阅读“关于737-MAX MCAS波音手册问题的整理”

从电子系统角度分析737-MAX的 MCAS系统

最近737-MAX连续发生了两起起飞后失控事故,JT610,ET302,JT610已经被查明与波音的MCAS“激动特性增强功能”有关。作为一个航空爱好者,我对这些事故背后隐含的设计问题很感兴趣,刚好手上也有737-MAX的部分手册文件,所以对这套系统进行了分析。

注意,我并不是专业人士,所以分析中可能存在各种问题,还请各位予以指正谅解。

继续阅读“从电子系统角度分析737-MAX的 MCAS系统”

Enable A2DP AAC for Blueteeth Headset on Linux

现在许多蓝牙设备往往是一个”Mutiple Role”设备,但是bluz默认只连接设备的首要Role。对于我手上这个蓝牙耳机首要Role是HSP/HFP,音质就不说了。启用A2DP之后,就可以用高级的Codec,传输高质量音频啦。而要启用A2DP,那就必须连接上需要的Role,并且使用修改过的pulseaudio bt以启用相应codec。

继续阅读“Enable A2DP AAC for Blueteeth Headset on Linux”

在Linux上为AMD Raven Ridge (ThinkPad E485) 做的一些研究

农企翻身啦!Ryzen发布之后,作为AMD的铁杆粉,我购入了两台AMD设备。分别是R3 2200G + Asrock AB350M-HDV的台式机和R7 2700U的ThinkPad E485笔记本。都是Ryzen的Raven Ridge系列APU产品。选择Raven是因为一来我不需要特别高的Gaming性能,也就玩玩KSP,Overwatch这点需求,Raven的Vega GFX足以满足我的图形需求,而Zen的核保证了CPU的性能我也可以接受;二来,Raven Ridge的UMA VRAM结构从IC的角度上来讲实在是非常惊艳,我对他赞赏有加。
继续阅读“在Linux上为AMD Raven Ridge (ThinkPad E485) 做的一些研究”

龙芯3B1500开核记 – Reverse engineering PMON Bootloader on MIPS/Loongson

前言

最近有一批龙芯3B1500主板低价处理,型号是Lemote-A1310,我也买了块,美中不足的是由于芯片一个硬件设计Bug,默认由Bootloader屏蔽了2个核心,也就是说只有6个核心开放给用户使用。经过一些调查,我认为通过软件绕过硬件的限制,将那两个核心开放是可行的,也因为群里呼声巨大,所以我开始着手于解放这些核。
继续阅读“龙芯3B1500开核记 – Reverse engineering PMON Bootloader on MIPS/Loongson”

开坑: A Bootloader For Loongson based on Linux Kernel

最近给自己坑开的有点多了,尽管如此还是想再开个坑。

前言

龙芯目前主要在用两种Bootloader,PMON和昆仑固件。PMON之烂,大家有目共睹。昆仑固件又不开源,要给龙芯整一个好用的Bootloader的想法在我心中萌发已久,但是实现一个Bootloader的难度我也是清楚的,所以一直没有付诸实施。
在Phoronix上偶然看到了LinuxBoot的新闻,被他使用Linux Kernel作为Bootloader基础框架,使用kexec loadelf来引导下一阶段操作系统的思路震惊了。回头一想,这个思路在龙芯上可行性也非常高,并且可以利用现有的驱动而避免实现很多高级的外设驱动,降低难度。同时也能有个比较“Fantacy”的GUI界面。
继续阅读“开坑: A Bootloader For Loongson based on Linux Kernel”