找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 33694|回复: 84

关于玩客云红外的实现方案的经验和疑惑

 火.. [复制链接]
本帖最后由 xjx03 于 2020-8-10 21:24 编辑

前言:玩客云的s805在当年也是叱咤电视盒届的一个芯片,唯一的缺陷是只支持armv7,也就是32位,docker都要自己编译才能安装。这是后话
刷了论坛大佬的硬解英菲克体验很不错,那么作为一个盒子,他缺少什么呢?没错,缺少遥控。手机太不方便了,2.4g的遥控器干扰太严重,玩客云也没蓝牙,那只有红外一个选择了
作为一个垃圾佬,30块捡来的玩客云是不可能再花大价钱的,拆开板子一看,1.1的板子,ttl孔和红外孔都是没堵上的,就很幸福
1.2.54mm排针
2.红外接收头CHQ1838D带屏蔽罩

3.任意红外遥控器,宽带运营商送的都可以

以上只有红外接收头花了2块钱买了5个还包邮


刷英菲克那个教程太多了我就不讲了,也没啥难度(红外也没难度啊!)
来看看板子


红箭头位置就是红外接收头预留孔,把灯头朝向和自带的灯珠朝向一致从板子上方穿进孔里即可,或者你可以对一下针脚图确认一下。
反面用焊锡轻轻点焊几下,粘住就行,因为间距比较小,焊锡不要太多,容易连焊。确认不会掉就可以了,固定后多余长度的针脚剪掉。


接下来也许是比较要命的地方
要命我也不细讲,你来打我呀!
先root,不root你就只能ttl,反正早晚root,先来root。
root工具:流氓kingroot手机版5.4    替换supersu工具:supersume
替换过程要联网,可能会卡很久,长时间不动就强退,多试几次,操作用外接鼠标键盘


接下来有两种方案,一种用adb,一种在英菲克里安装终端app


adb就需要用网络adb连接上以后用adb shell执行
安装的终端可以直接打开终端再其中执行,
执行之前都要输入su回车获取root权限


执行什么呢?
红外对码教程

执行过程还行吧,我觉得没什么难度,只是匹配上下左右,主页,电源,返回,菜单和确定键的应该要不了半小时。
回顾整个过程,你们也许会卡在
  1. 3、运行 dmesg | grep "code is 0x" | rev |cut -c 5-6 -c 9-10| rev |uniq >> /sdcard/IRdump.log
复制代码
这是因为这行输入是错的,其实也不用这么搞,直接全部按键按完了,执行dmesg来看也是可以的。


/*2020.7.25更新,我的理解应该是
  1. <font color="#005500"></font><font color="#b08500"></font>dmesg | grep "code is 0x" | rev |cut -c 5-6,9-10| rev |uniq >> /sdcard/IRdump.log
复制代码
意思是 提取这些scancode存储到IRdump.log,方便对比,但是有的安卓并不支持rev,cut,uniq的指令,如果能够成功执行,那么你就可以在退出adb shell(输入exit回车即可退出)的情况下在命令提示符里直接执行
  1. adb pull /sdcard/IRdump.log 本地目录
复制代码

将其拉取到电脑上用记事本打开进行对比,如果不能顺利执行那还是只能dmesg进行人肉筛选

*/


舒服了呀,前挡板拆下来,内层在红外的地方挖个差不多大小的洞,外层软塑料同样位置把黑漆刮去一些就是了,装回去,外观完好无损。
/
*2020.7.25更新,可以用黑色透明胶在外层塑料内侧刮去黑漆的地方贴上黑色的透明胶可以完美掩盖刮去的痕迹又不影响遥控*/



问题发现:关机键只能关机不能开机唤醒,查了很多资料总结如下:
原因

详细解释,其他的按键流程都是这样的
按下遥控器的一个按键后,在系统中的逻辑过程:遥控器的物理键值——>Linux的标准键值——>自定义的字符串——>定义这个字符串——>android标准键值——>android键值上报——>所有上报表中键值判断是否为全局——>(上报成功)
但是在待机状态,大部分的进程都是不运行的,这就需要在待机的时候依然有效的方法来实现,
如何实现,直到我找到这个firmware/arc_power/irremote2arc.c在哪里我才明白
那就是uboot,将电源的遥控器物理键值直接写进uboot进行编译,然后刷写uboot
这样就有一个问题,那就是正常流程物理键值可以通过映射键值进行自定义,但是写进uboot的又不能随便改,每个人的遥控器电源物理键值都可能不一样,如果要实现适配只能拿
jocover的源码修改后自编译刷入来解决这个问题了,不知道有没有更好的办法


2020/5/13
补一个超快速反应的remote.conf,适用于运营商通用红外遥控器,因为关了大部分延时,容易误按,但是反应速度很快,



之前有一个反应慢的发在回复里面了,喜欢哪一个自己下


2020.8.10
新的硬解英菲克已经集成运营商通用版的红外遥控代码,刷入即可使用
链接https://www.right.com.cn/forum/thread-4034368-1-1.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 2恩山币 +2 收起 理由
12487*** + 1 强大的恩山!(以下重复1万次)
dxg*** + 1 一看就是觉得高端、大气、上档次!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
 楼主| | 显示全部楼层
本帖最后由 xjx03 于 2020-7-25 13:13 编辑
manqian123 发表于 2020-5-1 21:34
图片太小。。怎么搞

那给你补几张图片,
/*2020.7.25,图不小心被我改丢了,罪过*/
这里还有一个可以吹(热风枪)一个蓝牙无线二合一模块的预留位置

可以考虑拆报废机吹一个
rtl8723bs上去。

点评

外围元件很多没上,只是上一个wifi模块,估计没用,我正在量外围是什么,等弄完你参考看看  详情 回复 发表于 2021-3-27 15:58
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
anthony86 发表于 2020-6-29 17:01
楼主有编译好的Uboot吗?我的遥控好像和你一样。

我自己没搞了,盒子太多暂时用不上,刚好有多的硬盘就刷成矿机挖矿了。你既然想搞给你一点资料吧。
根据jocover的源码https://gitee.com/jiangwei0402/Build-Armbian可以追溯Build-Armbian/config/sources/aml-s805.conf中
  1. ...........
  2. BOOTSOURCE='https://github.com/hardkernel/u-boot.git'
  3. BOOTBRANCH='branch:odroidc-v2011.03'
  4. BOOTDIR='u-boot-odroidc1'
  5. #BOOTPATCHDIR='u-boot-odroidc1'
  6. BOOTSIZE=128
  7. BOOTFS_TYPE=fat
  8. UBOOT_USE_GCC='< 4.9'
  9. UBOOT_TARGET="ARCH=arm"
  10. UBOOT_TARGET_MAP=';;sd_fuse/bl1.bin.hardkernel sd_fuse/u-boot.bin'

  11. ARCH=armhf
  12. KERNEL_IMAGE_TYPE=uImage

  13. SRC_HDMI="hdmi.sh"
  14. SCR_ENV="uEnv.ini"
  15. SCR_BOOT='boot-aml-s805_ENV.cmd'
  16. SCR_BOOT_EMMC='boot-aml-s805_EMMC.cmd'

  17. DISPLAY_MANAGER="lightdm"
  18. .......
复制代码
可以发现805的armbian的uboot是来自https://github.com/hardkernel/u-boot,继续找发现在这个uboot源码里面找不到网上https://blog.csdn.net/silence_cdsn/article/details/38321449当中说的
firmware/arc_power/irremote2arc.c,而firmware/arc_power/irremote2arc.c我是在https://github.com/surkovalex/u-boot/blob/master/arch/arm/cpu/aml_meson/m8b/firmware/arc_power/irremote2arc.c中找到的这个m8b是晶晨的s812的uboot,32位arm,A9,但是目前s805和s812的固件是通刷的,至少armbian是这样,jocover的源码812和805的uboot也指向同一源码。而在https://github.com/hardkernel/u-boot下面也发现了https://github.com/hardkernel/u- ... droidc/odroidc-ir.c。对比odroidc-ir.c和irremote2arc.c发现是一样的定义红外ir的。对比如下:

  1. #odroidc-ir.c
  2. ......
  3. #include <common.h>
  4. #include <asm/arch/reg_addr.h>

  5. #ifdef CONFIG_IR_REMOTE
  6. //#define DEBUG_IR

  7. #define msleep(a)       udelay(a * 1000)

  8. #define IR_POWER_KEY            0xe51afb04
  9. #define IR_MENU_KEY             0xac53fb04
  10. #define IR_POWER_KEY_MASK       0xffffffff

  11. #define CONFIG_END              0xffffffff

  12. typedef struct reg_remote {

  13.         int reg;
  14.         unsigned int val;
  15. } reg_remote;
  16. ........
复制代码

  1. #irremote2arc.c
  2. ......
  3. #ifdef CONFIG_IR_REMOTE_WAKEUP

  4. #define IR_POWER_KEY    0xe51afb04
  5. #define IR_POWER_KEY_MASK 0xffffffff
  6. unsigned int kk[] = {
  7.         0xe51afb04,
  8. };
  9. #define IR_CONTROL_HOLD_LAST_KEY   (1<<6)
  10. typedef struct reg_remote
  11. {
  12.         int reg;
  13.         unsigned int val;
  14. }reg_remote;
  15. ........
复制代码

所以只需要修改和添加重新编译即可
  1. 1、#define IR_POWER_KEY    0xe51afb04 这个值需要配置成电源键的全码值,也就是用串口获取到的键值
  2. 2、unsigned int kk[] = {
  3.         0xe51afb04,
  4.      };这个数组中的值要和IR_POWER_KEY值保持一致!
复制代码
理论上来说armbian和安卓的uboot应该是通用的。
该uboot适配的是3.10的内核。
有兴趣的大佬可以自己折腾看看。




点评

我下载的源码是https://gitee.com/rrolws/uboot-amlogic,找了找也能找到你所说的有关emote文件。 1.在board/amlogic/m8b_m201_v1/m8b_m201_v1.c 2.在board/amlogic/configs/m8b_m201_v1.h中取消注释宏定义CONFIG_  详情 回复 发表于 2020-7-1 10:28
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

本帖最后由 anthony86 于 2020-7-2 23:36 编辑

在这里借楼发个简易的编译uboot的教程,供各位参考并且加以改进。
1.源码来自https://gitee.com/LXY1226/uboot-amlogic,但是不能直接使用,git clone下来以后使用git revert命令回滚到最初的版本,库主修改的代码有些问题,开关了好多宏定义,需要最初的无修改的版本。
2.交叉编译环境的搭建:
1)尽量使用kali2.0系统,我测试过ubuntu18.04和ubuntu14.04均在使用交叉编译工具时出现错误。
2)从https://www.right.com.cn/forum/thread-858287-1-2.html里的百度云分享中下载gnutools.tar.bz2,CodeSourcery.tar.bz2,arc-4.8-amlogic-20130904-r2.tar.bz2三个文件即可,只需要这三个。然后按照一下命令解压到/opt文件夹中,当然这步可以自定义。
  1. tar -xvf gnutools.tar.bz2 -C /opt
  2. tar -xvf CodeSourcery.tar.bz2 -C /opt
  3. tar -xvf arc-4.8-amlogic-20130904-r2.tar.bz2 -C /opt
复制代码
3)添加环境变量,直接执行以下命令或者添加以下命令到.bashrc文件中,二选一。前者可能在每次重启后都需要再执行一遍。
  1. export PATH=$PATH:/opt/gnutools/arc2.3-p0/elf32-4.2.1/bin:/opt/gnutools/arc2.3-p0/uclibc-4.2.1/bin:/opt/arc-4.8-amlogic-20130904-r2/bin:/opt/CodeSourcery/Sourcery_G++_Lite/bin:/opt/CodeSourcery/Sourcery_G++_Lite/arm-none-eabi/bin:/opt/CodeSourcery/Sourcery_G++_Lite/arm-none-linux-gnueabi/bin
复制代码
4)安装32位编译库支持
  1. //启用兼容模式
  2. dpkg –add-architecture i386
  3. //升级一下
  4. apt-get update
  5. //安装
  6. apt-get install libc6:i386
复制代码
除此之外,可能还需要安装libmpc库和libmpfr库,具体的名称忘记了。如果在编译过程中出现‘libxxx.so 文件找不到’或者‘libxxx.so not found’之类的提示,再百度或者google去查找并且下载相应的库即可。
5)接下来,按照楼主的教程或者往前翻以下我的回复中修改指定文件完成《IR红外遥控器的代码修改》,或者《千M网卡的配置》等修改工作。
6)以上的准备工作都完成了。执行以下命令即可。
  1. //进入uboot-amlogic源码目录
  2. cd uboot-amlogic
  3. //为make指定m8b_m201的config文件并配置通用的s805的uboot
  4. make m8b_m201_1G_config CROSS_COMPILE=arm-none-eabi-
  5. //make执行
  6. make CROSS_COMPILE=arm-none-eabi- V=s
复制代码
如果遇到编译失败,参考4)中的建议补全交叉编译库文件支持,或者修改对应错误后,建议最好执行以下命令后再次按照步骤6)中的命名重新编译。
  1. make distclean
复制代码
就是这样,这也就是我看了楼主的该红外教程以后,连续三天的成果,我也是小白一枚,希望各位能够顺利编译,祝好!

参考文献:
https://www.right.com.cn/forum/thread-858287-1-1.html
https://www.zhihu.com/question/41800546
https://www.idoremember.com/posts/amlogic-uboot/
https://www.right.com.cn/forum/thread-1345423-1-1.html
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

图片太小。。怎么搞

点评

那给你补几张图片, 关于红外接收头安装的位置 [attachimg]381049[/attachimg] [attachimg]381047[/attachimg] [attachimg]381046[/attachimg] 关于外壳的修改 [attachimg]381050[/attachimg][attachimg]38105  详情 回复 发表于 2020-5-2 12:21
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

看不懂,手上一台玩客云吃灰
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

本帖最后由 269643321 于 2020-5-2 14:30 编辑

期待完美,手里的玩客云一直在吃灰

点评

?啥违禁词?  详情 回复 发表于 2020-5-2 11:21
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
269643321 发表于 2020-5-2 07:39
这个违禁词语,请勿再发了,期待继续完善

?啥违禁词?

点评

我也不知道,已经更改。应该是我说了什么触碰了,恩山自动改变的,可我也没说什么a,就说了期待更完美之类的  详情 回复 发表于 2020-5-2 14:31
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
红外没有蓝牙好用

点评

。。。我写了红外的方案,你点进来看完就为了告诉我红外没有蓝牙好用?我也想搞个蓝牙,要不你给整一个?  详情 回复 发表于 2020-5-2 12:25
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层

。。。我写了红外的方案,你点进来看完就为了告诉我红外没有蓝牙好用?我也想搞个蓝牙,要不你给整一个?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报


我也不知道,已经更改。应该是我说了什么触碰了,恩山自动改变的,可我也没说什么a,就说了期待更完美之类的
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

能发个电信运营商盒子遥控能用的文件和教程吗?没必要自己去一步步找码吧。
一般手上多的都是运营商盒子遥控,中兴华为都 是通用的。
其实我都买了个英菲克的遥控,只是键太硬了手感太差了。

点评

教程懒得写,上面链接里的那篇基本能用,帖子里的下划线都是超链接,点进去自己看。东西拿走  详情 回复 发表于 2020-5-4 15:34
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

刷安卓死机 已经放弃了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

本帖最后由 wwwmirage 于 2020-5-4 15:23 编辑

楼主幸苦啦,楼主能把root工具发一个给我吗1003354520@qq.com
我用kingroot没成功

点评

1.先用kingroot4.5尝试,失败再试一次成功直接跳到第3步 2.kingroot4.5两次失败后,直接卸载,安装5.4版本,然后按照第1步再试 3.root成功以后,你可以尝试用supersume和rmkingroot进行清除kingroot,如果清理不掉  详情 回复 发表于 2020-5-4 16:07
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
nczzz 发表于 2020-5-4 08:33
能发个电信运营商盒子遥控能用的文件和教程吗?没必要自己去一步步找码吧。
一般手上多的都是运营商盒子遥 ...


教程懒得写,上面链接里的那篇基本能用,帖子里的下划线都是超链接,点进去自己看。东西拿走

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
wwwmirage 发表于 2020-5-4 15:15
楼主幸苦啦,楼主能把root工具发一个给我吗1003354520@qq.com
我用kingroot没成功

1.先用kingroot4.5尝试,失败再试一次成功直接跳到第3步
2.kingroot4.5两次失败后,直接卸载,安装5.4版本,然后按照第1步再试
3.root成功以后,你可以尝试用supersume和rmkingroot进行清除kingroot,如果清理不掉,先卸载5.4,卸载完不要重启再安装4.5,再进行清理,我测试supersume效果不好,应该是被墙了的原因,rmkroot效果比较好,但是容易卡住,卡住了你就先杀死再重开多试几次,直到他提示你已经完成问你要不要装supersu,选不要,不重启直接安装打包好的supersu,打开supersu提示更新二进制文件,选择常规方式更新,等待重启提示,之后就是重启了。

工具包打包:
点这里
密码:dt3y


点评

谢谢,已root成功,但是demsg命令要自已导入进去吗?在那里下载demsg?  详情 回复 发表于 2020-5-4 16:30
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

楼主能把demsg等工具传个给我吗?谢谢

点评

用dmesg,需要先装busybox吧,好像没法直接用  详情 回复 发表于 2021-3-30 09:01
dmesg是安卓系统自带的指令,没有工具  详情 回复 发表于 2020-5-4 16:30
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-29 09:02

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表