斐讯 N1/T1 刷机

松鼠
RaspberryPi 2b 在我家做了 2 年多的媒体中心,随着时间的推移,它百兆网口和 GPU(不支持硬解 H265) 的缺陷越来越明显了。终于在 PDD 寻了一台 Phicomm N1 (千光网口与硬解 H265),到手就刷了官改ROM,顺利替代了 RaspberryPi 并且提升了家庭的幸福指数。

刷机主要流程

  1. 将 N1/T1 的 boot 分区降级,开启线刷功能。
  2. 将 N1/T1 的 ROM 降级至官改。
  3. 准备 USB,将第三方 ROM 写至 usb 上。如:Armbian(linux), openwrt(小钢炮)
  4. 插入 USB 运行第三方 ROM,正常使用
  5. 也可以运行第三方 ROM 中所提供的脚本,将系统写至 EMMC 上,从而无须 USB 启动第三方 ROM

刷机流程

工具

下载地址:本文工具合集-189分流 20190630, 访问码:2674

斐讯 T1/N1 降级以恢复线刷功能

N1 boot 分区镜像文件是 V2.19 版本,实测 V2.27、V2.28 降级后即可正常线刷
T1 boot 分区镜像文件是 1.3T33 版本,实测 1.5T52 、1.6T57 降级后即可正常线刷

斐讯 N1/T1 降级关键分区恢复线刷功能

N1 三个分区镜像文件是 V2.19 版本,实测 V2.27、V2.28 降级后即可正常线刷
T1 三个分区镜像文件是 1.3T33 版本,实测 1.5T52 、1.6T57 降级后即可正常线刷

刷机工具

ROM

  • webpad 的 N1 官改 2.2 ROM
    此 ROM 是基于官方 V2.32 的,所以仅需使用将 boot 分区降级就行。
    如果刷的第三方 ROM 是基于官方 v2.19 版本的,则需要对boot, bootloader, recovery三个分区进行降级。
  • webpad 的 T1 官改 v3.5 线刷包
  • CoreELEC

一、N1 降级 boot 分区恢复线刷功能

  1. 将 N1 官方 V2.22~V2.32 的boot分区降级至 V2.19,T1 官方 1.4T51 ~ 1.6T57 的boot分区降级至 V1.3T33
  2. 然后用 adb 脚本进入线刷模式,从而烧录官改线刷包。

此降级仅针对boot分区,所以系统版本号不会变化

ADB 的网络方式刷机

  1. 盒子/PC 的网线插路由器上,记下盒子获得的内网 IP 地址。
  2. 盒子连接显示器并开机,N1 开启adb调试(主界面使用鼠标点击四次固件版本号打开adb)
  • 如果盒子开机后直接进入桌面,则在设置里将盒子恢复出厂设置
    N1界面
  1. 在PC端解压 斐讯 N1T1 官方系统降级工具.zip
  2. PC端开始对盒子的 boot 分区进行降级
  • windows 下运行 onekey 子目录下的 run.bat ,按提示操作即可。
    run.bat
  • Linux下
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    !#/bin/sh

    true=0
    false=1

    get_root_permission(){
    adb shell setprop service.phiadb.root 1
    adb shell setprop service.adb.root 1
    adb kill-server
    }

    adb_connect(){
    # $1--->phicomm's ip

    if [ -z "$1" ]; then return $false; fi

    adb kill-server
    adb connect "$1"
    if [ `adb devices -l | grep "p230" | wc -l` -eq 1 ]; then # N1
    return $true
    elif [ `adb devices -l | grep "q201" | wc -l` -eq 1 ]; then # T1
    return $true
    fi
    return $false
    }

    while [ $true -eq 0 ]; do
    read -p "input phicomm's ip: " _ip
    echo connect phicomm on network
    adb_connect "$_ip"
    if [ $? -eq $true ]; then
    echo "get root permission of disk"
    get_root_permission
    adb_connect "$_ip"
    break
    fi
    done

    while [ $true -eq 0 ]; do
    read -p "input the path of [boot.img]: " _file_path

    if [ -f "$_file_path" ]; then
    read -p "The [boot.img]'s path is --- [$_file_path] ?[y/N]" _result
    read -p "The [boot.img]'s md5 is --- `md5 \"$_file_path\"` ?[y/N]" _md5_result
    _result=`echo $_result | tr A-Z a-z`
    _md5_result=`echo $_md5_result | tr A-Z a-z`
    if [ "x$_result" = "xy" -a "x$_md5_result" = "xy" ]; then
    adb push "$_file_path" /sdcard/boot.img
    adb shell dd if=/sdcard/boot.img of=/dev/block/boot
    adb shell rm -f /sdcard/boot.img
    break
    fi
    fi
    done

    echo "如要要刷机,请切换系统至windows下,使用phicomm专用刷机工具对flash进行更新"
    echo "进入线刷模式,请手动执行[adb reboot update]"
    exit 0

注意事项

  • 无法进入线刷模式:用双公头 usb 将 n1 和电脑连接,重启 n1 后若电脑没有检测到 n1 这个硬件设备(可以在设备管理器中看到),直观上的表现是是否有电脑检查到新硬件的那种提示音,没有则未进入线刷模式,此时可以检查是否是线的问题。盒子进入线刷模式后一段时间无动作可能会自动退出此模式,因此进入到线刷模式后应该尽快进行烧录。
  • 烧录进度条不动:我遇到过这个问题,如果按照 webpad 的教程步骤出现了这个问题,可以试试我这种方法:n1 重启后,电脑检测到了 n1,然后再马上点击开始,此时成功进行烧录。

二、刷 webpad 的官改 2.2 ROM

ROM 说明

  1. 基于斐讯官方 V2.32 系统制作,斐讯设置主界面去除 账号中心、儿童锁、版本升级,改为 蓝牙遥控配对、更多设置(安卓设置)、设置主桌面。
  2. 首次启动开机向导,可自动配对山寨小米蓝牙遥控器、天猫魔盒蓝牙语音遥控器,不影响斐讯 T1 原厂遥控器配对;
  • 第三方遥控
  • 短按电源键出现电源选择界面,确认键执行第一项关机或自动倒数计时关机,无关机动画(快速关机);
  • 关机后按遥控器任意键唤醒开机,斐讯原厂遥控也可快速关机;
  • 快速关机 bug:若开机进入桌面后立即执行快速关机,大概率变成重启;
  • 第三方遥控在电源选择界面再次按电源键 或 直接长按电源键 ,盒子会重启;
  • 斐讯 T1 原厂遥控器
  • 短按电源键出现电源选择界面后再按一次电源键 或 长按电源键,出现关机动画后盒子关闭;
  • 按电源键唤醒开机。
  1. 电源选择界面中休眠改成线刷:预先用USB双公头线连接盒子和电脑,执行该功能后盒子进入线刷模式,若未接线,盒子会进入 recovery 界面,也可通过该功能引导U盘第三方系统,如 Armbian Linux 、CoreELEC、Sx05RE 等等。
  2. 斐讯挖矿、CDN、下载等预置应用已去除;
  • 内置 当贝桌面、Lighthome 、TV Launcher ,也可自行安装其它桌面应用;
  • HDP optware 、谷歌框架、油管、Xposed框架 、kodi 等扩展功能,采用adb脚本包形式选择安装,
  • 为保证推送速度,请用网线连接盒子和路由器,在电脑上解压 N1 选装功能一键工具 20180922.7z ,运行 run.bat 。
  1. 静默 root 授权、telnet 服务端口2323adb shell 直接为root权限;

线刷方法、注意事项这些不再重复,请参考网盘文档或历史帖子。

开始刷机

  1. 在 windows 下,安装 USB_Burning_Tool_v2.1.6.zip
  2. 解压 ROM 并验证 md5 值
  3. 打开 burning_tool.exe 并载入 ROM
  • 去除flash fastbooterase sdcard
  • 点击 run
  1. 盒子断电,用USB线连接盒子与PC
  2. 插入盒子电源
  3. burning_tool.exe 显示为 100% 且进度条转为绿色,点击[停止]
  4. 拨掉 USB 线,断电重启盒子,进入后先将盒子恢复一次出厂,此后就可以正常使用了

注意事项

  1. 第一次进入桌面后,首先恢复出厂
  2. 若用其它桌面,需要关闭当贝桌面霸道的<开机启动>。
  3. 桌面切换方法: 斐讯设置->设置主桌面->主屏幕应用,需要用鼠标操作。
  4. 默认 root 无密码。默认 busybox 不含 passwd,安装新版的 busybox,包含 passwd。
  5. telnet 关闭或加密码?修改/system/bin/webpadinit.sh
    1
    2
    # close telnet
    sed -i 's/\(\/system\/xbin\/busybox telnetd -p 2323\)/#\1/' /system/bin/webpadinit.sh

开机脚本

webpadini.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/system/bin/sh
# powered by Rush, mod by webpad

# supolicy权限功能
/system/xbin/supolicy --live --sdk=25
#/system/xbin/supolicy --live "permissive init;permissive kernel;permissive untrusted_app;permissive toolbox;permissive shell;permissive priv_app;"
/system/xbin/supolicy --live "permissive init;permissive kernel;permissive shell;"

# 永久root
mount -o remount,rw /system
chmod 0755 /system/xbin/su
chown root:shell /system/xbin/su

#fail-safe功能
sleep 10
/system/bin/ip addr add 192.168.100.107/26 broadcast 192.168.100.127 label eth0 dev eth0

# enable telnet service on startup
#/system/xbin/busybox telnetd -p 2323 -l /system/bin/sh&

# optware files extract operation
optware_success=0
MARK=/data/.installed_of_optware
DATAMARK=/data/opt/
OPTWAREMARK=/system/opt.tar.gz
if [ ! -e $MARK ]; then
if [ -e $OPTWAREMARK ]; then
if [ ! -d $DATAMARK ]; then
busybox mkdir -p $DATAMARK;
fi
until [ $optware_success -eq 1 ]
do
tar xzf $OPTWAREMARK -C $DATAMARK;
if [ $? -eq 0 ]; then
optware_success=1
touch $MARK
else
optware_success=0
fi
sleep 1
done
fi
fi

# other
stop smbd
killall smbd
mount -o remount,rw /
chmod 0000 /sbin/smbd
svc power stayon true

# optware init
sleep 1
if [ -e /data/opt/optware-init.sh ]; then
/data/opt/optware-init.sh&
fi

exit 0

三、救砖

小白的斐讯N1半砖救砖历程
斐讯天天链N1 官改v2.0线刷包, 补丁patch1


References:

  • expop N1刷不死的玩法整理公开
  • webpad 斐讯 N1T1 官方系统降级工具.zip
  • webpad fastboot_burn.zip
  • webpad N1_v2.2.zip
  • webpad T1 官改 v3.5 线刷包
  • N1经验分享