Pull to refresh

Comments 17

Вот Sinclar при всей его простоте был компьютером. А это не одноплатные компьютеры — это наборы для BDSM гребли.
встроенный 2G и цена выглядят очень привлекательно

Потому что в случае с Orange вы платите своим временем. С поддержкой драйверов и по для своих железок у них не просто плохо — у них никак.

Я когда-то тоже повелся на поводу маркетинга. Разработчики Chip обещали золотые горы, производительность и всякое такое задешево. Действительно, сперва я был очень доволен — процессор летал по сравнению с первым и вторым распбери. Однако с поддержкой и обновлениями было просто никак, пока в конце-концов они просто не объявили о банкротстве. ИМХО в таких случая софт важнее чистой производительности/фич, если хочется включить и чтобы оно работало, а не пересобирать ядро, попутно включая патчи, потому что обычная юсб сетевая карта просто не работает.
Будни линуксоида с непопулярным ноутбуком году так в 2001...)))
Рекомендации производителя использовать источник питания с током 3А вполне справедливы, так как GSM модуль при работе передатчика в диапазоне 900МГц (мощность до 2Вт) в пике вполне может потреблять ток до 2А. В диапазоне 1800Мгц — немного полегче (мощность до 0.5Вт, но КПД, обычно, похуже).
Вероятно, действительно проблема с питанием. Сегодня мне привезли источник питания 5В 3А и с ним хоть и с ошибками, но с 3-й попытки wvdial вышел в Интернет. Лагов никаких не было. Сейчас пытаюсь это всё автоматизировать и наблюдаю, что сразу после загрузки wvdial даже с 10-й попытки не может подключиться. А сейчас плата тупо перестала загружаться.
UPD: снова стала загружаться, хотя я ничего не изменял.
Судя по схеме, питание GSM модуля осуществляется непосредственно от цепи VBAT. Емкость блокировки по питанию в этой цепи всего 22мкФ, что, на мой взгляд несколько маловато. Я бы попробовал повторить все Ваши попытки с подключенным аккумулятором в качестве буфера по питанию.
Здорово. Жаль, плюсануть не могу. У меня тоже была мысль вкрутить куда-то конденсатор или аккумулятор, только не мог придумать куда. Если модем реально оттуда берёт питание, то должно помочь. В принципе от него многого не требуется: всего лишь секунд на 30 «прикурить» модем и всё. Завтра у меня будет паяльник, надо попробовать, отпишусь о результатах. Вот почему нет нормальных одноплатников с модемом?
Контактные площадки под не установленный 3-х контактный разъем для подключения аккумулятора хорошо видны на фото платы снизу: прямо под разъемом под 3.5мм джек. Правда, обозначение контактов "+" и "-" (минус в середине) противоречит изображенному на схеме разъему J302, где "+" и "-" — это крайние контакты, так что придется разбираться. Кстати, с блокировочной емкостью, похоже я ввел Вас в заблуждение и приношу извинения — на фрагменте схемы, рядом с упомянутым выше разъемом, нарисован конденсатор C4 емкостью аж 0.07F (если, конечно, это конденсатор — УГО на схеме как у батарейки).
Я уже пробовал вчера пальцами держать на этих площадках аккумулятор. Судя по тому, что от платы не пошёл дымок и характерный запах, на плате "+" и "-" написаны правильно. Особого эффекта в работоспособности девайса я не заметил, но заметил изменение частоты звучания источника питания (источник питания нормальный, это я просто ухо прислонил), вероятно, пошла зарядка аккумулятора (хотя он и так до 4 В заряжен)
Значит моя гипотеза про проблемы с питанием была не верна. Просто, за более чем 10 лет опыта работы с GSM модулями, сбои по причине плохого питания были одной из наиболее частых проблем.
Думаю, дело в разработчиках платы. Сейчас я пытаюсь отследить закономерность и не нахожу её. Возможно, это какое-то когнитивное искажение, но кажется, как будто если вставить sd-карточку в ноут, прочитать syslog и вставить обратно, то вероятность успеха выше. Тупо примерно в 1/3 случаев подключение идёт как положено и всё работает (иногда даже дольше часа), а в 2/3 по кругу модем ошибками сыплет и/или просто не отвечает, wvdial отрубается, скрипт его запускает заново и так по кругу. Мне ещё одну плату привезли (из другого магазина даже, партия другая), с ней абсолютно тоже самое. Честно говоря я сейчас хочу уже тупо пробовать передёргивать питание и составлять статистику подключений, занося их в таблицу
Можно ли из логов понять, на какие именно AT команды модем отвечает ошибкой? Доступен ли перечень команд модема и их описание? Есть ли вообще возможность в терминалке подавать AT команды и видеть ответы? Если ответ на последние два вопроса положительный, то может стоит попытаться вручную пройти все этапы подключения:
1. Убедиться, что модем зарегистрирован в сети оператора (пока только GSM, а не GPRS). Посмотреть уровень сигнала.
2. Если надо, настроить параметры GPRS подключения.
3. Попытаться получить GPRS контекст.
Да, можно. Чаще всего в самом начале CME ERROR:50. Реже 148.

Где искать подробную документацию по АТ командам я не знаю. Каких-то специфичных для этого модема я тоже не знаю. Здесь про модем много написано, оттуда всё работает.
Модем рабочий, видит нескольких операторов связи, есть сигнал и мне даже удалось успешно отправить АТ-командами СМСку на свой телефон.

Лог неудачного подключения скорее всего будет готов минут через 15 :)))
Вот лог удачного подключения
Jan 1 00:03:24 OrangePI rc.local[414]: --> WvDial: Internet dialer version 1.61
Jan 1 00:03:24 OrangePI kernel: [ 204.582580] md_tty_install result 0
Jan 1 00:03:24 OrangePI rc.local[414]: --> Cannot get information for serial port.
Jan 1 00:03:24 OrangePI rc.local[414]: --> Initializing modem.
Jan 1 00:03:24 OrangePI rc.local[414]: --> Sending: ATE1
Jan 1 00:03:24 OrangePI rc.local[414]: ATE1
Jan 1 00:03:24 OrangePI rc.local[414]: OK
Jan 1 00:03:24 OrangePI rc.local[414]: --> Sending: AT+COPS=0
Jan 1 00:03:24 OrangePI rc.local[414]: AT+COPS=0
Jan 1 00:03:29 OrangePI rc.local[414]: --> Sending: ATQ0
Jan 1 00:03:29 OrangePI rc.local[414]: ATQ0
Jan 1 00:03:29 OrangePI rc.local[414]: +CME ERROR:50
Jan 1 00:03:29 OrangePI rc.local[414]: --> Re-Sending: AT+COPS=0
Jan 1 00:03:29 OrangePI rc.local[414]: AT+COPS=0
Jan 1 00:03:34 OrangePI rc.local[414]: +CTZV:19/2/24,13:8:3,12
Jan 1 00:03:35 OrangePI rc.local[414]: +CIEV: service, 1
Jan 1 00:03:35 OrangePI rc.local[414]: +CIEV: roam, 0
Jan 1 00:03:35 OrangePI rc.local[414]: +CREG: 1
Jan 1 00:03:35 OrangePI rc.local[414]: OK
Jan 1 00:03:35 OrangePI rc.local[414]: --> Sending: AT+CFUN=1
Jan 1 00:03:35 OrangePI rc.local[414]: AT+CFUN=1
Jan 1 00:03:35 OrangePI rc.local[414]: OK
Jan 1 00:03:35 OrangePI rc.local[414]: --> Sending: AT+CGATT=1
Jan 1 00:03:35 OrangePI rc.local[414]: AT+CGATT=1
Jan 1 00:03:40 OrangePI rc.local[414]: --> Sending: ATQ0
Jan 1 00:03:41 OrangePI rc.local[414]: ATQ0
Jan 1 00:03:41 OrangePI rc.local[414]: +CGATT:1
Jan 1 00:03:41 OrangePI rc.local[414]: OK
Jan 1 00:03:41 OrangePI rc.local[414]: --> Re-Sending: AT+CGATT=1
Jan 1 00:03:41 OrangePI rc.local[414]: AT+CGATT=1
Jan 1 00:03:41 OrangePI rc.local[414]: +CGATT:1
Jan 1 00:03:41 OrangePI rc.local[414]: OK
Jan 1 00:03:41 OrangePI rc.local[414]: --> Sending: AT+CGDCONT=1,"IP","internet.mts.ru","",0,0
Jan 1 00:03:41 OrangePI rc.local[414]: AT+CGDCONT=1,"IP","internet.mts.ru","",0,0
Jan 1 00:03:41 OrangePI rc.local[414]: OK
Jan 1 00:03:41 OrangePI rc.local[414]: --> Sending: AT+CGACT=1,1
Jan 1 00:03:41 OrangePI rc.local[414]: AT+CGACT=1,1
Jan 1 00:03:41 OrangePI kernel: [ 222.196166] md_tty_install result 0
Jan 1 00:03:41 OrangePI rc.local[414]: +CME ERROR:148
Jan 1 00:03:41 OrangePI rc.local[414]: --> Bad init string.
Jan 1 00:03:41 OrangePI rc.local[414]: --> Cannot get information for serial port.
Jan 1 00:03:41 OrangePI rc.local[414]: --> Initializing modem.
Jan 1 00:03:41 OrangePI rc.local[414]: --> Sending: ATE1
Jan 1 00:03:42 OrangePI rc.local[414]: ATE1
Jan 1 00:03:42 OrangePI rc.local[414]: OK
Jan 1 00:03:42 OrangePI rc.local[414]: --> Sending: AT+COPS=0
Jan 1 00:03:42 OrangePI rc.local[414]: AT+COPS=0
Jan 1 00:03:47 OrangePI rc.local[414]: --> Sending: ATQ0
Jan 1 00:03:47 OrangePI rc.local[414]: ATQ0
Jan 1 00:03:47 OrangePI rc.local[414]: +CME ERROR:50
Jan 1 00:03:47 OrangePI rc.local[414]: --> Re-Sending: AT+COPS=0
Jan 1 00:03:47 OrangePI rc.local[414]: AT+COPS=0
Jan 1 00:03:52 OrangePI rc.local[414]: --> Modem not responding.
Jan 1 00:03:52 OrangePI rc.local[414]: Oops. Restart wvdial
Jan 1 00:03:55 OrangePI rc.local[414]: --> WvDial: Internet dialer version 1.61
Jan 1 00:03:55 OrangePI rsyslogd-2007: action 'action 17' suspended, next retry is Sat Jan 1 00:04:25 2000 [try http://www.rsyslog.com/e/2007 ]
Jan 1 00:03:55 OrangePI kernel: [ 236.200561] md_tty_install result 0
Jan 1 00:03:55 OrangePI rc.local[414]: --> Cannot get information for serial port.
Jan 1 00:03:55 OrangePI rc.local[414]: --> Initializing modem.
Jan 1 00:03:55 OrangePI rc.local[414]: --> Sending: ATE1
Jan 1 00:03:56 OrangePI rc.local[414]: +CME ERROR:50
Jan 1 00:03:56 OrangePI rc.local[414]: --> Bad init string.
Jan 1 00:03:56 OrangePI rc.local[414]: --> Cannot get information for serial port.
Jan 1 00:03:56 OrangePI rc.local[414]: --> Initializing modem.
Jan 1 00:03:56 OrangePI rc.local[414]: --> Sending: ATE1
Jan 1 00:03:56 OrangePI rc.local[414]: ATE1
Jan 1 00:03:56 OrangePI rc.local[414]: OK
Jan 1 00:03:56 OrangePI rc.local[414]: --> Sending: AT+COPS=0
Jan 1 00:03:56 OrangePI rc.local[414]: AT+COPS=0
Jan 1 00:03:57 OrangePI rc.local[414]: OK
Jan 1 00:03:57 OrangePI rc.local[414]: --> Sending: AT+CFUN=1
Jan 1 00:03:57 OrangePI rc.local[414]: AT+CFUN=1
Jan 1 00:03:57 OrangePI rc.local[414]: OK
Jan 1 00:03:57 OrangePI rc.local[414]: --> Sending: AT+CGATT=1
Jan 1 00:03:57 OrangePI rc.local[414]: AT+CGATT=1
Jan 1 00:03:57 OrangePI rc.local[414]: +CGATT:1
Jan 1 00:03:57 OrangePI rc.local[414]: OK
Jan 1 00:03:57 OrangePI rc.local[414]: --> Sending: AT+CGDCONT=1,"IP","internet.mts.ru","",0,0
Jan 1 00:03:57 OrangePI rc.local[414]: AT+CGDCONT=1,"IP","internet.mts.ru","",0,0
Jan 1 00:03:57 OrangePI rc.local[414]: OK
Jan 1 00:03:57 OrangePI rc.local[414]: --> Sending: AT+CGACT=1,1
Jan 1 00:03:57 OrangePI rc.local[414]: AT+CGACT=1,1
Jan 1 00:03:58 OrangePI rc.local[414]: OK
Jan 1 00:03:58 OrangePI rc.local[414]: --> Modem initialized.
Jan 1 00:03:58 OrangePI rc.local[414]: --> Sending: ATDT*99***1#
Jan 1 00:03:58 OrangePI rc.local[414]: --> Waiting for carrier.
Jan 1 00:03:58 OrangePI rc.local[414]: ATDT*99***1#
Jan 1 00:03:58 OrangePI rc.local[414]: CONNECT
Jan 1 00:03:58 OrangePI rc.local[414]: --> Carrier detected. Starting PPP immediately.
Jan 1 00:03:58 OrangePI rc.local[414]: --> Starting pppd at Sat Jan 1 03:03:58 2000
Jan 1 00:03:58 OrangePI rc.local[414]: --> Pid of pppd: 475
Jan 1 00:03:58 OrangePI kernel: [ 239.296325] PPP generic driver version 2.4.2
Jan 1 00:03:58 OrangePI pppd[475]: pppd 2.4.6 started by root, uid 0
Jan 1 00:03:58 OrangePI pppd[475]: Using interface ppp0
Jan 1 00:03:58 OrangePI pppd[475]: Connect: ppp0 <--> /dev/modem0
Jan 1 00:03:58 OrangePI rc.local[414]: --> Using interface ppp0
Jan 1 00:03:58 OrangePI rc.local[414]: --> pppd: ����8��[01] ~�[01][01]
Jan 1 00:03:58 OrangePI rc.local[414]: --> pppd: ����8��[01] ~�[01][01]
Jan 1 00:03:58 OrangePI NetworkManager[413]: (ppp0): new Generic device (driver: 'unknown' ifindex: 5)
Jan 1 00:03:58 OrangePI NetworkManager[413]: (ppp0): exported as /org/freedesktop/NetworkManager/Devices/4
Jan 1 00:03:58 OrangePI NetworkManager[413]: devices added (path: /sys/devices/virtual/net/ppp0, iface: ppp0)
Jan 1 00:03:58 OrangePI NetworkManager[413]: device added (path: /sys/devices/virtual/net/ppp0, iface: ppp0): no ifupdown configuration found.
Jan 1 00:03:58 OrangePI pppd[475]: kernel does not support PPP filtering
Jan 1 00:03:58 OrangePI rc.local[414]: --> pppd: ����8��[01] ~�[01][01]
Jan 1 00:03:59 OrangePI pppd[475]: local IP address 10.30.121.77
Jan 1 00:03:59 OrangePI pppd[475]: remote IP address 192.200.1.21
Jan 1 00:03:59 OrangePI pppd[475]: primary DNS address 213.87.1.1
Jan 1 00:03:59 OrangePI NetworkManager[413]: (ppp0): device state change: unmanaged -> unavailable (reason 'connection-assumed') [10 20 41]
Jan 1 00:03:59 OrangePI NetworkManager[413]: (ppp0): device state change: unavailable -> disconnected (reason 'connection-assumed') [20 30 41]
Jan 1 00:03:59 OrangePI NetworkManager[413]: Activation (ppp0) starting connection 'ppp0'
Jan 1 00:03:59 OrangePI NetworkManager[413]: Activation (ppp0) Stage 1 of 5 (Device Prepare) scheduled...
Jan 1 00:03:59 OrangePI NetworkManager[413]: Activation (ppp0) Stage 1 of 5 (Device Prepare) started...
Jan 1 00:03:59 OrangePI NetworkManager[413]: (ppp0): device state change: disconnected -> prepare (reason 'none') [30 40 0]
Jan 1 00:03:59 OrangePI NetworkManager[413]: Activation (ppp0) Stage 2 of 5 (Device Configure) scheduled...
Jan 1 00:03:59 OrangePI NetworkManager[413]: Activation (ppp0) Stage 1 of 5 (Device Prepare) complete.
Jan 1 00:03:59 OrangePI NetworkManager[413]: Activation (ppp0) Stage 2 of 5 (Device Configure) starting...
Jan 1 00:03:59 OrangePI NetworkManager[413]: (ppp0): device state change: prepare -> config (reason 'none') [40 50 0]
Jan 1 00:03:59 OrangePI NetworkManager[413]: Activation (ppp0) Stage 2 of 5 (Device Configure) successful.
Jan 1 00:03:59 OrangePI NetworkManager[413]: Activation (ppp0) Stage 3 of 5 (IP Configure Start) scheduled.
Jan 1 00:03:59 OrangePI NetworkManager[413]: Activation (ppp0) Stage 2 of 5 (Device Configure) complete.
Jan 1 00:03:59 OrangePI NetworkManager[413]: Activation (ppp0) Stage 3 of 5 (IP Configure Start) started...
Jan 1 00:03:59 OrangePI NetworkManager[413]: (ppp0): device state change: config -> ip-config (reason 'none') [50 70 0]
Jan 1 00:03:59 OrangePI NetworkManager[413]: Activation (ppp0) Stage 5 of 5 (IPv4 Configure Commit) scheduled...
Jan 1 00:03:59 OrangePI NetworkManager[413]: Activation (ppp0) Stage 3 of 5 (IP Configure Start) complete.
Jan 1 00:03:59 OrangePI NetworkManager[413]: Activation (ppp0) Stage 5 of 5 (IPv4 Commit) started...
Jan 1 00:03:59 OrangePI NetworkManager[413]: Could not send ARP for local address 10.30.121.77: Failed to execute child process "/usr/bin/arping" (No such file $
Jan 1 00:03:59 OrangePI NetworkManager[413]: (ppp0): device state change: ip-config -> ip-check (reason 'none') [70 80 0]
Jan 1 00:03:59 OrangePI NetworkManager[413]: Activation (ppp0) Stage 5 of 5 (IPv4 Commit) complete.
Jan 1 00:03:59 OrangePI NetworkManager[413]: (ppp0): device state change: ip-check -> secondaries (reason 'none') [80 90 0]
Jan 1 00:03:59 OrangePI NetworkManager[413]: (ppp0): device state change: secondaries -> activated (reason 'none') [90 100 0]
Jan 1 00:03:59 OrangePI NetworkManager[413]: NetworkManager state is now CONNECTED_LOCAL
Jan 1 00:03:59 OrangePI rc.local[414]: --> local IP address 10.30.121.77
Jan 1 00:03:59 OrangePI rc.local[414]: --> pppd: ����8��[01] ~�[01][01]
Jan 1 00:03:59 OrangePI rc.local[414]: --> remote IP address 192.200.1.21
Jan 1 00:03:59 OrangePI rc.local[414]: --> pppd: ����8��[01] ~�[01][01]
Jan 1 00:03:59 OrangePI rc.local[414]: --> primary DNS address 213.87.1.1
Jan 1 00:03:59 OrangePI rc.local[414]: --> pppd: ����8��[01] ~�[01][01]
Jan 1 00:03:59 OrangePI NetworkManager[413]: Activation (ppp0) successful, device activated.

Ну, это лог тоже не совсем удачного подключения (точнее, удачного, но не с первого раза): сначала идет все нормально, но при попытке в первый раз активировать GPRS контекст:
Jan 1 00:03:41 OrangePI rc.local[414]: AT+CGACT=1,1
сразу, без какой-либо задержки, выскакивает ошибка (обычно эта операция длинная, типичная задержка — несколько секунд, но может доходить и до десятков) Дальше программа без какой-либо задержки пытается провести повторную инициализацию, при этом модем может еще находиться хрен знает в каком состоянии после предыдущей ошибки, в итоге добивается отсутствия реакции модема вообще:
Jan 1 00:03:52 OrangePI rc.local[414]: --> Modem not responding.
После этого программа перезапускается, и только со второго раза все проходит успешно.
Исходя из всего этого сложно даже сказать кто виноват — модем или программа.

ПС: кстати, используемые AT команды — стандартные, каких-либо расширений, специфических для данного модема я не увидел.
UFO just landed and posted this here

Наверное, прежде чем покупать одноплатник стоило почитать про его поддержку софтом. Например, прежде чем купить orange pi zero, я выяснил, что в нем хоть и есть wifi но стабильно работающих драйверов для него нет, потому на wifi я не рассчитывал и использовал ethernet. В качестве источника звука для старого музыкального центра orange pi zero работает отлично. У него ещё есть ик-приемник, но я поленился его настраивать на орегинальый пульт от музыкального центра.

Sign up to leave a comment.

Articles