Difference between revisions of "Template:FriendlyWrt19/zh"
(updated by API) |
(updated by API) |
||
(90 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
==FriendlyWrt的使用== | ==FriendlyWrt的使用== | ||
===FriendlyWrt简介=== | ===FriendlyWrt简介=== | ||
− | + | FriendlyWrt是友善电子基于OpenWrt定制的系统,完全开源,用于企业物联网二次开发,个人定制NAS等。<br /> | |
+ | ===首次开机的初始化=== | ||
+ | 首次上电开机,系统需要做以下一些初始化工作: <br /> | ||
+ | 1)扩展根文件系统 <br /> | ||
+ | 2)初始化设置(会执行/root/setup.sh) <br /> | ||
+ | 所以第一次开机需要等待片刻(约2~3分钟),再对FriendlyWrt进行设置,可以在openwrt网页上进入ttyd终端,当提示符显示为 root@FriendlyWrt 表示系统已经初始化完成。 | ||
+ | <syntaxhighlight lang="text"> | ||
+ | root@FriendlyWrt | ||
+ | </syntaxhighlight> | ||
===帐户与密码=== | ===帐户与密码=== | ||
− | + | 默认的密码是password(某些版本是空密码),请设置或更改一个较安全的密码用于web登录与ssh登录,建议在将{{{1}}}连接到互联网之前完成此设置。 | |
+ | |||
+ | ===连接网络=== | ||
+ | 用网线连接{{{1}}}的WAN口到你的主路由器,默认将从你的主路由器通过DHCP自动获取IP地址,请登入你的路由器后台查看并记住{{{1}}}的IP地址。 | ||
+ | |||
+ | ===登录FriendlyWrt=== | ||
+ | 将电脑连接到 {{{1}}} 的LAN口,如果电脑没有网口,可将无线AP的LAN口与{{{1}}}的LAN口相连接,电脑再通过WiFi连接到无线AP,在电脑浏览器上输入以下网址即可进入FriendlyWrt管理页面: <br /> | ||
+ | * http://friendlywrt/ | ||
+ | * http://192.168.2.1/ | ||
+ | * http://[fd00:ab:cd::1] | ||
+ | 以上是{{{1}}}的LAN口地址,WAN口会从你的主路由器动态获取IP地址。<br /> | ||
+ | |||
+ | ===建议的安全性设置=== | ||
+ | 以下设置事项非常建议在将 {{{1}}} 接入互联网之前完成,因为在空密码或弱密码的状态下将{{{1}}}接入互联网,极易受到网络攻击。 | ||
+ | * 设置一个安全的密码 | ||
+ | 进入 系统->管理权 界面设置密码。 | ||
+ | * 禁止从wan访问ssh,更换端口 | ||
+ | 进入 系统->管理权->SSH访问,将接口限制为 lan,将端口设置为其他非常用端口,例如 23333。 | ||
+ | ===安全的关机操作=== | ||
+ | 进入ttyd终端,输入poweroff命令敲回车,待led灯熄灭,再拔开电源。 | ||
===安装软件包=== | ===安装软件包=== | ||
Line 17: | Line 44: | ||
$ opkg list | $ opkg list | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
====查看已安装的软件==== | ====查看已安装的软件==== | ||
Line 34: | Line 60: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | === | + | ===FriendlyWrt的一些常见问题=== |
− | ** | + | * 无法拨号上网 |
+ | ** 进入“网络“->“防火墙“,将 “WAN区域“ 的“入站数据“,“出站数据“与“转发“均设置为 “接受”; | ||
+ | ** 如仍无法上网,可尝试关闭IPV6; | ||
+ | * 无法开机,LED灯不亮 | ||
+ | ** 尝试更换电源适配器和电缆,推荐使用 5V/2A 以上规格的电源供应; | ||
+ | ** 注意,部分Type-C接口的快速充电器会有延迟,可能需要几秒钟才开始提供电量; | ||
+ | * 做二级路由时,电脑无法连接互联网 | ||
+ | ** 如果你的主网络是IPv4,而'''{{{1}}}'''工作在IPv6,电脑有可能无法连接互联网,建议关闭IPv6 (本WiKi后面有介绍方法),或将主路由切换到IPv6; | ||
+ | * 如果你有问题,或有更好的建议,欢迎发送邮件到 techsupport@friendlyarm.com; | ||
− | === | + | ===让FriendlyWrt重新生成网络设置=== |
− | + | 此方法会触发 FriendlyWrt 重新识别硬件型号,并生成 /etc/config 下的网络配置,类拟但不完全等效于恢复出厂设置:<br /> | |
<syntaxhighlight lang="text"> | <syntaxhighlight lang="text"> | ||
− | + | rm -rf /etc/board.json /etc/config/system /etc/config/network /etc/config/wireless /etc/firstboot_* /root/.friendlyelec | |
− | + | reboot | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | /root/setup.sh 初始化脚本会在下次开机时再次被执行,所以你可以通过此途径来调试 /root/setup.sh 脚本. | |
+ | |||
+ | ===禁用IPv6=== | ||
+ | 要关掉 IPv6,可在ssh终端输入如下命令: | ||
<syntaxhighlight lang="text"> | <syntaxhighlight lang="text"> | ||
− | + | sed -i -e "s/DISABLE_IPV6=0/DISABLE_IPV6=1/g" /root/setup.sh | |
− | + | rm -rf /etc/board.json /etc/config/system /etc/config/network /etc/config/wireless /etc/firstboot_* /root/.friendlyelec | |
− | + | reboot | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | 待{{{1}}}重启完毕,电脑也需要重新插拨一下网线(或重启网络端口)以便重新获得IP地址。 | |
− | + | ===配置用户按键的功能=== | |
− | + | 默认情况下, 用户按键配置成用于重启设备(软重启), 如下所示: | |
− | 1 | + | <syntaxhighlight lang="bash"> |
− | + | echo 'BTN_1 1 /sbin/reboot' >> /etc/triggerhappy/triggers.d/example.conf | |
− | + | </syntaxhighlight> | |
− | + | 你可以通过更改上面的配置文件改变它的行为. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ===使用USB2LCD查看IP和温度=== | |
− | + | 将USB2LCD模块Plug到 {{{1}}} 的USB接口再开机,IP地址和CPU温度将显示在LCD上:<br /> | |
− | + | {{#switch: {{{1}}} | |
− | + | | NanoPi-R2S | |
+ | | NanoPi-R2C-Plus | ||
+ | | NanoPi-R2S-Plus | ||
+ | | NanoPi-R2C = | ||
+ | [[File:R2S-usb2lcd-01.jpg|frameless|600px]]<br /> | ||
+ | | #default = | ||
+ | }} | ||
− | |||
− | |||
{{#switch: {{{1}}} | {{#switch: {{{1}}} | ||
− | | NanoPi- | + | | NanoPi-R4S = |
− | + | ===PWM风扇的调节=== | |
− | + | (注:本章节的内容基于2021/08/31之后发布的固件,内核版本 kernel 5.10.xyz) | |
− | + | * 当前PWM风扇的默认行为是: 上电开机稍等片刻(约20秒),风扇会先自动旋转约5秒时间,之后的行为,是由内核驱动,根据CPU温度来决定风扇的开关以及转速。<br /> | |
− | + | * 可以通过修改以下脚本:/usr/bin/fa-fancontrol.sh 来更改风扇的行为,例如要修改风扇开始工作时的CPU温度,可以修改以下两行:<br /> | |
− | + | <syntaxhighlight lang="text"> | |
− | + | echo 50000 > trip_point_3_temp # 表示CPU温度到达50度时,风扇开始工作在最低转速 | |
− | + | echo 55000 > trip_point_4_temp # 表示CPU温度到达55度时,风扇升至第二档及以上转速运行,并根据CPU降温情况自动调节至最高档(第4档),或降低转速 | |
− | + | </syntaxhighlight> | |
− | + | * 如果需要调整各个档位的转速,可以修改内核dts文件,并重新编译内核来达到目的,具体的 dts 及修改位置可参考如下commit: https://github.com/friendlyarm/kernel-rockchip/commit/f74ac319f02e2d22cdd33227e7f167e4232809f9 <br /> | |
− | + | 如下如示,cooling-levels 定义了4个档位,0为关闭,最高档的值为255: | |
− | + | <syntaxhighlight lang="text"> | |
− | + | fan: pwm-fan { | |
− | + | compatible = "pwm-fan"; | |
− | + | - /* FIXME: adjust leveles for the connected fan */ | |
− | + | - cooling-levels = <0 12 18 255>; | |
− | + | + cooling-levels = <0 18 102 170 255>; | |
− | + | </syntaxhighlight> | |
+ | * 如你使用的内核版本是 4.19.xyz,此时的风扇是由应用层操作PWM来实现温控的,上述的内容不适用,需要去修改这个脚本: | ||
+ | <syntaxhighlight lang="text"> | ||
+ | /usr/bin/fa-fancontrol-direct.sh | ||
+ | </syntaxhighlight> | ||
+ | | #default = | ||
}} | }} | ||
− | |||
+ | ===如何使用USB WiFi=== | ||
+ | ====如何在终端使用命令查询USB无线网卡型号==== | ||
+ | (1) 点击“服务>ttyd”进入FriendlyWrt的命令行界面<br /> | ||
{{#switch: {{{1}}} | {{#switch: {{{1}}} | ||
− | | NanoPi- | + | | NanoPi-R2S |
− | | NanoPi- | + | | NanoPi-R2C-Plus |
− | | NanoPi- | + | | NanoPi-R2S-Plus |
− | + | | NanoPi-R2C = | |
− | | NanoPi- | + | [[File:R2s-wrt-jellyfin-002.jpg|frameless|800px]]<br /> |
− | + | | #default = | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | [[File: | + | |
− | + | ||
− | + | ||
}} | }} | ||
+ | (2) 在开发板没有插入任何USB设备时输入以下命令以查看挂在USB主线上的现有设备<br /> | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | lsusb | ||
+ | </syntaxhighlight> | ||
{{#switch: {{{1}}} | {{#switch: {{{1}}} | ||
− | | NanoPi- | + | | NanoPi-R2S |
− | | NanoPi- | + | | NanoPi-R2C-Plus |
− | | NanoPi- | + | | NanoPi-R2S-Plus |
− | + | | NanoPi-R2C = | |
− | + | [[File:R2swrt+usbwifi-09.jpg|frameless|800px]]<br /> | |
− | [[File: | + | | #default = |
− | + | }} | |
− | + | (3) 插入USB WiFi,再次输入以下命令<br /> | |
− | + | <syntaxhighlight lang="bash"> | |
− | + | lsusb | |
− | + | </syntaxhighlight> | |
− | + | 可以看到多出一个设备,ID为0BDA:C811<br /> | |
+ | {{#switch: {{{1}}} | ||
+ | | NanoPi-R2S | ||
+ | | NanoPi-R2C-Plus | ||
+ | | NanoPi-R2S-Plus | ||
+ | | NanoPi-R2C = | ||
+ | [[File:R2swrt+usbwifi-10.jpg|frameless|800px]]<br /> | ||
+ | | #default = | ||
}} | }} | ||
+ | (4) 以“0BDA:C811”或“VID_0BDA&PID_C811”作为关键词在搜索引擎上搜索,搜索结果显示VID_0BDA&PID_C811的对应WIFI芯片为Realtek 8811CU | ||
+ | |||
+ | ====如何使用USB WiFi作为AP==== | ||
+ | (1) 把USB WiFi插入{{{1}}}的USB端口,推荐使用以下列表中支持AP模式的WiFi芯片模块:<br /> | ||
+ | [[File:R2swrt+usbwifi-20210831.jpg|frameless|800px]]<br /> | ||
+ | <span style="color: blue; ">注:符合以上WiFi芯片型号并符合以上VID&PID信息的USB无线网卡都可以使用,支持的型号不局限于某个品牌某个型号</span> | ||
+ | |||
+ | (2) 插入USB WiFi后,点击上方菜单栏的“系统>重启”,点击“执行重启”按钮重启{{{1}}}<br /> | ||
{{#switch: {{{1}}} | {{#switch: {{{1}}} | ||
− | | NanoPi- | + | | NanoPi-R2S |
− | | NanoPi- | + | | NanoPi-R2C = |
− | | NanoPi- | + | [[File:R2swrt+usbwifi-01.jpg|frameless|800px]]<br /> |
− | == | + | <br /> |
− | + | [[File:R2swrt+usbwifi-02.jpg|frameless|800px]]<br /> | |
− | + | | #default = | |
− | + | }} | |
+ | (3) 点击“网络>无线”进入配置无线WiFi界面<br /> | ||
+ | {{#switch: {{{1}}} | ||
+ | | NanoPi-R2S | ||
+ | | NanoPi-R2C = | ||
+ | [[File:R2swrt+usbwifi-03.jpg|frameless|800px]]<br /> | ||
+ | | #default = | ||
+ | }} | ||
+ | (4) 点击“编辑”按钮可编辑WiFi设置<br /> | ||
+ | {{#switch: {{{1}}} | ||
+ | | NanoPi-R2S | ||
+ | | NanoPi-R2C = | ||
+ | [[File:R2swrt+usbwifi-04.jpg|frameless|800px]]<br /> | ||
+ | | #default = | ||
+ | }} | ||
+ | (5) 在“接口配置”中可设置WiFi 模式和SSID等,然后点击到“无线安全”项可修改加密方式和WiFi密码,默认密码为password,设置完成后点击“保存”<br /> | ||
+ | {{#switch: {{{1}}} | ||
+ | | NanoPi-R2S | ||
+ | | NanoPi-R2C = | ||
+ | [[File:R2swrt+usbwifi-05.jpg|frameless|800px]]<br /> | ||
+ | <br /> | ||
+ | [[File:R2swrt+usbwifi-06.jpg|frameless|800px]]<br /> | ||
+ | | #default = | ||
+ | }} | ||
+ | (4) 配置完成后使用手机端或电脑端搜索对应SSID的WiFi即可<br /> | ||
+ | {{#switch: {{{1}}} | ||
+ | | NanoPi-R2S | ||
+ | | NanoPi-R2C = | ||
+ | [[File:R2swrt+usbwifi-07.png|frameless|277px]]<br /> | ||
+ | | #default = | ||
+ | }} | ||
− | + | ====常见的USB WiFi问题及应对方法==== | |
− | + | 1) 建议在关机状态下插入usb wifi, 再上电开机,FriendlyWrt会自动生成配置文件 /etc/config/wireless,如果没有生成,通过 ifconfig -a 看看有没有 wlan0,如果没有 wlan0,通常是没有驱动。 <br /> | |
+ | 2) 如果 ifconfig -a 能看到 wlan0,但是热点没有正常工作,可以尝试更改 频道 和 国家代号,不合适的国家代号也会导致 WiFi 不工作。 <br /> | ||
+ | 3) 某些USB WiFi(例如MTK MT7662)默认工作在CD-ROM模式,需要经过usb_modeswitch来进行切换,可以尝试自行添加 usb_modeswitch 配置到以下目录:/etc/usb_modeswitch.d 。<br /> | ||
+ | |||
+ | ===玩转Docker应用=== | ||
+ | {{#switch: {{{1}}} | ||
+ | | NanoPi-R2S | ||
+ | | NanoPi-R2C = | ||
+ | ====Docker使用:安装JellyFin影音服务器==== | ||
+ | =====安装JellyFin===== | ||
+ | (1) 准备一个已烧好FriendlyWrt的{{{1}}}(或任意H3/RK3399 平台的友善开发板),接上电源和网线,网线接入{{{1}}}的WAN口; | ||
+ | |||
+ | (2) 在电脑端的浏览器输入 http://friendlywrt/ 或者开发板的IP地址即可进入FriendlyWrt管理页面,默认情况下,LAN口的IP地址为192.168.2.1,WAN会从你的主路由器动态获取IP地址;<br /> | ||
+ | [[File:R2s-001.jpg|frameless|800px]]<br /> | ||
+ | |||
+ | (3) 点击上方菜单栏的“服务->ttyd”进入命令行界面;<br /> | ||
+ | |||
+ | [[File:R2s-wrt-jellyfin-002.jpg|frameless|800px]]<br /> | ||
+ | [[File:R2s-wrt-jellyfin-003.jpg|frameless|800px]]<br /> | ||
+ | (4) 输入以下命令安装JellyFin: | ||
+ | |||
+ | 创建一个目录用于存放 JellyFin 的配置: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | mkdir -p /jellyfin/config | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 创建一个专门供JellyFin访问的目录,存放影片和视频: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | mkdir -p /jellyfin/videos | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 然后安装JellyFin,请耐心等待安装过程: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | docker run --restart=always -d -p 8096:8096 -v /jellyfin/config:/config -v /jellyfin/videos:/videos jellyfin/jellyfin:10.1.0-arm64 -name myjellyfin | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | '''主要参数说明''':<br /> | ||
+ | '''8096:8096''': 指定端口号为 8096,安装完后,可能通过 http://路由器IP:8096 访问jellyFin<br /> | ||
+ | '''/jellyfin/videos''': 指定用于存放影片的目录,本地目录为 /jellyfin/videos,在jellyFin界面上可以通过路径 /videos访问到这些影片<br /> | ||
+ | [[File:R2s-wrt-jellyfin-004.jpg|frameless|800px]]<br /> | ||
+ | |||
+ | (5) 等到可再次操作命令行界面时即完成安装,如下图:<br /> | ||
+ | [[File:R2s-wrt-jellyfin-005.jpg|frameless|800px]]<br /> | ||
+ | |||
+ | =====为JellyFin添加媒体库===== | ||
+ | (1) 在浏览器输入{{{1}}}的IP地址+端口8096 进入JellyFin界面:<br /> | ||
+ | 如:192.168.1.126:8096 <br /> | ||
+ | [[File:R2s-wrt-jellyfin-015.jpg|frameless|800px]]<br /> | ||
+ | |||
+ | (2) 点击右上角的“设置”图标进入控制台:<br /> | ||
+ | [[File:R2s-wrt-jellyfin-016.jpg|frameless|800px]]<br /> | ||
+ | |||
+ | (3) 点击左边的“媒体库”,然后点击“添加媒体库”:<br /> | ||
+ | [[File:R2s-wrt-jellyfin-017.jpg|frameless|800px]]<br /> | ||
+ | |||
+ | (4) 建议打开“显示高级设置”选项,内容类型等选项根据情况选择,勾选“将媒体图像保存到媒体所在文件夹”的话JellyFin会在网上搜索电影封面等信息下载到媒体文件夹中,设置完成后点击“确定”:<br /> | ||
+ | [[File:R2s-wrt-jellyfin-018.jpg|frameless|800px]]<br /> | ||
+ | |||
+ | [[File:R2s-wrt-jellyfin-019.jpg|frameless|800px]]<br /> | ||
+ | |||
+ | (5) 设置完成后回到“控制台”,可看到“Scan media library”任务,即JellyFin正在扫描媒体库并下载媒体信息,视网络情况而定可能需要几分钟至几十分钟:<br /> | ||
+ | [[File:R2s-wrt-jellyfin-020.jpg|frameless|800px]]<br /> | ||
+ | |||
+ | (6) 扫描完成后返回主界面,可看到媒体库已添加成功:<br /> | ||
+ | [[File:R2s-wrt-jellyfin-021.jpg|frameless|800px]]<br /> | ||
+ | |||
+ | =====在JellyFin下播放媒体===== | ||
+ | ======在电脑端播放媒体====== | ||
+ | 在浏览器中输入{{{1}}}的IP地址+端口8096 进入JellyFin,点击媒体库中其中一部影片,即可开始播放:<br /> | ||
+ | [[File:R2s-wrt-jellyfin-022.jpg|frameless|800px]]<br /> | ||
+ | |||
+ | ======在手机端播放媒体====== | ||
+ | (1) 从应用商店下载安装JellyFin APP,打开APP输入{{{1}}}的IP地址+端口8096登录进入:<br /> | ||
+ | [[File:R2s-wrt-jellyfin-035.jpg|frameless|280px]] [[File:R2s-wrt-jellyfin-036.jpg|frameless|280px]] <br /> | ||
+ | |||
+ | (2) 点击媒体库可看到库中所有影片,点击其中一部影片可查看影片详情:<br /> | ||
+ | [[File:R2s-wrt-jellyfin-037.jpg|frameless|280px]] [[File:R2s-wrt-jellyfin-038.jpg|frameless|280px]] [[File:R2s-wrt-jellyfin-039.jpg|frameless|280px]]<br /> | ||
+ | |||
+ | (2) 点击播放按钮即可观看影片:<br /> | ||
+ | [[File:R2s-wrt-jellyfin-040.jpg|frameless|800px]]<br /> | ||
+ | |||
+ | 详细使用教程请参考: [[How to setup JellyFin media system on NanoPi-R2S/zh]] | ||
+ | | #default = | ||
+ | ====Docker使用:安装JellyFin影音服务器==== | ||
+ | 请参考: [[How to setup JellyFin media system on NanoPi-R2S/zh]] | ||
}} | }} | ||
+ | ====Docker使用:安装个人网盘nextcloud==== | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | mkdir /nextcloud -p | ||
+ | docker run -d -p 8888:80 --name nextcloud -v /nextcloud/:/var/www/html/ --restart=always --privileged=true arm64v8/nextcloud | ||
+ | </syntaxhighlight> | ||
+ | 安装完成后,使用8888端口进行访问。 | ||
+ | <!-- | ||
+ | ===启动swap分区=== | ||
+ | 在命令行执行以下命令,然后重启: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | /etc/enable-swap.sh | ||
+ | reboot | ||
+ | </syntaxhighlight> | ||
+ | --> | ||
+ | {{#switch: {{{1}}} | ||
+ | | NanoPi-R2S | ||
+ | | NanoPi-R2C = | ||
+ | ===挂载外接存储设备=== | ||
+ | (1) 把移动硬盘连接{{{1}}}作为外接存储设备,将移动硬盘插入{{{1}}}的USB接口,在FriendlyWrt中点击“系统->挂载点”进入挂载点设置界面:<br /> | ||
+ | [[File:R2s-wrt-jellyfin-006.jpg|frameless|800px]]<br /> | ||
− | + | (2) 在界面下方找到挂载点存储设备设置,点击“添加”按钮:<br /> | |
− | + | [[File:R2s-wrt-jellyfin-007.jpg|frameless|800px]]<br /> | |
− | === | + | (3) 在弹出的对话框中UUID一栏选中刚刚接入的移动硬盘 /dev/sda1(实际情况请根据自身设备选择,如硬盘有多个分区可能会显示sda1/sda2……等):<br /> |
− | + | [[File:R2s-wrt-jellyfin-008.jpg|frameless|800px]]<br /> | |
+ | |||
+ | (4) 在挂载点一栏中使用自定义,填入要挂载到的目标目录,这里以/jellyfin/videos 目录为例,勾选上方的“已启用”,然后点击“保存”:<br /> | ||
+ | [[File:R2s-wrt-jellyfin-009.jpg|frameless|800px]]<br /> | ||
+ | |||
+ | [[File:R2s-wrt-jellyfin-010.jpg|frameless|800px]]<br /> | ||
+ | |||
+ | (5) 设置完后点击“系统->重启”重启{{{1}}}使挂载点生效:<br /> | ||
+ | [[File:R2s-wrt-jellyfin-011.jpg|frameless|800px]]<br /> | ||
+ | |||
+ | (6) 重启后再回到“挂载点”界面可看到“已挂载的文件系统”中显示刚刚挂载的移动硬盘信息,即设置成功(以后需要再新增或删减编辑挂载点都可以在下面的“挂载点”设置中操作):<br /> | ||
+ | '''注:每次操作后都需要重启后才能生效'''<br /> | ||
+ | [[File:R2s-wrt-jellyfin-012.jpg|frameless|800px]]<br /> | ||
+ | | #default = | ||
+ | }} | ||
+ | ===挂载smbfs共享资源=== | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | mount -t cifs //192.168.1.10/shared /movie -o username=xxx,password=yyy,file_mode=0644 | ||
+ | </syntaxhighlight> | ||
+ | {{#switch: {{{1}}} | ||
+ | | NanoPi-R2S | ||
+ | | NanoPi-R2C = | ||
+ | ===使用Aria2下载网络资源=== | ||
+ | 使用 Aria2 之前,需要先设置一个目录专门用于存放 Aria2 下载的文件,这个目录需要 让aria2 用户有读写权限,如果你是挂载外部的硬盘作为下载目录,硬盘建议格式化为 ext4 格式。<br /> | ||
+ | 下面以 /jellyfin/videos/Disk/download 目录为例,点击上方菜单栏“服务->ttyd”, 输入以下命令创建目录,并设置目录拥有者为 aria2: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | mkdir -p /jellyfin/videos/Disk/download | ||
+ | chown aria2:aria2 /jellyfin/videos/Disk/download | ||
+ | </syntaxhighlight> | ||
+ | [[File:R2s-wrt-jellyfin-047.jpg|frameless|800px]]<br /> | ||
+ | (2) 点击“服务->Aria2”<br /> | ||
+ | [[File:R2s-wrt-jellyfin-048.jpg|frameless|800px]]<br /> | ||
+ | (3) 勾选“已启用”复选框,将下载目录设置为/jellyfin/videos/Disk/download,然后点击“保存并应用”按钮:<br /> | ||
+ | [[File:R2s-wrt-jellyfin-049.jpg|frameless|800px]]<br /> | ||
+ | (4) 保存完成后,点击 “AriaNg”即可进入 Aria2 前端界面,点击“新建”按钮即可创建下载任务:<br /> | ||
+ | [[File:R2s-wrt-jellyfin-050.jpg|frameless|800px]]<br /> | ||
+ | ===在Windows10系统下使用WinSCP共享文件=== | ||
+ | (1)下载安装WinSCP后打开,新建一个连接,主机名填写{{{1}}}的IP地址,然后填写{{{1}}}的用户名和密码,默认用户名:root,密码为空,文件协议改为“SCP”,点击“登录”<br /> | ||
+ | 使用WinSCP可以远程访问{{{1}}}并传输文件。 <br /> | ||
+ | '''WinSCP下载地址:'''https://winscp.net/eng/download.php<br /> | ||
+ | [[File:R2s-wrt-jellyfin-013.jpg|frameless|800px]]<br /> | ||
+ | (2) 登录后可看到左边是本地的目录,右边是{{{1}}}的文件目录,打开需要共享文件的目录,这里以/jellyfin/videos目录为例,把媒件文件拖到右边即可开始传输,等待文件传输完成:<br /> | ||
+ | [[File:R2s-wrt-jellyfin-014.jpg|frameless|800px]]<br /> | ||
+ | | #default = | ||
+ | }} | ||
+ | {{#switch: {{{1}}} | ||
+ | | NanoPi-R2S | ||
+ | | NanoPi-R2C = | ||
+ | ===设置Samba网络文件共享=== | ||
+ | (1)在FriendlyWrt中点击上方菜单栏的“服务->网络共享”<br /> | ||
+ | [[File:R2s-wrt-jellyfin-041.jpg|frameless|800px]]<br /> | ||
+ | (2) 点击底部的“添加”按钮:<br /> | ||
+ | [[File:R2s-wrt-jellyfin-042.jpg|frameless|800px]]<br /> | ||
+ | (3) 填写你要共享目录,这里以设置共享 /jellyfin/videos 目录为例(如目录文件夹有大小写请注意区分),填写完成后点击“保存并应用”:<br /> | ||
+ | [[File:R2s-wrt-jellyfin-043.jpg|frameless|800px]]<br /> | ||
+ | ====在Windows10系统下访问Samba共享==== | ||
+ | 默认情况下,你的Windows10可能没有启动网络发现与共享,请先参考下面这二份文档,对你的Windows10做一些设置:<br /> | ||
+ | (1) 启用Samba v1/v2的访问:https://www.windowscentral.com/how-access-files-network-devices-using-smbv1-windows-10<br /> | ||
+ | [[File:R2s-wrt-jellyfin-044.jpg|frameless|800px]]<br /> | ||
+ | (2) 启用网络发现:https://www.dummies.com/computers/operating-systems/windows-10/how-to-enable-network-discovery-and-configure-sharing-options-in-windows-10/<br /> | ||
+ | [[File:R2s-wrt-jellyfin-045.jpg|frameless|800px]]<br /> | ||
+ | 具体操作可以百度“Windows10 开启SMBv1” 与 "Win10启用网络发现"了解中文版的设置方法;<br /> | ||
+ | 设置完成后,在资源管理器的地址栏输入 \\friendlywrt 即可访问共享目录, 用户名为root, 密码为password;<br /> | ||
+ | [[File:R2s-wrt-jellyfin-046.jpg|frameless|800px]]<br /> | ||
+ | ====在OS X系统下访问Samba共享==== | ||
+ | 右击 Finder 图标,选择“连接到服务器“,输入地址 smb://root@friendlywrt 后点击“连接“按钮,<br/> | ||
+ | 在要求输入用户名与密码时,输入用户名为root, 密码为password,最后点击 mnt 即可进入 /mnt/的共享目录。 | ||
+ | ====在Linux系统下访问Samba共享==== | ||
+ | 在文件管理器的地址栏中输入 smb://root@friendlywrt 后敲回车,在提示输入密码时输入 password,最后点击 mnt 即可进入 /mnt/的共享目录。 | ||
+ | ===更改Mac地址=== | ||
+ | 注1:这里以更改WAN口的MAC地址为例进行说明;<br /> | ||
+ | 注2:MAC的格式是严格的,不能胡乱编造,格式不合规的地址会导致无法接入网络,建议参考其他设备的MAC地址,做少量修改作为新的MAC地址;<br /><br /> | ||
+ | 新建一个服务文件 /etc/init.d/custom-mac,内容如下,其中的MAC地址,请替换成你需要更改的MAC地址,eth0更改为你想要更换MAC地址的网口(例如R2S的WAN口对应eth0): | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | #!/bin/sh /etc/rc.common | ||
+ | # Copyright (C) 2014 OpenWrt.org | ||
+ | |||
+ | START=94 | ||
+ | STOP=15 | ||
+ | |||
+ | start() { | ||
+ | ifconfig eth0 down | ||
+ | ifconfig eth0 hw ether 80:1F:12:EF:BC:99 | ||
+ | ifconfig eth0 up | ||
+ | } | ||
+ | |||
+ | stop() { | ||
+ | echo "Stop." | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | 运行一下服务,测试一下MAC地址有没有按预期改变,除了用ifconfig命令查看,如果你的NanoPi的WAN口连接的是主路由器,推荐登录主路由器的后台去确认新的MAC地址是否已生效: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | chmod 755 /etc/init.d/custom-mac | ||
+ | /etc/init.d/custom-mac start | ||
+ | ifconfig eth0 | grep HWaddr | ||
+ | </syntaxhighlight> | ||
+ | 如果一切正常,再执下以下命令,让该服务开机自动运行: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | /etc/init.d/custom-mac enable | ||
+ | </syntaxhighlight> | ||
+ | 以后开机都会自动应用新的MAC地址了。 | ||
+ | | #default = | ||
+ | }} | ||
+ | {{#switch: {{{1}}} | ||
+ | | NanoPi-R2S = | ||
+ | {{CPUOverClock/zh|NanoPi-R2S}} | ||
+ | | NanoPi-R2C = | ||
+ | {{CPUOverClock/zh|NanoPi-R2C}} | ||
+ | | NanoPi-R4S = | ||
+ | | #default = | ||
+ | }} | ||
+ | |||
+ | ===使用sdk编译软件包=== | ||
+ | ====安装编译环境==== | ||
+ | 在64位的Ubuntu (版本18.04+)下载并运行如下脚本: | ||
+ | [https://github.com/friendlyarm/build-env-on-ubuntu-bionic How to setup the Compiling Environment on Ubuntu bionic] | ||
+ | |||
+ | ====在网盘上下载并解压sdk==== | ||
+ | sdk位于网盘的toolchain目录,解压后,需要先下载feeds软件包: | ||
+ | {{#switch: {{{1}}} | ||
+ | | NanoPi-R2S | ||
+ | | NanoPi-R2C = | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | tar xvf ~/dvd/RK3328/toolchain/friendlywrt/openwrt-sdk-19.07.5-rockchip-rk3328_gcc-7.5.0_musl.Linux-x86_64.tar.xz | ||
+ | # 路径太长会导致有些包编译出错,所以这里改一下目录名 | ||
+ | mv openwrt-sdk-19.07.5-rockchip-rk3328_gcc-7.5.0_musl.Linux-x86_64 sdk | ||
+ | cd sdk | ||
+ | ./scripts/feeds update -a | ||
+ | ./scripts/feeds install -a | ||
+ | </syntaxhighlight> | ||
+ | | #default = | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | tar xvf ~/dvd/FriendlyELEC-NanoPiR4S/toolchain/friendlywrt/openwrt-sdk-19.07.5-rockchip-rk3399_gcc-7.5.0_musl.Linux-x86_64.tar.xz | ||
+ | # 路径太长会导致有些包编译出错,所以这里改一下目录名 | ||
+ | mv openwrt-sdk-19.07.5-rockchip-rk3399_gcc-7.5.0_musl.Linux-x86_64 sdk | ||
+ | cd sdk | ||
+ | ./scripts/feeds update -a | ||
+ | ./scripts/feeds install -a | ||
+ | </syntaxhighlight> | ||
+ | }} | ||
+ | |||
+ | |||
+ | ====将软件包编译并打包成ipk文件==== | ||
+ | 此处以mwarning的示例作为演示,下载例子的源代码(共3个分别为example1, example2, example3),并拷到package目录: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | git clone https://github.com/mwarning/openwrt-examples.git | ||
+ | cp -rf openwrt-examples/example* package/ | ||
+ | rm -rf openwrt-examples/ | ||
+ | </syntaxhighlight> | ||
+ | 再通过以下命令进入配置菜单: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | make menuconfig | ||
+ | </syntaxhighlight> | ||
+ | 在菜单中选中以下我们要编译的软件包(默认实际上已经选中): | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | "Utilities" => "example1" | ||
+ | "Utilities" => "example3" | ||
+ | "Network" => "VPN" => "example2" | ||
+ | </syntaxhighlight> | ||
+ | 退出配置菜单的界面,在提示是否保存设置时需要选择Yes,然后执下以下命令,分别编译这三个软件包: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | make package/example1/compile V=99 | ||
+ | make package/example2/compile V=99 | ||
+ | make package/example3/compile V=99 | ||
+ | </syntaxhighlight> | ||
+ | 编译成功后,可以在bin目录下找到ipk文件,如下所示: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ find ./bin -name example*.ipk | ||
+ | ./bin/packages/aarch64_cortex-a53/base/example2_0.1-1_aarch64_cortex-a53.ipk | ||
+ | ./bin/packages/aarch64_cortex-a53/base/example3_0.1-1_aarch64_cortex-a53.ipk | ||
+ | ./bin/packages/aarch64_cortex-a53/base/example1_0.1-1_aarch64_cortex-a53.ipk | ||
+ | </syntaxhighlight> | ||
+ | ====将编译生成的ipk安装到NanoPi上==== | ||
+ | 可以用scp命令将ipk文件上传到NanoPi上: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | cd ./bin/packages/aarch64_cortex-a53/base/ | ||
+ | scp example*.ipk root@192.168.2.1:/root/ | ||
+ | </syntaxhighlight> | ||
+ | 然后用opkg命令进行安装他们: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | cd /root/ | ||
+ | opkg install example2_0.1-1_aarch64_cortex-a53.ipk | ||
+ | opkg install example3_0.1-1_aarch64_cortex-a53.ipk | ||
+ | opkg install example1_0.1-1_aarch64_cortex-a53.ipk | ||
+ | </syntaxhighlight> |
Latest revision as of 10:53, 4 December 2023
Contents
1 FriendlyWrt的使用
1.1 FriendlyWrt简介
FriendlyWrt是友善电子基于OpenWrt定制的系统,完全开源,用于企业物联网二次开发,个人定制NAS等。
1.2 首次开机的初始化
首次上电开机,系统需要做以下一些初始化工作:
1)扩展根文件系统
2)初始化设置(会执行/root/setup.sh)
所以第一次开机需要等待片刻(约2~3分钟),再对FriendlyWrt进行设置,可以在openwrt网页上进入ttyd终端,当提示符显示为 root@FriendlyWrt 表示系统已经初始化完成。
root@FriendlyWrt
1.3 帐户与密码
默认的密码是password(某些版本是空密码),请设置或更改一个较安全的密码用于web登录与ssh登录,建议在将{{{1}}}连接到互联网之前完成此设置。
1.4 连接网络
用网线连接{{{1}}}的WAN口到你的主路由器,默认将从你的主路由器通过DHCP自动获取IP地址,请登入你的路由器后台查看并记住{{{1}}}的IP地址。
1.5 登录FriendlyWrt
将电脑连接到 {{{1}}} 的LAN口,如果电脑没有网口,可将无线AP的LAN口与{{{1}}}的LAN口相连接,电脑再通过WiFi连接到无线AP,在电脑浏览器上输入以下网址即可进入FriendlyWrt管理页面:
- http://friendlywrt/
- http://192.168.2.1/
- http://[fd00:ab:cd::1]
以上是{{{1}}}的LAN口地址,WAN口会从你的主路由器动态获取IP地址。
1.6 建议的安全性设置
以下设置事项非常建议在将 {{{1}}} 接入互联网之前完成,因为在空密码或弱密码的状态下将{{{1}}}接入互联网,极易受到网络攻击。
- 设置一个安全的密码
进入 系统->管理权 界面设置密码。
- 禁止从wan访问ssh,更换端口
进入 系统->管理权->SSH访问,将接口限制为 lan,将端口设置为其他非常用端口,例如 23333。
1.7 安全的关机操作
进入ttyd终端,输入poweroff命令敲回车,待led灯熄灭,再拔开电源。
1.8 安装软件包
1.8.1 更新可用软件包列表
安装软件前,先更新可用软件包列表:
$ opkg update
1.8.2 查看可安装的软件包
$ opkg list
1.8.3 查看已安装的软件
$ opkg list-installed
1.8.4 安装软件
$ opkg install <包各称>
1.8.5 删除软件
$ opkg remove <包各称>
1.9 FriendlyWrt的一些常见问题
- 无法拨号上网
- 进入“网络“->“防火墙“,将 “WAN区域“ 的“入站数据“,“出站数据“与“转发“均设置为 “接受”;
- 如仍无法上网,可尝试关闭IPV6;
- 无法开机,LED灯不亮
- 尝试更换电源适配器和电缆,推荐使用 5V/2A 以上规格的电源供应;
- 注意,部分Type-C接口的快速充电器会有延迟,可能需要几秒钟才开始提供电量;
- 做二级路由时,电脑无法连接互联网
- 如果你的主网络是IPv4,而{{{1}}}工作在IPv6,电脑有可能无法连接互联网,建议关闭IPv6 (本WiKi后面有介绍方法),或将主路由切换到IPv6;
- 如果你有问题,或有更好的建议,欢迎发送邮件到 techsupport@friendlyarm.com;
1.10 让FriendlyWrt重新生成网络设置
此方法会触发 FriendlyWrt 重新识别硬件型号,并生成 /etc/config 下的网络配置,类拟但不完全等效于恢复出厂设置:
rm -rf /etc/board.json /etc/config/system /etc/config/network /etc/config/wireless /etc/firstboot_* /root/.friendlyelec reboot
/root/setup.sh 初始化脚本会在下次开机时再次被执行,所以你可以通过此途径来调试 /root/setup.sh 脚本.
1.11 禁用IPv6
要关掉 IPv6,可在ssh终端输入如下命令:
sed -i -e "s/DISABLE_IPV6=0/DISABLE_IPV6=1/g" /root/setup.sh rm -rf /etc/board.json /etc/config/system /etc/config/network /etc/config/wireless /etc/firstboot_* /root/.friendlyelec reboot
待{{{1}}}重启完毕,电脑也需要重新插拨一下网线(或重启网络端口)以便重新获得IP地址。
1.12 配置用户按键的功能
默认情况下, 用户按键配置成用于重启设备(软重启), 如下所示:
echo 'BTN_1 1 /sbin/reboot' >> /etc/triggerhappy/triggers.d/example.conf
你可以通过更改上面的配置文件改变它的行为.
1.13 使用USB2LCD查看IP和温度
将USB2LCD模块Plug到 {{{1}}} 的USB接口再开机,IP地址和CPU温度将显示在LCD上:
1.14 如何使用USB WiFi
1.14.1 如何在终端使用命令查询USB无线网卡型号
(1) 点击“服务>ttyd”进入FriendlyWrt的命令行界面
(2) 在开发板没有插入任何USB设备时输入以下命令以查看挂在USB主线上的现有设备
lsusb
(3) 插入USB WiFi,再次输入以下命令
lsusb
可以看到多出一个设备,ID为0BDA:C811
(4) 以“0BDA:C811”或“VID_0BDA&PID_C811”作为关键词在搜索引擎上搜索,搜索结果显示VID_0BDA&PID_C811的对应WIFI芯片为Realtek 8811CU
1.14.2 如何使用USB WiFi作为AP
(1) 把USB WiFi插入{{{1}}}的USB端口,推荐使用以下列表中支持AP模式的WiFi芯片模块:
注:符合以上WiFi芯片型号并符合以上VID&PID信息的USB无线网卡都可以使用,支持的型号不局限于某个品牌某个型号
(2) 插入USB WiFi后,点击上方菜单栏的“系统>重启”,点击“执行重启”按钮重启{{{1}}}
(3) 点击“网络>无线”进入配置无线WiFi界面
(4) 点击“编辑”按钮可编辑WiFi设置
(5) 在“接口配置”中可设置WiFi 模式和SSID等,然后点击到“无线安全”项可修改加密方式和WiFi密码,默认密码为password,设置完成后点击“保存”
(4) 配置完成后使用手机端或电脑端搜索对应SSID的WiFi即可
1.14.3 常见的USB WiFi问题及应对方法
1) 建议在关机状态下插入usb wifi, 再上电开机,FriendlyWrt会自动生成配置文件 /etc/config/wireless,如果没有生成,通过 ifconfig -a 看看有没有 wlan0,如果没有 wlan0,通常是没有驱动。
2) 如果 ifconfig -a 能看到 wlan0,但是热点没有正常工作,可以尝试更改 频道 和 国家代号,不合适的国家代号也会导致 WiFi 不工作。
3) 某些USB WiFi(例如MTK MT7662)默认工作在CD-ROM模式,需要经过usb_modeswitch来进行切换,可以尝试自行添加 usb_modeswitch 配置到以下目录:/etc/usb_modeswitch.d 。
1.15 玩转Docker应用
1.15.1 Docker使用:安装JellyFin影音服务器
请参考: How to setup JellyFin media system on NanoPi-R2S/zh
1.15.2 Docker使用:安装个人网盘nextcloud
mkdir /nextcloud -p docker run -d -p 8888:80 --name nextcloud -v /nextcloud/:/var/www/html/ --restart=always --privileged=true arm64v8/nextcloud
安装完成后,使用8888端口进行访问。
1.16 挂载smbfs共享资源
mount -t cifs //192.168.1.10/shared /movie -o username=xxx,password=yyy,file_mode=0644
1.17 使用sdk编译软件包
1.17.1 安装编译环境
在64位的Ubuntu (版本18.04+)下载并运行如下脚本: How to setup the Compiling Environment on Ubuntu bionic
1.17.2 在网盘上下载并解压sdk
sdk位于网盘的toolchain目录,解压后,需要先下载feeds软件包:
tar xvf ~/dvd/FriendlyELEC-NanoPiR4S/toolchain/friendlywrt/openwrt-sdk-19.07.5-rockchip-rk3399_gcc-7.5.0_musl.Linux-x86_64.tar.xz # 路径太长会导致有些包编译出错,所以这里改一下目录名 mv openwrt-sdk-19.07.5-rockchip-rk3399_gcc-7.5.0_musl.Linux-x86_64 sdk cd sdk ./scripts/feeds update -a ./scripts/feeds install -a
1.17.3 将软件包编译并打包成ipk文件
此处以mwarning的示例作为演示,下载例子的源代码(共3个分别为example1, example2, example3),并拷到package目录:
git clone https://github.com/mwarning/openwrt-examples.git cp -rf openwrt-examples/example* package/ rm -rf openwrt-examples/
再通过以下命令进入配置菜单:
make menuconfig
在菜单中选中以下我们要编译的软件包(默认实际上已经选中):
"Utilities" => "example1" "Utilities" => "example3" "Network" => "VPN" => "example2"
退出配置菜单的界面,在提示是否保存设置时需要选择Yes,然后执下以下命令,分别编译这三个软件包:
make package/example1/compile V=99 make package/example2/compile V=99 make package/example3/compile V=99
编译成功后,可以在bin目录下找到ipk文件,如下所示:
$ find ./bin -name example*.ipk ./bin/packages/aarch64_cortex-a53/base/example2_0.1-1_aarch64_cortex-a53.ipk ./bin/packages/aarch64_cortex-a53/base/example3_0.1-1_aarch64_cortex-a53.ipk ./bin/packages/aarch64_cortex-a53/base/example1_0.1-1_aarch64_cortex-a53.ipk
1.17.4 将编译生成的ipk安装到NanoPi上
可以用scp命令将ipk文件上传到NanoPi上:
cd ./bin/packages/aarch64_cortex-a53/base/ scp example*.ipk root@192.168.2.1:/root/
然后用opkg命令进行安装他们:
cd /root/ opkg install example2_0.1-1_aarch64_cortex-a53.ipk opkg install example3_0.1-1_aarch64_cortex-a53.ipk opkg install example1_0.1-1_aarch64_cortex-a53.ipk