#author("2026-07-03T02:16:07+00:00","default:honma","honma")
#author("2026-07-03T02:16:30+00:00","default:honma","honma")
* ラズパイでBluetooth無効化(その2) [#tef2b276]

前回の[[ラズパイでBluetooth無効化]]の手順では、達成できないことがある。~
そう、BlueZの代わりに別のスタックを動かしたい場合などだ...

ホントに利用するシーンある?

Raspberry Pi 4の初期状態では、こんな風になっている。

 $ ls -l /dev/serial0
 lrwxrwxrwx 1 root root 5 Jul  2 16:41 /dev/serial0 -> ttyS0
 
 $ ls -l /sys/class/tty/ttyS0
 lrwxrwxrwx 1 root root 0 Jul  2 16:48 /sys/class/tty/ttyS0 -> ../../devices/platform/soc/fe215040.serial/fe215040.serial:0/fe215040.serial:0.0/tty/ttyS0
 $ ls -l /sys/class/bluetooth/hci0
 lrwxrwxrwx 1 root root 0 Jul  2 16:49 /sys/class/bluetooth/hci0 -> ../../devices/platform/soc/fe201000.serial/fe201000.serial:0/fe201000.serial:0.0/serial0/serial0-0/bluetooth/hci0

前回の手順で無効化すると

 $ ls -l /dev/serial0
 lrwxrwxrwx 1 root root 7 Jul  2 16:30 /dev/serial0 -> ttyAMA0
 
 $ ls -l /sys/class/tty/ttyS0
 lrwxrwxrwx 1 root root 0 Jan  1  1970 /sys/class/tty/ttyS0 -> ../../devices/platform/serial8250/serial8250:0/serial8250:0.0/tty/ttyS0
 $ ls -l /sys/class/tty/ttyAMA0
 lrwxrwxrwx 1 root root 0 Jan  1  1970 /sys/class/tty/ttyAMA0 -> ../../devices/platform/soc/fe201000.serial/fe201000.serial:0/fe201000.serial:0.0/tty/ttyAMA0

実は、BlueToothを無効にするとシリアルコンソールが /dev/ttyS0 から /dev/ttyAMA0 に切り替わってしまう。~
これでは、BlueToothに接続されていたポート設定が、シリアルコンソールに変わってしまって意味がない。

そこで、Bluetoothの無効化ではなく、Bluetoothのカーネル自動起動を抑止する。

 $ sudo nano /boot/firmware/config.txt

dtoverlay=disable-bt ではなくて、dtparam=krnbt=off でBluetoothのカーネル自動起動を抑止する。~
enable_uart=1 は元々の設定。

 [all]
 enable_uart=1
 # 内蔵Bluetoothの無効化
 # dtoverlay=disable-bt
 # Bluetoothのカーネル自動起動を抑止
 dtparam=krnbt=off

前回はあえて行わなかった、bluetoothサービスの停止を明示的に行う。

 $ sudo systemctl stop bluetooth
 $ sudo systemctl disable bluetooth

これで再起動を行う。

 $ ls -l /dev/serial0
 lrwxrwxrwx 1 root root 5 Jul  2 19:24 /dev/serial0 -> ttyS0
 
 $ ls -l /sys/class/tty/ttyS0
 lrwxrwxrwx 1 root root 0 Jul  2 19:27 /sys/class/tty/ttyS0 -> ../../devices/platform/soc/fe215040.serial/fe215040.serial:0/fe215040.serial:0.0/tty/ttyS0
 $ ls -l /sys/class/tty/ttyAMA1
 lrwxrwxrwx 1 root root 0 Jul  2 19:27 /sys/class/tty/ttyAMA1 -> ../../devices/platform/soc/fe201000.serial/fe201000.serial:0/fe201000.serial:0.0/tty/ttyAMA1

これで上手くいったはずだが...
~
#htmlinsert(amazon_pc.html);

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS