RaspberryPiで使用しているHuaweiE353モデムがあります。
プラグを差し込むと、ttyUSB0、ttyUSB1、ttyUSB2の3つのTTYが表示されます。
ただし、モデムインターフェイス(Hayes-type ATコマンドを発行できる場所)がttyUSB0にある場合と、ttyUSB1にある場合があります。
違いを生む共通の要因を見つけることができません。確かではありませんが、同じPiで常に同じことを行うようです(または同じドングル-それぞれがいくつかあり、さまざまな組み合わせを試す機会があまりありませんでした) 。
誰かがttyの番号付けに影響を与えるものを提案できますか?
あなたが抱えている問題はHuaweiデバイスに固有のものではありません(したがって、タイトルからそれを削除すると、より良い応答が得られる可能性があります)。
この問題は、デバイスの検出と、システムがすでにインストールされていると見なすものに関係しています。解決策は、適切なUDEVルールを作成して、デバイスが常に特定のハードウェアとして認識され、同じインターフェイスが割り当てられるようにすることです。
詳細はディストリビューションによってわずかに異なりますが、通常はlsusbを使用してデバイスの一意の属性を検索し、udev構成ファイルでそれらの属性に一致するように行をコーディングすることを意味します。グーグルはここであなたの友達です-グーグルudev試行ルール[配布]はあなたが必要とする詳細をあなたに与えるはずです。
すべてのデバイス番号(ハードディスク、ttyなど)は、ランダムな順序で発生する可能性があるため、信頼性が低く、一貫性のないアクセスブートと見なす必要があります。
lsusb
とdmesg
を見て、ttyがどのように作成されるかの詳細を確認してから、適切なudev
ルールを記述して、信頼できる定数名のシンボリックリンクを作成します。
編集:
はい、これは1つのドライバーで処理される1つのデバイスであり、3つのttyを生成することを完全に理解しました。 lsusb
の出力ではそれらを区別できません(ただし、dmesg
で何が起こっているかを識別するために必要なベンダー/デバイスIDを確認できます)が、私は特徴的なudev属性を見つけることができると確信しています。
dmesg
に何もない場合(ありそうもない)、
udevadm info -a -p $(udevadm info -q path -n /dev/ttyUSB0)
デバイスパスをたどって属性を確認し、
udevadm monitor --udev --property
デバイスを接続したときにudev
が何をしていると考えているかを知るため。