Arduinoを短絡すると、Linuxが問題を検出し、ポートを無効にしますか? Mabookは警告を表示し、デバイスを無効にします。
答え1
短絡保護はUSBインタフェースのハードウェア機能です。 USB 2.0 s7.1.1 と呼ばれる
USBトランシーバは、パフォーマンスを低下させることなく、少なくとも24時間、コネクタのD +および/またはD-がVBUS、GND、その他のデータラインまたはケーブルシールドの継続的な短絡に耐えることができなければなりません。
USBトランシーバハードウェアがLinuxに短絡状態を報告すると、Linuxは短絡状態を報告します。バラよりソース/ドライバ/usb/core/hub.c:port_event()。この場合、Linuxは0.1〜0.5秒間ポートにデータを送信し、短く均一な消滅時間を提供し、過電流状態が続くとポートを無効にします。
あなたならどうでしょうか?開発するwHubCharacteristics
USBハードウェアコンピュータが仕様内で動作するUSBトランシーバに依存するのではなく、USB電源ハブ(過電流保護、USBのプロパティを参照)を犠牲デバイスとして使用して、より高価なコンピュータを保護することもできます。一部のUSB設計では、過電流保護は次のように実装されています。マルチヒューズこれらのトリガーイベントは数に制限されており、操作を再開するのに時間がかかる場合があります。おそらく他のハブと交換するのに時間を費やし、デバイス開発を続ける方が良いでしょう。
USBデバイスが接続されると、Linuxは推奨USB設定がポートの現在の定格を超えていることを確認します(参照:ドライバ/usb/コア/generic.c:usb_choose_configuration())、しかしこれはエラーではなく条件のためであり、デバイスがソフトウェアに必要なものよりも多くの電流を消費しないと仮定することができます。