Armadilloフォーラム

Armadillo-440 USBメモリの利用可否

i-kiima

2021年6月9日 22時08分

東京計器の紀伊馬と申します。

Armadillo-440にて、利用できる/できないUSBメモリの差についてご教示いただきたく投稿します。

Armadillo-440には、
 linux-a400-2.08.bin.gz
 romfs-a440-2.04.img.gz
を書き込んでいます。

手元ににあるBUFFALO社の2つのUSBメモリ
 RUF3-C 16GB (以下、-Cといいます)
 RUF3-KS 16GB (以下、-KSといいます)
をArmadilloにさすと、-Cは利用できますが、-KSは利用できません。

-Cは、fdiskでパーティション構成が見えますが、-KSはアクセスできません。
ターミナルログを添付します。
 起動後、rootでログイン
 -Cをさして、fdiskで確認
 -Cを抜き、-KSをさして、fdiskタイプ後しばらく放置

別PCでUbuntu20.04を起動し、fdiskで確認したところ、大差ありません。

-C
----------------------------------------------------------------
ディスク /dev/sdb: 14.39 GiB, 15443427328 バイト, 30162944 セクタ
Disk model: USB Flash Disk
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: dos
ディスク識別子: 0x2a55821e

デバイス 起動 開始位置 最後から セクタ サイズ Id タイプ
/dev/sdb1 8192 30162943 30154752 14.4G c W95 FAT32 (LBA)
----------------------------------------------------------------

-KG
----------------------------------------------------------------
ディスク /dev/sdb: 14.46 GiB, 15518924800 バイト, 30310400 セクタ
Disk model: USB Flash Disk
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: dos
ディスク識別子: 0x48cc907d

デバイス 起動 開始位置 最後から セクタ サイズ Id タイプ
/dev/sdb1 8192 30310399 30302208 14.5G c W95 FAT32 (LBA)
----------------------------------------------------------------

-KGが利用できるようにしたいのですが、どのように追いかければよいか、
ご教示いただければ幸いです。

よろしくお願いいたします。

ファイル ファイルの説明
a440.log
コメント

ディスクリプタが読めていないので、この状態からOS側で得られる情報は無く
どちらかというと電力とUSBの信号そのものに疑問がありますね。

セルフパワーのUSBハブ(USBハブに別途ACアダプタで電力供給しているもの)と
バスパワーのUSBハブを経由した場合それぞれで改善するか確認することはできる
でしょうか。

セルフパワーの場合のみ改善するのであれば、VBUSの供給能力不足
(接続時の突入電力が大きすぎるデバイスの可能性等)が考えられます。
どちらの場合でも改善するのであれば、USBの信号そのものD+/D-の
品質やタイミング、もしくは初期化タイミングに問題がある可能性があります。

> セルフパワーの場合のみ改善するのであれば、VBUSの供給能力不足
> (接続時の突入電力が大きすぎるデバイスの可能性等)が考えられます。

このパタンについて少し考えてみたのですが、バスパワーハブでも
ハブの回路上のVBUSに大きめのコンデンサが乗っていれば、
改善してしまう可能性があるので、一概には言えませんね。

東京計器 紀伊馬です。
ご回答いただきありがとうございます。

確認はArmadilloのUSBポートに直にさしています。
手元のセルフパワーのHUBを介してみましたが、結果は同じでした。

手元には、-Cメモリは、8GB、16GB、-KSメモリは、16GB、32GB、64GBとあり、
Armadillo-440が2つあるのでそれぞれで試してみましたが、いずれの-440も、-Cの2つはアクセス可、-KSの3つはアクセス不可でした。

Armadillo-220、Armadillo-420が手元にあり、こちらで試したところ、上記5本のメモリすべてアクセス可能でした。
ファイルの読み書きもできています。-220、-420いずれもカーネルは2.6です。
-420にカーネル3を書くことも検討しましたが、現状の環境を保持しておきたいので試せていません。

カーネル3.14をデフォルト状態でコンフィグレーションしてカーネルおよびユーザランドを作成し
-440で試してみましたが結果は同じです。

他に見るべきポイント等ありましたら、ご助言いただければ幸いです。
あるシステムに使用しているのですが、USBメモリを選ぶシステムにはあまりしたくないので、
解決できればと思います。

よろしくお願いいたします。

> 手元のセルフパワーのHUBを介してみましたが、結果は同じでした。
ありがとうございます。

> Armadillo-220、Armadillo-420が手元にあり、こちらで試したところ、上記5本のメモリすべてアクセス可能でした。
> ファイルの読み書きもできています。-220、-420いずれもカーネルは2.6です。

逆にArmadillo-440はlinux-a400-2.08.bin.gzなので、3.14ということですね。
むしろ、その結果なのであれば、Armadillo-440に2.6.26カーネルを書いた場合は恐らく
420と同じく全てアクセス可能になると思うのですが、
もし機能的に問題ないのであれば440でもカーネル2.6.26を使うと、回避することが可能だとは
思います。(USBや電源系統の回路構成に440と420の間で差異はありません)

> 他に見るべきポイント等ありましたら、ご助言いただければ幸いです。
USBの上下段の違いで挙動が変わるかの確認、は思い当たりますが、
あとはUSBバスアナライザでハードウェア的に追った方が良い状況だと思います。

東京計器の紀伊馬です。
ご回答ありがとうございます。

-440でカーネル2.6.26を使ってみます。
(環境構築についてつまづいたら別途質問させていただきます)