Bluetoothドライバーを有効にするスクリプトを作成しました。次に、rc.localを使用して、起動から実行しました。しかし、これは機能していません。
コマンドsystemctl status rc-local.service
を実行すると、次のようになります。
Failed to issue method call: no such interface 'org.freedesktop.DBus.Properties'
on object at path /org/freedesktop/systemd1/unit/rc_2dlocal_2eservice
私が得なければならないのは これは次のように見える :
rc-local.service - /etc/rc.local Compatibility
Loaded: loaded (/lib/systemd/system/rc-local.service; static; vendor preset: enabled)
Drop-In: /lib/systemd/system/rc-local.service.d
└─debian.conf
Active: active (running) since Mon 2018-04-02 10:39:44 -03; 1s ago
Process: 2044 ExecStart=/etc/rc.local start (code=exited, status=0/SUCCESS)
Main PID: 2049 (svscanboot)
Tasks: 3
Memory: 556.0K
CPU: 10ms
CGroup: /system.slice/rc-local.service
私のファイルはすべて実行可能(
chmod 755 [filename]
)であり、rc.localがSudo /etc/init.d/rc.local start
およびSudo /etc/rc.local start
で実行されることを確認しました。
不足しているものはありますか?
現在のrc.localファイル:
#!/bin/sh -e
#
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/home/[redacted]/Desktop/rtl8723bs_bt/start_bt.sh
exit 0
start_bt.sh の内容
#!/bin/bash
#
# Shell script to install Bluetooth firmware and attach BT part of
# RTL8723BS
#
if [ "$1" = "" ]
then
# Find the TTY attached to the BT device
TTYSTRING=`dmesg -t | grep tty | grep MMIO | cut -b 14-18`
TTY=`expr substr "$TTYSTRING" 1 5`
if [ "$TTYSTRING" = "" ]
then
echo
echo "No BT TTY device has been found"
echo "Either this computer has no BT device that uses hciattach, or"
echo "Your kernel does not have module 8250_dw configured."
echo "Note: The configuration variable is CONFIG_SERIAL_8250_DW."
echo
exit 1
fi
else
# Use the TTY device mentioned oi the call
TTY=$1
fi
TTY="/dev/$TTY"
echo "Using device $TTY for Bluetooth"
if [ ! -f /lib/firmware/rtl_bt/rtlbt_config ];
then
mkdir -p /lib/firmware/rtl_bt/
cp rtlbt_* /lib/firmware/rtl_bt/.
fi
./rtk_hciattach -n -s 115200 $TTY rtk_h5 > hciattach.txt 2>&1 &
このフォーラムの投稿 によると、問題はディストリビューションのアップグレードに失敗した可能性があります。私の物理ディスクをVMに変換して更新した後、テストスクリプトtest.shで動作しました
echo run > run.txt
その後、元のスクリプトに戻しましたが、それでも機能しませんでした。 Wazoox :のアドバイスを受ける
はい、「start_bt」スクリプトは明らかにファイルをコピーし、/ではない(/etc/rc.localが実行されている)定義された場所からコマンドを実行します。おそらく次のような行を追加する必要があります:cd/home/[redacted]/Desktop/rtl8723bs_bt /の行の直後に「Bluetoothでデバイス$ TTYを使用しています」というエコー
スクリプトにcd/home/[redacted]/Desktop/rtl8723bs_bt /を追加することで、スクリプトが実行されない問題を修正しました。物理コンピューターでこの問題を修正するには、Ubuntuを再インストールする必要がありますが、これは私にとっては問題ではありませんでした。
私はコメントを回答として書き換えます:
"start_bt"スクリプトは、/ではない定義済みの場所(/etc/rc.localの実行元)からファイルをコピーしてコマンドを実行します。次のような行を追加する必要があります。
cd /home/[redacted]/Desktop/rtl8723bs_bt/
行の直後
echo "Using device $TTY for Bluetooth"
すべてのコマンドが正しいフォルダで実行されるようにします。