N1做旁路由,K3N做AP需要准备的设备与工具
我的设备与工具:
1.AP:斐讯K3 D1版,官改固件(400元)
2.旁路由:N1盒子(139元)
3.双公USB线(N1降级用)
4.HDMI线(N1接显示器用)
5.U盘(N1刷机用)
AP(K3)设置
1. 首先要知道你的AP的静态内网IP地址,比如很多路由器是192.168.1.1作为其静态IP
我提供一个方案:AP插好电源开机,你的任意一台设备连接到这个AP,然后你看下连接属性,主要是看DHCP服务器,这个DHCP服务器的IP就是你的这个AP的静态内网地址。
2. 其次,关闭DHCP功能
N1设置
1.拿到N1,网线接你的电脑,HDMI接显示器,然后接好电源
2.开机,查看N1固件版本号,大于2.19的固件要先降级再刷机,降级需要接好双公线
3.降级,接好双公线,先用【降级工具】刷降级包
4.用你的电脑把系统写进U盘,用【Etcher】,把OpenWRT(以下简称OP,或者其他系统镜像文件)刷进U盘
5.设置U盘启动,用【N1激活U盘启动工具】让N1优先使用U盘启动(其实就是通过ip ssh到N1,然后用adb改启动顺序)
6.插U盘,重启N1(reboot),重启后进入OpenWRT
7.用U盘上的系统(OP或其他),把系统刷入N1本地存储(EMMC)
不同的系统有不同的把系统刷进N1的本地存储的方法,甚至很多直接插上U盘,进入U盘的OpenWRT管理页面(注意 不是CommandLine Interface),直接默认密码登录之后就能点点网页后台的按钮就能一键把OpenWRT系统刷入
EMMC(N1盒子本地存储),此过程便称为刷机。
我的flippy的Lean OpenWRT(21+版)是直接:
# cd ~ # ./inst-to-emmc.sh
8.配置N1,拔出U盘刷机完成后,拔出U盘,重启(reboot)N1,这时你进入的就是N1自身的你刷好的系统(OP或其他)
这时,由于是进行出现的情况比较多的配置阶段,我和你确认下N1与主机的连接状态,以免懵逼:
a.U盘已拔出
b.HDMI线接在显示器
c.N1的单网口用网线与你的电脑进行连接
配置N1的操作
1.网络 – 接口 – Lan口 – 修改,把Lan口的IPV4地址改到与AP一样的网段(如AP静态内网地址:192.168.2.1,那么一开始N1的静态网络地址很可能是192.168.1.1,这里得把N1的LAN口IPV4地址改成192.168.2.2或者其他192.168.2.XXX的地址)
2.网络 – 接口 – Lan口 – 修改,把Lan口的DNS服务器、网关都填写为AP的静态网络地址,这点很重要,我因为没有填DNS服务器为AP静态内网地址,弄到了凌晨三点,所以才有的这个帖子来总结坑爹的地方
3.网络 – 接口 – Lan口 – 修改,下面的DHCP,点到第二个选项卡,把“强制”勾上,强制用N1作为DHCP服务器
4.网络 – 防火墙 – 自定义规则,增加一条:
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
5连接N1与AP(我的AP是K3),AP的WAN口连接光猫或者外面接进来的网线,AP的LAN口与N1的单网口进行连接,重启一切设备,等待开机后,就可以配置了。
安装armbian 5.77到n1的具体步骤
======================================
1. 从https://yadi.sk/d/srrtn6kpnsKz2/Linux/ARMBIAN/5.77/S905下载由@150balbes编译好的镜像,我选的是debian/desktop版,您请随意。
2. 解压镜像并写入U盘,以linux系统为例:
$ xzcat --keep Armbian_5.77_Aml-s905_Debian_stretch_default_5.0.2_desktop_20190318.img.xz | sudo dd of=/dev/sdX bs=1M && sync
3. 将写好armbian的U盘插入关机状态的n1,通电启动,armbian就运行起来了。初次运行时会提示修改root密码和创建一个常规用户。
4. 此时,armbian用的是kdahas-vim开发板的dtb,所以不完全适配n1,一些设备不工作,这是正常的
我们只需修改/boot/uEnv.ini指向n1的dtb即可。
- 修改前的uEnv.ini: dtb_name=/dtb/meson-gxl-s905x-khadas-vim.dtb - 修改后的uEnv.ini: dtb_name=/dtb/meson-gxl-s905d-phicomm-n1.dtb
5. 修改完成后重启系统,重启后所有设备(lan/wifi/bluetooth/etc.)全部能工作!除了系统负载有点高。
$ sudo reboot
6. 下面解决系统负载问题,关键:修改随镜像文件自带的dtb文件中的一项与中断处理有关的设置:
# 反编译原始n1 dtb文件为n1.dts $ dtc -I dtb -O dts -o n1.dts /boot/meson-gxl-s905d-phicomm-n1.dtb # 用vi 或 nano打开n1.dts,将第183行注释掉。修改前:phandle = <0x1e>; 修改后: #phandle = <0x1e>; $ vi n1.dts ... # 编译新的n1.dtb $ dtc -I dts -O dtb -o n1.dtb n1.dts # 复制n1.dtb到/boot/dtb中并修改相应uEnv.ini文件 $ sudo cp -av n1.dtb /boot/dtb/meson-gxl-s905d-phicomm-n1-xiangsm.dtb $ sudo sed -i -e 's/-n1/-n1-xiangsm/' /boot/uEnv.ini # 或用vi/nano可视化编辑 # 好了,可以重启系统了,重启后,系统负载终于正常,并且各项硬件应该依然都能正常工作。 $ sudo reboot
6a. 对于觉得怕修改和编译dtb麻烦的,附件里提供了已经修改过的dtb,md5:82a5d7。操作方法:
下载附件 –> 解开dtb文件 –> 复制到armbian的/boot/dtb/ 目录 –> 相应修改/boot/uEnv.ini中的dtb文件路径设置
meson-gxl-s905d-phicomm-n1-xiangsm.dtb.tarhttps://sn9.us/file/1397394-422256731
备用链接: https://pan.baidu.com/s/1wLXHOG2jExkrR9ik5iygdA提取码: w928
官方QQ群号码:922069959(空)、1093596563(空)