Как обнаружить физическое связанное состояние сетевого кабеля / коннектор?

У вас нет. Диалоговое окно, отображаемое через MsgBox, использует шрифт, который настроен для системных диалогов. Если вам нужен специальный диалог, вам нужно создать пользовательский диалог, например. , как это :

Sub CustomMsgBox(msg)
  Set ie = CreateObject("InternetExplorer.Application")
  ie.Navigate "about:blank"

  While ie.ReadyState <> 4 : WScript.Sleep 100 : Wend

  ie.ToolBar   = False
  ie.StatusBar = False
  ie.Width     = 300
  ie.Height    = 120

  ie.document.body.innerHTML = "

" & msg & "

" & _ "

" & _ "

" Set style = ie.document.CreateStyleSheet style.AddRule "p.msg", "font-family:times new roman;font-weight:bold;" style.AddRule "p.ctrl", "text-align:rightf;" ie.Visible = True On Error Resume Next Do While ie.Document.all.OK.value = 0 WScript.Sleep 200 Loop ie.Quit End Sub

136
задан Jeach 30 April 2009 в 20:11
поделиться

4 ответа

Вы хотите посмотреть на узлы в

/sys/class/net/

, на которых я экспериментировал с моим:

Провод подключен:

eth0/carrier:1
eth0/operstate:unknown

Провод удален:

eth0/carrier:0
eth0/operstate:down

Провод подключен снова:

eth0/carrier:1
eth0/operstate:up

Дополнительный прием: сбор всех свойств одним простым способом:

grep "" eth0/* 

Это формирует хороший список пар ключ: значение .

214
ответ дан 23 November 2019 в 23:26
поделиться

Так или иначе, если Вы хотите проверить, включил ли кабель Ethernet Linux после рекомендования": ifconfig eth0 вниз". Я нахожу решение: используйте ethtool инструмент.

#ethtool -t eth0
The test result is PASS
The test extra info:
Register test  (offline)         0
Eeprom test    (offline)         0
Interrupt test (offline)         0
Loopback test  (offline)         0
Link test   (on/offline)         0

, если кабель соединен, тестирование канала 0, иначе 1.

0
ответ дан 23 November 2019 в 23:26
поделиться

В большинстве современных дистрибутивов Linux для этого используется NetworkManager . Вы можете использовать D-BUS для прослушивания событий.

Если вы хотите, чтобы инструмент командной строки проверял состояние, вы также можете использовать mii-tool , учитывая, что вы имеете в виду Ethernet.

3
ответ дан 23 November 2019 в 23:26
поделиться

Вы можете использовать ethtool :

$ sudo ethtool eth0
Settings for eth0:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Advertised auto-negotiation: Yes
    Speed: 1000Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: on
    Supports Wake-on: umbg
    Wake-on: g
    Current message level: 0x00000007 (7)
    Link detected: yes

Чтобы получить только статус Link, вы можете использовать grep:

$ sudo ethtool eth0 | grep Link
    Link detected: yes
82
ответ дан 23 November 2019 в 23:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: