Raspberry подключение usb модема

Обновлено: 07.07.2024




Соответственно одной коммерческой задаче мне придется использовать 3G-модем вместе с Raspberry. В качестве 3G-дейвайса был выбран комплект МТС Коннект 4 (дело было в г.Обнинск, выбирать особо не пришлось). Цель — поднять соединение с авто подключением и реконнектом при дропе.

Исходная точка:
1. Raspberry Pi (версия не важна).
2. Raspbian Debian Wheezy Version: January 2014 Release date: 2014-01-07.
3. Плата питается от блока питания 5V 1A. Не пытайтесь запустить RPi от USB (USB отдает всего 500 мА максимум). При питании от USB RPi будет постоянно перезагружаться из-за нехватки питания.
4. Подключение к интернету.

ПЕРВЫМ ДЕЛОМ

Первым делом я подцепил модем к моноблоку с Windows на борту, поставил Коннект-менеджер с модема и подключился к интернету, дабы удостовериться, что соединение есть и все любые последующие проблемы будут только из-за того, что у меня кривые руки. Коннект есть, трафик считается, гугл открывается, можно работать уже на Raspberry.

ДЕЛАЕМ МОДЕМ МОДЕМОМ

Как ни странно, но после подключения модема к USB он определяется как диск. Для переключения его в режим модема необходимо установить usb-modeswitch. Заодно подтянем и все необходимое, а после совершим reboot:

После перезагрузки проверяем, что теперь у нас из себя представляет модем и доступны ли его порты:

Вот и отлично. Можно начинать работать. под ttyUSB2 у меня клавиатура. Для начала, подключимся к модему через терминал minicom и узнаем его модель посредством AT-команды ati0. Делается это просто — набираем команду и нажимаем Enter:

Для выхода из minicom следует нажать Ctrl + A затем Q и подтвердить выход. Теперь мы точно удостоверились в модели модема на случай, если придется прыгать с бубном.

Кстати, мы приблизились к первой проблеме — если мы сейчас выключим и включим Raspberry, то при вводе команды lsusb мы увидим следующее:

Наш модем снова стал накопителем, сменился ID устройства (с 12d1:1506 на 12d1:155b, где 12d1 — ID вендора) и снова превратился в cdrom. И так будет всегда, если RPi будет включаться с уже вставленным модемом, т.е. до подачи питания. На данном этапе это лечится передергиванием модема (вынул-всунул) и в принципе, может и не критично. Конкретно в моей ситуации, такое поведение ОС меня не устраивает, поэтому буду добиваться однозначного определения модема при включении.

и пишем в него следующую строчку (если у вас другой модем, не забудьте вставить туда свои ID производителя и устройства):

Важно задать правило для udev именно для ID, по которому у нас определяется модем как накопитель, а не наоборот. Т.е. 12d1 155b — это накопитель, 12d1 1506 — это модем. В файл rules вписываем ID накопителя

Для надежности и достоверности теста можно передернуть питание. Включаем RPi и сразу смотрим на вывод . Если определился как модем — то все отлично, если нет — то вам в список полезных ссылок=))

ПОДКЛЮЧЕНИЕ К 3G

Есть два пути — ручная настройка или использование сторонних разработок. Для простоты выберем второй вариант.

Создадим папку, скачаем в нее Sakis3G, разархивируем и дадим права на выполнение данной утилиты

Далее, запустим Sakis3G в интерактивном режиме для установления соединения:

sakis3g имеет графическое меню. В принципе, оно должно быть понятно. Для установления соединения будем выбирать следующие пункты

Можно не заморачиваться и выбрать первый пункт. Параметры будут указаны автоматически.

Указанные мною параметры APN — для Калининградской области. Для другого региона узнайте их у своего оператора, как это и советует программа.

Если просмотреть все пункты в во всех меню sakis3g, то нигде нельзя будет найти опции — авто реконнект при потере соединения. К сожалению нужна еще одна утилита.

РЕКОННЕКТ ПРИ ДРОПЕ

Скачаем утилиту umtskeeper, разархивируем в каталог

ВАЖНО! umts_keeper уже идет вместе с sakis3g. Поэтому можно качать только umts_keeper и не делать предыдущий шаг.

Для автоматического подключения и реконнекта при дропе необходимо запустить umtskeeper с соответствующими параметрами (в моем случае с МТС и ID модема 12d1:1506):

После этого ждем, пока не загорится диод на модеме, сообщающий, что все хорошо и интернет есть. Завершить работу umtskeeper можно нажатием Ctrl+C.

Действие данной утилиты с данными параметрами происходит безмолвно, поэтому смотрим лог:

АВТОЗАГРУЗКА

Для авто подключения при запуске RPi воспользуемся одним из вариантов, а именно — редактированием /etc/rc.local:

куда внесем запуск umtskeeper (не забудьте указать путь, специфичный вашей Raspberry). Не забываем в конце поставить & для запуска в фоне:

Перезагружаемся и проверяем.

РЕЗЮМЕ И КРИТИКА

Критика, как всегда одна — высокоуровневые утилиты, настройка не через файлы конфигов, что понижает прозрачность и надежность. Я думаю, это тема для отдельной статьи.

Добрый день всем. В этой статье я хотел бы рассказать о своем опыте использования 3G-модема SIM7600X, который можно подключать к Raspberry Pi. Статья может оказаться полезной тем из вас, кому необходимо использовать Raspberry автономно, в условиях отсутствия WIFI-сети.

Параметры системы

Raspberry Pi 3B+
OS: Raspbian GNU/Linux 10 (buster)
Модем SIM7600E 4G HAT, версия прошивки LE11B08SIM7600M22

image

Подключение модема к Raspberry

Модем SIM7600E 4G HAT на сегодняшний день стоит около $80. Заказать его можно здесь.

Модем имеет 40-пиновый слот, с помощью которого он подключается к Raspberry. На обратной стороне платы модема имеется слот для SIM-карты. Я использовал SIM-карту Мегафон.

image

Обратите внимание, что при включении питания на модеме должно загореться два LED-индикатора: PWR и NET.

image

В документации сказано, что АТ-команды для управления модемом следует передавать через его USB-порт. Поэтому нам понадобится отдельным проводом соединить этот порт с USB-портом Raspberry.

image

Теперь попробуем подключиться к модему с помощью minicom. При этом можно использовать файлы устройств /dev/ttyUSB2 или /dev/ttyS3.


Убедимся, что модем адекватно отвечает на AT-команды. Например, с помощью команды AT+CPIN? можно проверить, видит ли модем SIM-карту.

Получение GPS-координат.

Модем SIM7600 оборудован GPS-приемником. Чтобы использовать его, сначала подключим внешнюю GPS-антенну в гнездышко GNSS. После этого выведем антенну в зону уверенного приема GPS-сигнала (т.е. хотя бы кинем ее за окошко, т.к. в бетонных зданиях GPS не ловится).

image

Для включения GPS-приемника выполним команду:


Проверим, что приемник стартовал:


Попытаемся получить GPS-координаты:


Возможно, последнюю команду придется повторить несколько раз, пока приемник не «поймает спутники»:

Подключение модема к GSM-сети и 3G-сети.

Для выхода в сеть удобно использовать не так давно вышедшую утилиту qmcli. Большое спасибо человеку с ником mkrzysztofowicz, за подробное описание этого способа. (До этого приходилось пользоваться утилитами sakis3g и umtskeeper, что было не вполне надежно и не слишком удобно.) Для начала, установим необходимые пакеты:


Радио-модуль модема SIM7600 по умолчанию выключен. Включим его:


Индикатор NET на модеме должен начать мигать. Это значит, что модем перешел в режим поиска и подключения к GSM-сети. Проверим, что сеть найдена, и уровень сигнала не слишком низкий:


Драйвер qmi-wwan, увидев подключение модема SIM7600 к Raspberry, создает сетевой интерфейс wwan0. По умолчанию, в качестве протокола на этом интерфейсе установлен 802-3, однако нужный нам протокол — это, по-видимому, raw-ip. Сделаем это изменение:


Теперь соединяемся с 3G-сетью. Параметры для APN вы можете узнать на странице вашего GSM-провайдера.


Например, в случае Мегафон:


И наконец, получим IP-адрес:


С помощью команды ifconfig можно увидеть, что теперь интерфейсу wwan0 назначен определенный IP-адрес. Если это так, то поздравляю, все получилось!

Raspberry Pi — одноплатный компьютер размером с банковскую карту, изначально разработанный как бюджетная система для обучения детей программированию. Но в итоге это стало целой платформой, которой пользуются не только дети для обучения, но и программисты для проектов.

Изначально статья писалась как обучающий материал, поэтому в ней могут быть слишком очевидные моменты.

Иногда нет необходимость или возможности использовать роутер, когда работаешь с Raspberry Pi, то есть не можешь подключить RPi к Интернетам по Ethernet-кабелю. Тогда можно просто напрямую подключить к ней модем и получить Интернеты.



или любой другой модем.

В не к оторых статьях пишут, что нужен хаб с активным питанием, потому что модем потребляет энергии больше, чем Raspberry Pi, но мы обошлись без него.

Стоит отметить, что для Raspberry Pi есть список поддерживаемых модемов, и в нём модема, что используем мы, нет. Но грустить не стоит, во-первых, потому что это немного устаревший список. И, во-вторых, потому что ядро Linux всегда можно кастомизировать.

Наверное, у вас возник вопрос: “Почему два модема?” Ответ довольно простой. На момент написания статьи в wiki нашей лаборатории был только E3272, который поддерживал 4G. А немного позже, уже на работе, в проекте нам понадобилось перевести Cubieboard на модем с 4G. Смысл тот же, потому что и на RPi, и на Cubie Linux :-)Тогда-то и был протестирован написанный алгоритм на другом модеме—E3372H.

“Только модем”

Система Raspberry Pi, как и других микрокомпьютеров, — это немного измененный Linux, у нас стоит Raspbian (это Debian). Значит есть две проблемы:

  1. Как известно, под Linux просто так, как в Windows, драйвера не устанавливаются.
  2. К тому же многие модемы могут работать в нескольких режимах:
  • CD — как загрузочный диск
  • SD — как usb-накопитель
  • MODEM — как модем

Кроме этого, режимы могут совмещаться, то есть работать в параллели.

Чтобы RPi могла спокойно «увидеть» и начать работать с модемом как с модемом, надо явно (или принудительно) сказать Huawei, что у него по умолчанию будет включен режим модем.

Такой проблемы не возникло на модеме более нового поколения (E3372H). Я просто включила модем в микрокомпьютер, поменяла на нём же режим и проделала остальные необходимые действия.

Но всё же рассмотрим, как поменять режим модема на примере операционной системы Windows.

Вставляем модем в компьютер. Видим, что сразу же запускается стандартная программа, которая позволяет соединяться с сетью Интернет.

Это означает, что в модеме режим usb-накопителя включен.

Чтобы спокойно переключить режимы в модеме, надо закрыть программу для подключения к сети Интернет. Иногда бывает недостаточно просто закрыть приложении, поэтому завершаем процесс.

Обычно модемы общаются AT-командами.

AT-команды — это такие специальные наборы правил, которые используются для программирования телекоммуникационного оборудования.

Чтобы изменять настройки модема и использовать эти команды, нам нужна любая терминальная программа. Существуют специализированные программы, которые работают именно для программирования AT-команд. Но нам подойдет и PuTTY.

Узнаем, на какой COM-порт подцепился модем. С этим знанием открываем putty, в разделе «Сессии» выбираем тип соединения Serial, вводим номер COM-порта и скорость устанавливаем в 115200 bps.

В разделе «Терминал» локальный отклик и редактирование строк надо установить в статус «включено»:

Теперь, когда мы настроили всё, нажимаем «соединиться» и видим черный экран. Для проверки связи введем функцию

Эта функция показывает нам информацию о модеме.

Теперь можно ввести одну из этих функций:

Причем нам нужно отключить режим usb-накопителя и загрузочного диска, а оставить только режим модема.

Вообще для каждого типа модема есть свои правила ввода AT-команд. Но легкий поиск в гугле решает эту проблему.

Также можно проверить, залочена ли сим-карта или нет, используя функцию CARDLOCK.

  • Первый параметр — 2 означает, что симлока нет, 1 — если модем залочен.
  • Второй параметр — количество оставшихся попыток разблокировки. У нового модема = 10 .

Теперь у нас модем работает в режиме только модем, и его можно подключать к Raspberry Pi.

Для того, чтобы RPi смогла найти модем, необходимо сначала сделать предварительные установки.

На этих этапах надо подключить Raspberry Pi через другой способ соединения с сетью Интернет. Также надо отметить, что практически все действия производятся от роли root. Если у вас нет пароля от него, или по каким-то причинам вам весело писать sudo, то можно к каждой команде его добавлять :-) Но я всё же напишу их к командам на всякий случай.

Если у вас микрокомпютер давно не обновлялся, то сначала введем две команды:

Каждая команда может работать какое-то время — это всё-таки обновления, так что не стоит сильно переживать, если моментального выполнения не произойдет.

Update обновляет локальный индекс пакетов из репозиториев, которые можно загрузить (программы, библиотеки и т. д.), а upgrade обновляет и загружает сами пакеты, потому что со временем системные программы, функции, библиотеки дорабатываются, изменяются.

Если у вас нет команды aptitude, то

или все команды aptitude можно заменить apt-get.

Чтобы устанавливать связь между Raspberry Pi и сетью, нужен протокол. Будем использовать PPP (Point-to-Point Protocol).

usb_modeswitch

Usb_ModeSwitch — это программа, которая реализует возможность переключения режимов USB-устройства, о которых мы уже говорили. Эта утилита нам нужна на случай, если операционная система Raspberry Pi не поймет смены режима модема.

Sakis3G

Sakis3G — это такая специальная утилита, которая помогает подключать модем к сети Интернет.

Работает она с устройствами по USB, Bluetooth, Serial. По идее Sakis3G достаточно умная программа, и она может сама читать и подставлять настройки оператора, чья сим-карта вставлена в модем. Поэтому нам она подходит.

Но она нужна нам в связке с usb_modeswitch, потому что сам sakis3g не умеет менять режим модема.

Скачиваем архив с Sakis3G, создаем папку и распаковываем архив туда:

Мы установили весь необходимый софт, теперь можно переходить к самому интересному — подключению модема.

Plug-in

Сначала отключим питание от Raspberry Pi и подсоединим модем. Можно использовать для подключения дополнительный хаб с активным питанием, а можно и без него.

Раздаем WIFI на Raspberry Pi с USB модема Rasberi PI, Usb-Модем, Роутер, Длиннопост

На данном этапе будет доступна WIFI сеть но не будет интернета.

Устанавливаем DHCP server

default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.10.255;
option routers 192.168.10.1;
option domain-name-servers 192.168.10.1,8.8.8.8;
option domain-name "home.ru";
subnet 192.168.10.0 netmask 255.255.255.0 range 192.168.10.100 192.168.10.150;
>

Прописываем интерфейс для INTERFACES="wlan0" Для IPv4 и для IPv6

Запускаем DHCP server

Выпадает ошибка можно игнорировать. После перезагрузки все будет работать.

Активируем IPv4 forwaring

$ sudo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
$ sudo iptables -A FORWARD -i eth1 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
$ sudo iptables -A FORWARD -i wlan0 -o eth1 -j ACCEPT

Удаляем все над "exit 0" и выше копируем iptables-restore < /etc/iptables.ipv4.nat

После перезагрузки можно подключаться к WIFI

Промучился сам долго, статью русскую не нашел. Брал кусками основной источник тут

Для ssh IP будет 192.168.10.1


Arduino & Pi

1.1K поста 18.1K подписчиков

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Рассуждать на темы политики

Как легко! (сарказм)

Так или иначе весьма интересно. Пишите о своем использовании распбери ещё)))

Автор, помоги пожалуйста. Есть малинка. Нужно чтобы после загрузки в терминал ввелось пару команд. Как черт возьми это сделать? В инете решения какие то близкие к постройке боинга.

А если туда ещё unbound воткнуть, то можно и рекламу резать.

Использование rc.local для iptables - плохой тон. iptables-persistent будет правильно.

Внимание тут i не хватает

interface=wlan0
ssid=YOUR_WIFI_NAME
wpa_passphrase=WIFI_PASSWORD
hw_mode=g
ieee80211n=1
channel=6
wmm_enabled=1
ignore_broadcast_ssid=0
auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP

Но. ведь в этом модеме уже есть WI-FI?

Мне вот интересно, линуксоиды, вы в голове это все держите или есть какая-то хитрость)

Спасибо тебе мужик, ты мне кучу времени сэкономил.

повесил на малину принтер и продление вай-фая. но. получается не оч высокая скорость. что может быть бутылочным горлом? скорость адаптеров? мплина сама вроде не грузится . или изначально берем модем-свисток от хуавея E8372 который сам по себе умеет создавать WIFI сеть, стоит столько же как его друзья аналоги (3000р), но имеет вот такой вот бонус, с полноценным роутерным веб интерфейсом. Втыкаем его в любую зарядку от мобильника и в розетку. профит.

А из малины делаем медиацентр, сервер умного дома, сидбокс, ретроконсоль, впн гейт с динамической маршрутизацией, блокировщик рекламы или еще чего получше, чего она действительно достойна.

Еще бы TTL понизить и на мобильный пакет без лимита за 200р

Йота греется ацки. Так и не смог бесплатно разлочить под все сим.

Обьясните мне пожалуйста в двух словах, что такое Rasberi Pi? Это какая то приблуда или компьютер? Я чето не пойму. Много за нее слышал. Без приколов.

Что так сложно то? Много херни и мусора, достаточно dnsmasq+1 правило iptables и всё.


Угадай, сколько мне лет?

Чтобы не спрашивать напрямую у девушек возраст, всегда спрашивал, кто они по китайскому гороскопу, разброс по годам составляет 12 лет, легко можно догадаться.

Как-то одна девушка сказала, что она родилась в год Быка, и я ей сказал, что она неплохо выглядит для своих 35 лет.

А оказалось, что ей 23 года.

Разный подход

Недавно хотел найти видео по разборке моего ноутбука для апгрейда, несколько удивлен результатом:

Американский канал: "Обратите внимание - один из болтов не выкручивается и должен остаться в крышке, он даже внешне отличается от всех остальных, это даже описано производителем в инструкции!"

Русский канал: "При разборке мы столкнулись с проблемой - один из болтов плохо выкручивался, но мы все равно вытащили его. ".

Так вон оно как

Остросюжетый триллер

То самое место

То самое место Кавказская пленница, Алушта, Крым, Леонид Гайдай, Трус Балбес Бывалый, Фотография

Не анекдот, а Писание.

Чат мой, люди знакомые, ставлю пятничное моё;)

Не анекдот, а Писание. Чат, Коронавирус, Вакцинация, Религия


Невероятно!

Невероятно! Монахи, Долголетие, Бессмертие, Юмор, Пикабу

Тибетский монах был обнаружен в горах Непала. Он считается самым старым человеком на планете с возрастом в 201 год. Он находится в состоянии глубокого транса, или медитации, под названием "такатет".

Когда его обнаружили в пещере, спасатели сначала подумали, что это просто мумия.

Но ученые, в дальнейшем изучавшие его, обнаружили, что у него есть пульс, хоть и очень медленный.

Рядом с ним лежали его вещи. На одном из кусков бумаг было написано: "иди спать и хватит верить всему, что читаешь на Пикабу".

Баянометр молчал, извините если уже было :)

Экономия на спичках

В одном часто посещаемом баре всегда были хорошие бумажные полотенца в туалете. Помыл руки, взял одно, вытер руки.

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

Сегодня их порезали на половинки. Народ стал брать по четыре.

Я не знаю, в чем смысл, пока эффект от нововведений ограничивается только тем, что умывальник чаще занят(пока вытащишь 4 штуки) и меняют их чаще. Но менеджерам виднее.


Маркетинг

Маркетинг


Само зло

Само зло Хабиб Нурмагомедов, Троллинг, Тролль, Facebook, Длиннопост


Ответ на пост «Уборщица»

Примерно 15 лет назад я работал в мэрии города на довольно высокой в иерархии муниципальных служащих должности. Был молод и глуп в делах житейских, но прислушивался к советам старших. Моя мама, в первый день моей работы напутствовал меня словами: "в первую очередь здоровайся с уборщицей и тех персоналом, не игнорируй простых людей, они ещё всех вас там переработают." И я воодушевленный наставлениями мамы, да и воспитанием наученный прежде всего, всегда здоровался с уборщицами, поздравлял их с праздниками, иногда дарил небольшие презенты в виде шоколадок или пирожных. Очень хорошие, трудолюбивые люди и мне искренне было приятно с ними иногда переброситься парой слов. Так вот, отработал я там лет пять, уволился, ушел на другую работу. История поросла быльём, но. Недавно зашёл в мэрию документы сдать по нашей фирме и как назло паспорта нет с собой, грозный охранник не пропустил и я расстроенный уже собирался уходить, но тут вышла одна из тех самых уборщиц, узнала меня, очень искренне порадовалась встрече, рыкнула на охранника: наш человек, почему не пропускаешь! Тот что-то промямлил, мол не положено, но пропустил. Сдал я документы, ушел, а на душе приятно. Вот так вот, всех переработала и мэров и сэров и пэров, да и охрану гоняет.)))

Читайте также: