-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
请教O大有没有办法开启HK1BOX的蓝色指示灯,不是LED显示屏 #414
Comments
安卓系统和armbian不同,脚本里的引用文件路径不对。建议你找debian,Ubuntu系统相关的脚本。 https://www.right.com.cn/forum/thread-2025656-1-1.html 这个应该可以,他是在armbian里测试的。 |
@ophub PWM自动控制.rar 大佬,可帮传送下这个附件嘛, 我来试试(hk1box). mail: huapox@126.com PS: 恩山帐号忘密码进不去了.. |
另找了gpio控制pwm的资料: (gpio这些不太懂)
apt-get install wiringpi
#默认的pwm值范围是0~1023
gpio mode 1 pwm
gpio pwm 1 1023 宿主机安装失败,我直接在容器内跑,错误如下:(wiringpi应该是树莓派专用的) root@armbian:/home/headless# gpio pwm 1 1023
Oops: Unable to determine board revision from /proc/device-tree/system/linux,revision
or from /proc/cpuinfo
-> No "Hardware" line
-> You'd best google the error to find out why. |
这还一篇:https://www.znds.com/tv-1200939-1-1.html #是他人在hk1box成功把蓝灯点亮的。他还定制了个跑马灯! (不过测试下来 zvfd跑不起来..zvfd没放出源码) 用到的dtb,zvfd.tar.gz原文在bd盘里,我打包如下: 内核不一样了 (zvfd.tar.gz\lib\modules\5.9.0-arm-64\kernel\drivers\gpio\zvfd.ko) root@armbian:/sys/class/pwm# TempX
Open device failed.
: No such file or directory
root@armbian:/sys/class/pwm# zvfdctl
argc:1,argv:zvfdctl
Usage wrong!
Please see '-h' or '--help'.
root@armbian:/sys/class/pwm# zvfdctl -h
Usage: zvfdctl [option...] [-on] [-off]
Or: zvfdctl [timeon] [tempon] [timeoff] [tempoff]
Note: Time and Temperature can only choose one!!!
-on Display Option LED ON.
-off Display Option LED OFF.
timeon [-12h] Display Time [12h format] on.
tempon [n] Display Temperature [greater than 0] on.
timeoff Display Time [12h format] off.
tempoff Display Temperature [greater than 0] off.
-h, --help This text.
Options:
alarm Display Alarm LED.
usb Display USB LED.
play Display Play LED.
pause Display Pause LED.
eth Display Ethernet LED.
wifi Display WiFi LED.
root@armbian:/sys/class/pwm# zvfdctl timeon -12h
root@armbian:/sys/class/pwm# Open device failed.
: No such file or directory |
leds {
compatible = "gpio-leds";
status = "okay";
sys_led {
label = "sys_led";
gpios = <0x75 0x0b 0x00>;
default-state = "on";
linux,default-trigger = "default-on";
};
};
bank@14 {
reg = <0x00 0x14 0x00 0x08 0x00 0x1c 0x00 0x08 0x00 0x24 0x00 0x14>;
reg-names = "mux\0ds\0gpio";
gpio-controller;
#gpio-cells = <0x02>;
gpio-ranges = <0x25 0x00 0x00 0x0f>;
phandle = <0x75>;
}; 原文标注: |
amlogic-s9xxx-armbian/build-armbian/common-files/rootfs/usr/share/openvfd/conf/hk1box.conf Line 38 in a355151
openvfd里的时间不能显示吗? |
你把添加的代码在 https://github.com/unifreq 内核库5.4/5.10/5.15/5.19测试下,通过后提交到他的内核源码里吧。 |
内核里的 zvfd 是从第三方添加的?默认的内核源码里有没有?我没搜到。 |
这个是三方的(参考前面znds地址,帖子作者即原作者 未开源). 个人觉得 可暂不用管他那个zvfd :(温度显示、开机跑马灯之类,后续有条件了可提交PR完善到openvfd那去)
|
你测试好了就提交到内核源码库吧,代码缩进统一一下tab |
好的,晚点时间 |
感谢你的分享 |
你可以看下这个帖子的9楼,用他的方法使用没有其他问题故障的dtb文件修改后,再做替换可以正常开启蓝灯和风扇。@hxulin https://www.znds.com/forum.php?mod=viewthread&tid=1225511&page=1#pid63797966 |
非常感谢你的分享 @renkoud ,我这边试了一下,修改后还是不能获取IP地址,不知道是不是千兆网口有兼容性问题。 |
https://github.com/7Ji/YAopenvfD 这两天写了个配合openvfd驱动使用的替换OpenVFDService的服务程序,可以定义包括时间、日期、温度、占用率、IO、网络在内的多个循环显示的内容,自由组合,同时可以设置监视文件(包括设备虚拟文件)、网络连接情况等点亮熄灭各个小图标。 我自己用的启动命令:
这个设置是依次循环显示:3秒年份,3年月份+日期,3秒星期几,10秒24小时的时间且点亮闹钟小图标,10秒12小时的时间(24小时和12小时分别点亮和熄灭小图标以区分),3秒温度感应区0(cpu)的温度,3秒cpu占用率,3秒mmcblk2(emmc)的读写速度且点亮播放键小图标,3秒end0网卡上的网速且点亮暂停键小图标(两者点亮不同图标以区分)。并且也:根据wlan0网卡是否联网点亮熄灭wifi小图标,根据end0网卡是否联网点亮熄灭eth小图标,根据是否存在第一个usb设备点亮熄灭usb小图标,根据是否存在第一个外置驱动器点亮熄灭播放键小图标,根据是否存在第一个usb转串口设备点亮熄灭暂停键小图标。 当然,如果不想循环显示不同内容,那么用单一的显示功能也是可以的,比如
就可以像OpenVFDService一样始终显示时钟了 |
@7Ji amlogic-s9xxx-armbian/build-armbian/armbian-files/common-files/etc/custom_service/start_service.sh Lines 45 to 51 in 0722944
|
这个项目的定义就是Yet Another openvfd Deamon:又一个OpenVFD的守护进程,它是替换OpenVFD项目内的用户空间服务程序OpenVFDService的,所以不能和另一个守护进程共用。但在内核空间,仍然需要依赖原本openvfd模块工作。
不需要,因为它是用户空间的实现,不需要在内核空间做修改。或者说,和openvfd对于dtb添加代码支持的要求是一样的
这个守护进程本身的命令行长,是因为这是一个纯命令行程序,处理命令行比处理配置文件方便。你自然可以额外写一个脚本来处理一个你定义的配置文件来翻译成YAopenvfD的命令行。
这个项目依然提供静态链接的AArch64二进制。不过和ampart一样我还是建议你在Armbian里原生编译,毕竟静态链接的二进制因为要包含所有C依赖库,比动态链接的大很多。 用户空间的外围调用逻辑,可以参考我打的AUR包,这个包用一个systemd.service单元来管理,读取一个配置文件 |
因为要加载openvfd模块,而且YAopenvfD也需要用到openvfd模块的 |
现在用 你这个的命令很长,我到此刻还没看明白怎么用。 我的想法是能不能用把这些配置命令的工作简单到傻瓜模式,面向用户来说,比如 对你这样的专家,怎么也改不错,再长的命令也能一眼读懂。但是用户是外行,很多人照着说明敲一个 |
显示内容是自由组合的,我用的那条很长不代表你要把它作为默认。事实上那条是为hk1 box定制的,其他盒子的小图标一般不一样。 你可以把YAopenvfD的二进制放到path外,而只要把原来行的调用openvfd的部分改成
就是和原来一样一直显示时间 YAopenvfD 的命令本身是命令行API的实现,如果你不想用这个API,写个脚本wrap过去就得了,不可能改YAopenvfD的参数的,那样的话要重写一整个几百行C代码的配置处理模块 |
实现让 Line 99 in b400cb5
OpenVFDService 吗?我不明白这里直接拉起YAopenvfD 有何本质的区别。
要注意,
是以24小时格式显示时间,其中
是显示温度感应区0(即
是交替以24小时格式和12小时格式显示时间,各显示3秒,两个参数分别定义一个3秒的显示内容
是交替:24小时格式的时间,温度感应区0的温度,12小时格式的时间,温度感应区0的温度,各3秒。注意:同一类型,哪怕是同一定义的显示内容也是可以多次出现的,如果用配置文件,你要以怎样的设置来判断多次显示同样内容
是交替以24小时格式和12小时格式显示时间,各显示3秒,两个参数分别定义一个3秒的显示内容,但是额外地,以24小时格式显示时间时,保持闹钟小图标亮起,从而能让你在看的时候更轻松地分辨24小时和12小时的时间。
和前者类似,但是用usb小图标来标志正在显示的是24小时。注意:显示某内容期间,需要保持亮起的小图标,并不受显示内容限制,任何小图标,只要存在,都可以设置保持亮起。这些图标就是你配置文件里已有的,可以通过写到
则在第一条示例命令的基础上(始终以24小时格式显示时间),额外指定一个监视内容(数字开头是显示/汇报内容, 组合大量不同的显示内容和监视内容,则是此前发的那条我用在 如果用多行配置文件来设置,你要如何规定某个显示内容为何?持续时间为多久? 当然,一个简单的配置文件思路,是根据某些选项的设置与否直接简单地增加减少某些显示内容:
如此一来,你通过强行规定几个预设的显示内容,替用户做了决定,隐藏了所有背后的不同显示内容的细节。 |
我是举例 我是想把已知的一些设备,根据他的可显示的图标,给预设好一个可读性较好的配置文件,让用户0代码先使用起来,个性化定制自己再根据说明去微调。一种类似 对于技术性用户,什么样的格式的配置都可以使用起来。 我之前为了尽量降低使用门槛,添加了 基于开源理念,想了解软件运行逻辑和乐趣的用户,会去仓库的代码里学习开发者的设计逻辑,并进行个性化修改,不需要替他做预设,他的乐趣不是使用而是折腾的过程。对于非技术型用户,可能看见长串的代码就放弃了。对于软件开发者来说,有很多高大上行业标准和杰出的设计理念,但用户是技术门外汉,只能用小白可以理解的方法介绍怎么用。 中秋节院子里苹果树上的七彩跑马灯带很漂亮,你自己拿树莓派编一个挂树上玩,但是成千上万的家庭只能做到开箱即用,你给他提供树莓派,开发说明书,使用指南,七彩配置diy攻略。。。我想明年的中秋节他家的苹果树也不会忽闪忽闪亮晶晶。 不过我觉得你说的对,不能替用户做决定,让用户动手设置更有乐趣,linux的乐趣就是多动手。 |
Seems PR merged: unifreq/linux-5.15.y#52 leds {
compatible = "gpio-leds";
status = "okay";
sys_led {
label = "sys_led";
gpios = <&gpio_ao GPIOAO_11 GPIO_ACTIVE_HIGH>;
default-state = "on";
linux,default-trigger = "default-on";
};
}; |
抱歉插嘴提问一下,我在CoreELEC的/storage/.config/下添加了autostart.sh的代码,但是重启蓝灯还是不亮,在CoreELEC内依旧是关机或者待机蓝灯亮,运行则不亮?重启过多次依旧不会执行autostart.sh是什么原因呢?是否是因为我刷入的是Android+Coreelec双系统的缘故?开机优先是启动Android然后通过软件切换到Coreelec的原因?请问如何解决这个问题呢?望赐教。 |
Coreelec和armbian内核不同 |
请问最近编译的HK1 box openwrt固件无法启动,需要如何调整,期待解决,谢谢(5.0、6.0内核都试了) |
接显示器看到跑到什么代码处了 |
HK1出了个变种,百兆版本,也是905X3,不知道能否适配,期待解决 |
O大,您好,我先说明一下情况,我是在淘宝上购买了一个亚克力盒子的HK1BOX,这个盒子里面自带了一个小风扇。
这个风扇在原厂或者SLIMBOX固件的情况下,不需要任何设置就可以自动转。刷CoreELEC或者EmuELEC的时候添加一个自启动文件autostart.sh到这两个系统的/storage/.config/目录下,再重启以后也可以转。刷完openwrt以后,发现也不能转,这样就导致温度升
得太快了,所以自己就想根据这个autostart.sh的代码,尝试一下,但是没有成功,所以特来请教下O大,看看怎么才能让这个风扇转起来。
PS:我在看完O大的LED说明以后,成功将led显示屏内容点亮,感谢。
autostart.sh 自启动文件内容如下
#!/bin/sh
#change GPIO_ACTIVE_HIGH to GPIO_ACTIVE_LOW for sys_led
new_val=$(fdtget -t i /flash/dtb.img /gpioleds/sys_led gpios | sed "s|([0-9]) ([0-9]) .*|\1 \2 0|")
if [ -n "$new_val" ]; then
mount -o remount,rw /flash
fdtput -t i /flash/dtb.img /gpioleds/sys_led gpios $new_val
sync
mount -o remount,ro /flash
fi
看这个内容好像是替换dtb里面系统指示灯的一个参数的数值,因为他这个dtb.img也是一个设备的DTB文件,所以我自己尝试将这段代码修改了一下如下
new_val=$(fdtget -t i /boot/dtb/amlogic/meson-sm1-hk1box-vontar-x3-oc.dtb /gpioleds/sys_led gpios | sed "s|([0-9]) ([0-9]) .*|\1 \2 0|")
if [ -n "$new_val" ]; then
mount -o remount,rw /boot
fdtput -t i /boot/dtb/amlogic/meson-sm1-hk1box-vontar-x3-oc.dtb /gpioleds/sys_led gpios $new_val
sync
mount -o remount,ro /boot
fi
并将这段代码加到/etc/init.d/sysfixtime的start()代码段里面,因为我想放到一个启动项的代码段里面让他每次启动的时候也跟着执行,但是重启以后风扇依然不转。
The text was updated successfully, but these errors were encountered: