奧推網

選單
科技

CoreELEC 篇六:魔百盒CM311-1A安裝CoreELEC後續:實現藍芽遙控...

作者:wakeforest

這是折騰

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 kodi

systemctl 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

完成以上各個步驟後,

開機

藍芽自動啟動,並且包括確定鍵在內的幾個常用按鍵都能正常使用。這裡【

開機

】需要說明下,指的是從盒子的物理開關機按鈕開機。從遙控器上開關機按鍵開機還是無法正常開啟藍芽,這是下步需要解決的問題。