値は、/sys/class/net/ethX/carrier
コンピュータが接続されていることを確認するために使用できます。
ハブ/スイッチに接続されている別のコンピュータであることを確認できます(これにはクロスオーバーケーブルまたは「クロスオーバー」自体をサポートするネットワークインターフェイスが必要です)。
修正する:
回答を読んだ後(ありがとう!)より具体的なユースケースを提供すると、質問の意図を明確にするのに役立ちます。
アイデアは、2つの動作「モード」をサポートするデバイスを持つことです。
- 一般 - 例:スイッチに接続されている場合
- 設定 - たとえば、クロスオーバーケーブルではなく通常のケーブルを使用してコンピュータに直接接続する場合、通常動作するにはクロスオーバーケーブルが必要です。
設定モードでは、デバイスはDHCPサーバーを起動し、「通常」モードでは許可されていないパラメータ設定を許可できます。
その場合、問題は、デバイス自体がコンピュータに接続されていることを検出し、そのように通常モードから設定モードに切り替えることができるかどうかです。 (ユーザーが一般ケーブルを使用すると仮定すると、クロスオーバーケーブルというものがあるという事実さえ知らない可能性が高いからです...)
答え1
これが意味するなら、イーサネットにはどのようなクライアント/サーバーもありません。スイッチへの接続と他のコンピュータへの接続には実際の違いはありません。
クロスオーバーケーブルは、スイッチのピンが後ろから前方に接続され、コンピュータが話している行で聞き、コンピュータが聞く線で会話するために必要です。コンピュータをコンピュータに接続するには、スイッチを接続するケーブルが必要です。上。
目立つハブには非常に微妙な違いがあります。ハブは何らかの方法でパケットを解釈しないため、各パケットを他のすべてのデバイスに転送するため、パケットが別のコンピュータの(mac)アドレスを指定するコンピュータに送信されていることを検出できます。
答え2
クロスオーバーケーブルが使用されているかどうかをソフトウェアで直接確認する方法はありません。ハードウェアに関する限り差がないからです(まったく動作すると仮定)。ホストスイッチング接続にはクロスオーバーは必要ありません。スイッチ - スイッチまたはホスト - ホスト接続にはクロスオーバーが必要です。ただし、現在のイーサネット規格によれば、両端がそのポートで自動的にクロスオーバーを有効にすることができます。したがって、a)これらの組合せのうちの1つであり、b)いずれも自動交差が活性化されていない場合を除いては不明である。
交差が必要ですが使用されていないため、ポートが内部交差が必要であることを検出することを確認できます。
ケーブルの両側のデバイスタイプ(ホスト対スイッチ)を見て、どちらも自分のポートでクロスオーバーを有効にしないことを確認して、クロスオーバーが使用されているかどうかを推測できますが、通常この情報はとにかく利用できません。だから、まだ不可能かもしれません。
答え3
ethtool
NICのMDI / Xモードの行を表示します。テストしたシステムでは不明とマークされていますが、機能するようです。一部システム。
しかし、それは役に立ちません。ローカルのクロスリンクが見えても、他のホストへのストレートケーブルがあるのか、スイッチにクロスオーバーケーブルがあるのかはまだわかりません。ネイティブクロスオーバーが表示されない場合、リモコンがクロスオーバーモードになったかどうかはわかりません。
ところで、センシングケーブルがどのような用途に使われるのか知りたいです。ほとんどすべてのデバイスはAuto MDI / Xをサポートし、ケーブルの詳細はケーブルの長さなど、非常に重要ではない低レベルの詳細です。
また、コンピュータがほとんどプライベートスイッチのようにブリッジとして機能し、コンピュータがスイッチに接続できるので、(直接物理リンクを介して)スイッチに接続されているか、コンピュータに接続されているかを知ることもあまり意味がありません。 SSHを使用するスイッチ。
DHCP や Zeroconf などを使用する必要があるかどうかを判断する場合は、同様の理由で物理リンクに基づいて決定を下すことはできません。スイッチに接続されている場合、DHCP サーバーも接続されている場合と接続されない場合があります。コンピュータに接続すると、反対側の端が実行されている場合と実行されない場合があります。したがって、直接接触よりも高いレベルで決定を下す必要があります。
答え4
ethtool
MDI-Xの状態を表示できます。
...
Speed: 1000Mb/s
Duplex: Full
Auto-negotiation: on
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
MDI-X: on (auto)
...
しかし、他の人が指摘したように、これはローカルコンピュータの状態にすぎず、他のコンピュータがどのケーブルまたはMDI-X状態を使用しているかを知る方法はありません。
ethtool
デフォルトの自動MDIXの代わりにMDIXを強制的にオンまたはオフにすることができます。
ethtool -s devname [mdix auto|on|off]
これにより、接続が確立できることを確認できます。状態に関係なく接続が成功すると、他のコンピュータは自動MDI-Xをサポートします。
気づくみんな ギガビットイーサネットデバイスは自動MDI-Xをサポートします。
ケーブルがストレートであるかクロスオーバーであるかをテストするには、手頃な価格のRJ45ケーブルテスターを使用できます。