分类目录归档:openwrt

三行指令实现openwrt定时开启appfilter禁止儿童玩游戏看抖音

openwrt里面有appfilter这个插件,但是这个插件没有定时开启或者关闭的功能。最近孩子每天要玩一会游戏看一会抖音,每次都手动设置实在不胜其烦,研究了一下,可以利用定时任务实现定时开启或者关闭appfilter的功能。

定时开启限制玩游戏看视频

uci set appfilter.@global[0].enable=1
uci commit appfilter.@global[0].enable
/etc/init.d/appfilter restart

定时关闭同理:

uci set appfilter.@global[0].enable=0
uci commit appfilter.@global[0].enable
/etc/init.d/appfilter restart

新版本的openwrt改变了commit的方法。之前可以uci commit就能实现配置的保存,现在会报错。

root@J1900:~# uci commit
uci: Entry not found

只能uci commit appfilter.@global[0].enable指定保存某个具体值。

改进了一下,直接写成一个脚本文件,放在mnt下面,chmod 777 设置可执行权限,然后定时任务直接指定该脚本运行即可。

appfilter

关于插件中显示“当前状态 正在收集数据”的解决办法

实际上是由于自己修改了插件的类别导致luci.dispatcher.build_url无法从原路径返回正确的状态数据导致的。

解决办法,修改services为目前实际类别control即可。

原因估计是我之前看这个菜单位于服务类别里面,感觉很不爽,于是将菜单改到控制类别里,结果忘记全局修改所有的路径导致问题。

在PVE里面安装可以直接升级固件的openwrt系统

众所周知,PVE里面没有办法直接安装openwrt,需要把img文件通过指令转换为pve虚拟机的磁盘,然后添加该磁盘才能使用,这样带来的问题是,如果有了新版本的固件,是没有办法直接升级的,升级完毕后还是原来的固件。

解决办法就是,直接给PVE的磁盘写入img文件而不是通过指令转换img文件为磁盘。

使用OPENWRT的ISO文件,引导系统启动,然后将squashfs-combined.img文件传入tmp目录中,使用dd if=/tmp/op.img of=/dev/sda指令写入磁盘。

然后重启,删除光驱即可。

这样以后升级固件就可以直接在openwrt升级界面刷写了。

AX88179千兆USB网卡在openwrt使用的注意事项

最近买了个AX88179的USB3.0千兆网卡,给手里的一个J1850千兆单网口小主机加上这个USB千兆网卡,做成一个软路由来使用,过程中发现这个USB网卡不稳定,动不动就断流然后变成百兆速率,简直是抓狂啊。

仔细研究了一下,发现问题出在自己编译的这个openwrt固件没有加入USB3.0的驱动,导致网卡不稳定,原因并不是网卡自身,而是驱动的问题。

于是将kmod-usb3加入后,问题解决,这个千兆USB网卡十分稳定。

备份本地代码到github

第一步:建立git仓库,cd到你的本地项目根目录下,执行git命令

git init
第二步:将项目的所有文件添加到仓库中

git add .
第三步:将add的文件commit到仓库

git commit -m “注释语句”
第四步:去github上创建自己的Repository

or create a new repository on the command line
echo “# lede” >> README.md
git init
git add README.md
git commit -m “first commit”
git branch -M main
git remote add origin git@github.com:***/lede.git
git push -u origin main

…or push an existing repository from the command line
git remote add origin git@github.com:***/lede.git
git branch -M main
git push -u origin main

后续有更新的话执行以下步骤:

git add .

git commit -m “注释语句”

git branch -M main  (这句是强制重命名分支为main,初始化的时候需要,后续应该不用)
git push -u origin main

 

openwrt编译配置教程以及CPU降频设置

config文件位置:

openwrt config文件:.config
kernel config:build_dir/target-xxxxxxx/linux-x86_generic/linux-x.xx.xx/.config

内核版本更改:

支持内核版本列表: include/kernel-version.mk
更改内核版本位置: target/linux/XXX/Makefile.

3.你要编译的内容 命令 make menuconfig

这里给出一个基本配置,不过其中Busybox配置,正常使用默认配置即可,不需要Customize busybox options,我为了在日后的initramfs中加入一些overlayfs的功能自己加进去了配置,另外的配置基本是x86必须的。

Target System (x86) #目标平台选择
Target Images —>
ext4 #生成.EXT4.IMG文件
Base system —>
<*> block-mount
<*> busybox —> #用于今后`initramfs`支持,可以将所有lib编译到busybox
Customize busybox options
Busybox Settings —>
General Configuration —>
Support –install [-s] to install applet links at runtime
[ ] Don’t use /usr ( [ ] Don’t use /usr 该项不选!,否则无法生成 /usr/sbin/ntpd-hotplug及其他文件,导致busybox-*.ipk生成失败!)
Linux Module Utilities —>
modinfo
Simplified modutils
Accept module options on modprobe command line
Skip loading of already loaded modules
(/lib/modules) Default directory containing modules
Linux System Utilities —>
mdev
Support /etc/mdev.conf
Support subdirs/symlinks
Support regular expressions substitutions when renaming
Support command execution at device addition/removal
Support loading of firmwares
findfs
blkid
Print filesystem type
losetup
lspci
lsusb
mount
Support specifying devices by label or UUID
Filesystem/Volume identification —>
Ext filesystem
fat filesystem
Networking Utilities —>
ftpd
Enable upload commands
Enable workaround for RFC-violating clients
inetd
telnetd
Support standalone telnetd (not inetd only)
tcpsvd
udpsvd
`kernel` modules —>
Block Devices —>
<*> kmod-ata-core
<*> kmod-ata-ahci
<*> kmod-loop
-*- kmod-scsi-core
<*> kmod-scsi-generic
Filesystems —>
<*> kmod-fs-ext4
<*> kmod-fs-ntfs
<*> kmod-fs-vfat
Input modules —>#键盘
-*- kmod-hid
<*> kmod-hid-generic
-*- kmod-input-core
-*- kmod-input-evdev
Native Language Support —>
<*> kmod-nls-cp437 #vfat需要这个
<*> kmod-nls-iso8859-1
<*> kmod-nls-utf8
Network Devices —> #网卡驱动
<*> kmod-macvlan
USB Support —>
-*- kmod-usb-core
<*> kmod-usb-hid #usb键盘
<*> kmod-usb-ohci
<*> kmod-usb-storage
<*> kmod-usb2
<*> kmod-usb3
Wireless Drivers —>#wifi卡驱动
Network —>
<*> hostapd #wifi ap模式
<*> hostapd-common
<*> hostapd-utils
<*> wpa-supplicant
Utilities —>#自选 fdisk等

4.x64固件内核支持等各种特性,命令 make kernel_menuconfig
目的是为了加入x86的多核心以及大内存支持

Processor type and features —>
Symmetric multi-processing support
Processor family (Core 2/newer Xeon) —>#自行选择处理器平台
Supported processor vendors —>#自行选择处理器平台
(2) Maximum number of CPUs #自行编辑
SMT (Hyperthreading) scheduler support#超线程支持
Multi-core scheduler support
High Memory Support (4GB) —>

Device Drivers
< >ATA/ATAPI/MFM/RLL support(DEPRECATED)—>
SCSI device support—>
<*>SCSI generic support (kernel module –> Block Devices –> <*> kmod-scsi-core)
<*>Serial ATA and Parallel ATA drivers—>
<*>AHCI SATA support (kernel module –> Block Devices –> <*> kmod-ata-ahci)
<*>Intel ESB,ICH,PIIX3,PIIX4 PATA/SATA support(默认选中)
<*>VIA SATA support
<*>VIA PATA support
„„(根据你的硬件情况选择)
Multiple devices driver support (RAID and LVM) —>
Network device support —> (网卡驱动支持,根据你的硬件情况选择)
Ethernet driver support —>
Marvell devices
<*> Marvell MDIO interface support
<*> Marvell Yukon Gigabit Ethernet support
<*> Marvell Yukon 2 support
Realtek devices
<*> Realtek RTL-8139 C+ PCI Fast Ethernet Adapter support()
<*> Realtek RTL-8129/8130/8139 PCI Fast Ethernet Adapter support()
<*> Realtek 8169 gigabit ethernet support

设置了Powermanagement and ACPI options->
ACPI(Advanced Configuration and Power Interface)Support后,需要在CPU Frequency scaling –>x86 CPU frequency scaling drivers—> 中选择一个驱动,否则会全速运行!

如果没有设置,在编译时Inter Enhanced SpeedStep (deprecated)一项需要手动确认,其他都默认为“n”。

关于nanopi R2S的一些记录

这个机器看似网上资料很多,实际上要找的东西还是很难找到。这里记录一下。方便自己,方便他人。

首先,ubuntu的固件,root密码是fa,普通用户的用户名是pi,密码也是pi

另外这个机器的下载资源在这里。https://dl.friendlyarm.com/nanopir2s

rk3328-sd-friendlycore-bionic-5.4-arm64-20200707.img这个文件名就是ubuntu 18.04系统

下载后解压,烧写到TF卡里面,插上R2S,启动。路由器网口插在R2S的WAN即可,等待几分钟,去路由器里面看NanoPi-R2S分配的IP就是它,通过ssh登录。

这个机器自带的源有问题,下载不了,我已经更换为中科大的源。

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse

 

 

error: RPC failed; curl 56 GnuTLS recv error (-9): A TLS packet with unexpected length was received.

今天在复制一个代码库的时候报错。

error: RPC failed; curl 56 GnuTLS recv error (-9): A TLS packet with unexpected length was received.
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

系统使用的是 Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-111-generic x86_64)

解决办法。

$ sudo apt-get purge git
$ sudo apt-get install git

问题解决。

更新,以上似乎不能根治,下次还会出现。

实际上,由于git默认缓存大小不足导致的。
解决方法是:使用下面的命令增加缓存大小。

git config –global http.postBuffer 2000000000