跳到主要内容

斐讯 N1 刷 Openwrt 后做旁路由

·2233 字·约 5 分钟

20190425:更新 Openwrt R9.4.6 固件,添加刷入 emmc 固件方法

前言 #

我在恩山了解到斐讯 N1 盒子,80 元即可入手的超高性价比,可以刷成服务器、游戏机、小型 NAS 甚至还可以当路由器使用,本着折腾的心态,立马在拼多多上下单。

入手之后,我先完成了版本降级和刷入 Armbian 系统,因为我的需求是想把 N1 刷成路由器跑 SSR,但是在这之前还没比较成熟的方案,已有的方案又十分复杂,所以之后我就搁置了几天。直到最近,我访问恩山论坛的时候,发现了两个帖子,大神们终于把 Openwrt 集成出来了,我立马尝试刷机,在一番尝试后,成功把N1设置为旁路由,解放了硬路由的压力,愉快的跑起了 SSR。

我的网络环境是这样的:因为我使用的是 100M 闪讯电信宽带,因此必须使用h大的 Padavan 固件拨号上网,但是 MTK7621 的性能有限,跑SSR的话只能够在40M 左右徘徊,因此我需要一个设备来单独跑 SSR,那 N1 就是在这里扮演了一个旁路由的角色,用来解析网络流量,事实证明,N1 四核CPU的性能远超普通路由器,基本可以当软路由使用,跑 SSR 轻轻松松不在话下。

因此,在这篇文章中,我梳理了下从入手 N1 到刷入 Openwrt,以及设置旁路由的过程,以方便有同样需求的朋友,能够准确无误的达成目的。

事前准备 #

  • 斐讯N1一台
  • 双公头 USB 数据线一根
  • 8GB 以上U盘一枚
  • HDMI线一根
  • USB 键盘鼠标一套
  • 刷机包一份(USB刷录工具、ADB调试工具、Openwrt固件)提取码: w36k 注:笔者使用的是 MacBook,并使用 Parallels 运行 Windows 虚拟机

降级 #

现在一般拿到手的 N1 版本都会比较新,我们需要先把版本降到 2.19 以下,降级步骤如下:

网络准备 #

首先为了避免 N1 在连接网络时自动更新,我们暂时先把路由器的外部网络断开,然后从路由器 LAN 口接出,接入 N1 背面的网口,插上 HDMI 和鼠标,通电开机。

开启 ADB 调试 #

N1 开机后,会显示天天链盒子的页面,鼠标点击官方固件版本号4次,下方会出现「ADB调试开启」字样即可。

重启至 fastboot 模式 #

因为我使用的是 OS X 平台,所以我直接通过「终端」进行了操作,如果是Windows 平台的朋友,请自行搜索相关教程。

首先,我们先在「终端」中安装 ADB 调试工具

brew cask install android-platform-tools

测试是否正常安装

adb devices

应该会检测到 N1 的设备信息,然后我们连接 N1

输入adb connect %IP%(此处替换为N1的IP)

如果返回类似connected to %IP%,即表示连接成功

连接成功后输入adb shell reboot fastboot,重启至 fastboot 模式。

刷入降级关键分区 #

将你的 N1 用双公头 USB 数据线与电脑连接,务必连接至靠近 HDMI 接口的那个 USB 接口。

输入fastboot devices查看 fastboot 工具是否已识别设备。

如果返回类似XXXXXXXXXX(该为序列号) fastboot这样的提示,即表示成功识别。

然后就可以刷入降级分区了

依次输入命令刷入各个分区,OS X用户在输入指令后,可把相应文件直接拖入「终端」,避免手动输入路径的麻烦

fastboot flash boot boot.img
fastboot flash bootloader bootloader.img
fastboot flash recovery recovery.img

如果没有返回任何错误信息,即表示降级成功。

输入fastboot reboot重启设备

重启完成之后,重复步骤 2 开启 ADB 调试

输入adb shell reboot update,重启即进入刷机模式。

至此,降级步骤完成,可以放心的刷各种固件了。

刷入 Openwrt 固件 #

该步骤同样适用于各类固件,在这里只以 Openwrt 固件为例。

Windows系统用户可以直接使用USB烧录工具 ( usbit.exe ),OS X用户的话,需要双系统或者虚拟机实现。插入U盘后,选中Openwrt解压后的img文件,然后点击「Restore」,等待刷入完成后,弹出U盘,此时启动盘就完成了。

把U盘插入N1,然后通电开机。

刷入 Armbian 系统 #

我们刚才刷入U盘的是一个完整的Armbian系统,通电 N1 启动后,显示屏上会显示系统加载的进度,加载完成后会出现aml login:

此时,可以通过外接键盘或者 SSH 连接到 N1,这里以 SSH 连接为例:

ssh root@%IP%(N1 IP地址,可通过路由器后台查到)
password: 1234
	
root@aml:~#./create-mbr.sh (创建分区)
root@aml:~#./install.sh (写入Armbian)
	
root@aml:~#lsblk (查看是否有mmcblk1p2分区)
	
	NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
	sda            8:0    1 3.8G  0 disk
	├─sda1         8:1    1 128M  0 part /boot
	└─sda2         8:2   1  3.4G  0 part /
	mmcblk1      179:0   0  7.3G  0 disk
	├─mmcblk1p1  179:1   0  122M  0 part
	└─mmcblk1p2  179:2   0  6.5G  0 part
	mmcblk1boot0179:32   0    4M  1disk
	mmcblk1boot1179:64   0    4M  1disk
	
root@aml:~#./op.sh (安装Openwrt到emmc内)
	
	Startcopy openwrt for eMMC.
	umount:/dev/mmcblk1p2: not mounted
	/dev/loop0
	*******************************************
	Completecopy openwrt to eMMC
	*******************************************
	
root@aml:~#poweroff (重启,拔出U盘,重启N1)

旁路由设置 #

固件默认的IP地址是192.168.1.1,因此我们在路由器上得先做如下动作:

修改主路由IP地址 #

进入主路由后台设置页面,在「内部网络LAN」中,将IP地址修改为192.168.1.2,保存设置。此时等待网络刷新后,即可通过192.168.1.1进入N1 Openwrt 后台,默认账户名 root,密码 password

注:这里的IP地址可以自定义,不过得先修改N1的LAN地址,然后再修改主路由的IP地址,以我为例,我使用的是10.1.1.1,因此,我先将N1从192.168.1.1修改为10.1.1.1并保存,然后登录192.168.1.2,进入主路由后台,修改192.168.1.2为10.1.1.2并保存,这样就实现了IP地址的替换。

修改DNS配置 #

主路由中,将DHCP的默认网关设置为 10.1.1.1,同时将DNS服务器也修改为 10.1.1.1 或者自动获取也没问题

N1旁路由中,将LAN网关设置为10.1.1.2,广播设置为10.1.1.255,DNS服务器根据网络环境情况自行填入,同时将DHCP服务器关闭。

至此,如果没问题的话,旁路由即设置好了。

参考链接 #

【2月26日更新】今天捡到个u盘,插入N1,启动了openwrt

【2月27日更新】今天我也捡到个U盘,发生了奇妙的事情

斐讯N1折腾记:降级及刷入官改