• Ten Years!这个博客十年啦

    从还留在这里的 2014 年最开始的那篇博文算起,再过两周就已经过去十年了1,在我印象里再往前这里或许还有些别的内容,但似乎在中途更换站点的过程中丢失了。整个博客能留到现在也挺不容易的,不知道现在是不是还会有人到这里来。最开始它是部署在一台便宜 VPS 上的 WordPress,2019 年有一段时间机器被弄挂了,还好内容有备份后来也恢复了。再往后就迁移到了基于 Jekyll 的静态博客,也不用太担心机器挂了的问题了。2

    后来 2021 年初的时候感觉没有什么写东西的想法了,顺手就把它撤下来了,好在域名还一直留着。去年底的时候收到了一封询问能不能恢复这个博客的邮件,确实很让人惊讶,没想到现在还有人记得它(在此感谢发邮件的 woruo)。花了一点时间,又把它重新挂出来了。既然又有了这样一个地方,想着在有什么想写的时候也可以随便写写放在这里,所以它就继续缓慢更新了。

  • 传感器趣事:环境传感器能告诉你什么

    上回做的温湿度和二氧化碳传感器已经运行一段时间了,中间又加上了一个环境光传感器。加起来算是能够收集到温度、湿度、二氧化碳浓度、TVOC 以及光照强度五个参数。本来是想看看宿舍的空气质量并且提醒我开窗通风,以及查看实验室到底热到了什么程度和开没开中央空调 ,但是后来发现,这几个参数还能提供一些有趣的信息。

  • 绿联 DX4600 Pro 系列的 LED 控制模块分析

    绿联的 DX4600 Pro 是一个四盘位的 NAS,自带的系统是基于 OpenWRT 的 UGOS,v2ex 上有很多相关的介绍以及抱怨1,还有报道说新版的系统不向下兼容旧版的系统,并且升级需要格式化硬盘2。不过这台 NAS 还是可以自己装个 Debian 或者别的开源 NAS 系统的,但问题是自己装的系统并没有机箱前边六个 LED 灯(分别是电源、网卡和四个硬盘)的驱动,默认情况下只有电源指示灯在闪烁,无法控制其他的指示灯。

    在我发现这样的事实后已经把默认存放 UGOS 的 eMMC 整个格掉了(所以做这样的事情之前先 dd 一份还是很重要的),好在 v2ex 有人提供了一份原始的系统1可以让我来看看它是如何控制这些指示灯的。

    对于 DX4600 系列,UGOS 控制 LED 的模块是 leds-mcu-ht32f52231.ko,他们没有开源只能考虑 objdump 或者反编译来看它做了什么。对于反编译,以前只听说过 IDA Pro 但是应该是要收费的,在处理这个模块的时候搜索了一下发现 Ghidra 似乎是不错的免费工具。

    这篇文章会介绍 UGOS 如何控制 DX4600 Pro 的 LED,并且提供了一份在非 UGOS 上控制这些 LED 的工具,相关的代码实现在 GitHub 上。对于 DX4600 系列的硬件(例如 DX4600 和 DX4600+)我猜测也可以适用,但我只测试过 DX4600 Pro,所以如果你想要在别的硬件使用请小心一些。

  • 家用 NAS 踩坑指北

    某一天,当你 { 不想把数据放在云上,想有一个 home lab } 时,你可能就会进入一个深坑。

    这里记录了一些过去几年以来搭建 NAS 过程中发生的事情。但是在继续之前还是想说一句,在捡垃圾或者买新品之前认真考虑一下,或许手头的东西已经能够实现自己的需求了,又或许自己根本没有想象中的需求。总之就是千万别上头!

    在开头先来展示一下我遇到的最大的一个坑,你能看出下面这根线有什么问题吗?

  • Surface Pro 8 安装 Arch Linux

    最近实在忍受不了 Windows 放着什么也不干功耗都能到达 10W,所以打算给 Surface Pro 8 装个 Arch (with ZFS on LUKS) 看看。目前看起来使用 linux surface kernel 之后除了摄像头和以外都可以得到支持。Surface Pen 也有相应的软件可以支持压感和手写笔记,并且换成 Linux 后机器的续航明显提高了!现在不干什么事情的话亮度在 30% 的时候一般是 5-6W,普通浏览网页是 7W 左右的功耗。

    这篇文章应该会持续更新。

  • 记录一次服务器硬盘扩容

    前一段时间组里的一些机器硬盘满了,需要进行扩容。这些机器的盘一共是 4 个 1.8T 的固态,接在一张 LSI9361-8i RAID 卡上,组成一个 RAID5 使用。机器上可用的盘位还有 4 个,我们决定给这个阵列扩充两个同样大小的盘。

  • 用 ESP8266 制备室内温度和空气检测器

    之前用闲置的树莓派搭了个室内的温度和空气质量监测器,但是问题是树莓派太贵了,这样的方案不太容易批量复制。另外一种便宜的方案是用 ESP8266(大约十来块钱)来作为传感器和电脑之间的中介,它可以通过自带的 WiFi 和电脑连接。

  • 重新恢复博客之后的一些话

    几年前因为觉得麻烦关掉了这个博客。

  • 博客搬家及主题更换

    2020 真是糟糕的一年,从寒假离校到现在已经在家里半年了。六月本该返校毕业,但是北京疫情突然反弹,返校被临时叫停。

  • NonTrivialMIPS - FPGA 上实现的 MIPS32 流水线

    前一段时间我和几个同学参加了个比赛,这个比赛是自己设计一个 CPU,在其上设计 SoC,运行操作系统等。是一个系统类的比赛。我主要负责写 CPU 除 Cache 外的部分,我们最终设计了一个有十级流水的双发射顺序执行的 MIPS32 处理器。在比赛方提供的实验板上达到了 123MHz 的主频,同时还具有不错的 IPC。代码现在已经在 GitHub 上开源。