LINUX.ORG.RU

Проблемы с cat /dev/ttyS0 >> log.txt &

 , ,


1

0

Добрый день.

Не пойму, что не так делаю, может быть поможет кто.

Вообщем есть у меня RPi3 и gsm модуль m590. GSM модуль подключаю к tx rx портам на RPi3.

Есть небольшой тестовый скрипт:

#!/bin/bash
stty -F /dev/ttyS0 raw -echo -echoe -echo
cat /dev/ttyS0 >> /home/pi/test/111.log &
echo -e -n "AT\r" > /dev/ttyS0
sleep 1s
echo -e -n "AT+CSQ\r" > /dev/ttyS0
sleep 1s

После выполнения скрипта, появляется файл 111.log с содержанием:

AT
OK
AT+CSQ
+CSQ: 28,0

OK

То есть скрипт исполняется, в файл все пишется, при повторном запуске скрипта, в конец файла добавится тоже самое.

Но если взять удалить файл 111.log или просто в скрипте написать 222.log и запустить скрипт повторно, то результат какой-то неправильный получается, теряется часть символов:

A+S
CQ 90

K

Перезагрузка GSM модема не помогает, помогает перезагрузка RPi.

Причем если ловлю этот баг, отключаю от GSM модема tx - rx и закорачиваю, пытаюсь открыть /dev/ttyS0 через minicom, все открывается, но ничего написать не могу, такое ощущение, что ttyS0 весит. Пробую отправить через echo «1234567» > /dev/ttyS0 , часть символов доходит, часть так же теряется..

UPD: Сегодня вместо подключения напрямую к tx-rx портам RPi, подключил tx-rx к конвертеру USB-TTL. Проблема такая же, после удаление 111.log и попытки еще раз скрипт запустить, создается файл, но с прерывистым текстом.

UPD2: Если переподключить конвертер USB-TTL, то minicom снова оживает и скрипт работает, файл создается и выглядит как и должен.

UPD3: Удаляя файл 111.log запуская опять скрипт, первые разы, скрипт не отрабатывается, второй или третий раз тоже, с 4 раза и далее скрипт начинает правильно отрабатываться.. Чертовщина какая-то.

Есть идеи? что тут не так?

Решил проблему.

Добрые люди подсказали, cat не закрывался после исполнения скрипта, от туда и глюки!

fomochka41 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.