Как создать виртуальное устройство ввода-вывода в Linux, которое проксирует данные на реальное устройство?

У меня есть интересная проблема. Я работаю над встроенным ящиком с несколькими экземплярами Linux, каждый из которых работает на процессоре ARM. Они подключены через внутреннюю сеть 1GBps. У меня есть узел устройства последовательного порта, подключенный к процессору A (допустим, на нем работает Linux-A). У меня есть программа, работающая на процессоре B (скажем, на Linux-B), которая обращается к устройству последовательного порта, как если бы оно было локально подключено к Linux-B.
Моя программа вызывает API-вызовы типа ввода-вывода термина на узле устройства для управления эхом tty, вводом символьного режима. Мне интересно, есть ли способ создать виртуальное последовательное устройство, доступное в Linux-B, каким-то образом взаимодействующее с реальным последовательным устройством в Linux-A по внутренней сети.

Я думаю что-то вроде: Linux-B имеет /dev/ttyvirtual. Все, что на него записывается, передается через сетевой сокет на последовательный сервер Linux-A. Последовательный сервер выполняет вызовы API на реальном устройстве, скажем, /dev/ttys0. Любые данные, ожидающие на ttys0, переносятся обратно в /dev/ttyvirtual.

Что нужно сделать, чтобы сделать это быстро?

Спасибо
Видеопарень

Обновление: Я нашел обсуждение в http://fixunix.com/bsd/261068-network-socket-serial-port-question.htmlс отличными указателями.
Еще одна полезная ссылка: http://blog.philippklaus.de/2011/08/make-rs232-serial-devices-accessible-via-ethernet/

9
задан videoguy 8 January 2015 в 03:19
поделиться