拿到手开机系统版本是V2.28,据说系统版本在V2.19以上的都必须先降级才能刷机。那就老老实实先降级吧,反正之前就折腾过,用上webpad大神的《斐讯T1、N1官方系统降级工具》,很简单。
N1最好Wi-Fi连上网络,这样在屏幕上直接就能看到N1IP地址。
打开工具N1选择2,输入N1IP地址,按照提示一步步来就行了,降级成功会重启机子,注意机子系统版本虽然没有改变,但实则已经降级。
降级完成后,安装USB_Burning_Tool烧录软件,注意会提示安装驱动,一定要安装这个驱动。
然后打开《斐讯T1、N1官方系统降级工具》,选择3进入线刷模式,这时候机子会重启,马上插上USB双公头线,一头连接电脑,一头接N1靠HDMI接口处的那个USB口。一般来说这时候电脑会提示发现新设备,让你安装驱动,如果安装驱动失败,就需要手动添加驱动(我折腾是自动安装上了)。手动安装方法也很简单,打开设备管理器,随便点击一个硬件设备,点击添加过时硬件,选择【libusb-win32UsbDevices】,然后再下一步,选择【WorldCupDevice】就行。
温馨提示:USB双公头线最好用USB2.0,亲测3.0死活进不去线刷模式,直接进去了Recovery……另外USB线连到电脑主板原生USB接口。
成功进入线刷模式就可以进行烧录,在USB_Burning_Tool软件中,导入烧录包,无论是用来做电视盒子还是Linux等系统,都建议先刷入webpad大神的官改V2.2固件,可以去除很多限制。
注意取消右边的【擦除flash】和【擦除bootloader】选项,否则刷机很可能失败。烧录完成后,先点击停止,然后关闭软件,拔出USB线,拔出N1电源线,重新通电重启,刷机成功。
类似的有:Armbian,同样可以docker,然后运行OpenWrt做旁路……
小钢炮与Armbian哪个好?或者说哪个更适合?我也不知道,没有研究。据说小钢炮还不错,就选择了干它……
U盘不要太大,usb2.0最佳,金士顿USB3.032G失败,闪迪CruzerEdge8GUSB2.0一次过成功。
把小钢炮镜像解压出来,n1-s905-linux-hacklog-20190411-2042.img,最好校验一下。然后通过USBImageTool工具把镜像写入到U盘中,写入完成如果提示格式化,取消即可。
U盘写好后,先别插入!U盘写好后,先别插入!U盘写好后,先别插入!
这里假设N1IP为:192.168.2.222,在电脑端执行命令:
adbconnect192.168.2.222(这里为盒子的IP)连接成功后你会看到提示:connectedto192.168.2.222:5555
接着输入:
adbshell成功进入androidshell标记是:命令提示符会变成:p230:/$,然后手里准备好U盘,再执行:
rebootupdate执行完命令立即马上迅速把U盘插到离HDMI口最近的那个USB口。只插一个U盘,不要插其它多余USB设备。
如果一切顺利,三分钟左右,小钢炮就启动起来了。主路由器如果开启DHCP,IP可能会有变化,进去主路由器后台看看IP地址,然后通过IP地址就可以访问N1小钢炮系统了。
假设N1小钢炮IP为:192.168.2.222
默认用户名:root;密码:root
ssh默认端口22,用户名root,密码root
ftp默认端口21,用户名root,密码root
否则检查U盘,换U盘,重新制作U盘启动盘……多尝试几次。
方法很简单,打开N1小钢炮ip:8086(比如192.168.2.222:8086),通过端口访问会进入【FIRMWAREAUTOINSTALLTOOL】,然后点击【StartInstall】,会自动写入到N1的EMMC里。
如果有看到socketignored错误,不用管,其它操作成功就行。最后显示:CompletecopyOStoeMMCpartedSYSTEM即表示安装过程已经完成。
Ctrl+shift+i,然后右击浏览器顶部地址栏的刷新按钮,选择第三项:“清空缓存并硬性重新加载”,即可。此操作在更新完系统或更新完dashboard后务必执行一次。
至此小钢炮安装完成。
小钢炮N1网络没有科学工具加持,pullOpenWrt镜像速度可能会很慢,改阿里云docker镜像可以加速。
修改/etc/docker/daemon.json文件(vi/etc/docker/daemon.json),把原本的源替换掉,比如改成这样:
iplinkseteth0promiscon据说重启N1就会失效。
修改/etc/rc.local加入如下代码:
iplinkseteth0promiscon或者
ifconfigeth0promisc改完重启系统检查网卡是否混杂模式(完全启动完才生效,两三分钟)。
(此方法老头没有测试,有需要可试试)
修改/etc/network/interfaces文件:(谨慎操作,可能导致Armbian永远无网络)
autoeth0ifaceeth0inetmanualupiplinkseteth0promisconautomacvlanifacemacvlaninetstaticaddress192.168.12.104→修改成你需要的netmask255.255.255.0gateway192.168.12.1→需改成你的主路由ip或192.168.12.5(旁路由的ip)dns-nameservers192.168.12.1→需改成你的主路由ip或12.5或再加1个公共dns比如114pre-upiplinkaddmacvlanlinketh0typemacvlanmodebridgepost-downiplinkdelmacvlanlinketh0typemacvlanmodebridge改完后重启网络/etc/init.d/networkrestart或者重启系统检查网卡是否混杂模式。
dockernetworkcreate-dmacvlan--subnet=192.168.2.0/24--gateway=192.168.2.1-oparent=eth0macnet注意:macnet为名称,macvlan为模式,另外请将192.168.2修改为你自己主路由网段。
dockernetworkls##可查看已创建网络开启OpenWrt容器dockerrun--restartalways-d--name=OpenWrt--networkmacnet--privilegedkanshudj/n1-openwrtgateway:r20/sbin/init注意:OpenWrt包名与前述导入/pull下来的保持一致,后面/sbin/init可以省略。macnet虚拟网络名字与前面创建的一致。
可以进入Docker图形管理界面(192.168.2.222:9000)执行命令修改
也可以N1小钢炮SSH连接DockerOpenWrtSSH进行修改:
vi/etc/config/network将optionipaddr192.168.X.1替换旁路由OpenWrtIP地址(如192.168.2.254),注意需与主路由同网段。如果确定只做旁路有还可以顺带把DHCP和桥接关掉,然后ESC,:wq保存退出。
参考配置:
configinterface'lan'optionifname'eth0'optionproto'static'optionnetmask'255.255.255.0'optiongateway'192.168.2.1'optionip6assign'60'optiondns'119.29.29.298.8.8.81.1.1.1'optionipaddr'192.168.2.254'optionbroadcast'192.168.2.255'reboot或者
DockerOpenWrt旁路由:关闭DHCP,网关填主路由IP(如192.168.2.1),DNS可以为主路由IP或119.29.29.29,8.8.8.8等公共DNS,「物理设置」中「桥接接口」取消掉。
另外,如果旁路由数据不稳定,可在防火墙添加自定义规则试试:
然后在需要访问外网的设备手动指定网关和DNS为旁路由IP(如192.168.2.254)即可。「后记:若主路由(华硕AC68U原版梅林固件)设置DHCP网关和DNS填旁路由IP,使用S酸S酸加速节点,网络访问外网可能会异常,设备手动指定则能正常使用」
如果主路由使用padavan及开启硬加速,而用N1做旁路由可能出现不兼容,导致网络卡顿,关闭主路由硬加速可以解决(将主路由padavan外部网络WAN->外网设置选项卡->IPv4硬件加速,由OFFLOADTCP/UDPforLAN/WLAN,修改为OFFLOADTCP/UDPforLAN即可)
HelloWorld默认并没有启动,貌似OpenWrt启动项那里开启了也启动不了,不知道是不是还有别的机关。
我是直接SSH连接OpenWrt,执行命令:
/etc/init.d/helloworldenable##helloworld注意替换成实际程序名。reboot