無標題文檔

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

未完,待续…

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

前言

MR11U 产品图

话说实在是手贱,败了那么多「没用」的数码装备,TL-MR11U 就是其中一个。虽然 TP-LINK 在做工上自然不能和国外的大厂比,但相比华为的那些 3g 路由器从价格上还是非常厚道的。

想改造它的想法是发现这个东西还可以刷 OpenWrt,同时想必 USB2.0 的端口(厂家设计自然是给 3g USB 网卡用的)带动块笔记本硬盘自然是毫无压力的。

而且考虑因为带有块电池,所以就算外部突然断电,也可以从容的保护硬盘免受伤害(天然 UPS 呀,亲)。所以,初步的改造目标就是将其刷入 OpenWrt,挂在硬盘做成 NAS 。

嗯,说干就干!

工具

因为刷 OpenWrt 是需要拆机引 TTL 线的,所以可能会失去保修,在意这块的同学请慎重考虑。

工作台

盘点下需要用到的工具:

  1. 整套螺丝刀(其实 MR11U 就两颗 1.8 十字螺丝,但整一套有备无患)
  2. 三角起具(撬外壳用,当然如果你对你指甲有信心…)
  3. 焊接工具(这个不用说了,技术宅必备)
  4. 引针(不要小看这个东西,我在这个上面吃了好多苦头)
  5. USB2TTL 连接线路板以及对应驱动

焊接 TTL 引针

打开后盖拔掉电池,拧开两颗十字螺丝(有一颗应该保修标签贴着,请再三思)。提示:拧开螺丝以后,建议从正面六点方向撬开正面板。此时,就可以很顺利得看见电路板了。

MR11U 电路板

这就是我说得为什么 TP-LINK 相比其他厂商做工还是差一截的原因 - 飞线、货真价实的飞线…

好吧,反正也失去保修了,就不管了。下面我们开始焊 TTL 引针。

TTL 接口通常在路由器电路板上并排的四个接口上,例如 MR11U 就在左下方 TP-LINK 的 Logo 下面,如图

MR11U TTL 引针

以 TP-LINK 正对我们为例(P1在左边),这四个接口分别是


|VCC|GND|RX|TX|

注意,USB2TTL 并不需要 VCC 3.3v 的电压,也就是只需要三根线即可,切记!

已经焊接好的 TTL 引针

以上是插入引针焊接好的样子,为了方便起见我将引针掰了九十度角。

连接 USB2TTL 接线板

保证引针和电路板的 TTL 口子焊接成功以后,就可以连接 TTL2USB 接线板了。我买的是型号为 PL2303HX 的转接板,淘宝上的正常价格应该为 20rmb 以内。

连接转接板相对比较简单,连接三根线(注意 RX 和 TX 为串接)即可,如图:

MR11U TTL 接线

以上为路由器接线

转接板 接线

以上为转接板接线。至此,我们硬件的准备工作就做好了。

未完,待续…

我的照片

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

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

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

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

分类

搜索

文章