- Использование USB-3G-модемов
- Содержание
- Общий алгоритм настройки подключения к 3G-сети
- Инструкция в картинках (Ubuntu 10.10)
- Возможные проблемы и решения
- Модели модемов, AT-команды и заметки
- Huawei E1550
- Создаем точку доступа Wi-Fi под Linux из USB модема
- Предисловие
- Запускаем драйвера. Wi-Fi, просто Wi-Fi
- Запускаем драйвера. Сильные духом
- Страшная тайна firmware!
- Танцы с бубном. Hostapd
- Лирическое отступление
- Вместо послесловия
- Как подключить 3g модем в Linux?
Использование USB-3G-модемов
Содержание
Общий алгоритм настройки подключения к 3G-сети
Скриншоты
Начиная с версии Ubuntu 9.10 большинство USB-модемов определяются и работают нормально независимо от оператора сотовой связи.
Перед началом настройки необходимо установить пакеты usb-modeswitch и usb-modeswitch-data , которые позволяют корректно работать с устройствами, совмещающими функции модема, CD-ROMа и картридера (коими являются большинство 3G-USB-модемов).
После этого, при подсоединении USB-модема, стандартный апплет NetworkManager позволит создать «Новое широкополосное соединение», где мастер поможет выбрать регион, оператора и тариф.
Инструкция в картинках (Ubuntu 10.10)
1. Щёлкните правой кнопкой мыши на апплете NetworkManager и откройте «Изменить соединения».
2. Перейдите во вкладку «Мобильные» и добавьте новое соединение.
3. Выберите устройство, для которого вы настраиваете соединение. Можно выбрать «Любое».
4. Выберите страну.
5. Выберите оператора. Если нужного нет или полно фантазии, можно самому написать название.
6. Выберите или напишите точку доступа (APN). Список для некоторых операторов представлен ниже в этой статье.
7. Почти всё. Нажмите «Применить».
8. Появится окно, в котором можно написать имя пользователя и пароль, изменить точку доступа и т. д.
9. На другой вкладке можно включить или отключить шифрование и сжатие. После настроек нажмите «Применить».
10. Щёлкнув по значку апплета и выбрав созданное подключение, вы сможете подключиться.
11. Изменение готового соединения аналогично, только вместо «Добавить» на шаге 2 нужно выбрать нужное соединение и нажать «Изменить», тем самым вы перейдёте к шагу 8.
Возможные проблемы и решения
Для надёжной работы также рекомендуется перевести устройство в режим «только модем». Это можно сделать с использованием терминальной программы cutecom , соединившись на порт /dev/ttyUSB0 и послав соответствующую конкретной модели устройства команду.
В случае проблем с установлением связи попробуйте в PPP параметрах подключения отключить компрессию Deflate, BSD или обе сразу.
Не забудьте проверять ваш баланс. При недостатке средств соединение может устанавливаться, но доступа к сетевым ресурсам не будет!
Модели модемов, AT-команды и заметки
Huawei E1550
AT-команды для переключения режима работы устройства:
Источник
Создаем точку доступа Wi-Fi под Linux из USB модема
Все началось, когда я заменил материнскую плату в своем домашнем компьютере. В старой плате был встроенный USB Wi-Fi адаптер на обычном Realtek 8187, который два года исправно работал точкой доступа под Windows. В новой плате Wi-Fi модуля не было, зато у меня появился целый сервер на замечательном Intel Atom 525 с одним маленьким недостатком — в нем было очень мало PCI слотов.
Немного поразмышляв, я решил сделать невинную, как мне сначала казалось вещь — запустить программную Wi-Fi точку доступа на обычном USB адаптере. Если бы меня предупредили что меня ожидает, я бы отказался от идеи с самого начала! Я раздобыл недорогой адаптер и, только в процессе возни с ним, стал осознавать что использование «неправильного» USB на «неправильном» чипсете это настоящее насилие для Linux! Гуру Линукса отказывались от помощи!
Тем не менее, мне удалось подружить Debian 6.0 с чипсетами Ralink 2870/3070 и Atheros 9170, и я готов раскрыть эту страшную тайну всему миру!
Предисловие
В последние годы Wi-Fi система в ядре Linux подверглась серьезной доработке. Идея была очень простой — разбить подсистему на модули, вынести повторяющиеся процедуры MAC уровня в отдельные модули ядра и отдельные демоны и переписать заново драйвера физических устройств. Так появилась пачка компонентов, про которые можно почитать на сайте разработчиков: wireless.kernel.org/en/users/Documentation
Как это часто бывает, красивые теории подверглись воздействию суровой прозе жизни. В нашем случае это выглядит так: для каждого чипсета Ralink 2870/3070 и Atheros 9170 в ядро включены две версии драйверов — «old school», которые работают из коробки, но не могут быть запущена в режиме Master (режим для запуска Access Point) и новые «net-link style» которые все умеют но не работают из коробки. По-умолчанию взаимоисключающие драйвера пытаются запуститься одновременно с печальным результатом. Но довольно сетований, скорее за дело!
Запускаем драйвера. Wi-Fi, просто Wi-Fi
Если вы обычный пользователь, и хотите просто подключаться к имеющимся Wi-Fi сетям, то на Debian 6 (и других подобных убунтариях) вам нужно сделать следующее:
Для чипсета RT2870/3070 на коем собраны популярные Dlink DWA-140, TL-WN727N рекомендую оставить драйвер старого стиля rt2870sta, к которым не забываем скачать firmware.
apt-get install firmware-ralink wireless-tools
Далее идем в /etc/modprobe.d/blacklist.conf и блокируем запуск драйверов нового стиля:
После чего можно подключить USB свисток и внимательно посмотреть dmesg. Если в нем будут писать про конфликты драйверов, то вы ошиблись или не запретили все конфликтующие драйвера. Если будет написано про отсутствие firmware, значит у вас отсутствует firmware (чертовски неожиданно?). Наберите ls -l /lib/firmare должно быть что то типа такого:
-rw-r—r— 1 root root 8192 Мар 6 22:34 rt2561.bin
-rw-r—r— 1 root root 8192 Мар 6 22:34 rt2561s.bin
-rw-r—r— 1 root root 8192 Мар 6 22:34 rt2661.bin
-rw-r—r— 1 root root 8192 Мар 6 22:34 rt2860.bin
-rw-r—r— 1 root root 8192 Мар 19 11:46 rt2870.bin
-rw-r—r— 1 root root 4096 Янв 4 05:40 rt2870.bin.old
-rw-r—r— 1 root root 8192 Дек 28 2009 rt2870.bin.ralink
-rw-r—r— 1 root root 4096 Мар 6 22:34 rt3070.bin
-rw-r—r— 1 root root 4096 Мар 6 22:34 rt3071.bin
-rw-r—r— 1 root root 8192 Мар 6 22:34 rt3090.bin
-rw-r—r— 1 root root 2048 Мар 6 22:34 rt73.bin
Пытливый читатель наверно заметил подвох, мы еще вспомним о нем.
Для Ar9170 аналогичная процедура. На нем собраны Dlink DWA-130, 160 а так же очень популярный в узких кругах TL-WN821N v2. В мои же руки попал Netgear WNA1000.
apt-get install firmware-atheros wireless-tools
Блеклистим carl9170 и вперед!
Потом идем в /etc/network/interfaces и пишем там нечто вроде:
Запускаем ifup wlan0 . Далее какой нибудь графической утилитой можно подключиться к сети. Для окончательной настройки подойдет, например, «Network manager»
Если у тебя, уважаемый хабраюзер уже замигал Wi-Fi и больше ничего не требуется, то смело закрывай тему.
Запускаем драйвера. Сильные духом
Итак, настойчивый хабраюзер, несмотря на скепсис признанных гуру, мы все еще хотим запустить USB Wi-Fi в режиме точки доступа.
Для начала два простых совета по выбору адаптера:
- Все что угодно, только не Realtek!
- Остальные чипсеты/драйвера смотрим в справочнике: wireless.kernel.org/en/users/Devices/USB
Теперь вычеркнем все рекомендации из раздела «просто Wi-Fi»! 90% блогов в интернете забиты этой ерундой. Мы будем отключать драйвера старого стиля и запускать новые, которые ни черта не работают из коробки даже в новейших версиях ядер, а значит пришло время компиляции. Пока ты читаешь эту хабрастатью, разработчики наверняка исправили 1-2 бага в драйверах и добавили новый, а значит качаем самую свежую версию compat-wireless: www.orbit-lab.org/kernel/compat-wireless-2.6
Она совместима с драйверами начиная от 2.6.14
Далее следуем инструкциям: wireless.kernel.org/en/users/Download/stable
Компилируется все очень долго игнорируя флаг включения многопоточности:
declare -x CONCURRENCY_LEVEL=»4″
После компиляции и инсталляции не забываем отключить старый стиль в /etc/modprobe.d/blacklist.conf
И конечно не забываем выгрузить ранее загруженные драйвера:
Драйвера нового стиля корректно выгружать так (пригодится при отладке):
Страшная тайна firmware!
Кажется все. Запускаем modprobe … и полное разочарование! В логах опять ругается на firmware. Дело в том что новые драйвера имеют и фирмваре другое. Для Ralinka идем сюда: www.ralinktech.com/support.php?s=2 и скачиваем нечто вида RT2870_Firmware_V22.
Распаковываем и пишем в /lib/firmware, удивляясь как это файл с одинаковым именем может отличаться ровно в два раза по размеру! Внимательный читатель уже отметил этот факт раньше. Дело в том, что несколько месяцев назад разработчики объединили драйвера для чипсетов rt2870 и rt3070 в один. Не мудрствуя лукаво назвали драйвера и фирмваре по имени 2870. Вы видели на странице Ралинка фирмваре 3070? И я не видел, а оно там есть! Адаптер DWA-140 сделан на чипсете 3070 и распознается драйверами rt2800usb.
С Атеросом немного проще, идем на страницу разработчиков и скачиваем свежую версию: wireless.kernel.org/en/users/Drivers/carl9170#Firmware
Чтобы точно разобраться с фирмваре, смотрим что хочет модуль драйвера, например:
modinfo carl9170 | grep firm
А потом проверяем что необходимое фирмваре есть:
ls /lib/firmware/
Далее уже привычные манипуляции с rmmod, modprobe и lsmod и ура! Мы подняли правильные драйвера, а значит пришло время набрать заветную команду
iwconfig wlan0 mode Master
Бах! Ошибка! SET failed on device wlan0 ; Invalid argument. Неужели все было проделано зря? Конечно нет. Просто у новой подсистемы свой путь, и как это часто бывает с новым и хорошим, он категорически отрицает старое и хорошее. На форумах этот вопрос обсуждают примерно так:
— Why?
— RTFM!
— Cам ты RTFW! Небо, небо не видело такого кю!
Мануал сообщает нам что отныне все настройки для точки доступа делаются через программу hostapd: wireless.kernel.org/en/users/Documentation/hostapd
Подключаем репозиторий sid в Дебиан (во всех остальных безнадежно старые версии) и ставим новые утилиты работы с радио fw и демон hostapd
apt-getinstall iw hostapd
После чего пишем iw list и видим заветные Supported interface modes: AP, а заодно и список частот.
Танцы с бубном. Hostapd
Перед началом настройки конфига нужно знать три важные вещи.
1. Внутри этого демона сидит маленький и вредный поганец, который непредсказуемым образом меняет состояние интерфейса в процессе запуска/перезапуска. Иногда wlan0 исчезает, иногда у него исчезает IP, иногда помогает ifdown ifup, иногда не помогает. Ralink в таких условиях совсем плох, Атерос чуть стабильнее. Поэтому перед любом запуске hostapd проверяем, что радиоинтерфейс поднят, и IP адрес на нем жив. Если не удается поднять интерфейс значит применяем насилие — ребутим Линукс! (Да да это не шутка!)
2. Все настройки сначала проверяем без шифрования! И не забываем проверять dhcpd, который тоже любит умирать при перезагрузке интерфейсов. Вот почему Linux + USB = ненависть! Лучше настройку hostapd проводить без dhcp, с фиксированным IP адресе на клиенте, и лишь в конце перейти к настройке dhcpd.
3. Для проверки всегда сначала запускаем hostapd -d /etc/hostapd/hostapd.conf c диагностикой в консоль.
Теперь конфиг hostapd с пояснением. ( Update: поправлены комментарии, # не работает в конце строки)
После запуска прежде всего набираем ifconfig и видим что появился специальный интерфейс
mon.wlan0 Link encap:UNSPEC HWaddr 30-46-9A-00-6D-04-00-00-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:42603 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3887500 (3.7 MiB) TX bytes:0 (0.0 B)
Теперь в консоли (если запускали hostapd -d) смотрим что происходит в процессе аутентификации. Если настроен WPA и соединиение не проходит дальше фазы 2/4 значит ошибочно набран пароль. Там еще можно увидеть множество непонятных сообщений.
Лирическое отступление
Так получилось, что ковырясь с hostapd я потерял всякую надежду запустить свой Dlink DWA-140 на чипсете Ralink 3070. Мне совершенно точно удалось запустить его в работу без шифрования, но при включении шифрования или я допускал ошибку, или действительно этот модуль плохо взаимодействует с ядерными модулями шифрования ( на форумах я видел описание проблемы и одна из версий решения указывала на модули шифрования ecb и arc4).
Финальный аккорд с включением шифрования я уже реализовал на Netgear WNA1000 на чипсете Atheros 9170, который действительно лучше работает и корректно подгружает все модули шифрования.
Теперь я думаю что можно таки было запустить Ralink с шифрованием и призываю поставить жирную точку в том вопросе счастливых обладателей DWA-140. Пишите о своих успехах или проблемах в комментариях, попробуем разобраться вместе.
Вместо послесловия
Теперь у нас в кладовке или на шкафу тихо жужжит маленький сервер с USB Wi-Fi адаптером, можно насладиться проделанной работой. Но не тут то было! В современной многоэтажке нашпигованной точками доступа со всех сторон идут помехи. Чтобы выбрать канал я советую изучить эфир программой InSSIDer
Вот так выглядел выбор канала у меня вечерком у окошка:
Источник
Как подключить 3g модем в Linux?
За те годы, что я использовал Linux совместно с 3G модемом, не было ни одной родной программы от самой Ubuntu. У 3G модемов фирмы Huawei есть свой 3G менеджер под Linux, но работать с другими модемами (да и с некоторыми своими) он отказывается.
Но вот в Ubuntu 12.04 я совершенно случайно обнаружил в менеджере пакетов программу, созданную как раз для управления 3G модемами. Как подключить 3g модем в Linux при помощи этой программы?
Для начала давайте установим эту программу, чтобы подключить 3G модем. Вы можете найти её в менеджере пакетов Synaptic под именем modem-manager-gui
Вы также можете установить её из командной строки:
Если у вас нет нужного репозитория и программа не находится, то добавьте репозиторий .
Сделать это можно, открыв менеджер пакетов Synaptic — Настройки — Репозитории — Другое ПО — Добавить, и добавить так, как показано на снимке:
Теперь обновите сведения о пакетах и устанавливайте эту программу.
В самом менеджере пакетов есть небольшое описание того, что эта программа умеет:
Давайте попробуем запустить эту программу и на личном опыте оценить её полезность и функциональность. Я буду использовать разлоченный модем ZTE 100 с сим картой от Мегафон.
Заходим в «Приложения» — «Системные утилиты» — «modem-manager-gui» и запускаем приложение.
Как видите, программа определила мой модем. Нажимаю кнопку «Сети» и тут выскакивает рамочка:
Нажимаем «Активировать» конечно. Перед нами появляется вкладка сеть, где есть кнопка «Начать сканирование сетей». Сканируем:
Видим все доступные сети. Очень полезно, кстати, посмотреть, у каких операторов в данном месте есть 3G или UMTS. Видим, что есть у Мегафон и МТС. Так и есть на самом деле. Тперь
Теперь нам нужно подключить 3g модем в Linux. Но не тут то было, в программе нет кнопки «Подключить». Пришлось идти в сетевые подключения и подключать 3G модем обычным способом.
Но не будем это считать серьёзным недостатком, возможно так было задумано. После подключения 3G модема в менеджере сети, программа окончательно оживает. Посмотрим вкладку «Трафик».
Ну что же — не плохо. Особенно радует пункт «Остаток трафика» — найти бы как его настроить. Нажимаем»Установить ограничения», ставим галочку «Использовать ограничения трафика» и выставляем значение».
Судя по следующему полю, при достижении этого значения, программа оповестит о лимите. Можно поставить поменьше, и тогда можно узнать, что скоро трафик закончиться.
Теперь перейдём на вкладку «Статус».
Самое интересное тут: «Уровень сигнала». Его необходимо знать, если вы хотите усилить сигнал 3G модема. Так же через программу можно отправить смс:
Я не стал пробовать, оно мне не надо. Но вот попробовать отправку USSD запросов, чтобы проверить тот же баланс, думаю стоит:
У меня не получилось посмотреть баланс, программа не реагировала. А потом мне пришло SMS:
И нет даже слова о балансе. Ну да ладно, может дело в операторе?
Как вы видите, подключить 3G модем в линукс с помощью этой программы нельзя, но использовать её некоторые функции, например, подсчёт трафика, будет очень полезно.
Источник