Я не могу сохранить фиксированную скорость на последовательном терминале/dev/ttyS0. Я использую:
stty -F /dev/ttyS0 115200
root@ubuntu:/# stty -F /dev/ttyS0 -a
speed 115200 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S;
susp = ^Z; rprnt = ^R; werase = ^W; lnext = <undef>; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl ixon ixoff -iuclc -ixany -imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig -icanon -iexten -echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc
По-видимому, это изменяется. Однако, когда я начинаю отправлять несколько символов через последовательный порт (я на 100% положителен, что использую 115200, я проверил соединение с COM-портом окон), терминал Ubuntu изменяется автоматически на 9 600 снова!
stty -F /dev/ttyS0 -a
speed 9600 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S;
susp = ^Z; rprnt = ^R; werase = ^W; lnext = <undef>; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl ixon ixoff -iuclc -ixany -imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig -icanon -iexten -echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc
Как я вынуждаю терминал использовать зафиксированный 115200?
По-видимому, или это изменяется на 9 600 по неизвестной причине, или (пробует к), автоматически обнаруживают последовательную скорость?
Больше информации. GRUB (настроенный через/etc/default/grub) производит правильно в 115 200
error: no video mode activated.
GNU GRUB version 2.02~beta2-36ubuntu3.2
+----------------------------------------------------------------------------+
|*Ubuntu |
| Advanced options for Ubuntu |
| Memory test (memtest86+) |
| Memory test (memtest86+, serial console 115200) |
| |
| |
| |
| |
| |
| |
| |
| |
+----------------------------------------------------------------------------+
Use the ^ and v keys to select which entry is highlighted.
Press enter to boot the selected OS, `e' to edit the commands
before booting or `c' for a command-line.
The highlighted entry will be executed automatically in 0s.
Но сразу после GRUB, просто мусор, моя человечность 16.04 отправляет в 9 600 снова.
Больше обновлений: Согласно этому, может быть ошибка agetty
https://bugs.launchpad.net/ubuntu / + source/systemd / + ошибка/1571500
systemctl status serial-getty@ttyS0.service
● serial-getty@ttyS0.service - Serial Getty on ttyS0
Loaded: loaded (/lib/systemd/system/serial-getty@.service; disabled; vendor p
Active: active (running) since Du 2016-11-13 17:58:28 EET; 1s ago
Docs: man:agetty(8)
man:systemd-getty-generator(8)
http://0pointer.de/blog/projects/serial-console.html
Main PID: 12526 (agetty)
CGroup: /system.slice/system-serial\x2dgetty.slice/serial-getty@ttyS0.service
└─12526 /sbin/agetty --keep-baud 115200 38400 9600 ttyS0 vt220
когда я выхожу вручную, без - сохранять-бод, он работает
/sbin/agetty 115200 ttyS0 vt220
Таким образом, вопрос состоит теперь в том, как отключить - опция сохранять-бода навсегда. Я не могу найти инициализацию agetty.
Заранее спасибо!