Raspberry подключение usb модема
Соответственно одной коммерческой задаче мне придется использовать 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
Подключение модема к Raspberry
Модем SIM7600E 4G HAT на сегодняшний день стоит около $80. Заказать его можно здесь.
Модем имеет 40-пиновый слот, с помощью которого он подключается к Raspberry. На обратной стороне платы модема имеется слот для SIM-карты. Я использовал SIM-карту Мегафон.
Обратите внимание, что при включении питания на модеме должно загореться два LED-индикатора: PWR и NET.
В документации сказано, что АТ-команды для управления модемом следует передавать через его USB-порт. Поэтому нам понадобится отдельным проводом соединить этот порт с USB-портом Raspberry.
Теперь попробуем подключиться к модему с помощью minicom. При этом можно использовать файлы устройств /dev/ttyUSB2 или /dev/ttyS3.
Убедимся, что модем адекватно отвечает на AT-команды. Например, с помощью команды AT+CPIN? можно проверить, видит ли модем SIM-карту.
Получение GPS-координат.
Модем SIM7600 оборудован GPS-приемником. Чтобы использовать его, сначала подключим внешнюю GPS-антенну в гнездышко GNSS. После этого выведем антенну в зону уверенного приема GPS-сигнала (т.е. хотя бы кинем ее за окошко, т.к. в бетонных зданиях GPS не ловится).
Для включения 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). Значит есть две проблемы:
- Как известно, под Linux просто так, как в Windows, драйвера не устанавливаются.
- К тому же многие модемы могут работать в нескольких режимах:
- 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 сеть но не будет интернета.
Устанавливаем 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 штуки) и меняют их чаще. Но менеджерам виднее.
Маркетинг
Само зло
Ответ на пост «Уборщица»
Примерно 15 лет назад я работал в мэрии города на довольно высокой в иерархии муниципальных служащих должности. Был молод и глуп в делах житейских, но прислушивался к советам старших. Моя мама, в первый день моей работы напутствовал меня словами: "в первую очередь здоровайся с уборщицей и тех персоналом, не игнорируй простых людей, они ещё всех вас там переработают." И я воодушевленный наставлениями мамы, да и воспитанием наученный прежде всего, всегда здоровался с уборщицами, поздравлял их с праздниками, иногда дарил небольшие презенты в виде шоколадок или пирожных. Очень хорошие, трудолюбивые люди и мне искренне было приятно с ними иногда переброситься парой слов. Так вот, отработал я там лет пять, уволился, ушел на другую работу. История поросла быльём, но. Недавно зашёл в мэрию документы сдать по нашей фирме и как назло паспорта нет с собой, грозный охранник не пропустил и я расстроенный уже собирался уходить, но тут вышла одна из тех самых уборщиц, узнала меня, очень искренне порадовалась встрече, рыкнула на охранника: наш человек, почему не пропускаешь! Тот что-то промямлил, мол не положено, но пропустил. Сдал я документы, ушел, а на душе приятно. Вот так вот, всех переработала и мэров и сэров и пэров, да и охрану гоняет.)))
Читайте также: