インターフェース代替設定の設定方法

キランビラダー

USBFSIOCTL呼び出しを使用してインターフェイスの代替設定を設定しようとしています。

以下は私のコードスニペットです。

    int interface = 3;
    struct usbdevfs_ioctl command;
    struct usbdevfs_getdriver getdrv;

    getdrv.interface = interface;
    ret = ioctl(fd, USBDEVFS_GETDRIVER, &getdrv);
    if (ret < 0)
    {
            print((" get driver failed %d %d", ret, errno));
    }

    command.ifno = interface;
    command.ioctl_code = USBDEVFS_DISCONNECT;
    command.data = NULL;
    ret = ioctl(fd, USBDEVFS_IOCTL, &command);
    if (ret < 0)
    {
            print((" detach driver failed %d %d", ret, errno));
    }

   ret = ioctl(fd, USBDEVFS_CLAIMINTERFACE, &interface);
    if (ret < 0)
   {
            print(("claim interface failed %d %d", ret, errno));
   }

    si.interface = 3;
    si.altsetting = setZerobandwidth;
    ret = ioctl(fd, USBDEVFS_SETINTERFACE, &si);
    if (ret < 0)
    {
            print(("set interface ioctl failed %d %d", ret, errno));

    }

    ret = ioctl(fd, USBDEVFS_RELEASEINTERFACE, &interface);
    if (ret < 0)
   {
            print(("release interface ioctl failed %d %d", ret, errno));
   }

    command.ifno = interface;
    command.ioctl_code = USBDEVFS_CONNECT;
    command.data = NULL;

    ret = ioctl(fd, USBDEVFS_IOCTL, &command);

    if (ret < 0)
    {
            print(("attach driver ioctl failed %d %d", ret, errno));
    }

ただし、ret = ioctl(fd, USBDEVFS_SETINTERFACE, &si)正常に動作していますが、インターフェイスを解放すると、ret = ioctl(fd, USBDEVFS_RELEASEINTERFACE, &interface);代替設定が最初のaltsettingにリセットされます。

libusb API Docに従って、libusb_release_interfaceは代替設定を最初の代替設定にリセットします。私が従う必要のあるIOCTL呼び出しについて教えてください。

user10243916

alt settingから恒久的に変更することはできませんuser spaceこれは、から永続的に変更できますkernal space

エンドポイントの使用を閉じることをお勧めします。閉じると、カーネルはそれをゼロ帯域幅インターフェイスに設定します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

USBインターフェースの代替設定とは何ですか?

分類Dev

Dockerでのインターフェース設定の変更

分類Dev

設定なしのgrepciscoインターフェイス

分類Dev

参照によるインターフェース{}パラメータの設定

分類Dev

インターフェースタイプの設定値に反射を使用

分類Dev

Ubuntu、インターフェース設定を編集する方法

分類Dev

ネットワークインターフェイスの設定

分類Dev

Wi-FiDirectのインターフェースデバイス名を設定する方法

分類Dev

Kotlinで匿名インターフェースを設定する

分類Dev

Vagrantfileでの「準仮想化インターフェース」の設定

分類Dev

JpaRepositoryインターフェースでの@queryの設定(サブクエリ)

分類Dev

インターフェイスJavaを設定します

分類Dev

Mac OSXでルート固有のインターフェイスメトリックを設定する方法

分類Dev

インラインフォームのスタイルを設定する方法

分類Dev

インターネットアクセス用の特定のインターフェースを設定する

分類Dev

改造リクエストでインターフェースにパラメーターを設定する方法

分類Dev

Qtでウィジェットのフォントをスタイルシートで設定する方法は?

分類Dev

EventHandlerインターフェースのインスタンスをボタンのアクションとして設定する方法

分類Dev

正規表現の代替(流暢?)インターフェースの設計

分類Dev

フォームのスタイルを設定する方法

分類Dev

フルカレンダーheaderToolBarのスタイルを設定する方法

分類Dev

設定方法:ボタンの背景色にフォーカス

分類Dev

ネットワークインターフェイスカードのCSVファイルからAzureDN設定を設定します

分類Dev

インターフェイスを開かずにインデックス署名を設定する方法

分類Dev

ポインタの値の設定は、インターフェイスを介して機能しません{}

分類Dev

抽象データ型としての設定とインターフェイスとしての設定の違いは何ですか?

分類Dev

Xubuntu14.04ネットワークインターフェース設定

分類Dev

ガーディアン設定の秘密鍵の設定-フェニックス

分類Dev

PerlモジュールNet :: MQTT :: Simple(MQTTインターフェース)でClientIDを設定する方法は?

Related 関連記事

  1. 1

    USBインターフェースの代替設定とは何ですか?

  2. 2

    Dockerでのインターフェース設定の変更

  3. 3

    設定なしのgrepciscoインターフェイス

  4. 4

    参照によるインターフェース{}パラメータの設定

  5. 5

    インターフェースタイプの設定値に反射を使用

  6. 6

    Ubuntu、インターフェース設定を編集する方法

  7. 7

    ネットワークインターフェイスの設定

  8. 8

    Wi-FiDirectのインターフェースデバイス名を設定する方法

  9. 9

    Kotlinで匿名インターフェースを設定する

  10. 10

    Vagrantfileでの「準仮想化インターフェース」の設定

  11. 11

    JpaRepositoryインターフェースでの@queryの設定(サブクエリ)

  12. 12

    インターフェイスJavaを設定します

  13. 13

    Mac OSXでルート固有のインターフェイスメトリックを設定する方法

  14. 14

    インラインフォームのスタイルを設定する方法

  15. 15

    インターネットアクセス用の特定のインターフェースを設定する

  16. 16

    改造リクエストでインターフェースにパラメーターを設定する方法

  17. 17

    Qtでウィジェットのフォントをスタイルシートで設定する方法は?

  18. 18

    EventHandlerインターフェースのインスタンスをボタンのアクションとして設定する方法

  19. 19

    正規表現の代替(流暢?)インターフェースの設計

  20. 20

    フォームのスタイルを設定する方法

  21. 21

    フルカレンダーheaderToolBarのスタイルを設定する方法

  22. 22

    設定方法:ボタンの背景色にフォーカス

  23. 23

    ネットワークインターフェイスカードのCSVファイルからAzureDN設定を設定します

  24. 24

    インターフェイスを開かずにインデックス署名を設定する方法

  25. 25

    ポインタの値の設定は、インターフェイスを介して機能しません{}

  26. 26

    抽象データ型としての設定とインターフェイスとしての設定の違いは何ですか?

  27. 27

    Xubuntu14.04ネットワークインターフェース設定

  28. 28

    ガーディアン設定の秘密鍵の設定-フェニックス

  29. 29

    PerlモジュールNet :: MQTT :: Simple(MQTTインターフェース)でClientIDを設定する方法は?

ホットタグ

アーカイブ