SSH接続を介して特定のCOMに接続されているデバイスモデルを確認する方法

SSH接続を介して特定のCOMに接続されているデバイスモデルを確認する方法

リモートコンピュータにSSHを介して接続し、特定のCOMポートに接続されているデバイスのモデルを確認しようとしています。

いくつかのコマンドを試しましたが、SSH接続を使用しているかアクセスしているコンピュータにこのコマンドを実行するためのモジュールがインストールされていないため、機能しません。

これまで私は次のことを試しました。

dmesg

lspci

lsblk

lsusb

コマンドとして認識されるのはdmesgですが、私が望む情報を提供せずにlspciが知らないデバイスメッセージをたくさん印刷します。

正直言って、私はそれが不可能だと考え始めました。また、SSHを介して接続されているシステムにモジュールをインストールせずにこれを行う必要があります。

ベストアンサー1

さて、それはあなたのPCが重要ではなく、COMポートに接続された不思議なデバイスであるということですか?

lsserial残念ながら、COMポートは自動的に提供されるメタデータを持たない非常に低レベルの接続であるため、100%信頼性でデバイスを識別するのに役立つ情報を直接提供できるような汎用ツールはありません。

通信しているソフトウェアを識別できない場合(fuser /dev/ttyS*表示されたPIDのプロセス情報を使用してインポート)、手がかりとして使用するか、プロセスがデバイスを積極的に使用していない場合は「会話」を試みる必要があります。 @mosvyが示すように、デバイスが一般的なプロトコルに応答していることを確認してください。

cutecomCOMポートに接続されているデバイスを使用している場合、minicomまたは同様のシリアルポート指向のターミナルエミュレータがインストールされている可能性がありますseyon。既存のUUCPシリアルポートユーティリティもcu 便利です。使用されているトレースまたは既存の構成ファイルが見つかった場合は、使用されているシリアルポートパラメータを見つけることができます。そうしないと、多くの試行錯誤が必要になる可能性があります。

モデムは通常「AT」に「OK」と応答しEnter、通常はCOMポート速度を自動的に検出します。基本通信が確立されると、ATI1 Enter他のATIコマンドをインクリメントする数値として使用して、モデムから基本識別情報を取得できます。

GPSタイムレシーバーやUPSなどのデバイスは、独自にいくつかのデータを定期的に出力することができ、1200bpsほど低い速度を使用できます。スイッチ、ルーター、および同様のネットワークハードウェアは通常、9600bps、38400bps、115200bpsなどのポートレートを使用して認識可能なログインプロンプトを表示できます。もう1つのバリエーションは、ハードウェアハンドシェイク(RTS / CTSおよび/またはDSR / DTR)が必要かどうかです。ビット/パリティの組み合わせの場合、最も一般的なのは8n1です。これは8つのデータビット、パリティなし、1つのストップビットです。

rootまた、以前にCOMポートに関連して使用されていた特別なコマンドに対してユーザーのシェル履歴ファイルを確認するなど、より間接的なアプローチを試すこともできます。

現場の誰かに識別情報(メーカーのロゴやモデル番号など)がはっきりと見えるデバイスの写真を撮るなど、実際にCOMポートケーブルの端にあるデバイスを確認してください。これが簡単なことなのか聞いています。

プリンタはおそらくCOMポートを介してリモートで識別するのが最も難しいでしょう。たとえば、Epson ESC / Pプリンタのコマンド言語には、ステータスを読み取るためのコマンドがまったく含まれていないようです。プリンタがPCLを理解するならば、おそらくPJLも理解するでしょう。この場合、次のことを試すことができます。

(exec <>/dev/ttySn; stty sane; printf "\e%-12345X@PJL INFO ID\n" >&0; cat)

プリンタがPJLを認識したら、モデルIDで応答する必要があります。単語をIDまたはに置き換えると、プリンタからより多くの情報を取得できます。CONFIGVARIABLES

おすすめ記事