Virtual null modem — создание виртуальных com портов на локальном компьютере

Разводка

Нуль-модемный кабель

Разводка для DE-9

Разводка для DB-25

Наиболее сложная из разводок, с которой будет работать даже ПО, которое проверяет сигнал carrier detect (наличие-потеря несущей).

Назначение гнезда ГнездоDB-25 ГнездоDE-9 Направ-ление ГнездоDE-9 ГнездоDB-25 Назначение
Корпус FG 1 1 FG
Передача TxD 2 3 2 3 RxD
Приём RxD 3 2 3 2 TxD
Запрос передачи RTS 4 7 8 5 CTS
Готов к приёму CTS 5 8 7 4 RTS
Сигнальная земля SG 7 5 5 7 SG
Готовность модема DSR 6 6 4 20 DTR
Наличие несущего сигнала DCD 8 1
Готовность терминала DTR 20 4 1 8 DCD
6 6 DSR

Без контроля соединения

Простейшая разновидность последовательного кабеля — полное отсутствие контроля соединения. TxD на одном конце соединяется с RxD на другом, «земля» с «землёй» — итого три провода. Работает с ПО, которое не проверяет работу модема (например, с большинством игр) и с устройствами, которым не нужны линии управления модемом.

Замыкание управляющих сигналов на себя

Если ПО нужен именно модем и оно проверяет, есть ли связь, можно его обмануть, замкнув управляющие линии на своём же порту (RTS+CTS; DTR+DSR+DCD). Программа будет «думать», что соединение и аппаратное управление потоком данных есть.

Этот кабель только решает проблемы совместимости, по качеству связи он ничем не лучше предыдущего: при любой ошибке соединения связь разорвётся без видимой причины.

Частичное управление потоком

В этом кабеле линии RTS замкнут на свой же CTS и соединён с чужим DCD, а DTR — с чужим DSR. С соответствующим ПО такой кабель позволяет настроить связь на высоких частотах — до 115 килобод. Но из-за нестандартной разводки требуется особое ПО.

Полное управление потоком

Этот кабель также позволяет высокие скорости; именно эта разводка указана в таблице и на рисунке.

Для управления устройствами Cisco существовала разводка Yost, с COM-порта на 8P8C. Она интересна тем, что в нуль-модемном кабеле (с 8P8C на 8P8C) контакты обжимаются в обратном порядке: 1…8 на одном конце с 8…1 на другом. Кабели заводского производства часто делаются не из витой пары, а из плоского шлейфа и этим отличаются от сетевых патч-кордов.

Types of null modem

Connecting two DTE devices together requires a null modem that acts as a DCE between the devices by swapping the corresponding signals (TD-RD, DTR-DSR, and RTS-CTS). This can be done with a separate device and two cables, or using a cable wired to do this. If devices require Carrier Detect, it can be simulated by connecting DSR and DCD internally in the connector, thus obtaining CD from the remote DTR signal. One feature of the Yost standard is that a null modem cable is a «rollover cable» that just reverses pins 1 through 8 on one end to 8 through 1 on the other end.

No hardware handshaking

Wiring pinouts for DB-25 (left) and DE-9 (right) connectors

The simplest type of serial cable has no hardware handshaking. This cable has only the data and signal ground wires connected. All of the other pins have no connection. With this type of cable flow control has to be implemented in the software. The use of this cable is restricted to data-traffic only on its cross-connected Rx and Tx lines. This cable can also be used in devices that do not need or make use of modem control signals.

Loopback handshaking

Wiring pinouts for DB-25 (left) and DE-9 (right) connectors

Because of the compatibility issues and potential problems with a simple null modem cable, a solution was developed to trick the software into thinking there was handshaking available. However, the cable pin out merely loops back, and does not physically support the hardware flow control.

This cable could be used with more software but it had no actual enhancements over its predecessor. The software would work thinking it had hardware flow control but could suddenly stop when higher speeds were reached and with no identifiable reason.

Partial handshaking

Wiring pinouts for DB-25 (left) and DE-9 (right) connectors

In this cable the flow control lines are still looped back to the device. However, they are done so in a way that still permits Request To Send (RTS) and Clear To Send (CTS) flow control but has no actual functionality. The only way the flow control signal would reach the other device is if the opposite device checked for a Carrier Detect (CD) signal (at pin 1 on a DE-9 cable and pin 8 on a DB-25 cable). As a result, only specially designed software could make use of this partial handshaking. Software flow control still worked with this cable.

Full handshaking

Wiring pinouts for DB-25 (left) and DE-9 (right) connectors

This cable is incompatible with the previous types of cables’ hardware flow control, due to a crossing of its RTS/CTS pins. With suitable software, the cable is capable of much higher speeds than its predecessors. It also supports software flow control.

Virtual null modem

A virtual null modem is a communication method to connect two computer applications directly using a virtual serial port. Unlike a null modem cable, a virtual null modem is a software solution which emulates a hardware null modem within the computer. All features of a hardware null modem are available in a virtual null modem as well. There are some advantages to this:

  • Higher transmission speed of serial data, limited only by computer performance and network speed
  • Virtual connections over local network or Internet, mitigating cable length restrictions
  • Virtually unlimited number of virtual connections
  • No need for a serial cable
  • The computer’s physical serial ports remain free

For instance, DOSBox has allowed older DOS games to use virtual null modems.

Another common example consists of Unix pseudoterminals (pty) which present a standard tty interface to user applications, including virtual serial controls. Two such ptys may easily be linked together by an application to form a virtual null modem communication path.

Применение

Изначальное применение нуль-модемного кабеля — соединение двух терминалов (телетайпов) напрямую без модема. Если устройствам для соединения нужен модем, а в действительности они стоят рядом, применялся нуль-модемный кабель.

В 1980-е и 1990-е годы нуль-модемный кабель широко использовался как дешёвая альтернатива локальной сети: сетевые адаптеры были недёшевы, COM-порты были у любого компьютера, а покупка или изготовление нуль-модемного кабеля обходились недорого. В последние версии MS-DOS входила программа INTERLNK; Norton Commander мог не только передавать файлы, но и «склонировать» себя на другой компьютер по нуль-модему. Многие из DOS-игр того времени (Grand Prix 2, Doom, WarCraft II, Duke Nukem 3D…) поддерживали связь и через COM-порты. Как экзотика, в Doom была неофициальная утилита HX8, работавшая по цепочке COM-кабелей

Скорость — до 8 килобайт/с — была низкой даже по тем временам, но для игр это было неважно: они изначально проектировались под 9600- или 14400-бодные модемы. «Контроллер удалённого доступа» Windows допускал соединение через нуль-модем по любому из доступных сетевых протоколов, поэтому Windows-играм достаточно было поддерживать IPX или TCP/IP

С удешевлением Ethernet отпала необходимость в применении нуль-модемной связи для организации локальных сетей.

Сейчас нуль-модемная связь применяется для отладки ядер ОС — из-за простоты драйвера. Это могут делать, например, KGDB для Linux, ddb для BSD и WinDbg для Windows. К тому же современные ОС устроены так, что графическая оболочка монопольно захватывает экран и клавиатуру — поэтому, если ОС «вылетит» с аварийным экраном, отладчик не сможет их затребовать, но останется возможность передать аварийную информацию через кабель.

Безмониторные устройства (коммутаторы, маршрутизаторы, стоечные серверы, разного рода встраиваемые контроллеры) могут администрироваться, в том числе, и по RS-232. В некоторых устройствах для соединения с компьютерным COM-портом требуется преобразователь напряжений — ими выдаются обычные для электроники ТТЛ-уровни.

В Unix есть виртуальные нуль-модемные соединения (псевдотерминал, pty), позволяющие соединять консоли на разных компьютерах через любой доступный канал связи. В DOSBox также есть эмуляция нуль-модемного соединения — для «последовательной» игры через сеть. Стоит заметить, что игра через Интернет не всегда возможна — часто сетевые подсистемы старых игр рассчитывали на низкий пинг.

Original use of RS232

When we look at the connector pinout of the RS232 port, we see two pins which are certainly used for flow control. These two pins are RTS, request to send and CTS, clear to send. With DTE/DCE communication (i.e. a computer communicating with a modem device) RTS is an output on the DTE and input on the DCE. CTS is the answering signal comming from the DCE.

Before sending a character, the DTE asks permission by setting its RTS output. No information will be sent until the DCE grants permission by using the CTS line. If the DCE cannot handle new requests, the CTS signal will go low. A simple but useful mechanism allowing flow control in one direction. The assumption is, that the DTE can always handle incomming information faster than the DCE can send it. In the past, this was true. Modem speeds of 300 baud were common and 1200 baud was seen as a high speed connection.

For further control of the information flow, both devices have the ability to signal their status to the other side. For this purpose, the DTR data terminal ready and DSR data set ready signals are present. The DTE uses the DTR signal to signal that it is ready to accept information, whereas the DCE uses the DSR signal for the same purpose. Using these signals involves not a small protocol of requesting and answering as with the RTS/CTS handshaking. These signals are in one direction only.

The last flow control signal present in DTE/DCE communication is the CD carrier detect. It is not used directly for flow control, but mainly an indication of the ability of the modem device to communicate with its counter part. This signal indicates the existence of a communication link between two modem devices.

RS232 serial data parameters and packet format

1200bps, 7 databits, 1 stop-bit

Data packet is 3 byte packet. It is send to the computer every time mouse state changes (mouse moves or keys are pressed/released).

Note: The bit marked with X is 0 if the mouse received with 7 databits and 2 stop bits format. It is also possible to use 8 databits and 1 stop bit format for receiving. In this case X gets value 1. The safest thing to get everything working is to use 7 databits and 1 stopbit when receiving mouse information (and if you are making mouse then send out 7 databits and 2 stop bits).

The byte marked with 1. is send first, then the others. The bit D6 in the first byte is used for syncronizing the software to mouse packets if it goes out of sync.

LB is the state of the left button (1 means pressed down); RB is the state of the right button (1 means pressed down); X7-X0 movement in X direction since last packet (signed byte); Y7-Y0 movement in Y direction since last packet (signed byte)

RS-232 (COM-порт) – последовательный порт интерфейса общего назначения, который ранее очень часто использовался для любого типа устройства, в том числе модемы, мыши и периферийная техника. Сейчас такой порт довольно редко встречается, из-за его меньшего использования, но всё же присутствует на некоторых моделях ноутбуков для проведения компьютерной диагностики промышленного и медицинского оборудования, автомобилей и много другого…

Применение

Изначальное применение нуль-модемного кабеля — соединение двух терминалов (телетайпов) напрямую без модема. Если устройствам для соединения нужен модем, а в действительности они стоят рядом, применялся нуль-модемный кабель.

В 1980-е и 1990-е годы нуль-модемный кабель широко использовался как дешёвая альтернатива локальной сети: сетевые адаптеры были недёшевы, COM-порты были у любого компьютера, а покупка или изготовление нуль-модемного кабеля обходились недорого. В последние версии MS-DOS входила программа INTERLNK; Norton Commander мог не только передавать файлы, но и «склонировать» себя на другой компьютер по нуль-модему. Многие из DOS-игр того времени (Grand Prix 2, Doom, WarCraft II, Duke Nukem 3D…) поддерживали связь и через COM-порты. Как экзотика, в Doom была неофициальная утилита HX8, работавшая по цепочке COM-кабелей

Скорость — до 8 килобайт/с — была низкой даже по тем временам, но для игр это было неважно: они изначально проектировались под 9600- или 14400-бодные модемы. «Контроллер удалённого доступа» Windows допускал соединение через нуль-модем по любому из доступных сетевых протоколов, поэтому Windows-играм достаточно было поддерживать IPX или TCP/IP

С удешевлением Ethernet отпала необходимость в применении нуль-модемной связи для организации локальных сетей.

Сейчас нуль-модемная связь применяется для отладки ядер ОС — из-за простоты драйвера. Это могут делать, например, KGDB для Linux, ddb для BSD и WinDbg для Windows. К тому же современные ОС устроены так, что графическая оболочка монопольно захватывает экран и клавиатуру — поэтому, если ОС «вылетит» с аварийным экраном, отладчик не сможет их затребовать, но останется возможность передать аварийную информацию через кабель.

Безмониторные устройства (коммутаторы, маршрутизаторы, стоечные серверы, разного рода встраиваемые контроллеры) могут администрироваться, в том числе, и по RS-232. В некоторых устройствах для соединения с компьютерным COM-портом требуется преобразователь напряжений — ими выдаются обычные для электроники ТТЛ-уровни.

В Unix есть виртуальные нуль-модемные соединения (псевдотерминал, pty), позволяющие соединять консоли на разных компьютерах через любой доступный канал связи. В DOSBox также есть эмуляция нуль-модемного соединения — для «последовательной» игры через сеть. Стоит заметить, что игра через Интернет не всегда возможна — часто сетевые подсистемы старых игр рассчитывали на низкий пинг.

Cables and adapters

A null modem cable

A null modem cable is a RS-232 serial cable where the transmit and receive lines are crosslinked. In some cables there are also handshake lines crosslinked. In many situations a straight-through serial cable is used, together with a null modem adapter. The adapter contains the necessary crosslinks between the signals.

Wiring diagrams

DB-25 null modem wiring diagram

DE-9 null modem wiring diagram

Below is a very common wiring diagram for a null modem cable to interconnect two DTEs (e.g. two PCs) providing full handshaking, which works with software relying on proper assertion of the Data Carrier Detect (DCD) signal:

One side Signaldirection Other side
Signal and abbreviations DB-25 pin DE-9 pin DE-9 pin DB-25 pin Signal
Frame Ground FG 1 N/A Common N/A 1 FG
Transmitted Data TxD, TD 2 3 2 3 RxD
Received Data RxD, RD 3 2 3 2 TxD
Request To Send RTS 4 7 8 5 CTS
Clear To Send CTS 5 8 7 4 RTS
Signal Ground SG 7 5 Common 5 7 SG
Data Set Ready DSR 6 6 4 20 DTR
Data Carrier Detect DCD, CD 8 1
Data Terminal Ready DTR 20 4 1 8 DCD
6 6 DSR

Применение

Изначальное применение нуль-модемного кабеля — соединение двух терминалов (телетайпов) напрямую без модема. Если устройствам для соединения нужен модем, а в действительности они стоят рядом, применялся нуль-модемный кабель.

В 1980-е и 1990-е годы нуль-модемный кабель широко использовался как дешёвая альтернатива локальной сети: сетевые адаптеры были недёшевы, COM-порты были у любого компьютера, а покупка или изготовление нуль-модемного кабеля обходились недорого. В последние версии MS-DOS входила программа INTERLNK; Norton Commander мог не только передавать файлы, но и «склонировать» себя на другой компьютер по нуль-модему. Многие из DOS-игр того времени (Grand Prix 2, Doom, WarCraft II, Duke Nukem 3D…) поддерживали связь и через COM-порты. Как экзотика, в Doom была неофициальная утилита HX8, работавшая по цепочке COM-кабелей

Скорость — до 8 килобайт/с — была низкой даже по тем временам, но для игр это было неважно: они изначально проектировались под 9600- или 14400-бодные модемы. «Контроллер удалённого доступа» Windows допускал соединение через нуль-модем по любому из доступных сетевых протоколов, поэтому Windows-играм достаточно было поддерживать IPX или TCP/IP

С удешевлением Ethernet отпала необходимость в применении нуль-модемной связи для организации локальных сетей.

Сейчас нуль-модемная связь применяется для отладки ядер ОС — из-за простоты драйвера. Это могут делать, например, KGDB для Linux, ddb для BSD и WinDbg для Windows. К тому же современные ОС устроены так, что графическая оболочка монопольно захватывает экран и клавиатуру — поэтому, если ОС «вылетит» с аварийным экраном, отладчик не сможет их затребовать, но останется возможность передать аварийную информацию через кабель.

Безмониторные устройства (коммутаторы, маршрутизаторы, стоечные серверы, разного рода встраиваемые контроллеры) могут администрироваться, в том числе, и по RS-232. В некоторых устройствах для соединения с компьютерным COM-портом требуется преобразователь напряжений — ими выдаются обычные для электроники ТТЛ-уровни.

В Unix есть виртуальные нуль-модемные соединения (псевдотерминал, pty), позволяющие соединять консоли на разных компьютерах через любой доступный канал связи. В DOSBox также есть эмуляция нуль-модемного соединения — для «последовательной» игры через сеть. Стоит заметить, что игра через Интернет не всегда возможна — часто сетевые подсистемы старых игр рассчитывали на низкий пинг.

Предыстория

RS232 — стандарт асинхронного интерфейса (последовательный порт), являлся в свое время наиболее популярным интерфейсом для цифровых устройств различного назначения. В первых компьютерах его физическое присутствие было обязательным. Даже в настоящее время операционная система Windows способна эмулировать некоторое количество виртуальных COM, не имея их физических реализаций. Некоторые наверное помнят компьютерные мыши, принтеры, сканеры и другие периферийные устройства, подключаемые к компьютеру посредством этого порта.

Сейчас ситуация изменилась, компьютерная периферия подключается к ПК при помощи более быстрых USB портов. Но в устройствах КИП и А, RS232 по праву занимает главенствующее положение, редко можно увидеть цифровой прибор, настраиваемый компьютером без этого интерфейса. Довольно часто RS232 порт служит переходным звеном к RS485 интерфейсу, подключаемому посредством миниатюрного переходника.

Информация по RS232 передается в дуплексном режиме

  • Логический «0» — положительное напряжение от +5 до +15 В
  • Логическая «1» — отрицательное напряжение от -5 до -15 В

В силу конструктивных особенностей, длина линии связи небольшая, обычно не более 10 метров.

Первоначально разъем RS232 интерфейса проектировался как 25-и контактный. В этом DB25 разъеме предусматривался и вторичный RS232 последовательный канал. Но на практике, реализовался только один канал. Компьютеры, в которых были представлены оба канала были очень редки, например Sun SparcStation 10/20 и Dec Alpha Multia. Также на некоторых модемах присутствовал вторичный канал, он сигнализировал статус модема, в то время когда первичный был занят передачей данных. В наше время, более прижилась 9-и контактная DB9 версия RS232.

Null modem layout selection table

The right null modem cable to choose mainly depends on the application and the software that will be used. As a general guide line, I would advise the following.

Choose your null modem cable
  Cable without
handshaking
Loop back
handshaking
Partial
handshaking
Full
handshaking
Software flow
control only
+++ ++ + +
DTE/DCE compatible
hardware flow control
at low speeds
+++ ++
DTE/DCE compatible
hardware flow control
at high speeds
+ +++
High speed
communication
using special software
++ +++
+++
++
+
Recommended cable
Good alternative
Works, but not recommended
Does not work

The null modem cable with partial handshaking works in most cases. If you are developing software which must work with all kinds of cables, it is best to use software flow control only and ignore all modem control inputs.

Sample RS232 serial port device. How serial mouse works

Typical PC mouse controlling system has the following parts: sensors -> mouse controller -> communication link -> data interface -> driver -> software. Sensors are the movement detectors which sense the mouse movement and button swiches which sense the button states. Mouse controller reads the state of those sensors and takes acount of current mouse position. When this information changes the mouse controller sends a packet of data to the computer serial data interface controller. The mouse driver in the computer received that data packet and decodes the information from it and does actions based on the information.

Разводка

Нуль-модемный кабель

Разводка для DE-9

Разводка для DB-25

Наиболее сложная из разводок, с которой будет работать даже ПО, которое проверяет сигнал carrier detect (наличие-потеря несущей).

Назначение гнезда ГнездоDB-25 ГнездоDE-9 Направ-ление ГнездоDE-9 ГнездоDB-25 Назначение
Корпус FG 1 1 FG
Передача TxD 2 3 2 3 RxD
Приём RxD 3 2 3 2 TxD
Запрос передачи RTS 4 7 8 5 CTS
Готов к приёму CTS 5 8 7 4 RTS
Сигнальная земля SG 7 5 5 7 SG
Готовность модема DSR 6 6 4 20 DTR
Наличие несущего сигнала DCD 8 1
Готовность терминала DTR 20 4 1 8 DCD
6 6 DSR

Без контроля соединения

Простейшая разновидность последовательного кабеля — полное отсутствие контроля соединения. TxD на одном конце соединяется с RxD на другом, «земля» с «землёй» — итого три провода. Работает с ПО, которое не проверяет работу модема (например, с большинством игр) и с устройствами, которым не нужны линии управления модемом.

Замыкание управляющих сигналов на себя

Если ПО нужен именно модем и оно проверяет, есть ли связь, можно его обмануть, замкнув управляющие линии на своём же порту (RTS+CTS; DTR+DSR+DCD). Программа будет «думать», что соединение и аппаратное управление потоком данных есть.

Этот кабель только решает проблемы совместимости, по качеству связи он ничем не лучше предыдущего: при любой ошибке соединения связь разорвётся без видимой причины.

Частичное управление потоком

В этом кабеле линии RTS замкнут на свой же CTS и соединён с чужим DCD, а DTR — с чужим DSR. С соответствующим ПО такой кабель позволяет настроить связь на высоких частотах — до 115 килобод. Но из-за нестандартной разводки требуется особое ПО.

Полное управление потоком

Этот кабель также позволяет высокие скорости; именно эта разводка указана в таблице и на рисунке.

Для управления устройствами Cisco существовала разводка Yost, с COM-порта на 8P8C. Она интересна тем, что в нуль-модемном кабеле (с 8P8C на 8P8C) контакты обжимаются в обратном порядке: 1…8 на одном конце с 8…1 на другом. Кабели заводского производства часто делаются не из витой пары, а из плоского шлейфа и этим отличаются от сетевых патч-кордов.

Распиновка COM порта RS232

Правильная распиновка СOM-порта RS232

Распиновка COM порта — RS232 интерфейс был сконструирован более пятидесяти лет тому назад. А после этого был стандартизирован. В различных периодах усовершенствования технических возможностей компьютеров успешно применялся для подключения к телефонной линии с помощью модема. На данный момент такой интерфейс считается как уже вчерашний день. В основном его невостребованность заключается слишком низким быстродействием. Так как там задействованы линейные сигналы в однофазной форме. То-есть не дифференциальные.

Наружный вид девяти-контактного коннектора RS232

В современных устройствах на смену интерфейсу RS-232 пришел новый, отличающейся существенным быстродействием — USB. Тем не менее, и до настоящего времени их можно встретить в действительности огромное количество в различных аппаратах. Последовательный порт, цоколевка которого описана ниже, очень востребован в изделиях предназначенных для промышленных целей, а также для медицинского оборудования.

В бытовых условиях необходимость в применении стыковочных проводов для соединения с COM-портом в большинстве случаев появляется в определенные моменты. Например: когда возникает необходимость работы с периферией ранних лет изготовления, и требующих создать взаимосвязь с персональным компьютером. Помимо этого, его можно часто обнаружить в девайсах для загрузки программы в микроконтроллер.

Характерные особенности порта

Что касается самой контактной колодки интерфейса RS-232 и ее кабельной составляющей, то они собраны на 9-пиновом разъеме D-Sub. Штыревые контакты размещенные в двухрядном варианте, для обеспечения точности подсоединения вилки к разъему, форма колодки имеет несимметричную конструкцию. Все контактные штырьки обозначены номерами, подробнее как делается распиновка COM порта обозначено в приведенной ниже таблице.

Таблица

Номер контакта Назначение Обозначение
1 Активная несущая DCD
2 Прием компьютером RXD
3 Передача компьютером TXD
4 Готовность к обмену со стороны приемника DTR
5 Земля GND
6 Готовность к обмену со стороны источника DSR
7 Запрос на передачу RTS
8 Готовность к передаче CTS
9 Сигнал вызова RI

Множество устройств во время своей работы задействует не все контакты, а только необходимую им часть, поэтому исходя из этого обусловливается реальная распиновка COM-порта. Необходимая информация об это имеется прилагаемой документации к соответствующему оборудованию.

Соединительный кабель

Если нет необходимости задействования все контактной группы, то в таком случае можно использовать обычную витую пару. При этом ее отдельные провода припаиваются к вилке и контактам в колодке разъема. Ввиду ограниченного пространства в самой колодке, в местах пайки провода желательно помещать в кембрик.

Наибольшее расстояние связи относительно стандарта должна быть более 15 метров. Если требуется ее увеличение, тогда для этого нужно использовать экранированный провод.

Applications

The original application of a null modem was to connect two teleprinter terminals directly without using modems. As the RS-232 standard was adopted by other types of equipment, designers needed to decide whether their devices would have DTE-like or DCE-like interfaces. When an application required that two DTEs (or two DCEs) needed to communicate with each other, then a null modem was necessary.

Null modems were commonly used for file transfer between computers, or remote operation. Under the Microsoft Windows operating system, the direct cable connection can be used over a null modem connection. The later versions of MS-DOS were shipped with the program. Both pieces of software allow the mapping of a hard disk on one computer as a network drive on the other computer. No Ethernet hardware (such as a network interface card or a modem) is required for this. On the Commodore Amiga system, a null modem connection was a common way of playing multiplayer games between two machines.

The popularity and availability of faster information exchange systems such as Ethernet made the use of null modem cables less common. In modern systems, such a cable can still be useful for kernel mode development, since it allows the user to remotely debug a kernel with a minimum of device drivers and code (a serial driver mainly consists of two FIFO buffers and an interrupt service routine). KGDB for Linux, ddb for BSD, and WinDbg or KD for Windows can be used to remotely debug systems, for example. This can also provide a serial console through which the in-kernel debugger can be dropped to in case of kernel panics, in which case the local monitor and keyboard may not be usable anymore (the GUI reserves those resources and dropping to the debugger in the case of a panic won’t free them).

Another context where these cables can be useful is when administering «headless» devices providing a serial administration console (i.e. managed switches, rackmount server units, and various embedded systems). An example of embedded systems that widely use null modems for remote monitoring include RTUs, device controllers, and smart sensing devices. These devices tend to reside in close proximity and lend themselves to short run serial communication through protocols such as DNP3, Modbus, and other IEC variants. The Electric, Oil, Gas, and Water Utilities are slow to respond to newer networking technologies which may be due to large investments in capital equipment that has useful service life measured in decades. Serial ports and null modem cables are still widely used in these industries with Ethernet just slowly becoming a widely available option.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector