無標題文檔

没有路灯的街道

周末整理了房间,刚好淘宝上订的躺椅也到了,我将打算它放在了阳台上,这样可以躺在阳台上上网。

今年的气候似乎很怪,往年的这个时候应该是相对高温,而现在在三楼的阳台稍坐会,竟然被风吹着有点瑟瑟得发冷。

在阳台上上网忘了时间,天不觉得天黑了很多,这时候光亮透着阳台叶子照了进来,原来是路灯。

我十分不满的是这条笔直的道路市政为何如此吝啬,几百米见方稀稀拉拉只有几盏昏暗的路灯。乃至女子们压根不敢单独踱过这段并不长的道路,有的也只是小跑。

在阳台上才发现,原本以为昏暗的路灯这光线其实也能照亮很远。透着浓密的树丛,甚至能看到对面小区人家的生活百态。

同样的路灯,它是作为路人见证这条路上发生的一切存在过的。记得那年第一次去了北京,在长安街上我有个幼稚的想法,就是想看看那条街上的路灯是否还安好。

我的父亲告诉过我,道路即便修葺而路灯只要不坏就不会轻易挪动位置。那么那年的那晚,那街上的路灯是否还是照常亮着?照亮着还未归家的人们…

阳台的风越发得大,阳台边的路灯依然照着楼下的行人匆匆前行。

我相信,他们终究会到家的。

-- EOF --

Windows Phone Sucks!

注意,此篇文章完全为吐槽,不喜勿看

Microsoft Sucks via

有人曾经和我吐槽,当前智能机平台中唯一一个官方不支持 SQLite 数据库的 SDK 恐怕也只有 Windows Phone 了。

不难理解,微软当然有理由这样子做,他们自家有自己的 SQL Server 产品线。但作为开发者,我想说我自己也有用脚投票的权利。

从自己负责过的 Windows Phone 项目而言,目前在 Windows Phone 开发应用的情况,可能遭遇的问题比想象中得多得多。

首先,作为个自称「不跟随」的系统,其对应的 SDK 也的确让开发者盲目 -- 对比 iOS 以及 Android 平台,「原本应该有的功能,在 Windows Phone 上实现缺很麻烦」。

然后,就算您经历了「千辛万苦」开发成功 Windows Phone 应用,如何将其发布到市场上也会遭遇很多陷阱:

  1. 目前,Windows Phone 在国内大陆还没有官方市场,只能通过走运营商后门,或者登录香港的市场
  2. 恭喜您,无论选择上述哪种方案,你都要重置您手机的地区设置
  3. 然后千辛万苦付款提交上去以后,那缓慢的审核流程会让你怀疑微软的应用审核人员是不是翘曲到了思维空间
  4. 过了那三关后别高兴太早,以后每次更新版本也几乎是前面的流程再走一遍

幸运的是,目前而言 Windows Phone 漫长的审核时间并没有损失我们多少的用户。

所以当 NOKIA 以身相许给微软以后,我就开始重新评价这家北欧公司在我心目种的地位。

噢,顺便友情提醒一句。如果各位如果有 NOKIA 股票的,请问您如何处理了?

-- EOF --

改造 TL-MR11U 3g 路由器 Part.2

接上文,这篇主要记录如何刷机。

概述

因为已经引出了 TTL 串口插针,所以这篇讲述的刷机方式是串口刷机,如果有更方便的方法,例如通过官方 Web 界面上传固件刷机,就不用这么麻烦了。

不过,对于我们这些非专业选手而言,TTL 刷机也是拯救路由器变砖前的最后一根稻草,所以还是要了解下如何通过串口刷机。

有关刷机原理方面,可以参考我画的示意图

刷机原理图

  1. 路由器通过串口和电脑相连(中间有个转接版),可以直接看到路由器启动等信息
  2. 路由器通过 LAN 端口直接和电脑相连,用于网络传输数据
  3. 上面是针对 MR11U 的刷机方式,不同的路由器有不同的刷机方式

软件和工具

我用的软件环境是 Mac,所以我主要记录下 Mac 下如何操作。Linux 或者其他的系统请自行搜索,网上都应该有原理方面其实都差不多。

Mac 下安装命令行工具,如果没有装开发工具(xcode)可能会没法进行。要下一步操作,就必须安装 xcode,同时找个软件包管理工具,例如我推荐 HomeBrew

接下来,下载必要的软件。

  1. Lion 似乎自带了 tftp 服务器,但用命令行启动它的确有些麻烦,这里有个免费的 gui 前端
  2. 官方的 OpenWrt for MR11U 固件,4m 版本其他容量的没测试过,如果您改了芯片,谨刷。
  3. minicom,这个是个命令行的串口调试软件。如果您已经安装了 HomeBrew,那么简单的 $brew install minicom 即可,如果是其他安装方式请自行搜索。

环境配置

市面上大多的 TTL2USB 板子都是基于 PL2303HX 芯片的这里有个文档看完以后就可以直接驱动设置转接版了。

PS,建议安装驱动的时候最好不要连接设备(转接版),同时重启计算机以后再连接使用。

接下来就可以插上 TTL2USB 的转接版到计算机上了,同时注意下 Mac 的「系统概述」中是否有这个板子的信息,如图

系统概述信息

如果一切 OK,系统会有个 /dev/cu.usbserial 文件,接下来我们就可以试试接口是否正常。


$ echo \"Hello, world!\" > /dev/cu.usbserial

如果没有错误信息,同时注意 TTL2USB 转接版的灯是否闪了下(如果没有闪,那么可能是 RX 和 TX 接反了),那么说明一切正常了。

接下来配置 minicom 如何链接路由器,路由器的速率一般是 115200 ,运行命令


$sudo minicom -s

minicom 配置

选择 Serial port setup ,然后配置如图,保存以后重启下 minicom 就可以使用了。

链接启动

环境配置好了以后,打开插上路由器电源,在 minicom 中应该就可以看到启动信息了。这时候,快速按下「tpl」顺序组合键,就可以停留在命令台。

串口启动显示信息

将路由器的网线端口和 Mac 的网线端口相连,在 minicom 中输入


printenv

查看环境变量,会看到如下字符串,注意此时 serverip 是 Mac 的 ip,ipaddr 是路由器的 ip 地址。

环境变量

设置 Mac 端的地址为 server ip 的地址,如图

设置 Mac 网络地址

然后打开 tftp Server 软件,选择下载保存固件的目录,然后启动 tftp Server (需要管理员权限)。

至此,和路由器的网络链接以及 Mac 端的 tftp 就配置好了,可以真正进行刷机了。

刷机

接下来就可以执行刷机操作了,在进行这个项目之前,请务必再检查:

  1. 电源是否稳定,避免刷机过程中掉电(MR11U 还带了快电池,这方面的风险少很多)
  2. 各接口板的连线是否正常,避免松动
  3. 网络链接是否正常

如果没有其他问题,就真正的开始了。这里再次声明下,由于刷机造成的后果本篇 Blog 不承担任何责任。

进行刷机操作

依次键入如下命令


tftpboot 0x81000000 openwrt-ar71xx-generic-tl-mr11u-v1-squashfs-factory.bin

从 tftp 服务器获得 openwrt-ar71xx-generic-tl-mr11u-v1-squashfs-factory.bin 固件内容,并写到从 0x81000000 开始的内存地址中


erase 0x9f020000 +0x3c0000

擦除从 0x9f020000 地址开始,偏移 +0x3c0000 地址的数据。注意,操作完此条命令以后,路由器的闪存已经就没有数据了。


cp.b 0x81000000 0x9f020000 0x3c0000

拷贝内存中的数据到闪存中,大小刚好是我们上条命令擦除的容量大小,这个操作需要点时间,例如 4m 大小的闪存大概需要几十秒。


bootm 9f020000

至此,路由器闪存中的数据已经是 openwrt-ar71xx-generic-tl-mr11u-v1-squashfs-factory.bin 中的内容,也就是已经成功将路由器刷成了 OpenWrt 。

然后从 9f020000 地址开始引导,如果能看到很多字符在跳动,同时过段时间按下回车能登录到控制台,那么恭喜你刷机成功了。

OpenWrt 成功启动

但此时还没法做任何事情,因为此时的 OpenWrt 固件是没有 Web 端界面、默认无线是关闭的,所以我们还是要留在 minicom 中继续操作。

参考:http://wiki.openwrt.org/toh/tp-link/tl-mr11u

未完,待续…

我的照片

嗨!我叫「明城」,八零后、码农、宁波佬,现居杭州。除了这里,同时也欢迎您关注我的 GitHubTwitterInstagram 等。

这个 Blog 原先的名字叫 Gracecode.com 、现在叫 「無標題文檔」 。 要知道作为码农取名是件很难的事情,所以不想在取名这事情上太费心思。

作为八零后,自认为还仅存点点可能不怎么被理解的幽默感,以及对平淡生活的追求和向往。 为了避免不必要的麻烦,声明本站所输出的内容以及观点仅代表个人,不代表自己所服务公司或组织的任何立场。

如果您想联系我,可以发我邮件 `echo bWluZ2NoZW5nQG91dGxvb2suY29tCg== | base64 -d`

分类

搜索

文章