1/5

魔百和 CM311-1-s-a带5G无线双频wifi蓝牙语音家用电视机顶盒2+8 CM311-1红外遥控器有WIFI蓝牙 标配

商品笔记
真实的值友购后体验
wakeforest
1月前发布
魔百盒CM311-1A安装CoreELEC后续:实现蓝牙遥控器配置【纯干货】
这是折腾CM311-1A和CoreELEC的第六篇,简单回顾下历程: ​① CM311-1A刷CoreELEC ​② 配置红外遥控按键等问题 ​③ 能不能播放原盘 ​④ 百兆网络升级三百兆 ​~~~~​~~~​~正文开始~~​~~​~~~​~~ 之前几篇文章留言里,好几个朋友都在问蓝牙遥控器怎么配置。经过一番摸索后,我这里成功实现了蓝牙遥控器的配置,可以正常使用。本文记录下这个过程,希望能够对关心这个问题的朋友有所帮助。 我的遥控器就是如下图这个自带的遥控,之前一直使用红外。红外也不是不能用,就是一定要对准盒子的红外接收窗口,这款遥控器更甚,稍微偏一点就不响应。 1. 尝试开启蓝牙 CoreELEC先切换到【设置】>【CoreELEC】>【蓝牙】页面上(此刻用还是红外模式,废话) SSH连上CM311-1A,然后在命令行依次输入以下命令: 默认系统的蓝牙服务是关闭的,所以先启动蓝牙 systemctl start bluetooth 然后将两个文件链接到对应位置 ln -s /lib/firmware/rtl_bt/rtl8761b_fw.bin /lib/firmware/rtlbt/rtl8761b_fw ln -s /lib/firmware/rtl_bt/rtl8761b_config.bin /lib/firmware/rtlbt/rtl8761b_config 启动蓝牙调试工具 rtk_hciattach -n -s 115200 ttyS1 rtk_h5 上述步骤完成后,在【设置】>【CoreELEC】>【蓝牙】中可以看到自己的蓝牙遥控设备了。请注意下自己的蓝牙遥控器名称(我这里是CMCC_Voice_Remote)。现在可以初步体验下蓝牙遥控了。 这就结束了吗?不,这才刚刚开始。 上面通过几行命令是可以让蓝牙遥控器与盒子配对,不过难道每次开机都要这么一顿操作吗? 初步体验蓝牙遥控,发现中间那个确定键失效了,需要重新映射。没有确定键什么都做不了。 以下就来解决这两个问题。开始之前,先在命令行输入reboot,让盒子重启,重启后还是使用红外遥控。 2. 开机启动蓝牙 Linux开机启动服务的常规办法似乎在CoreELEC系统里无法使用(也许是水平有限)。因此,打算用定时任务cron随系统启动运行上面的命令。具体做法:把上面的4条命令放到一个脚本文件里,chmod +x赋予执行权限,然后用crontab -e命令新增一个开机定时任务。 @reboot sh /storage/xxxx/custom_start.sh 设想是美好的,但实际上就是无法触发这个@reboot任务。经过一番调试,发现一般的定时任务没有问题,就是@reboot无法触发,所以这条路放弃了。 在网上查找类似问题,居然在CoreELEC官网找到答案。 解决办法:新建文件 /storage/.config/autostart.sh,然后写入如下内容: (    sleep 2s    date >> /storage/xxx/output.txt    systemctl start bluetooth    ln -s /lib/firmware/rtl_bt/rtl8761b_fw.bin /lib/firmware/rtlbt/rtl8761b_fw    ln -s /lib/firmware/rtl_bt/rtl8761b_config.bin /lib/firmware/rtlbt/rtl8761b_config    rtk_hciattach -n -s 115200 ttyS1 rtk_h5)& 给这个脚本赋予执行权限: chmod +x autostart.sh 上面脚本中第一行和第二行可以不要,这是我做调试用的。第三行systemctl start必须放在这里,是因为systemctl enable bluetooth实测没有起作用。 这样,每次启动(注意:是指盒子上面的物理按钮,后面会讲)就会执行这个脚本启动蓝牙。 3. 重新映射确定键 站内已经有先行者介绍了N1上蓝牙遥控确定键重映射的方法,这里用作参考,一遍通过,感谢这位作者。 3.1 安装System Tools插件 完成了上面的开机蓝牙启动配置,使用的仍是红外遥控,所以此刻确定键还能用。(如果此时你的遥控已经是蓝牙与盒子配对了,需要在命令行reboot将盒子重启下,因为重启后恢复红外,确定键还能用,或者用键盘也行) 安装 System Tools 插件,根据介绍这个插件包括了linux下的一些常用工具,比如htop/jq/unrar等,下面将会用到的evtest也在这个插件里。 3.2 查找遥控器硬件标识 上步中System Tools插件安装完成后,断电(盒子上物理按钮),重新上电,启动系统。因为前面配置了开机自动启动蓝牙,遥控与盒子会配对上。再用SSH登录系统,通过下面的命令获得蓝牙遥控器设备信息: cat /proc/bus/input/devices 在返回结果中找到自己的遥控器,我的是CMCC_Vocie_Remote。需要注意输出信息中的“Bus=0005 Vendor=0416 Product=0300 Version=0505”,下面配置会用到。 3.3 找到遥控器键位的键码 先停止kodi和eventlircd服务: systemctl stop kodisystemctl stop eventlircd 再输入命令:evtest,然后根据提示的设备名输入对应的数字 然后终端会进入等待按键的状态,按下遥控器上的确定键,可以看到返回的键码:c0041 新建配置文件:/etc/udev/hwdb.d/10-btok.hwdb,写入内容: evdev:input:b0005v0416p0300*  KEYBOARD_KEY_c0041=enter 注意: 第一行指定设备,格式: evdev:input:b{bus_id}v{vendor_id}p{product_id}*,bus_id/vendor_id/product_id三个值在【查找遥控器硬件标识】小节中已获得。 第二行映射建码,KEYBOARD_KEY_{key value}开头有个空格,{key value} 就是确认键的建码,在【找到遥控器键位的键码】小节中已获得。 3.4 配置生效 重启服务 systemd-hwdb update udevadm trigger systemctl start eventlircd systemctl start kodi 输入确定按键生效命令: udevadm info /dev/input/event4 | grep KEYBOARD_KEY  完成以上各个步骤后,开机蓝牙自动启动,并且包括确定键在内的几个常用按键都能正常使用。这里【开机】需要说明下,指的是从盒子的物理开关机按钮开机。从遥控器上开关机按键开机还是无法正常开启蓝牙,这是下步需要解决的问题。
文章
发布晒物,帮助值友做消费决策
写笔记