Не помогает сброс модема SIMCOM, а помогает только перезагрузка самой платы IMX6.
Перезагрузка не устраивает, т.к. светофоры погаснут на 10 секунд на перекрёстке, что не понравится водителям.
Что-то драйверу не нравится.
rmmod GobiSerial
modprobe GobiSerial тоже не спасает почему-то.
на мой взгляд, использование usb в столь ответственном месте не самое удачное решение.. usb может "отсыхать" в самый неподходящий момент.. тут более уместно использование spi/ethernet/can - промышленные интерфейсы..
но раз решение принято, то ваше право..
что-бы посоветовал:
- взять плату на другой АРМе и погонять Simcom на ней
- подцепить (если возможно) Simcom к обычному х86 с линуксом и погонять там
- проверить осциллом сигнал "Сброс" на существование и длительность
- обесточить полностью модем, путем отключения из разъема, для исключения утечек по цепям управления/настроек
- включите в ядре отладку или диагностику usb, тогда по логам можно будет попытаться понять природу зависания/неработоспособности..
- проверьте систему на утечку памяти, как вариант, драйвер хапает память, но освобождает не всю..
Если пересброс модема происходит в момент когда драйвер модема поднимает ttyUSB порты - отваливается ttyUSB2 и более не поднимается.
Ой, не так... поднимается только с другим номером.. появляется ttyUSB6 которого не должно быть, видимо вместо ttyUSB2.. А почему так?
Как узнать на каком ttyUSB находится порт для AT команд?
Или как вернуть систему без перезагрузки к первоначальному состоянию, когда порты по порядочку.
Перезапуск программы по таймауту (организован циклический запуск из .sh файла) не даёт результата, а при перезапуске в отладке из под QT порты выстраиваются как надо... Почему? В чём разница?
Подскажите пожалуйста.. Сегодня отправка устройств запланирована...