Armadilloフォーラム

x1-debian-builderからat-debian-builder移行時

kyas-t5

2023年8月30日 11時09分

ご担当者様

お世話になります。

昨年ビルドしていたx1-debian-builderで最近ビルドして失敗した相談をした際に
at-debian-builderを試してくださいとのことでそちらに移行進めています。
at-debian-builderでビルド実施後、ルートファイルは出来上がり、イメージファイルを作成し
Armadillo-x1に実装し動かしたところjournalで以下の異常が連続して出力されるようになりました。

Nov 08 22:04:18 armadillo kernel: usb3503 3-0008: SP_ILOCK failed (-6)
Nov 08 22:04:20 armadillo systemd[1]: usb3503-reset.service: Main process exited, code=exited, status=1/FAILURE
Nov 08 22:04:20 armadillo systemd[1]: usb3503-reset.service: Unit entered failed state.
Nov 08 22:04:20 armadillo systemd[1]: usb3503-reset.service: Failed with result 'exit-code'.
Nov 08 22:04:20 armadillo systemd[1]: usb3503-reset.service: Service hold-off time over, scheduling restart.
Nov 08 22:04:20 armadillo systemd[1]: Stopped reset usb3503.
Nov 08 22:04:20 armadillo systemd[1]: Started reset usb3503.
Nov 08 22:04:20 armadillo kernel: usb3503 3-0008: switched to STANDBY mode

uImageやdtbなどルートファイル以外は前のままで行っている中で何が原因かご助力頂きたいのですが
何が設定されていない又はミスをしていると上記ログが発生しますか?

コメント

at_keitaro.takahashi

2023年8月30日 14時05分

高橋です。
以下の点について、それぞれコマンドの実行結果を送っていただけますか。

・uImageのバージョン
uname -a

・USBハブ(USB3503)が認識されているか
lsusb

・atmark-x1-base(usb3503-reset.serviceが含まれているパッケージ)のバージョン
dpkg -l |grep atmark-x1-base

お世話になります。

情報を取りました。下記をご確認下さい。

root@armadillo:~# uname -a
Linux armadillo 4.9.133-at15 #211 SMP PREEMPT Thu Oct 27 09:28:25 JST 2022 armv7l GNU/Linux
root@armadillo:~# lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@armadillo:~# dpkg -l | grep atmark-x1-base
ii atmark-x1-base 3.2.2-1 armhf Atmark Techno X1 platform base software

以上です。宜しくお願い致します。
> 高橋です。
> 以下の点について、それぞれコマンドの実行結果を送っていただけますか。
>
> ・uImageのバージョン
> uname -a
>
> ・USBハブ(USB3503)が認識されているか
> lsusb
>
> ・atmark-x1-base(usb3503-reset.serviceが含まれているパッケージ)のバージョン
> dpkg -l |grep atmark-x1-base
>

at_keitaro.takahashi

2023年9月1日 10時38分

高橋です。
確認ありがとうございます。

uImage及びatmark-x1-baseのバージョンは問題無いように見えますが、USB3503が認識されてないようです。
以下のコマンドを実行して、usb3503-resetがどのような挙動をしているか確認していただけますか。

service usb3503-reset stop
sh -x /usr/bin/usb3503-reset

コマンドを実行しました。

一般ユーザーで実行した場合、permission deniedが発生し、
ルートでは発生しませんでした。ルートでusb3503を実行した後、USB3503の警告は発生せず正常に動作しているようにみえます。
この場合の対策としては権限になるかと考えましたがどこを変えるのがよいでしょうか?

[一般ユーザー]
test@armadillo:~$ sudo service usb3503-reset stop
test@armadillo:~$ sh -x /usr/bin/usb3503-reset
+ break
+ [ -e /sys/class/i2c-adapter/i2c-3/3-0008/USB3503_RESET/value ]
+ HUB_ID=0424:3503
+ PDS6_ID=1e2d:005a
+ EC25_ID=2c7c:0125
+ lsusb -d 0424:3503
+ reset_hub
/usr/bin/usb3503-reset: 15: /usr/bin/usb3503-reset: cannot create /sys/class/i2c-adapter/i2c-3/3-0008/USB3503_RESET/value: Permission denied
+ echo 0
+ sleep 0.1
/usr/bin/usb3503-reset: 17: /usr/bin/usb3503-reset: cannot create /sys/class/i2c-adapter/i2c-3/3-0008/USB3503_RESET/value: Permission denied
+ echo 1
+ sleep 1
+ lsusb -d 0424:3503
+ exit 1

[ルートユーザー]
test@armadillo:~$ sudo sh -x /usr/bin/usb3503-reset
+ break
+ [ -e /sys/class/i2c-adapter/i2c-3/3-0008/USB3503_RESET/value ]
+ HUB_ID=0424:3503
+ PDS6_ID=1e2d:005a
+ EC25_ID=2c7c:0125
+ lsusb -d 0424:3503
+ reset_hub
+ echo 0
+ sleep 0.1
+ echo 1
+ sleep 1
+ lsusb -d 0424:3503
+ exit 1

> 高橋です。
> 確認ありがとうございます。
>
> uImage及びatmark-x1-baseのバージョンは問題無いように見えますが、USB3503が認識されてないようです。
> 以下のコマンドを実行して、usb3503-resetがどのような挙動をしているか確認していただけますか。
>

> service usb3503-reset stop
> sh -x /usr/bin/usb3503-reset
> 

at_keitaro.takahashi

2023年9月1日 16時58分

高橋です。

すみません、rootユーザーで実行していただくよう案内するべきでした。
一般ユーザーでPermission deniedとなるのは正常な動作となります。

rootユーザーで実行した際のログですが、
+ lsusb -d 0424:3503
+ exit 1
となっていて、exit 1は失敗ステータスを表しています。
USB3503のリセット自体は行っているものの、リセット後も認識できていない状態となっています。

追加で以下について確認をお願いできますでしょうか。
・アットマークテクノ配布のインストールディスクを使用して初期化しても同様の症状が発生するか
https://armadillo.atmark-techno.com/resources/software/armadillo-x1/dis…

もし初期化するのが難しい場合は、製品マニュアルを参考に、最新のイメージ(ブートローダー、Linuxカーネル、DTB、ユーザーランド)を使用してSDブートを行っていただき、同様の症状が発生するかご確認ください。

Armadillo-X1 製品マニュアル 「SDブートの活用」
https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manu…
最新イメージは以下からダウンロードできます。
https://armadillo.atmark-techno.com/armadillo-x1/resources/software

最新イメージでも同様の症状が発生する場合、故障の可能性があります。
「製品保証規定」をご確認の上、「製品保証サービス」を参考に交換のお申込みを行ってください。

製品保証規定
https://armadillo.atmark-techno.com/support/warranty/policy

製品保証サービス
https://armadillo.atmark-techno.com/support/warranty#c-1

ご教示頂きましてありがとうございます。

故障の可能性についてですがx1-debian-builderでビルドが出来ていたころのイメージファイルで
Armadillo-x1に書込んだところjournalで今回のログは発生せず、正常に動作しております。
また、別機に書込んだところ同じ現象が発生していますので故障では無いかなと考えています。

USB3503に関する発報でしたのでこちらで実装した動作をいろいろとみているのですが
気になる点として
・rootユーザーではjournalで出力されず、一般ユーザーの時のjournalで今回のエラーが出力されています。
・COM8をUSB-CDCとマスストレージのgadgetで動作させているのですがCDCは動作しているのですが
 マスストレージは動作しなくなりました。
 マスストレージを以下のPATHで実装しているのですがlun0から見えなくなっております。
 /sys/devices/soc0/soc/30800000.aips-bus/30b20000.usb/ci_hdrc.2/gadget/lun0/file
 USB3503のエラーによるものか不明ですが。

> 高橋です。
>
> すみません、rootユーザーで実行していただくよう案内するべきでした。
> 一般ユーザーでPermission deniedとなるのは正常な動作となります。
>
> rootユーザーで実行した際のログですが、
> + lsusb -d 0424:3503
> + exit 1
> となっていて、exit 1は失敗ステータスを表しています。
> USB3503のリセット自体は行っているものの、リセット後も認識できていない状態となっています。
>
> 追加で以下について確認をお願いできますでしょうか。
> ・アットマークテクノ配布のインストールディスクを使用して初期化しても同様の症状が発生するか
> https://armadillo.atmark-techno.com/resources/software/armadillo-x1/dis…
>
> もし初期化するのが難しい場合は、製品マニュアルを参考に、最新のイメージ(ブートローダー、Linuxカーネル、DTB、ユーザーランド)を使用してSDブートを行っていただき、同様の症状が発生するかご確認ください。
>
> Armadillo-X1 製品マニュアル 「SDブートの活用」
> https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manu…
> 最新イメージは以下からダウンロードできます。
> https://armadillo.atmark-techno.com/armadillo-x1/resources/software
>
> 最新イメージでも同様の症状が発生する場合、故障の可能性があります。
> 「製品保証規定」をご確認の上、「製品保証サービス」を参考に交換のお申込みを行ってください。
>
> 製品保証規定
> https://armadillo.atmark-techno.com/support/warranty/policy
>
> 製品保証サービス
> https://armadillo.atmark-techno.com/support/warranty#c-1

at_keitaro.takahashi

2023年9月4日 15時59分

高橋です。

at-debian-builderはデフォルトからカスタマイズして使用していますでしょうか。
その場合、デフォルトの状態(弊社サイトからダウンロードしたままの状態)でビルドを行った場合にも同様の症状が発生しますでしょうか。

また、uImage, dtb, ブートローダーなどはカスタマイズされていますでしょうか。

> at-debian-builderはデフォルトからカスタマイズして使用していますでしょうか。
ax1_resource内は変更しています。
usb-CDCとマスストレージをgadgetでwindowsPCとやり取りする為に追加変更しています。
uImageはUSBのgadgetを動かしていますので変更しています。
dtbはシリアル通信を行うために変更しています。

また、補足ですが動いていたころのdebianと最新のstrechを比較したところ
/usr/bin/3503-resetの差分が有り、動いていたころのコードに試しに変更したところ
発報は出なくなりましたがUSBのマスストレージがPCで認識できなくなっていました。
これが原因かも不明ですが正しい変更対応とは思えないのでご意見を伺いたいです。

> 高橋です。
>
> at-debian-builderはデフォルトからカスタマイズして使用していますでしょうか。
> その場合、デフォルトの状態(弊社サイトからダウンロードしたままの状態)でビルドを行った場合にも同様の症状が発生しますでしょうか。
>
> また、uImage, dtb, ブートローダーなどはカスタマイズされていますでしょうか。

at_keitaro.takahashi

2023年9月5日 16時51分

高橋です。

> > at-debian-builderはデフォルトからカスタマイズして使用していますでしょうか。
> ax1_resource内は変更しています。
> usb-CDCとマスストレージをgadgetでwindowsPCとやり取りする為に追加変更しています。
> uImageはUSBのgadgetを動かしていますので変更しています。
> dtbはシリアル通信を行うために変更しています。

まずは、ルートファイルシステム、uImage、dtbのうち、1種類or2種類のみを変更し、そのほかのイメージは変更を行っていないイメージにした状態で、
それぞれの組み合わせで今回の症状が発生するかを確かめる必要があるかと思います。
(「変更を行っていないイメージ」はアットマークテクノから配布されているイメージそのままを意味しています)

特定のイメージのみ変更する手順については、製品マニュアルの以下をご確認ください。
https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manu…

> また、補足ですが動いていたころのdebianと最新のstrechを比較したところ
> /usr/bin/3503-resetの差分が有り、動いていたころのコードに試しに変更したところ
> 発報は出なくなりましたがUSBのマスストレージがPCで認識できなくなっていました。
> これが原因かも不明ですが正しい変更対応とは思えないのでご意見を伺いたいです。

今回の問題とは直接関係しない、修正済みの不具合に関係する動作と思われます。

以下のアップデートニュース(2023/3/28)にある通り、修正前のusb3503-resetはArmadillo-X1で正しく動作しない状態だったため、
該当のエラーログも出ません。
https://armadillo.atmark-techno.com/news/20230328/software-update-ax1