サイドロードを有効にできない

azsphere device enable-developmentコマンドでサイドロードを有効にしようとしたところ、
error: Device group 'Development' for product 'POTestSKU' cannot be found.
というエラーが発生しました。

C:\>azsphere device enable-development
Getting device group 'Development' for product 'POTestSKU'.
error: Device group 'Development' for product 'POTestSKU' cannot be found.
Ensure that you have the right permissions to execute this command in the selected Azure Sphere tenant.
Please see https://aka.ms/AzureSphereSDKHelp/Cloud for troubleshooting or suggestions.
error: Trace ID: 42fcf6a8-4d49-4625-bc8e-a6baed0bd71d
error: Can't retrieve the target device group.
error: Product 'POTestSKU' does not have a 'Development' device group. Run 'azsphere product device-group create-defaults --productname "POTestSKU"' and then retry.

C:\>

新しい認証モデルへ移行する前に、特定SKUに割り当てているとエラーが出るのかな?

「azsphere product ...を実行して」と書いてあるので、書いてあるそのままをコピペで実行してみます。

C:\>azsphere product device-group create-defaults --productname "POTestSKU"
Creating default device groups for product 'POTestSKU'.
The following device groups have been created for product 'POTestSKU':
ID                                   Name
--                                   ----
a5b395e1-bdaa-47cc-886b-b73896e39a3e Development
595f46c5-5460-47b4-a2b9-7239b9153f7f Field Test
8170923e-21a7-4e6f-af0d-2af0c7074b0d Production
9ce409c0-6e4c-45d3-8f9e-45a87802a9a2 Production OS Evaluation
1073742b-6d51-470a-9e00-9532fa3c346e Field Test OS Evaluation


C:\>

Productに、Development, Field Test, ... など、5つのDevice Groupが作成されたようです。

azsphere device enable-developmentを再実行すると、

C:\>azsphere device enable-development
Getting device group 'Development' for product 'POTestSKU'.
Getting device capability configuration for application development.
Downloading device capability configuration for device ID '961B0F3AF5C4EA9581512975F8E21A81DFED93BEF7A73854D802C8BDEFF7F5A8516639B653E6F082009F5C660C9B96BB1B16F49A56D7DE51A089AC01AE3376EC'.
Successfully downloaded device capability configuration.
Successfully wrote device capability configuration file 'C:\Users\takashi\AppData\Local\Temp\tmpDDBF.tmp'.
Setting device group 'a5b395e1-bdaa-47cc-886b-b73896e39a3e' for device with ID '961B0F3AF5C4EA9581512975F8E21A81DFED93BEF7A73854D802C8BDEFF7F5A8516639B653E6F082009F5C660C9B96BB1B16F49A56D7DE51A089AC01AE3376EC'.
Successfully disabled application updates.
Enabling application development capability on attached device.
Applying device capability configuration to device.
Successfully applied device capability configuration to device.
The device is rebooting.
Installing debugging server to device.
Deploying 'C:\Program Files (x86)\Microsoft Azure Sphere SDK\DebugTools\gdbserver.imagepackage' to the attached device.
Image package 'C:\Program Files (x86)\Microsoft Azure Sphere SDK\DebugTools\gdbserver.imagepackage' has been deployed to the attached device.
Application development capability enabled.
Successfully set up device for application development, and disabled application updates.
(Device ID: '961B0F3AF5C4EA9581512975F8E21A81DFED93BEF7A73854D802C8BDEFF7F5A8516639B653E6F082009F5C660C9B96BB1B16F49A56D7DE51A089AC01AE3376EC')

C:\>

無事、サイドロードが有効になりました。

余談

新しい認証モデルへ移行する前に、特定SKUに割り当てているとエラーが出るのかな?

以前のモデルへ戻すことはできないので、、、
移行前からあるSKU(Product)に、どんなDevice Groupが割当たっているか確認しました。

SKU(Product)の一覧
f:id:matsujirushix:20191212215206p:plain

Product = "TestDG"のDevice Group
f:id:matsujirushix:20191212215325p:plain

Product = "DW100"のDevice Group
f:id:matsujirushix:20191212215407p:plain

Product = "POTestSKU"のDevice Group
f:id:matsujirushix:20191212215507p:plain

移行前のものには、DevelopmentやField Testがありません。

サイドロード有効にしたデバイスは、
f:id:matsujirushix:20191212215926p:plain
Device GroupがDevelopmentになっています。

ということは、、、

  • enable-developmentすると、Device Groupを"Development"にしようとする
  • 割り当てられているProductに"Development" Device Groupが無いとエラー
  • product device-group create-defaultsすると、必要なDevice Groupを作成する

という振る舞いですね。

enable-developmentのオプション指定で、特定のDevice Group指定もできそう。

f:id:matsujirushix:20191212220720p:plain