19. Raspbian Buster導入と事象対処

6/25にraspbianのサイトを見たら、Buster(2019-06-20)版がリリースされていたので、NOOBSでダウンロードを試みたが、頻繁にエラーで落ちるので諦めて、"Rspbian Buster with desktop"をダウンロードするもこちらも頻繁にエラー。(ダウンロードが混雑??)根気良くリトライを繰り返して、何と12時間掛かってようやくダウンロード完了。(本ページ作成中に2019-07-10版がリリースされていたのでダウウンロードしたら1時間チョッとで完了)
以下は、2019-06-20版のインストール時に当方の環境で発生した事象の対処顛末です。

●HOMEディレクトリ内のフォルダ名が日本語
「ダウンロード」、「ドキュメント」、「ピクチャ」のように日本語表記になっていたので、参考サイトの手順にて英語表記に戻した。(何故か、後日再インストールした時は日本語にならなかった)


$ sudo apt install xdg-user-dirs-gtk
$ LANG=C xdg-user-dirs-gtk-update
  変更ダイアログが出るので、確認しチェックを入れてOKする。
$ sudo reboot

●updateがエラーになる
7月に入って再インストール実施したら、apt-getのupdateを行うと「changed its 'Suite' value from 'testing' to 'stable'」と云うようなエラーになりupdateできない。webで調べた参考サイトの手順でupdateできた。
後日見つけたサイトの情報だと、私がダウンロードした2019-06-20版は、"testing"版だったのかも…。


$ sudo apt-get update --allow-releaseinfo-change
$ sudo apt-get update;sudo apt-get dist-upgrade -y
$ sudo reboot

●bluetooth(A2DP)が接続できない
以前に作成した手順「Bluetoothスピーカー接続」で接続を試みたが、A2DP接続がFaildして接続できない。webで調べたが分からず、取り敢えず、参考サイトのpulseaudioを使わずbluealsaで接続する方法を試し、接続でき音も出た。


1.Raspberry PiとBluetoothデバイスをペアリングする。
	$ sudo bluetoothctl
2.BluetoothデバイスをALSAデバイスとして扱えるよう、Bluetooth Audio ALSA Backend(以下、bluez-alsa)を導入する。
	$ sudo apt install bluealsa
3.~/.asoundrcファイルにBluetoothデバイスを別名定義(bluealsaとbt-receiver)する。
	$ nano ~/.asoundrc
	defaults.bluealsa.interface "hci0"
	defaults.bluealsa.device "xx:xx:xx:xx:xx:xx"
	defaults.bluealsa.profile "a2dp"
	defaults.bluealsa.delay 10000

	pcm.bt-receiver {
	  type bluealsa
	  device "xx:xx:xx:xx:xx:xx"
	  profile "a2dp"
	}
4.bluez-alsaがBluetoothデバイスを認識していることを確認する。
	amixer -D bluealsa
5.Bluetoothデバイス'SRS-XB2 - A2DP'のボリュームを100%に変更する。
	$ amixer -D bluealsa sset 'SRS-XB2 - A2DP' 100%
6.接続テスト
	$ speaker-test -t wav

●bluealsaでは、mp3ファイルは再生できるけど、alacファイルはできない?
bluealsaで無事接続出来て音楽再生もできたと思ったら、alacファイルの再生ができない。以前の方法でpulseaudioでは再生出来たので、pulseaudioを使う方法をwebで再調査。
bluealsaとpulseaudioが同居すると、A2DPの奪い合いをしてしまうのではないかと思い、見つけた参考サイトの手順にてpulseaudioを導入してみた。


1.PulseAudioを使うので、bluez-alsa(bluealsa)はuninstallする
	$ sudo apt-get purge bluealsa -y
	$ sudo reboot
2.Bluetooth関連のエラーが無い事を確認する
	$ dmesg | grep -i bluetooth
3.hci0がUPしていることを確認する
	$ hciconfig
	hci0:    Type: BR/EDR  Bus: USB
    BD Address: XX:XX:XX:XX:XX:XX  ACL MTU: 310:10  SCO MTU: 64:8
    UP RUNNING
    RX bytes:622 acl:0 sco:0 events:38 errors:0
    TX bytes:1437 acl:0 sco:0 commands:38 errors:0
    ※UPしていなかったら以下を実施してみる
    $ sudo hciconfig hci0 up
4.PulseAudioのインストール
	$ sudo apt-get install pulseaudio pulseaudio-module-bluetooth -y
	$ sudo reboot
5.bluetoothデバイスの接続
	$ bluetoothctl
	power on
	agent on
	default-agent
	scan on
	scan off
	devices			← scanで検出されたデバイスの確認
	pair XX:XX:XX:XX:XX:XX			←"XX:XX:XX:XX:XX:XX"はdevicesで表示された対象デバイスアドレス
	trust XX:XX:XX:XX:XX:XX
	connect XX:XX:XX:XX:XX:XX
	quit
6.音が出ることを確認
	$ speaker-test -c2 -twav

●bluetoothでalacファイル作成できたけど、PHPから起動するプレーヤーでは音がでない
以前に作成したブラウザリモコンでVLCとradikoはOKだが、最近作成したYouTube playerブラウザ音楽プレーヤーでは音が出ない。(プレーヤーは起動している事は確認した)
前者はソケット通信を利用してプレーヤーを起動しているが、後者はPHPから直にプレーヤーを起動している。
プレーヤーの実行環境の問題かと思い、PHPで起動する時は"su"でユーザ切替したりして見たがダメで、webで調べてもらしき情報が見つからないので、前者と同じようにソケット通信で起動するように変更して解決。

●Buster 2019-07-10版について
後日、2019-07-10版の導入を行って、上記で発生した"フォルダ名が日本語"や"apt-getのupdateでエラー"等は発生しなかったが、Bluetoothは同様の事象なので上記解決策で対処した。

【参考】下記サイトの情報を参考にしました。
  1. Debian homeディレクトリ名を英語表記に
  2. Linux HOME下のフォルダ名を日本語から英語に変更する方法
  3. Update Error
  4. Debian 10 Buster testing をリリース後に apt update するとエラーになる
  5. Raspberry PiでBluetoothスピーカーを鳴らす
  6. Enabling Hands-Free Profile on Raspberry Pi (Raspbian Stretch) by using PulseAudio

2019/07/30