MakeCodeのConnect deviceができない時の対応

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 デバイスのボタンが表示されました。