Tips: CLI 下控制 NetworkManager

想象一下这么一个场景:某次更新有某些包装漏了,结果重启后进不了图形系统,只好切换到终端下,把软件包补齐。这时候需要先配置下网络。现在都 2013 年了,难道配置网络这种事情还要靠 ifconfig 、 route 这些玩意手动来做吗?

显然不用。图形界面下我们有方便好用的 NetworkManager (当然,好用的前提是你不会碰到一些特别奇怪的网络环境),其实 CLI 下一样有,那就是 nmcli 。

继续阅读Tips: CLI 下控制 NetworkManager

Linux 下离线烧写 SPI 闪存

手上的嵌入式设备一多,尤其是路由器一多,就会发现时不时的要用到 SPI Flash 编程器。然而,市售的 SPI NOR Flash 编程器虽然价格已经非常便宜,但是速度不算给力,而且都是基于私有协议的,完全不能在 Linux 下用。虽然可以开虚拟机,但是咱还是希望方便点,不是吗?

好在后来无意中发现了 coreboot (原 LinuxBIOS )项目开发的 flashrom 工具居然带有离线编程功能,除了支持一票比较贵的专用编程器/基于 FTDIxxxxH 的编程器外,还支持一种叫做 serprog 的协议,可以通过串口操作单片机来给 SPI 闪存编程。这样一来就方便了。flashrom 的 wiki 里给了基于 Arduino 的 serprog 的固件源码,其实就是为 ATMEGA 系列 AVR 单片机设计的。

继续阅读Linux 下离线烧写 SPI 闪存

加内存,加 USB ,换闪存:改造 W150M

Tenda W150M 的官方固件甚是憋屈,AP 下开了隔离,LAN 里面的机器互访困难,跑 OpenWRT 的话 16MB 的内存又时常被挤爆,于是打算修改之。

手上的 W150M 是 4MB 并行 NOR 闪存的版本,为了方便修改 uboot ,只好换成 SPI 闪存,这样也好趁机换个大点的。

动手前请先在 OpenWRT 里备份 /dev/mtdblock0 、/dev/mtdblock1 和 /dev/mtdblock2 这三个分区(即 uboot 、uboot-env 和 factory )。factory 分区待会还会用到。

继续阅读加内存,加 USB ,换闪存:改造 W150M

一箩筐 UVC 摄像头

之前我用 STM32 驱动过 OV7725 CMOS 图像传感器,再加上上个学期室友做的创新实践项目用到了 USB 摄像头,这些玩意就逐渐引起了我的兴趣。考虑到这些玩意价格也不贵,于是就买了几个研究了一下。

以下依次介绍某山寨 USB 摄像头、ThinkPad X200 摄像头模块、蓝色妖姬 M2200 、天敏 S603HD 和天敏 D805HD 。

请点击图像来查看全尺寸大图。

继续阅读一箩筐 UVC 摄像头

拆解 HP 定制版 Tenda W150M 并为其修改 OpenWRT

这台路由器也算是便宜货了,性能尚可,320MHz 的 MIPS 处理器,16MB 的 RAM 略微有点紧张,关键是 NOR 闪存是 4MB 而不是大多数 W150M 配备的 2MB ,这样就给 OpenWRT 的移植提供了可能。

Tenda 的官方固件一直以来就有 bug ,AP 下的 station 互访困难或者干脆就 ping 不通,NAT 的 bug 也不少,很多特殊协议都无法使用。于是才萌生了把 OpenWRT 塞进去的想法。

继续阅读拆解 HP 定制版 Tenda W150M 并为其修改 OpenWRT