Opened 5 years ago

Closed 4 years ago

#35 closed баг (fixed)

Модуль SIM включается в работу только после многократных перевключений питания

Reported by: san Owned by:
Priority: major Milestone: 1 очередь
Keywords: Cc: andrei

Description (last modified by san)

Пользователи выслали нам логи работы устройств, в логе одного из устройств(назовём его клиент2) я вижу что контроллер дёргает питанием сима 8 раз подряд прежде чем Sim выйдет в рабочий режим.
В логах других устройств подобных сценариев пока не обнаружил, а в логах клиент2 такое поведение встречается не раз. Думаю что это, как минимум, странно и нужно попытаться понять причины.
Все логи можно увидеть в xchange\alx\Test_and_bugs\Рамис, там логи от трёх разных устройств, в том числе и клиент2.
Вот фрагмент лога(r140) с описанным поведением:

Jul  4 17:52:16 3gd[17863]: sim5320.cpp:164: powering off SIM5320...
Jul  4 17:52:16 kernel: option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2
Jul  4 17:52:16 kernel: option 1-2:1.2: device disconnected
Jul  4 17:52:16 pppd[22895]: Hangup (SIGHUP)
Jul  4 17:52:16 pppd[22895]: Modem hangup
Jul  4 17:52:16 pppd[22895]: Connect time 20.5 minutes.
Jul  4 17:52:16 pppd[22895]: Sent 3441244 bytes, received 2145184 bytes.
Jul  4 17:52:16 pppd[22895]: Script /etc/ppp/ip-down started (pid 23002)
Jul  4 17:52:16 pppd[22895]: Connection terminated.
Jul  4 17:52:16 kernel: option1 ttyUSB3: GSM modem (1-port) converter now disconnected from ttyUSB3
Jul  4 17:52:16 kernel: option 1-2:1.3: device disconnected
Jul  4 17:52:16 kernel: option1 ttyUSB4: GSM modem (1-port) converter now disconnected from ttyUSB4
Jul  4 17:52:16 kernel: option 1-2:1.4: device disconnected
Jul  4 17:52:16 pppd[22895]: Script /etc/ppp/ip-down finished (pid 23002), status = 0x0
Jul  4 17:52:18 ntpd[253]: Deleting interface #78 ppp0, 46.23.190.112#123, interface stats: received=47, sent=51, dropped=0, active_time=1230 secs
Jul  4 17:52:18 ntpd[253]: 91.189.94.4 local addr 46.23.190.112 -> <null>
Jul  4 17:52:18 ntpd[253]: 91.189.91.157 local addr 46.23.190.112 -> <null>
Jul  4 17:52:18 ntpd[253]: 91.189.89.199 local addr 46.23.190.112 -> <null>
Jul  4 17:52:18 ntpd[253]: 91.189.89.198 local addr 46.23.190.112 -> <null>
Jul  4 17:52:21 3gd[17863]: sim5320.cpp:139: powering on SIM5320...
Jul  4 17:52:36 3gd[17863]: sim5320.cpp:190: cannot open /dev/ttyUSB2: No such file or directory
Jul  4 17:52:36 3gd[17863]: sim5320.cpp:164: powering off SIM5320...
Jul  4 17:52:41 3gd[17863]: sim5320.cpp:139: powering on SIM5320...
Jul  4 17:52:46 pppd[22895]: Failed to open /dev/modem: No such file or directory
Jul  4 17:52:56 3gd[17863]: sim5320.cpp:190: cannot open /dev/ttyUSB2: No such file or directory
Jul  4 17:52:56 3gd[17863]: sim5320.cpp:164: powering off SIM5320...
Jul  4 17:53:01 3gd[17863]: sim5320.cpp:139: powering on SIM5320...
Jul  4 17:53:14 ntpd[253]: error resolving pool ntp.ubuntu.com: Temporary failure in name resolution (-3)
Jul  4 17:53:16 3gd[17863]: tcp_tty.cpp:355: TCP inactivity timeout
Jul  4 17:53:16 3gd[17863]: link.cpp:192: --> Link::error(): connection closed (16)
Jul  4 17:53:16 pppd[22895]: Failed to open /dev/modem: No such file or directory
Jul  4 17:53:16 3gd[17863]: sim5320.cpp:190: cannot open /dev/ttyUSB2: No such file or directory
Jul  4 17:53:16 3gd[17863]: sim5320.cpp:164: powering off SIM5320...
Jul  4 17:53:21 3gd[17863]: sim5320.cpp:139: powering on SIM5320...
Jul  4 17:53:37 3gd[17863]: sim5320.cpp:190: cannot open /dev/ttyUSB2: No such file or directory
Jul  4 17:53:37 3gd[17863]: sim5320.cpp:164: powering off SIM5320...
Jul  4 17:53:42 3gd[17863]: sim5320.cpp:139: powering on SIM5320...
Jul  4 17:53:46 3gd[17863]: tcp_tty.cpp:181: connecting to 46.23.184.150 port 1001 (fd 16)...
Jul  4 17:53:46 3gd[17863]: tcp_tty.cpp:197: cannot connect: Network is unreachable
Jul  4 17:53:46 3gd[17863]: link.cpp:192: --> Link::error(): connection closed (-1)
Jul  4 17:53:46 pppd[22895]: Failed to open /dev/modem: No such file or directory
Jul  4 17:53:57 3gd[17863]: sim5320.cpp:190: cannot open /dev/ttyUSB2: No such file or directory
Jul  4 17:53:57 3gd[17863]: sim5320.cpp:164: powering off SIM5320...
Jul  4 17:54:02 3gd[17863]: sim5320.cpp:139: powering on SIM5320...
Jul  4 17:54:16 3gd[17863]: tcp_tty.cpp:181: connecting to 46.23.184.150 port 1001 (fd 16)...
Jul  4 17:54:16 3gd[17863]: tcp_tty.cpp:197: cannot connect: Network is unreachable
Jul  4 17:54:16 3gd[17863]: link.cpp:192: --> Link::error(): connection closed (-1)
Jul  4 17:54:16 pppd[22895]: Failed to open /dev/modem: No such file or directory
Jul  4 17:54:17 3gd[17863]: sim5320.cpp:190: cannot open /dev/ttyUSB2: No such file or directory
Jul  4 17:54:17 3gd[17863]: sim5320.cpp:164: powering off SIM5320...
Jul  4 17:54:20 ntpd[253]: error resolving pool ntp.ubuntu.com: Temporary failure in name resolution (-3)
Jul  4 17:54:22 3gd[17863]: sim5320.cpp:139: powering on SIM5320...
Jul  4 17:54:37 3gd[17863]: sim5320.cpp:190: cannot open /dev/ttyUSB2: No such file or directory
Jul  4 17:54:37 3gd[17863]: sim5320.cpp:164: powering off SIM5320...
Jul  4 17:54:42 3gd[17863]: sim5320.cpp:139: powering on SIM5320...
Jul  4 17:54:43 kernel: usb 1-2: new high-speed USB device number 39 using atmel-ehci
Jul  4 17:54:43 kernel: usb 1-2: New USB device found, idVendor=1e0e, idProduct=9001
Jul  4 17:54:43 kernel: usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jul  4 17:54:43 kernel: usb 1-2: Product: SimTech, Incorporated
Jul  4 17:54:43 kernel: usb 1-2: Manufacturer: SimTech, Incorporated
Jul  4 17:54:43 kernel: usb 1-2: SerialNumber: 0123456789ABCDEF
Jul  4 17:54:43 kernel: option 1-2:1.0: GSM modem (1-port) converter detected
Jul  4 17:54:43 kernel: usb 1-2: GSM modem (1-port) converter now attached to ttyUSB0
Jul  4 17:54:43 kernel: option 1-2:1.1: GSM modem (1-port) converter det
...
...

p.s. В логах от других устройств так-же замечены случаи когда сим стартует только после многократного перезапуска.

Change History (21)

comment:1 by san, 5 years ago

Description: modified (diff)

in reply to:  description comment:2 by alx, 5 years ago

Replying to san:

что контроллер дёргает питанием сима 8 раз подряд прежде чем Sim выйдет в рабочий режим.
нужно попытаться понять причины.

Вот фрагмент лога(r140) с описанным поведением:

Jul  4 17:52:36 3gd[17863]: sim5320.cpp:190: cannot open /dev/ttyUSB2: No such file or directory
Jul  4 17:52:36 3gd[17863]: sim5320.cpp:164: powering off SIM5320...
Jul  4 17:52:41 3gd[17863]: sim5320.cpp:139: powering on SIM5320...
Jul  4 17:52:56 3gd[17863]: sim5320.cpp:190: cannot open /dev/ttyUSB2: No such file or directory
Jul  4 17:52:56 3gd[17863]: sim5320.cpp:164: powering off SIM5320...
Jul  4 17:53:01 3gd[17863]: sim5320.cpp:139: powering on SIM5320...
Jul  4 17:53:16 3gd[17863]: sim5320.cpp:190: cannot open /dev/ttyUSB2: No such file or directory
Jul  4 17:53:16 3gd[17863]: sim5320.cpp:164: powering off SIM5320...
Jul  4 17:53:21 3gd[17863]: sim5320.cpp:139: powering on SIM5320...

Причина ясна - отсутствие /dev/ttyUSB2 после включения модуля.

comment:3 by san, 5 years ago

А почему его нет? может надо ещё подождать?

comment:4 by san, 5 years ago

Может сим не всегда стартует при подаче питания? (на практике, например, были случаи когда дефектные преобразователи DC/DC не запускались)

in reply to:  3 comment:5 by alx, 5 years ago

Replying to san:

А почему его нет?

Понятия не имею.

может надо ещё подождать?

Насколько я помню, согласно документации, через 10 секунд после включения питания все уже должно работать. Мы ждем 15 секунд. Не вижу резона ждать дольше.

in reply to:  4 comment:6 by alx, 5 years ago

Replying to san:

Может сим не всегда стартует при подаче питания?

Не могу исключить такую возможность. Именно из этих соображений в случае отсутствия /dev/ttyUSB2 и выполняется выключение и повторное включение питания модуля. И, как мы могли убедиться, это помогает.

comment:7 by san, 5 years ago

Owner: changed from alx to andrei
Status: newassigned

comment:8 by andrei, 5 years ago

Owner: andrei removed

comment:9 by san, 5 years ago

Last edited 5 years ago by san (previous) (diff)

comment:10 by san, 5 years ago

Last edited 5 years ago by san (previous) (diff)

in reply to:  9 comment:11 by alx, 5 years ago

Replying to san:

Jul  4 08:47:14 3gd[17863]: sim5320.cpp:164: powering off SIM5320...

Насколько я понял, тут говорится что в процессе работы внезапно пропала связь с модулем SIM.

Не так уж и внезапно. Судя по логу, питание модуля было выключено. Поэтому хост и перестал видеть его на шине USB.

comment:12 by san, 5 years ago

Last edited 5 years ago by san (previous) (diff)

in reply to:  12 ; comment:13 by alx, 5 years ago

Replying to san:

Погоди, всё же совсем наоборот, выключение питания - это действие контролера по причине дисконекта USB

Насколько я помню, такой функции (выключать питание модуля при отключении устройства с шины USB) в устройстве нет. По крайней мене, не помню, чтобы я ее реализовывал. Да и сама эта функция бессмысленна - если плата SAM-3G установлена, то модуль SIM заведомо подключен к шине.

comment:14 by san, 5 years ago

Хм.. тогда по какой причине может происходить отключение?
Jul 4 08:47:14 3gd[17863]: sim5320.cpp:164: powering off SIM5320...
я в логе не замечаю подсказки о возможных причинах...

comment:15 by san, 5 years ago

Description: modified (diff)

in reply to:  14 comment:16 by alx, 5 years ago

Replying to san:

Хм.. тогда по какой причине может происходить отключение?

В comment:2 я по-моему уже ответил на этот вопрос - по причине отсутствия /dev/ttyUSB2.

comment:17 by san, 5 years ago

по-моему уже ответил на этот вопрос

Кажется я запутал тебя. Создал для последнего вопроса #38, отсюда лишние комменты уберу.

in reply to:  13 comment:18 by alx, 5 years ago

Replying to alx:

Насколько я помню, такой функции (выключать питание модуля при отключении устройства с шины USB) в устройстве нет. По крайней мене, не помню, чтобы я ее реализовывал.

Уточню сам себя. Специально такую функцию я, действительно, не реализовывал. Но, похоже, такая функция получилась случайно. :) Дело в том, что в процессе работы 3gd все время поллит файл /dev/ttyUSB2 на предмет поступления каких-либо данных от модуля SIM. И, как я написал в ticket:38#comment:1, пропадание устройства с шины, видимо, приводит к завершению вызова poll() с ошибкой, реакцией на которую является выключение питания (с последующим включением) модуля SIM.

То есть в данном случае в случае тикета #38 сообщение "powering off SIM5320...", действительно, является следствием пропадания устройства с шины USB, а не его причиной. Возможно, причиной является самопроизвольное выключение питания на плате SAM-3G. Однако в случае, описанном в данном тикете, имеет место не пропадание /dev/ttyUSB2 в процессе нормальной работы, а непоявление его после подачи команды включения модуля SIM. Другое дело, что причина обоих случаем может быть одна и таже - например плохая (на физическом уровне) работа шины USB...

Last edited 5 years ago by alx (previous) (diff)

in reply to:  17 comment:19 by alx, 5 years ago

Replying to san:

Кажется я запутал тебя. Создал для последнего вопроса #38.

Специально обращаю твое внимание на то, что в данном тикете и в тикете #38 описаны разные случаи. Предыдущий комментарий дополнил соответствующим уточнением.

in reply to:  description comment:20 by alx, 5 years ago

Replying to san:

контроллер дёргает питанием сима 8 раз подряд прежде чем Sim выйдет в рабочий режим.

Обнаружено, что в отличие от SIM5320, SIM7600 требует более длительного импульса включения питания (не менее 100 мс), в то время как до сегодняшнего дня у нас длительность импульса включения была 65 мс. Это может объяснить поведение модуля - он просто не включался в большинстве случаев.

В r141 длительность импульса включения была увеличена, имеет смысл проверить - возможно, проблема этим устранена.

comment:21 by san, 4 years ago

Resolution: fixed
Status: assignedclosed

В логах последних экспериментов(r160) вижу что SIM включается с первого раза. Ну и по лампочкам тоже давно не наблюдал каких либо странностей при включении.

Note: See TracTickets for help on using tickets.