免费的钱到手了些废弃的中兴的电信 OEM 的 IPTV 电视盒子,以废物利用的目的折腾了一下换上了第三方的桌面以安装应用并进行使用,实际上早些时候折腾过一次了但过程几乎完全忘记了,这次又要折腾一次,于是下面记录一下过程以免再有下回又忘记怎么折腾,也看看能不能节省一下搜到这篇文章的人的宝贵生命(

概要步骤

其实大致目的就是替换自带启动器为第三方 Launcher 并安装第三方应用商店,以便直接通过电视盒子安装应用。大致步骤则就是通过 TTL 串口调试访问终端,手动把对应 apk 拷贝到盒子里,然后启动第三方的 Launcher 就行了。

这么做的原因是没法随便 ADB,尽管有检索到网上有说可以免拆机直接解除 ADB 限制的方式来搞,但都需要 STB 现场调试工具和算号器之类的软件,由于一方面几乎都需要xx论坛注册账号登录才能下载,另一方面这些工具的安全性未知,鬼知道会不会有人动手脚,所以保险起见还是选了拆机的这种途径。

工具和软件

头一次折腾的时候买过个 USB 转 TTL 的线,按网上的说法,中兴必须使用“CH340G”模块的型号,我买的是这个。按照一些网站的说法,还需要安装驱动才能用,但目前在我的两台运行 Windows 10 的设备上尝试均不需要手动额外安装驱动程序就可以使用。当然,那个店也有提供驱动下载,或许在早期的系统还是需要的。

我配合连接所用的工具是 putty,我的操作平台是 Windows 10 不过这个应用也有 Linux 的移植版可用。

另外需要备一个 U 盘来存放待装的软件,我随便找了个读卡器插了个内存卡来用,这个无所谓,盒子认就行。

用于电视盒子的第三方 Launcher 和市场均为当贝的产品,当贝桌面当贝市场。因为不知道有什么合适的干净一些的替代。目标盒子的 Android 版本太低了,大致搜了一下也没搜到可能合适的替代软件,所以还是选了这两个。

步骤

拆机并连接 USB 转 TTL 线

拆是挺好拆,背面标了螺丝钉标记的两个防滑垫下面就是螺丝钉了,拧开后顺缝撬开就行。

之所以写这篇备忘的目的是拆开后发现和网上搜到的声称同型号的盒子拆机图都不一样,于是搞不清楚引脚顺序,于是下面是顺序和连接方式:

拆机主板概览

实际插法是我试错试出来的,后来才发现其实 PCB 板上就标了引脚号,可以看到 GND 针脚下面写了 2,上面的针脚上也有个 1。于是如果你手上拆机后和网上的以及我的都不一样的话,可以在 PCB 板上找一下有没有编号,然后按 2-GND,5-TXD,6-RXD 连接自己手上的 TTL 转 USB 线。

针脚顺序和连接方式

有发现网上有的步骤给出的 5 和 6 针脚接的是反的,但毕竟我搜到的图里板子的样子和我的全都不一样,兴许它们的情况就应该是 5-RXD 之类也不好说,所以如果我给出的方式不对的话,可以试试对调 5,6 针脚,或者整个反过来连接试试(我就是这么试出来的…)

连接电脑并通过串口访问终端

上面插好之后,盒子接上电源,USB 口连上电脑,就可以进行后续步骤了。为了省事起见我是和网上所搜到的文章一样是在 Windows 下进行操作的,所以非 Windows 用户如果介意使用 Windows 的话可能需要自己找一下对应的替代做法 Linux 用户的话,这里的做法请往下翻。

首先打开设备管理器,在“串口”下找到对应设备,记录串口名称(我的情况是 COM6 ,应当按照实际情况记录),然后右键对应项点属性,并切换到端口设置选项卡,然后把“位/秒”设置为 115200。

TTL 转 USB 设备属性

接下来,启动 putty ,点击 Serial 并填入串口名称和速度(115200),最后确认就进入访问终端了,一开始没文字的话可以按下回车,如果仍然没反应的话,检查给电视盒子供电的电源是不是没插好,以及针脚连接顺序是不是不对。

putty 配置

如果是 Linux 用户…

如果是 Linux 用户的话,其实要做的也是找到对应的设备文件,然后连接上去。USB 口连上电脑后第一反应是 ls /dev 看一眼下面多了些啥,结果发现有一大堆的 /dev/tty* 不知道哪个是。于是 dmesg | grep tty 就根据输出确定到了我的情况是 /dev/ttyUSB0 这个设备。

至于连接,我还是选择了对我来说相对更熟悉的方式,用 putty 进行了连接。由于操作对应设备需要权限,所以 sudo putty 启了它,然后切到 Serial 并填入串口设备名称和速度(115200),最后确认就可以访问终端了,一开始没文字的话可以按下回车,如果仍然没反应的话,检查给电视盒子供电的电源是不是没插好,以及针脚连接顺序是不是不对。

不过其实有一点感觉有点奇怪,对于 Windows 的步骤,需要去设备管理器设个速度,我不太清楚这个步骤是不是可选的,对于 Linux 下倒是也有 stty -F /dev/ttyUSB0 115200 这样的步骤可以设置速度,但看上去这一步的确是没用的,毕竟连的时候也指定了一个速度…

另外,其实使用 screen /dev/ttyUSB0 115200 也可以直接连,就可以不用 putty 了,但我不会用 screen 并且目前也懒得学了1…连接串口的方式挺多的,比如 minicom 之类,我也没挨个尝试就是了…

最后的操作

这里就没什么特别的地方了。通过 df 可以查看到磁盘使用情况,并获得到所插入的 U 盘实际对应的位置(网上看到有设备是 /mnt/usb/sda1 ,我的实际情况是 /storage/external_storage/sda1),然后从那个目录把对应要装的 apk 文件 cp/data/app 下就是了。

我使用的第三方 Launcher 是当贝桌面(不是广告,暂时没找到别的替代品,如有别的推荐也可以告诉我),所以最后可以通过活动管理器 am start com.dangbei.tvlauncher 启动这个第三方桌面,然后就完成了,东西拔掉盒子盖子装回去就行了。

互联网上也有一些描述了其它步骤的文章,比如删除自带 IPTV 应用并加强 adb通过 start adbd 启动 adbd 备用替换自带的设置,以及备份原始机顶盒的 IPTV 配置文件之类的步骤,我因为没这种需求就没有接着折腾了,毕竟目的是废物利用,能用就行而不是折腾,我太懒…

其它

有搜到说系统设置的默认密码是 6321 (运营商不一样密码可能也不一样,说是移动的是 10086,联通是 10010,电信是 1000 或 6321),但我在我的盒子上点高级设置并尝试 6321 后盒子会立即跳到设置的初始界面,再次点击高级设置还是会让我输密码(不过输别的就会提示密码错误),懒,于是就懒得折腾了。

另外之前其实有打算买个电视盒子结果发现自带的 Android 版本都很低,也懒得折腾,于是就放弃了…

大概就是这样… 惯例:2020/04/05 20:39

  1. 因为之前用 screen 的唯一目的是后台跑 mc 服务器进程,但当时啥都不懂,也没记住用法。后续近似这样的目的我改用 tmux 了,不过也顺手查了一下,tmux 并不支持连串口也不打算支持…