Microsoft MakeCodeでConnect deviceしても、機能が利用できないことがありましたので、その時に行いました対処法を紹介します。
環境
OS : Ubuntu 22.10
マイクロビット : v2.0
ブラウザ : Google Chrome 109.0.5414.119(Official Build) (64 ビット)
対処法の前にMakeCodeのConnect deviceについて触れておきます。
MakeCodeには接続したマイクロビットに直接フラッシングする事ができるConnect deviceの機能があります。
Connect deviceでは直接フラッシングできるだけではなく、
マイクロビットから得られたデータをグラフ化する事ができます。
Connect deviceはWebUSBの機能があるブラウザで利用可能で、Google Chrome等があります。
PCとマイクロビットをUSBで接続し、
MakeCodeの画面で、ダウンロードボタンの横にあるボタンからConnect deviceを選びます。
画面の指示に従って、接続の手続きを行います。
MakeCodeとマイクロビットの接続が成功すれば、ダウンロードボタンの左側のアイコンがマイクロビットになりますが、ファイルアイコンのままになっている時があります。
ファイルアイコンのままの状態で、ダウンロードボタンを押すとマイクロビットにフラッシングされることなく、hexファイルがダウンロードされるだけで、ダウンロードボタンの上のShow data デバイスのボタンが表示されることもありません。
原因を調べる為に、ブラウザで新しいタブを開き、
アドレスバーに
chrome://device-log
を入力し、ログを確認してみたところ、
USBEvent[15:46:34] Failed to open /dev/bus/usb/001/006: 許可がありません (13)
というエラーがありました。
※接続毎にパスが変わることがあります。
上記エラーを解決するために端末を開き、
$ sudo chmod a+wx /dev/bus/usb/001/006
でブラウザのWebUSBでマイクロビットに書き込みと実行権限を付与した後、
再び、Connect deviceの手続きをして、ダウンロードボタンを押したら、
アイコンがマイクロビットになり、直接フラッシングやShow data デバイスのボタンが表示されました。