最終更新:2023-04-24 (月) 12:21:13 (360d)  

Linux/USBガジェット/configfs

configfsを使ってLinux USBガジェットを設定するAPI

概要

ドキュメント

資料

ABI

依存

フィールドの定義

  • __CONFIGFS_ATTR_RO?
  • CONFIGFS_ATTR?

ディレクトリ構造

  • modprobe libcomposite
    mount none cfg -t configfs
    
    mkdir cfg/usb_gadget/g1
    cd cfg/usb_gadget/g1
    
    #デバイスの設定
    echo "0x05e8" > idVendor
    echo "0xa4a1" > idProduct
    ...
    
    #ファンクションの設定
    mkdir functions/acm.GS0
    mkdir functions/acm.GS1
    mkdir functions/ecm.usb0
    
    #コンフィグレーションの設定
    ...

有効化

  • $ echo <udc name> > UDC

無効化

  • $ echo "" > UDC

Linux/USBガジェット/ファンクション

作成

  • mkdir functions/acm.GS0
    mkdir functions/acm.GS1
    mkdir functions/ecm.usb0

一覧

ソースコード

ライブラリ

  • gadgetd?

FunctionFS

  • delegate function implementation to userspace.
  • configfs:usb_gadget/gadget/functionffs/ffs.ptp

実装に使ってる構造体

  • usb_function_instance?

実装に使ってる関数

  • usb_os_desc_prepare_interf_dir?

実装

最初のコミット (Linux 3.10)

関連

参考