Armadilloフォーラム

USBメモリのファイルに書き込みについて

kyas-t5

2022年10月12日 14時40分

ご担当者様

お世話になります。

X1で処理したデータを50秒程度の時間間隔でUSBメモリのファイルに書き出す機能を作成しました。
その際に1週間に1回程度ですが書き出しが出来ない事象が発生しています。
その書き出しが出来ていない時のsyslogが下記になるのですがUSBに関するログが出力されています。
このログから推測できる要因はございますか?
USBメモリを抜き差ししていないのですがUSBメモリがアンマウントされて書き込みが出来なくなっているように見えており、その要因を調査したく。

・USBメモリはFAT32
・マウントはfstabに”/dev/disk/by-path/platform-ci_hdrc.0-usb-0:1:1.0-scsi-0:0:0:0-part1 /media/usbmem vfat auto,user,rw,nofail 0 0”を追記して自動マウントしています。
・COM8でUSB gadgetにしてCDCとMSCを動かしています。

Oct 4 10:00:41 armadillo kernel: usb 1-1: USB disconnect, device number 2
Oct 4 10:00:41 armadillo systemd[1]: Unmounting /media/usbmem...
Oct 4 10:00:41 armadillo systemd-udevd[15905]: could not open moddep file '/lib/modules/4.9.133-at15/modules.dep.bin'
Oct 4 10:00:41 armadillo systemd[1]: Unmounted /media/usbmem.
Oct 4 10:01:35 armadillo kernel: usb 1-1: new high-speed USB device number 3 using ci_hdrc
Oct 4 10:01:35 armadillo kernel: usb-storage 1-1:1.0: USB Mass Storage device detected
Oct 4 10:01:35 armadillo kernel: scsi host0: usb-storage 1-1:1.0
Oct 4 10:01:36 armadillo kernel: scsi 0:0:0:0: Direct-Access Verbatim ToughMax PMAP PQ: 0 ANSI: 6
Oct 4 10:01:36 armadillo kernel: sd 0:0:0:0: [sda] 60604416 512-byte logical blocks: (31.0 GB/28.9 GiB)
Oct 4 10:01:36 armadillo kernel: sd 0:0:0:0: [sda] Write Protect is off
Oct 4 10:01:36 armadillo kernel: sd 0:0:0:0: [sda] Mode Sense: 45 00 00 00
Oct 4 10:01:36 armadillo kernel: sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
Oct 4 10:01:36 armadillo systemd-udevd[15994]: could not open moddep file '/lib/modules/4.9.133-at15/modules.dep.bin'
Oct 4 10:01:36 armadillo kernel: sda: sda1
Oct 4 10:01:36 armadillo kernel: sd 0:0:0:0: [sda] Attached SCSI removable disk
Oct 4 10:01:37 armadillo systemd[1]: Mounting /media/usbmem...
Oct 4 10:01:37 armadillo kernel: FAT-fs (sda1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
Oct 4 10:01:37 armadillo systemd[1]: Mounted /media/usbmem.
Oct 4 10:01:40 armadillo kernel: usb 1-1: USB disconnect, device number 3
Oct 4 10:01:40 armadillo systemd[1]: Unmounting /media/usbmem...
Oct 4 10:01:40 armadillo systemd-udevd[16012]: could not open moddep file '/lib/modules/4.9.133-at15/modules.dep.bin'
Oct 4 10:01:40 armadillo systemd[1]: Unmounted /media/usbmem.
Oct 4 10:02:35 armadillo kernel: usb 1-1: new high-speed USB device number 4 using ci_hdrc
Oct 4 10:02:35 armadillo kernel: usb-storage 1-1:1.0: USB Mass Storage device detected
Oct 4 10:02:35 armadillo kernel: scsi host0: usb-storage 1-1:1.0
Oct 4 10:02:36 armadillo kernel: scsi 0:0:0:0: Direct-Access Verbatim ToughMax PMAP PQ: 0 ANSI: 6
Oct 4 10:02:36 armadillo kernel: sd 0:0:0:0: [sda] 60604416 512-byte logical blocks: (31.0 GB/28.9 GiB)
Oct 4 10:02:36 armadillo kernel: sd 0:0:0:0: [sda] Write Protect is off
Oct 4 10:02:36 armadillo kernel: sd 0:0:0:0: [sda] Mode Sense: 45 00 00 00
Oct 4 10:02:36 armadillo kernel: sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
Oct 4 10:02:36 armadillo systemd-udevd[16111]: could not open moddep file '/lib/modules/4.9.133-at15/modules.dep.bin'
Oct 4 10:02:36 armadillo kernel: sda: sda1
Oct 4 10:02:36 armadillo kernel: sd 0:0:0:0: [sda] Attached SCSI removable disk
Oct 4 10:02:36 armadillo systemd[1]: Mounting /media/usbmem...
Oct 4 10:02:37 armadillo kernel: FAT-fs (sda1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
Oct 4 10:02:37 armadillo systemd[1]: Mounted /media/usbmem.

コメント

入江です。

何点か確認させてください。

・ 50秒程度に1度データをUSBメモリに書き込むようですが、一度に書き込むデー
タのサイズはどの程度でしょうか。

・ 「USB disconnected」の前には何もログは表示されませんでしたでしょうか。

・ この現象発生後は自動で復旧して、また1週間程度は正常稼働し続けますでしょうか。

お手数おかけしますが、よろしくお願いいたします。

入江様

ご返答ありがとうございます。
> ・ 50秒程度に1度データをUSBメモリに書き込むようですが、一度に書き込むデー
> タのサイズはどの程度でしょうか。
測定データを4つ用意してCSVファイル内の最下段にそれぞれ追記します。(4つのCSVファイルに追記します)
データ構成は1つ分は日付と8データ(floatデータ)となります。

>
> ・ 「USB disconnected」の前には何もログは表示されませんでしたでしょうか。
10:00:41のUSB disconnectの直前ログは以下になります。
Oct 4 06:29:38 armadillo systemd[1]: apt-daily-upgrade.timer: Adding 11min 12.699030s random time.
Oct 4 07:17:01 armadillo CRON[30329]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Oct 4 07:32:58 armadillo systemd[1]: Starting Daily apt download activities...
Oct 4 07:33:03 armadillo systemd[1]: Started Daily apt download activities.
Oct 4 07:33:03 armadillo systemd[1]: apt-daily.timer: Adding 4h 46min 57.983137s random time.
Oct 4 07:33:03 armadillo systemd[1]: apt-daily.timer: Adding 4h 57min 2.091508s random time.
Oct 4 08:17:01 armadillo CRON[16333]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Oct 4 09:17:01 armadillo CRON[2463]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
このログの次の行でUSB disconnect,device number 2以降が出力されています。

> ・ この現象発生後は自動で復旧して、また1週間程度は正常稼働し続けますでしょうか。
はい。USBがmountされた後、自動復旧して1週間稼働できていて1週間のデータ内でその1か所のみとなっています。

以上です。宜しくお願い致します。
> 入江です。
>
> 何点か確認させてください。
>
> ・ 50秒程度に1度データをUSBメモリに書き込むようですが、一度に書き込むデー
> タのサイズはどの程度でしょうか。
>
> ・ 「USB disconnected」の前には何もログは表示されませんでしたでしょうか。
>
> ・ この現象発生後は自動で復旧して、また1週間程度は正常稼働し続けますでしょうか。
>
> お手数おかけしますが、よろしくお願いいたします。
>

入江です。

ご確認いただきありがとうございます。

ここまで頂いた情報だけでは原因が特定できませんので、可能であれば以下の
手順でデバッグログの出力設定を行なった後に現象を再現させて、同じように
発生時のログをご確認いただけますでしょうか。

まず、製品マニュアルの以下の箇所を参考に、カーネルのビルド環境を準備し
てください。すでにビルド環境がある場合はこの手順は飛ばしてください。
https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manu…

次に、カーネルソース内の、drivers/usb/core/hub.cをエディタで開き、
#define DEBUG
を追記してください。

:省略
#define USB_VENDOR_GENESYS_LOGIC		0x05e3
#define HUB_QUIRK_CHECK_PORT_AUTOSUSPEND	0x01
#define DEBUG  //★この行を追記
 
/* Protect struct usb_device->state and ->children members
 * Note: Both are also protected by ->dev.sem, except that ->state can
:省略

追記後カーネルをビルドし、Armadillo-X1に書き込み、現象が再現した際のロ
グを採っていただけますでしょうか。

Armadillo-X1にカーネルイメージを書き込む方法は、以下を参照してください。
https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manu…

お手数おかけしますが、よろしくお願いいたします。

入江様

お世話になります。
詳細デバッグログ出力の設定について承知しました。
再現試験実施致しますがかなり頻度が低く再現できましたらご連絡させて頂きます。
また、linuxのビルドについて変更していない箇所でエラーが発生している為、ビルドが通っておりません。
もし、わかるようであれば教えて頂きたいです。
以下、ビルド中に出力されるエラーです。
LD drivers/usb/core/built-in.o
LD drivers/usb/built-in.o
LD drivers/built-in.o
make[1]: *** 'firmware/ti-connectivity/TIInit_11.8.32.bts.gen.o' に必要なターゲット '/lib/firmware/ti-connectivity/TIInit_11.8.32.bts' を make するルールがありません. 中止.
Makefile:1008: ターゲット 'firmware' のレシピで失敗しました
make: *** [firmware] エラー 2

> 入江です。
>
> ご確認いただきありがとうございます。
>
> ここまで頂いた情報だけでは原因が特定できませんので、可能であれば以下の
> 手順でデバッグログの出力設定を行なった後に現象を再現させて、同じように
> 発生時のログをご確認いただけますでしょうか。
>
> まず、製品マニュアルの以下の箇所を参考に、カーネルのビルド環境を準備し
> てください。すでにビルド環境がある場合はこの手順は飛ばしてください。
> https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manu…
>
> 次に、カーネルソース内の、drivers/usb/core/hub.cをエディタで開き、
> #define DEBUG
> を追記してください。
>
>

> :省略
> #define USB_VENDOR_GENESYS_LOGIC		0x05e3
> #define HUB_QUIRK_CHECK_PORT_AUTOSUSPEND	0x01
> #define DEBUG  //★この行を追記
> 
> /* Protect struct usb_device->state and ->children members
>  * Note: Both are also protected by ->dev.sem, except that ->state can
> :省略
> 

>
> 追記後カーネルをビルドし、Armadillo-X1に書き込み、現象が再現した際のロ
> グを採っていただけますでしょうか。
>
> Armadillo-X1にカーネルイメージを書き込む方法は、以下を参照してください。
> https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manu…
>
> お手数おかけしますが、よろしくお願いいたします。
>

入江です。

> LD drivers/usb/core/built-in.o
> LD drivers/usb/built-in.o
> LD drivers/built-in.o
> make[1]: *** 'firmware/ti-connectivity/TIInit_11.8.32.bts.gen.o' に必要なターゲット '/lib/firmware/ti-connectivity/TIInit_11.8.32.bts' を make するルールがありません. 中止.
> Makefile:1008: ターゲット 'firmware' のレシピで失敗しました
> make: *** [firmware] エラー 2

ビルド環境にATDEを使用していますでしょうか?

もし使用していなければ、Armadillo-X1のDebianのバージョンが、
busterであればATDE8、stretchであればATDE7の最新版をご使用ください。

各ATDEのダウンロードは以下から可能です。
https://armadillo.atmark-techno.com/guide/atde

ATDEのセットアップ方法は以下を参照してください。
https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manu…

入江様

情報を頂きましてありがとうございます。
以下、回答致します。

> ビルド環境にATDEを使用していますでしょうか?
はい。windows10上のvirtualBoxにATDE7(stretch)を設定し起動させた後のターミナル内で
https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manu…
の10.2 linuxカーネルをビルドするの手順通り行っております。

> もし使用していなければ、Armadillo-X1のDebianのバージョンが、
> busterであればATDE8、stretchであればATDE7の最新版をご使用ください。
最新をご提示いただいたURLからlinux-4.9-x1-at25をダウンロードした後、
ATDE7に入れて上記の手順通り行いましたが同じように以下のエラーが発生しました。
・linux-4.9-x1-at25をダウンロードし何も変更をしていない状態でビルドしても同じ
・drivers/やarch/arm/boot/dts/やmenuconfigの変更部分を実装しビルドして同じ

 linux-4.9-x1-at25で何も変更していない状態でビルド実行時エラーのログです。
 make[1]: *** 'firmware/ti-connectivity/TIInit_11.8.32.bts.gen.o' に必要なターゲット '/lib/firmware/ti-connectivity/TIInit_11.8.32.bts' を make するルールがありません. 中止.
 Makefile:1008: ターゲット 'firmware' のレシピで失敗しました
 make: *** [firmware] エラー 2

以上です。宜しくお願い致します。

> 入江です。
>
> > LD drivers/usb/core/built-in.o
> > LD drivers/usb/built-in.o
> > LD drivers/built-in.o
> > make[1]: *** 'firmware/ti-connectivity/TIInit_11.8.32.bts.gen.o' に必要なターゲット '/lib/firmware/ti-connectivity/TIInit_11.8.32.bts' を make するルールがありません. 中止.
> > Makefile:1008: ターゲット 'firmware' のレシピで失敗しました
> > make: *** [firmware] エラー 2
>
> ビルド環境にATDEを使用していますでしょうか?
>
> もし使用していなければ、Armadillo-X1のDebianのバージョンが、
> busterであればATDE8、stretchであればATDE7の最新版をご使用ください。
>
> 各ATDEのダウンロードは以下から可能です。
> https://armadillo.atmark-techno.com/guide/atde
>
> ATDEのセットアップ方法は以下を参照してください。
> https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manu…

自己レスです

ビルドが通りました。
単純にupdate upgradeを行ったところ、無事に通りました。
これからDEBUGを入れて確認します。

> 入江様
>
> 情報を頂きましてありがとうございます。
> 以下、回答致します。
>
> > ビルド環境にATDEを使用していますでしょうか?
> はい。windows10上のvirtualBoxにATDE7(stretch)を設定し起動させた後のターミナル内で
> https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manu…
> の10.2 linuxカーネルをビルドするの手順通り行っております。
>
> > もし使用していなければ、Armadillo-X1のDebianのバージョンが、
> > busterであればATDE8、stretchであればATDE7の最新版をご使用ください。
> 最新をご提示いただいたURLからlinux-4.9-x1-at25をダウンロードした後、
> ATDE7に入れて上記の手順通り行いましたが同じように以下のエラーが発生しました。
> ・linux-4.9-x1-at25をダウンロードし何も変更をしていない状態でビルドしても同じ
> ・drivers/やarch/arm/boot/dts/やmenuconfigの変更部分を実装しビルドして同じ
>
>  linux-4.9-x1-at25で何も変更していない状態でビルド実行時エラーのログです。
>  make[1]: *** 'firmware/ti-connectivity/TIInit_11.8.32.bts.gen.o' に必要なターゲット '/lib/firmware/ti-connectivity/TIInit_11.8.32.bts' を make するルールがありません. 中止.
>  Makefile:1008: ターゲット 'firmware' のレシピで失敗しました
>  make: *** [firmware] エラー 2
>
> 以上です。宜しくお願い致します。
>
>
> > 入江です。
> >
> > > LD drivers/usb/core/built-in.o
> > > LD drivers/usb/built-in.o
> > > LD drivers/built-in.o
> > > make[1]: *** 'firmware/ti-connectivity/TIInit_11.8.32.bts.gen.o' に必要なターゲット '/lib/firmware/ti-connectivity/TIInit_11.8.32.bts' を make するルールがありません. 中止.
> > > Makefile:1008: ターゲット 'firmware' のレシピで失敗しました
> > > make: *** [firmware] エラー 2
> >
> > ビルド環境にATDEを使用していますでしょうか?
> >
> > もし使用していなければ、Armadillo-X1のDebianのバージョンが、
> > busterであればATDE8、stretchであればATDE7の最新版をご使用ください。
> >
> > 各ATDEのダウンロードは以下から可能です。
> > https://armadillo.atmark-techno.com/guide/atde
> >
> > ATDEのセットアップ方法は以下を参照してください。
> > https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manu…

入江様

drivers/usb/core/hub.cをエディタで開きDEBUGを記載後、linuxカーネルをビルドし
uImageとdtbをarmadillo-x1内で入れ替えました。
これを行った時に何かログ上で違いは出力されますか?
DEBUGが適用されているか確認をしたいです。

> 自己レスです
>
> ビルドが通りました。
> 単純にupdate upgradeを行ったところ、無事に通りました。
> これからDEBUGを入れて確認します。
>
> > 入江様
> >
> > 情報を頂きましてありがとうございます。
> > 以下、回答致します。
> >
> > > ビルド環境にATDEを使用していますでしょうか?
> > はい。windows10上のvirtualBoxにATDE7(stretch)を設定し起動させた後のターミナル内で
> > https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manu…
> > の10.2 linuxカーネルをビルドするの手順通り行っております。
> >
> > > もし使用していなければ、Armadillo-X1のDebianのバージョンが、
> > > busterであればATDE8、stretchであればATDE7の最新版をご使用ください。
> > 最新をご提示いただいたURLからlinux-4.9-x1-at25をダウンロードした後、
> > ATDE7に入れて上記の手順通り行いましたが同じように以下のエラーが発生しました。
> > ・linux-4.9-x1-at25をダウンロードし何も変更をしていない状態でビルドしても同じ
> > ・drivers/やarch/arm/boot/dts/やmenuconfigの変更部分を実装しビルドして同じ
> >
> >  linux-4.9-x1-at25で何も変更していない状態でビルド実行時エラーのログです。
> >  make[1]: *** 'firmware/ti-connectivity/TIInit_11.8.32.bts.gen.o' に必要なターゲット '/lib/firmware/ti-connectivity/TIInit_11.8.32.bts' を make するルールがありません. 中止.
> >  Makefile:1008: ターゲット 'firmware' のレシピで失敗しました
> >  make: *** [firmware] エラー 2
> >
> > 以上です。宜しくお願い致します。
> >
> >
> > > 入江です。
> > >
> > > > LD drivers/usb/core/built-in.o
> > > > LD drivers/usb/built-in.o
> > > > LD drivers/built-in.o
> > > > make[1]: *** 'firmware/ti-connectivity/TIInit_11.8.32.bts.gen.o' に必要なターゲット '/lib/firmware/ti-connectivity/TIInit_11.8.32.bts' を make するルールがありません. 中止.
> > > > Makefile:1008: ターゲット 'firmware' のレシピで失敗しました
> > > > make: *** [firmware] エラー 2
> > >
> > > ビルド環境にATDEを使用していますでしょうか?
> > >
> > > もし使用していなければ、Armadillo-X1のDebianのバージョンが、
> > > busterであればATDE8、stretchであればATDE7の最新版をご使用ください。
> > >
> > > 各ATDEのダウンロードは以下から可能です。
> > > https://armadillo.atmark-techno.com/guide/atde
> > >
> > > ATDEのセットアップ方法は以下を参照してください。
> > > https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manu…

溝渕です。

> これを行った時に何かログ上で違いは出力されますか?
> DEBUGが適用されているか確認をしたいです。

[armadillo]# dmesg | grep hub

とすると、次のいずれかが出力されるようになっていると思います。

"enabling power on all ports\n"
"trying to enable port power on non-switchable hub\n"

また、カーネルイメージの更新が適切にできているかどうかは、以下のコマンドを入力して出力されるビルドタイムを確認してみてください。

[armadillo]# uname -a

表示される時刻が、カーネルイメージをビルドした時間になっている場合は正常です。

溝渕様

ありがとうございます。

確認してみましたが期待する情報は出てきませんでした。
手順として
・linux-4.9-x1-at25/drivers/usb/core/hub.cをviで開き、指定の場所に”#define DEBUG"を追記
・以下コマンドでビルド
 make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm
 make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm LOADADDR=0x80008000 uImage
・終了後、mmcblk2p1をmountしてarch/arm/boot/uImageをarmadillo-x1のmmcblk2p1にコピーしumount
このとき、boot/のuImageのタイムスタンプが現在時刻になっていることを確認済み
・リブート

手順が間違っているなどございますか?

> 溝渕です。
>
> > これを行った時に何かログ上で違いは出力されますか?
> > DEBUGが適用されているか確認をしたいです。
>
>

> [armadillo]# dmesg | grep hub
> 

>
> とすると、次のいずれかが出力されるようになっていると思います。
>
> "enabling power on all ports\n"
> "trying to enable port power on non-switchable hub\n"
>
> また、カーネルイメージの更新が適切にできているかどうかは、以下のコマンドを入力して出力されるビルドタイムを確認してみてください。
>
>

> [armadillo]# uname -a
> 

>
> 表示される時刻が、カーネルイメージをビルドした時間になっている場合は正常です。
>

溝渕です。

> ・linux-4.9-x1-at25/drivers/usb/core/hub.cをviで開き、指定の場所に”#define DEBUG"を追記

”#define DEBUG"は、hub.cの一番上に追記してもらえますか。

console関連のヘッダファイルをincludeする前に追加しなければ期待した動作はしません。

溝渕様

ありがとうございます。
include前に入れたところ期待するログがでました。
これで再現試験を実施致します。

****@armadillo:~$ dmesg | grep hub
[ 0.347551] usbcore: registered new interface driver hub
[ 2.178197] usb3503 3-0008: usb3503_probe: probed in hub mode
[ 2.246663] hub 1-0:1.0: USB hub found
[ 2.249153] hub 1-0:1.0: 1 port detected
[ 2.251826] hub 1-0:1.0: standalone hub
[ 2.251832] hub 1-0:1.0: individual port power switching
[ 2.251839] hub 1-0:1.0: individual port over-current protection
[ 2.251845] hub 1-0:1.0: Single TT
[ 2.251853] hub 1-0:1.0: TT requires at most 8 FS bit times (666 ns)
[ 2.251859] hub 1-0:1.0: power on to power good time: 20ms
[ 2.251906] hub 1-0:1.0: local power source is good
[ 2.252032] hub 1-0:1.0: enabling power on all ports
[ 2.296558] hub 2-0:1.0: USB hub found
[ 2.299042] hub 2-0:1.0: 1 port detected
[ 2.301705] hub 2-0:1.0: standalone hub
[ 2.301711] hub 2-0:1.0: individual port power switching
[ 2.301717] hub 2-0:1.0: individual port over-current protection
[ 2.301723] hub 2-0:1.0: Single TT
[ 2.301731] hub 2-0:1.0: TT requires at most 8 FS bit times (666 ns)
[ 2.301737] hub 2-0:1.0: power on to power good time: 20ms
[ 2.301781] hub 2-0:1.0: local power source is good
[ 2.301905] hub 2-0:1.0: enabling power on all ports
[ 2.361730] hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
[ 2.361755] hub 1-0:1.0: hub_suspend
[ 2.408651] hub 1-0:1.0: hub_resume
[ 2.522501] hub 1-0:1.0: state 7 ports 1 chg 0002 evt 0000
[ 2.522631] hub 2-0:1.0: state 7 ports 1 chg 0002 evt 0000
[ 3.075814] hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0002
[ 4.421760] hub 2-0:1.0: port_wait_reset: err = -11
[ 5.741388] hub 2-0:1.0: state 7 ports 1 chg 0000 evt 0002
[ 5.742024] hub 2-0:1.0: hub_suspend
> 溝渕です。
>
> > ・linux-4.9-x1-at25/drivers/usb/core/hub.cをviで開き、指定の場所に”#define DEBUG"を追記
>
> ”#define DEBUG"は、hub.cの一番上に追記してもらえますか。
>
> console関連のヘッダファイルをincludeする前に追加しなければ期待した動作はしません。
>

溝渕です。

> include前に入れたところ期待するログがでました。

良かったです。最初に伝えた情報に誤りがあり、申し訳ございませんでした。

> これで再現試験を実施致します。

宜しくお願いします。

同じ症状か確定は出来ませんがDEBUGログに出力されましたので更新します。
ログを以下に記載します。お手数をお掛けしますがご教示ください。

04:04:52 armadillo kernel: hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0002
04:04:52 armadillo kernel: usb usb1-port1: status 0100, change 0003, 12 Mb/s
04:04:52 armadillo kernel: usb 1-1: USB disconnect, device number 5
04:04:52 armadillo kernel: usb 1-1: unregistering device
04:04:52 armadillo systemd-udevd[6911]: inotify_add_watch(9, /dev/sda, 10) failed: No such file or directory
04:04:52 armadillo systemd[1]: Unmounting /media/usbmem...
04:04:52 armadillo systemd-udevd[6906]: could not open moddep file '/lib/modules/4.9.133-at15/modules.dep.bin'
04:04:52 armadillo systemd[1]: Unmounted /media/usbmem.
04:04:52 armadillo kernel: usb usb1-port1: debounce total 100ms stable 100ms status 0x100
04:04:52 armadillo kernel: hub 1-0:1.0: hub_suspend
04:04:52 armadillo kernel: usb usb1: usb wakeup-resume
04:04:52 armadillo kernel: hub 1-0:1.0: hub_resume
04:04:52 armadillo kernel: usb usb1-port1: status 0101 change 0001
04:04:52 armadillo kernel: hub 1-0:1.0: state 7 ports 1 chg 0002 evt 0000
04:04:52 armadillo kernel: usb usb1-port1: status 0101, change 0000, 12 Mb/s
04:04:52 armadillo kernel: usb 1-1: new high-speed USB device number 6 using ci_hdrc
04:04:53 armadillo kernel: usb 1-1: udev 6, busnum 1, minor = 5
04:04:53 armadillo kernel: usb-storage 1-1:1.0: USB Mass Storage device detected
04:04:53 armadillo kernel: scsi host0: usb-storage 1-1:1.0
04:04:53 armadillo kernel: hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0002
04:04:54 armadillo kernel: scsi 0:0:0:0: Direct-Access Verbatim ToughMax PMAP PQ: 0 ANSI: 6
04:04:54 armadillo kernel: sd 0:0:0:0: [sda] 60604416 512-byte logical blocks: (31.0 GB/28.9 GiB)
04:04:54 armadillo kernel: sd 0:0:0:0: [sda] Write Protect is off
04:04:54 armadillo kernel: sd 0:0:0:0: [sda] Mode Sense: 45 00 00 00
04:04:54 armadillo kernel: sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
04:04:54 armadillo systemd-udevd[6999]: could not open moddep file '/lib/modules/4.9.133-at15/modules.dep.bin'
04:04:54 armadillo kernel: sda: sda1
04:04:54 armadillo kernel: sd 0:0:0:0: [sda] Attached SCSI removable disk
04:04:54 armadillo systemd[1]: media-usbmem.mount: Directory /media/usbmem to mount over is not empty, mounting anyway.
04:04:54 armadillo systemd[1]: Mounting /media/usbmem...
04:04:54 armadillo kernel: FAT-fs (sda1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
04:04:54 armadillo systemd[1]: Mounted /media/usbmem.

> 溝渕です。
>
> > include前に入れたところ期待するログがでました。
>
> 良かったです。最初に伝えた情報に誤りがあり、申し訳ございませんでした。
>
> > これで再現試験を実施致します。
>
> 宜しくお願いします。
>

お世話になります。
ログについて上げさせていただいたのですがご回答は如何でしょうか?
知りたい内容としてはUSBメモリを抜かずに電源も切らない状況で
発生したDEBUGログはどのような要因が考えられるかご教示頂きたいです。

> 同じ症状か確定は出来ませんがDEBUGログに出力されましたので更新します。
> ログを以下に記載します。お手数をお掛けしますがご教示ください。
>
> 04:04:52 armadillo kernel: hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0002
> 04:04:52 armadillo kernel: usb usb1-port1: status 0100, change 0003, 12 Mb/s
> 04:04:52 armadillo kernel: usb 1-1: USB disconnect, device number 5
> 04:04:52 armadillo kernel: usb 1-1: unregistering device
> 04:04:52 armadillo systemd-udevd[6911]: inotify_add_watch(9, /dev/sda, 10) failed: No such file or directory
> 04:04:52 armadillo systemd[1]: Unmounting /media/usbmem...
> 04:04:52 armadillo systemd-udevd[6906]: could not open moddep file '/lib/modules/4.9.133-at15/modules.dep.bin'
> 04:04:52 armadillo systemd[1]: Unmounted /media/usbmem.
> 04:04:52 armadillo kernel: usb usb1-port1: debounce total 100ms stable 100ms status 0x100
> 04:04:52 armadillo kernel: hub 1-0:1.0: hub_suspend
> 04:04:52 armadillo kernel: usb usb1: usb wakeup-resume
> 04:04:52 armadillo kernel: hub 1-0:1.0: hub_resume
> 04:04:52 armadillo kernel: usb usb1-port1: status 0101 change 0001
> 04:04:52 armadillo kernel: hub 1-0:1.0: state 7 ports 1 chg 0002 evt 0000
> 04:04:52 armadillo kernel: usb usb1-port1: status 0101, change 0000, 12 Mb/s
> 04:04:52 armadillo kernel: usb 1-1: new high-speed USB device number 6 using ci_hdrc
> 04:04:53 armadillo kernel: usb 1-1: udev 6, busnum 1, minor = 5
> 04:04:53 armadillo kernel: usb-storage 1-1:1.0: USB Mass Storage device detected
> 04:04:53 armadillo kernel: scsi host0: usb-storage 1-1:1.0
> 04:04:53 armadillo kernel: hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0002
> 04:04:54 armadillo kernel: scsi 0:0:0:0: Direct-Access Verbatim ToughMax PMAP PQ: 0 ANSI: 6
> 04:04:54 armadillo kernel: sd 0:0:0:0: [sda] 60604416 512-byte logical blocks: (31.0 GB/28.9 GiB)
> 04:04:54 armadillo kernel: sd 0:0:0:0: [sda] Write Protect is off
> 04:04:54 armadillo kernel: sd 0:0:0:0: [sda] Mode Sense: 45 00 00 00
> 04:04:54 armadillo kernel: sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
> 04:04:54 armadillo systemd-udevd[6999]: could not open moddep file '/lib/modules/4.9.133-at15/modules.dep.bin'
> 04:04:54 armadillo kernel: sda: sda1
> 04:04:54 armadillo kernel: sd 0:0:0:0: [sda] Attached SCSI removable disk
> 04:04:54 armadillo systemd[1]: media-usbmem.mount: Directory /media/usbmem to mount over is not empty, mounting anyway.
> 04:04:54 armadillo systemd[1]: Mounting /media/usbmem...
> 04:04:54 armadillo kernel: FAT-fs (sda1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
> 04:04:54 armadillo systemd[1]: Mounted /media/usbmem.
>
>
> > 溝渕です。
> >
> > > include前に入れたところ期待するログがでました。
> >
> > 良かったです。最初に伝えた情報に誤りがあり、申し訳ございませんでした。
> >
> > > これで再現試験を実施致します。
> >
> > 宜しくお願いします。
> >

入江です。

回答が遅くなってしまい大変申し訳ございません。

新たに頂いたログからも原因を特定するに至っていません。

つきましては、以下の2点についてご確認願えますでしょうか。

・現在ご使用のUSBメモリの詳細
・別なUSBメモリを使用した際に同様の現象が発生するか

お手数おかけしますが、よろしくお願いいたします。

使用しているメモリは以下になります。
・Verbatim ToughMax 32GB

上記USBメモリを複数用意して同時確認しているのですがそれにはDEBUGログは発生せず、umountもされておりませんでした。
また、別のBuffaloやelecomのUSBメモリを使用して1カ月以上連続で確認していますがumountされた形跡はありません。

> 入江です。
>
> 回答が遅くなってしまい大変申し訳ございません。
>
> 新たに頂いたログからも原因を特定するに至っていません。
>
> つきましては、以下の2点についてご確認願えますでしょうか。
>
> ・現在ご使用のUSBメモリの詳細
> ・別なUSBメモリを使用した際に同様の現象が発生するか
>
> お手数おかけしますが、よろしくお願いいたします。
>

入江です。

> 上記USBメモリを複数用意して同時確認しているのですがそれにはDEBUGログは発生せず、umountもされておりませんでした。
> また、別のBuffaloやelecomのUSBメモリを使用して1カ月以上連続で確認していますがumountされた形跡はありません。

つまり、特定のあるひとつのUSBメモリでのみこの現象は発生している、ということでしょうか。

また、その現象が発生しているArmadilloで、発生しないUSBメモリを使用するとどうなりますでしょうか。
この現象が特定のArmadilloと特定のUSBメモリのどちらに付いて回るのかが気になっています。

以上、ご確認のほどよろしくお願いいたします。