web-dev-qa-db-ja.com

Huawei USB3Gモデムとttyの番号付け

RaspberryPiで使用しているHuaweiE353モデムがあります。

プラグを差し込むと、ttyUSB0、ttyUSB1、ttyUSB2の3つのTTYが表示されます。

ただし、モデムインターフェイス(Hayes-type ATコマンドを発行できる場所)がttyUSB0にある場合と、ttyUSB1にある場合があります。

違いを生む共通の要因を見つけることができません。確かではありませんが、同じPiで常に同じことを行うようです(または同じドングル-それぞれがいくつかあり、さまざまな組み合わせを試す機会があまりありませんでした) 。

誰かがttyの番号付けに影響を与えるものを提案できますか?

2
Tom

あなたが抱えている問題はHuaweiデバイスに固有のものではありません(したがって、タイトルからそれを削除すると、より良い応答が得られる可能性があります)。

この問題は、デバイスの検出と、システムがすでにインストールされていると見なすものに関係しています。解決策は、適切なUDEVルールを作成して、デバイスが常に特定のハードウェアとして認識され、同じインターフェイスが割り当てられるようにすることです。

詳細はディストリビューションによってわずかに異なりますが、通常はlsusbを使用してデバイスの一意の属性を検索し、udev構成ファイルでそれらの属性に一致するように行をコーディングすることを意味します。グーグルはここであなたの友達です-グーグルudev試行ルール[配布]はあなたが必要とする詳細をあなたに与えるはずです。

1
davidgo

すべてのデバイス番号(ハードディスク、ttyなど)は、ランダムな順序で発生する可能性があるため、信頼性が低く、一貫性のないアクセスブートと見なす必要があります。

lsusbdmesgを見て、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が何をしていると考えているかを知るため。

1
dirkt