N1, T1刷机记录

斐讯PhiCOMM N1&T1

硬件配置

N1和T1使用的是晶晨Amlogic方案的芯片, 配置明细分别如下, 都是现在盒子的主流配置

N1

  • CPU: Amlogic S905, ARM Cortex-A53 四核 up to 2.0GHz
  • GPU: ARM Mali™-450, 5core
  • ETH: RTL8211F 100/1000M
  • WLAN: Broadcom CYW43455 2.4GHz + 5GHz + BT4.1
  • ROM: Samsung KLM8G1GEME or FORESEE NCEMAM6G-08G,eMMC5.1 MLC = 8GB
  • RAM: Samsung K4B4G1646E-BYMA, 4Gb(512MB) DDR3-1866MHz * 4 = 2GB

T1

  • CPU: Amlogic S912, ARM Cortex-A53 八核 1.5GHz up to 2.0GHz
  • GPU: ARM Mali-T820MP3 up to 750MHz
  • ROM: 三星KLMAG1JENB 16GB eMMC5.1 MLC闪存颗粒
  • RAM: 三星K4B4G1646E 4Gb(512MB) DDR3-1866MHz, 正反4颗, 总内存2GB
  • WLAN: AW-CM256SM
  • BT: RTL8726A, ARM Cortex M0、256KB eFlash、80KB RAM

工具准备

硬件上, 需要准备一根双公头的USB连接线

软件上, 目前晶晨的烧录工具, 在Linux下只支持Ubuntu14和16, 对18.04还不支持, 安装时会直接提示在18.04下未验证, 所以未能尝试在Ubuntu下烧录. 除此以外其他的工具adb, fastboot在Ubuntu18.04下都是可以正常使用的.

在Win7下需要使用的工具有 adb, fastboot, 这两个是Android的标准调试工具, USB Burning Tool 这个是晶晨的烧录工具

烧录安卓固件

需要准备用于给N1和T1降级使用的引导区固件, boot.img, bootloader.img 和 recovery.img, 可以从这里下载 https://pan.baidu.com/s/14i4HcbfyqyYVXYo-a0PZLg 提取码: 1hjy

用于烧录的系统固件 N1_mod_by_webpad_v2.2_20180920.img.7z , 这个比较大, 500MB, 需要提前下载,

相关的文件下载在 https://pan.baidu.com/s/1hL99CJ2Ocj_wZm-SkFLhnw?pwd=npde

1. 系统降级

N1: 在运行界面的版本号上点击4次, 至出现"打开adb", 这个状态重启后会保持
T1: 在配置中, 开启"远程调试"

记下IP地址, 然后在命令行使用adb连接

adb connect 192.168.1.170

显示连接成功后, 这一步要使设备启动到fastboot模式以便于写入那三个img, 执行下面的命令后, 将双公头usb连接到电脑

adb shell reboot fastboot

这时候系统会显示找到新硬件, 待其自动安装驱动, 直至完成. 如果完成后显示硬件有问题(黄色感叹号), 重启电脑, 然后再重复一遍上面的操作

硬件正常工作后, 可以在命令行通过fastboot devices看到连接的硬件

fastboot devices -l

如果看到了连接的设备, 这时候就可以通过fastboot flash写入img了, 注意N1和T1的img是不同的, 不要搞混.

fastboot flash bootloader bootloader.img
fastboot flash boot boot.img
fastboot flash recovery recovery.img
# 结束后重启设备
fastboot reboot

降级完成

2. 烧录固件

安装晶晨的烧录工具 USB Burning Tool, 最后会弹出驱动安装, 一路继续安装

在系统设备管理中, 手动添加过时设备, 选取Install the hardware that I manually select from a list, 选取 libusb-win32 Usb Devices, 选取 WorldCup Device

这时候最好重启一下电脑, 以便驱动生效

N1的烧录

打开USB Burning Tool, 导入需要烧录的img, 去掉Erase flash 和 Erase bootloader 这两项的勾选

盒子断开USB, 断电, 然后加电(不需要连接USB), 待其进入系统获得IP地址后, 使用adb让其重启

adb connect 192.168.1.170
# 进入shell
adb shell

这一步执行前, 先准备好双公头USB, 一头插好盒子

reboot update

敲下这行命令回车后, 系统会立即重启, 这时候立即将USB连上电脑, 能看到 USB Burning Tool 上识别到了硬件

此时点击USB Burning Tool的Start按钮, 如果能看到进度条, N1就已经开始烧录了

T1的烧录

有些固件需要预先将密匙放到USB Burning Tool安装目录 license 子文件夹下才能正常烧录, 如果子目录不存在则新建目录

盒子断电, 断开usb, 然后USB Burning Tool点击开始后, 立即加电, 同时连上USB, 这时候USB Burning Tool就会直接识别开始烧录

烧录结束

烧录结束后, 保险起见, 先点击Stop, 然后再给N1或者T1断电.

3. 安装Google Service Framework和油管

解开"N1选装功能一键工具20180922.7z"这个压缩包, 在命令行下运行 run.bat

如果是乱码(Win10下大概率乱码),

  1. 首先将命令行窗口的字体改成支持中文的字体, 例如 SimHei
  2. 再通过文本编辑器(例如EmEditor), 将 run.bat 的编码从 GB2312 转为 UTF-8

再运行就不会乱码了

安装Google Service Framework和油管需要输入3回车, 然后输入盒子的IP, 安装会自动进行

结束后, 通过盒子的Reboot应用重启盒子, 再进去就会看到多了个 YouTube 的应用.

运行Armbian Linux

准备好一个大于4G的U盘, 下载Armbian Linux的img.xz文件, 下载地址

https://yadi.sk/d/pHxaRAs-tZiei

国内的可以访问 https://share.weiyun.com/5eCvcvS (部分搬运)密码:mivmcn

在Ubuntu18.04下, 使用系统自带的Disk Image Writer (在img文件上右键菜单就能看到, 或者运行Disk, 选中TF卡盘, 在界面右上角的菜单里点Restore Disk Image), 这个速度较快.
不要用dd, 速度非常慢. usb3.0的读卡器写tf卡, Disk Image Writer能到18MB/s, 而dd只有1/5的速度.

https://github.com/yangxuan8282/phicomm-n1/releases 中找到对应n1的dtb文件, 下载.
路径是 https://github.com/yangxuan8282/phicomm-n1/releases/download/dtb/meson-gxl-s905d-phicomm-n1.dtb

将这个文件复制到U盘的boot分区的dtb文件夹, 并修改boot分区的uEnv.ini文件, 将其中的dtb文件改成这个文件, 同时修改extlinux 目录下的extlinux.conf, 把里面的dtb文件也改掉

关于使用U盘启动

有些教程说直接将U盘插入USB口后, 加电即可从U盘启动, 但是在我这里并不是这样, 加电后还是进入了自带的Android系统. 这时候需要断电把U盘拔下来.
检查一下N1此时的IP, 通过 adb connect IP 连接一下, 再执行 adb shell reboot update , 在执行这个命令让N1重启的同时, 将U盘插入, 这时候就会从U盘启动了. 而且这次启动之后, 再开关机都会从U盘启动. 即使N1自带存储已经写入了Armbian系统, 还会先从U盘启动

测试过的版本:
5.67 20181207
  Armbian_5.67_Aml-s9xxx_Debian_stretch_default_4.19.6_desktop_20181207.img.xz 图形界面正常
  Armbian_5.67_Aml-s9xxx_Ubuntu_bionic_default_4.19.6_desktop_20181207.img.xz 图形界面无法启动, 命令行正常
  Armbian_5.67_Aml-s9xxx_Ubuntu_bionic_default_4.19.6_20181207.img.xz 工作正常, WIFI工作正常

如果要写入N1, 以后从N1直接启动, 直接在/root/目录下执行 install.sh 就可以了. 看了命令明细, 就是把U盘里的文件往 /dev/mmcblk1p1 和 /dev/mmcblk1p2 这两个分区里写.

关于配置WiFi

建议通过执行自带的armbian-config, 在其界面总进行配置. 有时候连接会不太正常, 重试就好了. 重启系统后不会自动连接WiFi, 这个还不知道如何配置

Update 2019-11-15 执行 nmtui, 选择第二个Activate a connection,按提示选择并输入密码即可, 若Activate a connection中没有Wi-Fi选项卡则说明内核尚未开启wifi_dummy和dhd模块,执行如下指令

modprobe dhd && echo dhd >> /etc/modules
modprobe wifi_dummy && echo wifi_dummy >> /etc/modules

如何从Armbian Linux 刷回 Android TV

手里这个N1, 断电重启, umount /dev/mmcblk1p1 格式化后再重启, 都不会进入线刷状态. 看来是必须要通过类似于 reboot update 这样的命令才能实现了.

实现的途径是: 用U盘制作一份 CoreELEC 的系统, 将系统写入N1(启动后进入ssh, 在/flash目录下执行installtoemmc, 都选y), 再从N1中执行 root update 命令, 这时候就会进入线刷状态.

Update 2019-11-15: 4.18+的内核刷入eMMC后会改变分区, 无法再通过U盘重新覆盖安装回到3.14的版本, 也无法再直接刷回盒子的系统. 这个问题的解决方法两种,一种是通过ddbr恢复分区备份, 恢复至原版安卓系统,再刷入其他版本, 另一种是线刷

ddbr恢复

从U盘armbian系统启动, 注意系统尽量选择3.x内核的系统,4.x部分需要打dtb网络补丁也可能无法挂载eMMC, 首先记下系统的mac地址, 以便ddbr恢复后写回

ssh下执行ddbr指令, 首先输入b (backup), 在进度条开始后即可Ctrl+C取消, 这样可以获取到ddbr备份的文件的名称, 因为不同版本的Armbian备份出来的包名有不同

打开winscp用sftp加你的ssh登录信息登陆, 进入/ddbr目录, 可以看到一个*-emmc.img.gz文件, 将它用原版系统ddbr包替换掉(保持此文件名).

ssh下执行ddbr指令, 键入r (restore), 会询问是否使用了压缩 DID YOU USED COMPRESSION, 选择y即可

成功后直接键入 poweroff 拔电拔U盘重启

当然这个ddbr也可以备份你现有的armbian系统,装好了合适的系统ddbr一下把镜像留下, 留作以后崩了之后恢复

恢复后, 修改/etc/network/interfaces 文件。添加如下内容,改为之前保存的mac地址, 修改完保存重启

allow-hotplug wlan0
iface wlan0 inet dhcp
hwaddress ether 00:90:45:56:45:12

You can set a custom MAC address during start-up by editing /etc/network/interfaces or /etc/network/interfaces/eth0 and adding a line starting with hwaddress :

auto eth0
iface eth0 inet dhcp
hwaddress ether XX:XX:XX:XX:XX:XX

ddbr文件下载

  1. 镜像状态: N1, 2.1x 版本,刷了rush的极限精简固件,没有装任何其他软件。可能在/dev/data区有上次安装Armbian的残留文件.
    理论上,用TTL连接之后,通过dd命令,直接恢复到/dev/mmcblk0是有一定救砖能力的,尚未测试。试过用Armbian自带的ddbr脚本恢复,可用。
    链接: https://pan.baidu.com/s/15aiLxlpB30dgrthpejZ38w 密码: cp7i

  2. https://cnone.lty.fun/home/工具库/N1/ddbr/ 原版Android, 已开启adb

线刷

  1. 先把USB对公线链接到电脑USB口与N1的第二个口(靠HDMI口),N1不要通电. N1在断电状态下连接USB口时并不会启动, 所以电脑上没有动静
  2. 打开USB_Burning_Tool,导入固件WEBPAD大的2.2的线刷包,验证通过后,出现开始字样. 勾选擦除FLASH,不要勾选擦除bootloader.
  3. USB_Burning_Tool点击开始运行刷机, 此时速度让N1通电, N1通电启动后, 在USB口会短暂地呈现为Amlogic设备, 此时就可以进行烧录, 如果没点开始, 这个状态一会儿就过去了, 开始正常启动, 如果点过开始, 就会通过内存加载bootload, 进行烧录
  4. USB_Burning_Tool开始正常识别N1线刷模式,刷机开始
  5. 烧录完成后, 点击Stop, 拔电重启, N1恢复为安卓系统, 可以正常ADB连接

运行OpenWRT

参考

https://www.right.com.cn/forum/thread-665125-1-1.html

https://www.right.com.cn/forum/thread-673287-1-1.html

posted on 2018-12-17 11:42  Milton  阅读(11227)  评论(0编辑  收藏  举报

导航