Что означает PS в ttyPS*?

Хорошо, я нашел решение, и это заняло немало времени проб и ошибок:

На стороне хоста (Linux ), вот как должен вызываться socat:

stty -icanon && socat - /tmp/win-serial-com3,cr

На гостевой стороне PuTTY необходимо вызывать с параметром «Неявный LF в каждом CR» и отключать «Неявный CR в каждом LF» в настройках «Терминала».

Это все еще не идеально.

Когда я нажимаю назад на стороне хоста, он печатает ^?вместо стирания предыдущего символа. На гостевой стороне это работает нормально. При нажатии возврата на стороне гостя стираются символы на стороне гостя, но не на стороне хоста. Мне еще предстоит найти способ заставить backspace работать.

1
09.03.2020, 19:30
1 ответ

ПРИМЕЧАНИЕ. :Этот ответ предполагает, что Linux

Where, in general, can I find the expanded names of devices under /dev?

У устройств нет "расширенных имен", но

udevadm info -a /dev/ttyPSx

расскажет о них много интересного.

Если у вас нет udev, вы можете получить тип, основной и дополнительный устройства, найти его через /sys/dev,и получить ту же информацию из файлов /sys/devices/:

devinfo(){
    local p=$(readlink -f $(ls -l "$1" | sed 's@^\(.\)[^,]* \([0-9][0-9]*\), *\([0-9][0-9]*\).*@/sys/dev/\1*/\2:\3@'))
    while true; do
        case $p in
        /sys/devices/*)
           if [ -f "$p/uevent" ]; then
               echo ">>> $p"; cat "$p/uevent"; echo
           fi
           p=${p%/*};;
        *)
           break;;
        esac
    done
}

[prompt] devinfo /dev/ttyMT1
>>> /sys/devices/soc/11003000.apuart1/tty/ttyMT1
MAJOR=204
MINOR=210
DEVNAME=ttyMT1

>>> /sys/devices/soc/11003000.apuart1
DRIVER=mtk-uart
OF_NAME=apuart1
OF_FULLNAME=/soc/apuart1@11003000
OF_COMPATIBLE_0=mediatek,mt6735-uart
OF_COMPATIBLE_N=1
MODALIAS=of:Napuart1T<NULL>Cmediatek,mt6735-uart

>>> /sys/devices/soc
OF_NAME=soc
OF_FULLNAME=/soc
OF_COMPATIBLE_0=simple-bus
OF_COMPATIBLE_N=1
MODALIAS=of:NsocT<NULL>Csimple-bus

NB :Не все Linux-системы имеют пригодные для использования программы stat, awkили даже sed. Этот кладж, кажется, работает на некоторых устройствах Linux, таких как мой рабочий стол, маршрутизатор, телефон и видеорегистратор. В старых андроидах sed— это сломанный POS, который даже не может справиться с echo pee | sed s/e/a/(, он напечатаетpapee).

1
28.04.2021, 23:21

Теги

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