Есть ли способ убедить Web Serial API перечислять/общаться с псевдотерминалами Linux (pty)?Linux

Ответить
Anonymous
 Есть ли способ убедить Web Serial API перечислять/общаться с псевдотерминалами Linux (pty)?

Сообщение Anonymous »

Я написал сервис, который может мультиплексировать физический последовательный порт (например, /dev/ttyACM0) в несколько псевдотерминалов (например, /dev/pts/9). Такие утилиты, как screen и minicom, могут без проблем взаимодействовать с псевдотерминалами, но мне бы хотелось, чтобы веб-инструменты (например, Serialterminal.com) также могли взаимодействовать с ними.
На данный момент я сделал следующее, чтобы попытаться заставить их выглядеть как настоящие последовательные устройства в моей системе:

Код: Выделить всё

chown root /dev/pts/9
chgrp dialout /dev/pts/9
chmod 660 /dev/pts/9
ln -s /dev/pts/9 /dev/ttyACM1
Я покопался в исходном коде Serialterminal.com, и они вызывают requestPorts без переданных параметров, так что это будет означать, что Web Serial API использует все фильтры по умолчанию.
Мои предположения относительно того, что потенциально происходит:
  • Он просматривает только /dev и игнорирует символические ссылки
  • У него есть некоторый набор основных номеров устройств по умолчанию, которые он фильтрует, и псевдотерминалы (основной 136) не являются частью этого набора.
Если кто-нибудь знает, что происходит, и есть ли способ обойти это, это было бы здорово. Я готов переписать свой сервис, чтобы он стал драйвером предохранителя, если это сработает, но мой поиск в Интернете не помогает мне понять, стоит ли это затраченных усилий. Полагаю, если бы мне действительно пришлось, я мог бы написать свой собственный модуль ядра, но тогда мне пришлось бы переписать гораздо больше, поскольку моя текущая реализация находится на C++.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»