Armadilloフォーラム

Armadillo-x1 USB-CDC-ECM

kamedatomonobu

2020年3月26日 20時17分

kamedatomonobuです。

Armadillo-x1のCON8の
47pin(D+),48pin(D-),49pin(GND),50pin(VBUS))を接続し、
USBデバイスとしてPCに接続し通信を行いたいです。

Armadillo-x1にて
USB gadget CDC-ECMを使用したいのですが、
使い方、設定手順などご教授頂けないでしょうか?

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

コメント

at_makoto.sato

2020年3月27日 16時37分

佐藤です。

弊社サイトで配布しているカーネルイメージ/カーネルソースではデフォルトで有効になっているので
dtsファイルの修正だけでよいかと思います。

armadillo_x1.dts ファイル(もしくはご自身で利用している dts ファイル) に以下を追記して Armadillo-X1 本体に書き込んでください。

&usbotg2 {
    dr_mode = "peripheral";
    status = "okay";
};

kamedatomonobu

2020年3月27日 17時45分

kamedatomonobuです。

回答ありがとうございました。
デフォルトで有効になっているのは、USBホストの設定かと思います。

USBデバイスとして使用したので、USB gadge の設定方法が知りたいです。 

カーネルコンフィグレーションにてg_ether gadgetを選択し、
PCと接続すると
「g_ether gadget: high-speed config #2: RNDIS」
と表示されましたが、
PC側は、USBシリアルデバイス(COM)として認識されており、
CDC-ECMとして認識されない状態です。

解決策ありましたらご教授お願い致します。

>
> 弊社サイトで配布しているカーネルイメージ/カーネルソースではデフォルトで有効になっているので
> dtsファイルの修正だけでよいかと思います。
>
> armadillo_x1.dts ファイル(もしくはご自身で利用している dts ファイル) に以下を追記して Armadillo-X1 本体に書き込んでください。
>

> &usbotg2 {
>     dr_mode = "peripheral";
>     status = "okay";
> };
> 

at_makoto.sato

2020年3月27日 18時16分

佐藤です。

> カーネルコンフィグレーションにてg_ether gadgetを選択し、
こちらを選択する画面で、下の方にスクロールしていくと

() CDC Composite Device (Ethernet and ACM)

という項目があるので、それを選択してみてもらえますでしょうか。
(デフォルトではこれが選択されています)

kamedatomonobu

2020年3月30日 19時56分

kamedatomonobuです。

回答ありがとうございました。
CDC Composite Device (Ethernet and ACM)を選択して
PCにつなげると添付の様に認識されました。

PC側にCDC-ECMと認識させるためには、
Armadillo側に何かミドルウェアが必要でしょうか?
ちなみに
他のデバイスをPCに接続すると「ほかのデバイス CDC-ECM」
と認識されました。
(USBの知識不足で申し訳ありませんがご教授お願いします。)

ファイル ファイルの説明
composite(ecm_acm).png

at_makoto.sato

2020年3月31日 17時29分

佐藤です。

windows では CDC-ECM をネイティブに認識するドライバは提供されていないようです。
(※)参考:https://rtos.com/wp-content/uploads/2017/10/USBX_Device_Stack_User_Guid…

以下に、RNDIS として認識させるための手順を示します。

Device Drivers
  -> USB support
    -> USB Gadget Support
        -> <*> USB Gadget Drivers
             (X)  Ethernet Gadget (with CDC Ehternet support)
              [*]       RNDIS support

windowsに接続するとUSBシリアルデバイス(COM)と認識されるので、
デバイスマネージャで認識されているシリアルデバイスを右クリックし、
ドライバの更新で以下のドライバを適用してみてください。
http://web1.moddevices.com/shared/mod-duo-rndis.zip