2015-06-08 3 views
2

Я ищу, чтобы отправить команду «reboot» через последовательный порт в PDU. Что я должен сделать в интерактивном режиме заключается в следующем:Linux Shell, Как отправить команду через последовательный порт и вернуть?

#screen /dev/ttyS1 
>reboot 
>[Detach Screen] 
# 

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

#echo "reboot" >/dev/ttyS1 

Однако, это не сработает! Я не знаю, почему ... Вы могли бы мне помочь?

Ручная скорость передачи данных PDU 9600, которая не является скоростью по умолчанию в бодах. Я попытался следующие команды, чтобы установить скорость передачи данных, но до сих пор нет блокировки:

stty -F /dev/ttyS1 speed 9600 cs8 -cstopb -parenb 

Эти выходы не меняется с или без экрана:

# stty -a -F /dev/ttyS1 
    speed 9600 baud; rows 0; columns 0; line = 0; 
    intr = ^C; quit = ^\; erase = ^?; kill = ^H; eof = ^D; eol = <undef>; 
    eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z;  rprnt = ^R; 
    werase = ^W; lnext = ^V; flush = ^O; min = 100; time = 2; 
    -parenb -parodd 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 
+0

Я думаю, что это дубликат: http://stackoverflow.com/questions/8877269/writing-to-serial-port-from-linux -команд-линии, пожалуйста, посмотрите – fvu

+0

@fvu, что вопрос был о передаче \ char на последовательный канал. Я не могу отправить ничего, включая \. – ARH

+0

Хорошо, ваше редактирование показывает, что вы уже пробовали бит stty :) Вы понимаете, что вы запускаете экран на/dev/ttyS1 и stty на/dev/ttyS0? Не могли бы вы запустить 'stty -a -F/dev/ttyS1' на другой консоли, чтобы узнать, что использует экран настроек? Контрастируйте их с настройками, которые порт имеет без использования экрана, он может дать представление об одной работе, а другой нет. – fvu

ответ

2

Вот как мы исправили эту проблему:

  1. Config последовательного порта с RAW настройки:

    stty -F /dev/ttyS1 speed 9600 cs8 -cstopb -parenb raw 
    
  2. Команда Отправить с помощью эхо с \ г:

    echo -ne "reboot\r" > /dev/ttyS1 
    
Смежные вопросы