Serial-Port

使用“screen”命令直接串列連接到路由器

  • August 18, 2019

問題:

我正在嘗試通過串列埠與路由器(在本例中為 MikroTik)建立直接串列連接。我嘗試了在Google搜尋的眾多連結中找到的格式:

sudo screen /dev/serialDevice baudRate

但是,這種形式的命令永遠不會成功。

當這些文章指示進入登錄提示時,我在命令後多次點擊“返回”,但無論我按多少次“Enter”,都不會顯示登錄提示。

簡短的回答:

我使用的命令形式screen是:

sudo screen /dev/(serialDevice) (baudRate) (TransmissionRate) (flowControl)

對於我的 MikroTik RB4011 路由器,我的成功screen命令如下所示:

sudo screen /dev/ttyUSB0 115200 cs8 ixoff

cs8路由器的比特率和ixoff無流量控制”在哪裡。路由器的串列連接詳細資訊(包括 115200 波特率)來自製造商使用者指南 PDF。

Linux 中串列電纜的設備名稱源自udevadm monitor我將電纜插入 Linux 主機時的輸出。

長答案:

雖然這個例子使用了 MikroTik 路由器,但它應該可以適應其他提供串列埠訪問的網路設備,只需稍作修改。

範例中使用的串列控制台電纜可在亞馬遜上找到,經證明可與 Linux 和 MikroTik 一起使用,無需任何特殊驅動程序

第一步:獲取設備的串口參數。

僅在您的筆記型電腦和路由器之間連接一條串列電纜是不夠的:您的筆記型電腦需要使用與其相同的設置與路由器通信。

在串列設備隨附的使用者指南中,製造商將發布串列連接參數。MikroTik 告訴我,對於此範例中的 RB4011:

“RJ45控制台埠,用於串列控制台訪問,預設設置為115200 bit/s,8個數據位,1個停止位,無奇偶校驗

此資訊將提供給第 3 步screen中的命令。

第 2 步:在 Linux 中找到串列電纜的邏輯

使用串列電纜在路由器和筆記型電腦之間建立物理連接後,我們必須找到電纜的邏輯screen端,因為 Linux 認為它作為目標提供給命令。

在將串列電纜插入 Linux 主機的 USB 埠之前執行以下命令:

udevadm monitor

實時回饋(為便於閱讀而在下方截斷)將滾動到您的螢幕上:

KERNEL[19223.032240] add      /devices/(SNIP)/1-1.3 (usb)
KERNEL[19223.037774] add      /devices/(SNIP)/1-1.3:1.0 (usb)
KERNEL[19223.037937] add      /devices/(SNIP)1-1.3:1.0/ttyUSB0 (usb-serial)
KERNEL[19223.041748] add      /devices/(SNIP)/1-1.3:1.0/ttyUSB0/tty/ttyUSB0 (tty)
UDEV  [19223.063696] add      /devices/(SNIP)/1-1.3 (usb)
UDEV  [19223.072384] add      /devices/(SNIP)/1-1.3:1.0 (usb)
UDEV  [19223.078189] add      /devices/(SNIP)/1-1.3:1.0/ttyUSB0 (usb-serial)
UDEV  [19223.101385] add      /devices/(SNIP/1-1.3:1.0/ttyUSB0/tty/ttyUSB0 (tty)

退出命令ctrl c

Linux 將我們的串列電纜視為:“ ttyUSB0 ”。我們將其作為第 3 步screen中的目標提供。

第三步:執行screen命令

現在我們已經確定了我們的串列設備旅館步驟 1的連接參數並在****步驟 2中辨識了串列電纜的邏輯設備,我們擁有了形成和執行screen命令以(最終)連接到路由器。

命令的形式為:

sudo screen /dev/(來自 udevadm 的設備名稱)(baudRate)(TransmissionRate)(flowControl

使用製造商的串列連接設置,我們將指定“8 位” cs8,因為 MikroTik 不使用流控制,我們將其設置為ixoff. 我們的命令現在如下所示:

sudo screen /dev/ttyUSB0 115200 cs8 ixoff

請注意,上述命令已知可與 MikroTik RB4011 一起使用,但您可能需要針對您的特定設備對其進行調整。man screen查看我範例中的替代設置。

代替 using screen,您可以使用minicom -s,但我覺得screen更直接,因為您可以只附加連接參數而無需通過單獨的設置菜單。

引用自:https://unix.stackexchange.com/questions/535906