Переделывание D-Link DIR-320 в 3G роутер

Я более чем уверен, что многие уже не один раз видели подобные заголовки. Но каждый раз, когда их читаешь, получается, что нужно купить какой-то самый в мире проверенный модем, да к тому же удача должна быть к тебе благосклонна. А ведь самая распространённая проблема заключается в том, что нет такого модема, который бы не зависал по истечению определенного времени. Самый длинный интервал, что я видел – это 8 (восемь) часов. Как следствие, многие отказываются от подобной задумки и опускают руки, а в случае если без роутера никак, то приспосабливают для этих целей старенький ПК, да еще и устанавливают Windows (как правило, XP, ну или что будет под рукой).
Так как ПК и уж тем более Windows, для меня не вариант и «того самого» модема у меня не было под руками, пришлось искать решение.
Если интересно продолжение, прошу под «кат».

Введение


Как, наверное, многим стало понятно из предисловия, передо мной стояла задача сделать небольшой и очень стабильный 3G роутер.
Что для этого потребовалось:
  • Роутер DIR-320 (был в наличии)
  • 3G модем
  • Внешняя антенна

Исследования и постановка целей


Итак, прежде чем делать что-то самому, я начал с того, что проанализировал многочисленные форумы и сообщества. На каждом форуме были ветки с описание тех самых чудо модемов и бесконечного ряда, связанных с ними проблем. Одни были мега стабильными, но с неприемлемо низкой скоростью, другие радовали производительностью, но уже через 30 минут «зависали» намертво. Все это очень сильно огорчало.

Прежде чем идти в «закрома родины» за стареньким ПК, я решил проанализировать имеющиеся факты и самостоятельно исследовать проблему.

Для первичных экспериментов я решил воспользоваться стационарным ПК с Linux. Настроив 3G соединение, посредством имеющегося в наличии Huawei E173, запустил вызов команды ping + wget с интервалом раз в 10 минут. Соединение продержалось около 4 (четырёх) часов, после чего модем перестал отвечать на PPP команды, AT при этом работали. Такой же эксперимент я провел и с AnyDATA ADU-500A (это модем из списка «тех самых»). Как ни странно, закончилось все тем же, только через 5 часов.
Всякие попытки оживить, не приносили долгожданного результата, только полное обесточивание спасало ситуацию.
В очередной раз я решил перезагрузить модем и тут меня осенило, а почему бы просто не потушить USB порт. Сказано-сделано:
  1. Находим модем из списка всех USB устройств:
    for f in `ls /sys/bus/usb/devices/*/product`; do echo -e "$f\t`cat $f`"; done
    

  2. Выключаем порт на 5 секунд и затем включаем:
    echo “suspend” | sudo tee /sys/bus/usb/devices/1-1/power/level
    sleep 5
    echo "on" | sudo tee /sys/bus/usb/devices/1-1/power/level
    


Эксперимент показал, что все прекрасно перезагружается. И соединение может быть опять установлено. С этого момента стало предельно ясно, что нужно делать.

Взяв четыре прошивки для роутера: D-Link, Asus, OpenWRT или DD-WRT, начал повторять эксперимент, но вот незадача, на удивление, ни в одной из прошивок не оказалось возможности управления питанием USB. Вначале я подумал, что это проблема ядра 2.4.x. Но и та же проблема и с 2.6. Более того, после перезагрузки роутера модем оставался проинициализированным. Вывод напрашивался сам собой, нужно разбирать роутер.
Внимательный осмотр и «прозвонка» платы показали, что ножка питания «+5В» подключена непосредственно к источнику питания. Это меня не устраивает и нужно делать модернизацию платы и источника питания.

Наступил момент выбора дистрибутива. У этого замечательного роутера очень мало оперативной памяти и не хотелось, чтобы её потребляли ненужные сервисы, будь то httpd, FTP, SAMBA или что еще. Было принято решение построить дистрибутив на базе OpenWRT самостоятельно, при этом с минимумом предустановленных пакетов и сервисов.

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

Просмотрев карту покрытия разных операторов, пришел к выводу, что наиболее подходящим является MTS. Помимо карты покрытия, мне очень понравилось то, что у них можно всю статистику и управление совершить из достаточно удобного WEB интерфейса. Купив их самый лучший модем, с обещанным максимумом в 14,7 Мбит/с и минимум в 3Мбит/с, начал свое приключение.
Возможно, кому-то будет интересно:

После покупки начал попытки подключиться к этому модему. И как всегда возник ряд вопросов:
  1. Он настойчиво отображается как CD-ROM
  2. Ни слова в интернете об этом модеме, максимум, что было найдено это упоминание о предыдущей модели (WM-D200)

Анализ dmesg показал, что CD-ROM монтируется как SCSI, это навело на мысль, что его нужно отключать именно как SCSI, никакие usb_modeswitch тут не работают, да собственно и не нужны.
Разумеется, был сразу написан свой софт, который это делал. Но непокидающая мысль, о том, что это кто-то уже писал и скорее всего это уже есть в портах/portage или еще где-то, заставило поискать. Первый же проход по папке с man’ами показал, что есть чудеснейший пакет sdparm. Установив и проверив, стало ясно — это то, что нужно.
Так как теперь все стало на свои места и больше не осталось вопросов, можно приступать к работе.

Сборка OpenWRT


Все шаги выполняются в консоли Linux. Обратите внимание, релиз Backfire выбран из-за того, что это последний релиз с ядром 2.4. Это очень важно, так как ядро 2.6 само по себе очень требовательно как к производительности процессора, так и к системным ресурсам.
  • Скачиваем исходник OpenWRT:
    svn co svn://svn.openwrt.org/openwrt/branches/backfire openwrt-backfire
    
  • Переходим в папку с исходником
    cd openwrt-backfire
    
  • Обновляем все пакеты
    ./scripts/feeds update -a
    
  • Добавляем из пакетов sdparm
    ./scripts/feeds install sdparm
    
  • Открываем меню настройки
    make menuconfig
    
  • Выбираем интересующую платформу
    Target System (Broadcom BCM947xx/953xx [2.4])
    
  • Встраиваем интересующие нас пакеты (по умолчанию они не включены даже как модули)
    <*> sdparm........................ Read or modify SCSI or USB disk parameters
    <*> chat................................. Establish conversation with a modem
    <*> comgt............................... Option/Vodafone 3G/GPRS control tool
    <*> kmod-scsi-generic........................ Kernel support for SCSI generic
    <*> kmod-usb-core............................................ Support for USB
    <*> kmod-usb-ohci............................... Support for OHCI controllers
    <*> kmod-usb-serial..................... Support for USB-to-Serial converters
    <*> kmod-usb-storage..................................... USB Storage support
    <*> kmod-usb2................................... Support for USB2 controllers
    
  • Все остальные пункты оставляем без изменения
  • Выходим из меню конфигуратора с сохранением
  • Собираем инструменты
    make tools/install -j`grep -c processor /proc/cpuinfo`
    make toolchain/install -j`grep -c processor /proc/cpuinfo`
    
  • Открываем меню настройки ядра Linux
    make kernel_menuconfig
    
  • Настраиваем MTD
    [*]     Support 2-chip flash interleave
    
  • Выходим из меню конфигуратора с сохранением
  • Собираем OpenWRT
    make -j`grep -c processor /proc/cpuinfo`
    
  • После того как прошивка собрана, её нужно прошить в устройство. На эту тему есть масса инструкций (например, на сайте DD-WRT)

Проверка прошивки


После того как прошивка была «залита» и роутер перезагрузился, подключите к нему модем и соедините роутер посредством Ethernet с вашим ПК. Настройте на интерфейсе (в моём случае это eth0) вашего ПК IP адрес выполнив команду:
ifconfig eth0 inet 192.168.1.2/24

Далее, подключитесь к роутеру по Telnet. Для этого из консоли выполните следующую команду:
telnet -l root 192.168.1.1

Вход будет совершен автоматически без запроса пароля. Это в корне не верно. Чтобы исправить ситуацию, задайте пароль, выполнив команду в консоли:
passwd

Выполните команду «exit», для выхода из telnet сессии.
Выполните вход по ssh:
ssh root@192.168.1.1

Следующим шагом, удостоверимся, что модем был распознан ядром, выполнив команду в консоли:
grep "^P\:.*22de.*6803" /proc/bus/usb/devices

Результатом выполнения этой команды, будет строка с VID и PID модема. В противном случае, проверьте, что было сделано не по инструкции.

Модернизация аппаратного обеспечения роутера


Для управления питанием USB порта нужна свободная ножка процессора. Но так как это не инженерная плата, а конечный продукт, данный вариант не подходит. По счастливой случайности, у этого роутера масса светодиодных индикаторов на передней панели. Один из них мы вполне можем приспособить под наши нужды. В моем случае выбор пал на индикатор со значком принтера, так как он соответствовал светодиоду USB на proc-fs (/proc/diag/led/usb).

Управление питанием будет осуществлять дополнительная плата с минимально необходимым набором деталей. Вот её схема:

Пара слов о схеме. Оба транзистора работают в качестве ключей. При подаче логической единицы на вход «CTRL», транзистор VT1 откроется, что в свою очередь приведет к открытию транзистора VT2 и питающее напряжение подастся на USB порт. Как таковые, расчеты не производились, поэтому, схема не может считаться оптимальной. Например, транзистор VT1, просто был единственным N-P-N транзистором в поле досягаемости, собственно как и резисторы.

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

Зелёными надписями отмечены одноименные порты на схемы. Резистор R4, припаян непосредственно к ножке светодиода.

Пошаговая инструкция по модификации:
  • Обесточьте роутер и разберите его
  • Уберите не нужный R48 – этот резистор соединяет светодиод с ножкой процессора

  • Удалите предохранитель F1 – этот предохранитель, должен обеспечить защиту в случае короткого замыкания на линиях питания USB. Его номинал мне не известен, но я его применил в своей схеме (R3). Обратите внимание, надписями желтого цвета отмечены места подключения платы управления

  • Удалите защитное покрытие с проводника, ведущего сигнал от процессора к резистору R48. К этому проводнику, должен быть подпаян порт «CTRL» платы управления

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

  • Припаяйте резистор R4 непосредственно к аноду светодиода, как указанно на фотографии. Также обратите внимание на подключение соединительных проводов

  • Закончите монтаж соединительных проводов

  • Итоговый результат

  • Соберите и включите роутер

Модернизация программного обеспечения роутера


Это последний шаг на пути к «счастью». Нам нужно будет написать ряд новых скриптов и внести изменения в уже имеющиеся. Итак, все по прядку.
Подключитесь к роутеру по ssh, так как все следующие шаги будут выполняться непосредственно на нём.

Создание утилит для управления USB

Перейдите в папку /etc/ppp. Многих заинтересует, почему была выбрана именно эта папка в качестве целевой. Ответ прост, так исторически сложилось. Думаю, /usr/local/sbin будет более подходящей, но сути это не меняет
cd /etc/ppp

  • Создайте usb-up.sh. Этот скрипт будет включать питание на USB порте
    $ cat usb-up.sh
    #!/bin/sh
    logger -t "USB PwrCtrl" "Turn-on USB power"
    echo 1 > /proc/diag/led/usb
    
  • Создайте скрипт для перезагрузки USB порта
    $ cat resetusb.sh
    #!/bin/sh
    logger -t "USB PwrCtrl" "Turn-off USB power"
    echo 0 > /proc/diag/led/usb
    # Sleep in 3 sec is an optional, but may be useful for some modem types
    #sleep 3
    logger -t "USB PwrCtrl" "Turn-on USB power"
    echo 1 > /proc/diag/led/usb
    
  • Создайте скрипт для проверки существования процесса pppd
    #!/bin/sh
    if ps | grep -q /usr/sbin/pppd; then
        logger -t "PPP watcher" "PPP alive"
    else
         logger -t "PPP watcher" "No PPP daemon"
         /etc/ppp/resetusb.sh
    fi
    
  • Сделайте скрипты исполняемыми
    chmod  a+x /etc/ppp/*.sh
    
  • Добавим корректную обработку подключения модема к USB. Обратите внимание на то, что в OpenWRT, по умолчанию, нет udev, а вместо этого используется hotplug «демон»
    $ cat /etc/hotplug.d/usb/11-modem
    #!/bin/sh
     
    # Copyright (C) 2013 Sergey Shcherbakov <shchers@gmail.com>
     
    case "$ACTION" in
            add)
                    (grep -q "^P\:.*22de.*6803" /proc/bus/usb/devices) && {
                            logger -t "WM-D300" "Detected ZeroCD of WM-D300 modem"
                            # Checking ZeroCD status
                            while [ "$(sdparm -q --command=ready /dev/scsi/host0/bus0/target0/lun0/generic)" != "Ready" ]; do
                                    logger -t "WM-D300" "ZeroCD yet not ready"
                                    # Workaround for bug with multiple calls of scripts
                                    (/usr/bin/lsusb | grep -q 22de:6801) && {
                                            logger -t "WM-D300" "Seems that script called twice and device already initialized"
                                            return 0
                                    }
                                    sleep 2
                            done
     
                            logger -t "WM-D300" "ZeroCD ready and will be ejected"
                            /usr/bin/sdparm --command=eject /dev/scsi/host0/bus0/target0/lun0/generic
                    }
     
                    (grep -q "^P\:.*22de.*6801" /proc/bus/usb/devices) && [ ! -c /dev/usb/tts/0 ] && {
                            logger -t "WM-D300" "Updating USB Serial driver with D200/D300 vendor and product ID"
                            rmmod usbserial && insmod usbserial vendor=0x22de product=0x6801
                    }
     
                    (grep -q "^P\:.*22de.*6801" /proc/bus/usb/devices) && [ -c /dev/usb/tts/2 ] && ! (ifconfig 3g-wan 1>/dev/null 2>/dev/null) && {
                            logger -t "WM-D300" "All modem interfaces installed, turning on WAN"
                            ifdown wan && ifup wan
                    }
                    ;;
            remove) 
                    ! (grep -q "^P\:.*22de.*6801" /proc/bus/usb/devices) && {
                            logger -t "WM-D300" "Modem disconnected, turning off WAN interface"
                            ifdown wan
                    }
                    ;;
    esac
    

Внесение изменений в существующие скрипты

  • Запретите WAN интерфейс, заданный по умолчанию, выполнив команду
    sed -i 's/interface\ wan$/interface\ wan_dflt/' /etc/config/network
    
  • Добавьте новый описатель WAN интерфейса с настройками для 3G
    $ cat /etc/config/network
    …
    config interface wan
        option ifname  ppp0
        option device  /dev/usb/tts/0
        option service evdo
        option proto  3g
        option username 'mobile'
        option password 'internet'
        option pppd_options 'noipdefault maxfail 3'
        option connect '/etc/ppp/usb-up.sh'
        option disconnect '/etc/ppp/resetusb.sh'
        option keepalive 20
    
  • Для того чтобы добавить автоматическое включение USB порта при инициализации роутера, нужно модифицировать стандартный скрипт /etc/init.d/usb, добавив в конце функции start() вызов скрипта /etc/ppp/usb-up.sh
    $ cat /etc/init.d/usb
    …
    start() {
        ...
        # Turn-on power on USB     
        /etc/ppp/usb-up.sh 
    }
    …
    
  • Дополнительно можно модифицировать, но необязательно, Chat скрипт (/etc/chatscripts/evdo.chat). На самом деле, он должен работать даже без изменений, но я предпочел немного его «причесать». Вот мой вариант:
    ABORT   BUSY
    ABORT   'NO CARRIER'
    ABORT   ERROR
    ABORT   'NO DIAL TONE'
    ABORT   'NO DIALTONE'
    ABORT   'NO ANSWER'
    REPORT  CONNECT
    TIMEOUT 10
    ''              AT
    OK              ATDT#777
    CONNECT ''
    
  • Добавляем в Cron задачу, которая будет проверять наличие процесса pppd каждые пять минут. Для этого следует вызвать команду “crontab -e” и добавить следующую строку:
    */5     *       *       *       *               /etc/ppp/check.sh
    
  • Разрешаем выполнение Cron и запускаем его
    /etc/init.d/cron enable && /etc/init.d/cron start
    
  • Настройку WiFi приводить не буду, так как она достаточно стандартная и прекрасно описана на официальном сайте OpenWRT

На этом все, больше изменений не будет. Я рекомендую перезагрузить роутер, хотя 3G и так должен «ожить» через пять минут.

Вместо эпилога


Домашние испытания продлились 41 день. Как результат, ни единого сбоя на протяжении всего периода. Ожидаемая стабильность достигнута.
Перед отправкой в «поля», были проведены испытания пропускной способности в киевской квартире. Разочарование застигло врасплох, достигнутый максимум не превышал 1Мбит/с, при этом только на больших файлах. Минимальный пинг был а пределах 220мс. Решив не прекращать испытания, поехал за город. Уровень был на максимуме, при этом индикатор CDMA Rev.B уже не горел. На самом деле, я не теплил надежд на 14Мбит/с, но ожидал увидеть, как минимум, уже достигнутый 1Мбит. Но очередное разочарование не заставило себя ждать, достигнутый максимум составлял уже около 350Кбит/с.
На этом, всяческие эксперименты с модемом от MTS были прекращены. Вернуть его так и не удалось. А вот антенну продавец обменял на модель способную работать в связке с модемами Интертелеком и PeopleNET. Чему я был несказанно рад, а модем пускай будет в коллекции, когда-нибудь пригодится.
Поделиться публикацией
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама
Комментарии 36
  • +9
    Использую DIR-320 в качестве 3G модема уже несколько лет на родной прошивке 1.21. Все модемы, которые у меня есть с ним работают на отлично (Huawei E1550, E173, E367), т.е. роутер работает 24\7, не зависает, коннект не отваливается. Скорость в связке с E367 достигает 8Мбит. Антенна используется самодельная уголковая из оцинкованного железа.
    Подключение тривиально настраивается через веб-интерфейс, после чего можно переподключать модем, соединение поднимается автоматически.
    Так что, советую перед доработками проверить работу на стандартной прошивке :)
    • 0
      E1550, E173, E367 — GSM-модемы. В статье речь о CDMA.
      • 0
        В тексте упоминается именно «имеющийся в наличии E173».
        • 0
          При этом автор находит именно что проблему с Huawei E173, самозабвенно лудит-паяет, а затем идёт в магазин за другой моделью.

          Нет бы взять нетбук с ненавистной Windows XP плюс нужный модем на «тест-драйв», и скатать на дачу, оценить реальное, а не смоделированное покрытие сетью.

          • 0
            Что-то ничего не понятно из вашего комментария, с чего вы сделали подобные выводы? Что значит «смоделированное покрытие сетью»?
            • 0
              Те карты, которые вывешивают на сайтах операторы — это моделирование исходя из рельефа местности. В реальности же соты «дышат» под нагрузкой, дача может быть в низинке, на пути радиоволн может быть строение или же у соседа просто часто включается микроволновка.

              У меня прошлым летом на даче было честных 5мегабит down — сейчас же номинально появился HSDPA+ — но не работает. Появились другие потребители, сота «задышала».

              Надо не верить картам, а сначала брать модем на «тестдрайв» и проверять на местности.
        • 0
          использую CDMA huawei ec168 с прошивкой vampik, 24/7 никаких проблем.
        • 0
          Похоже мы везунчики :) Я тоже на сессиях в общежитии использовал DIR-320 в связке с E1550. Роутер всегда стоял на окне (где приём лучше) и я к нему даже не подходил. Прошивка нормально работала только стандартная D-link. Пробовал шить dd-wrt, но так и не смог в ней настроить модем. Времени разбираться не было (сессия) и я просто залил стандартную прошивку, благо знал, что она работает.
          • 0
            Везение связано с тем, что ваш и timtl модемы корректно отрабатывли AT+CFUN команду.
        • +1
          Скорее всего у вас модель NRU. Проверьте.
          • +3
            Нет, у меня не NRU, обычный DIR-320, купленый года 4-5 назад, тогда NRU еще не существовало.
            На заводской прошивке он работал ужасно, но после обновления 1.21 от 18 марта 2010- просто небо и земля.
            • 0
              Странно, но в заводской прошивке, обычного 320, нет даже возможности с конфигурировать 3G. Зато, там есть опции для конфигурирования USB-принтера.
              Сравните описания:
              DIR-320
              DIR-320/NRU
              • +1
                Видел на старом своем DIR-320 еще не NRU лет 5 назад возможность работы с 3G (если не ошибаюсь, там где Вы выбираете вид подключения PPPoE и всякое такое).
                • +2
                  Раз уж два человека утверждает, что в каких-то распоследних прошивках была добавлена поддержка 3G, то значить так и есть. Но то что я видел и проверял (указано в теле поста), рано или поздно заканчивалось обрывом связи, который личился отключением модема/питания.
                  • +3
                    Раз и навсегда внесу ясность. Dir-320 на старом проце broadcom (продавался в черно-оранжевой коробке) в заводской прошивке (оранжевая такая) даже последних версий имеет только принт-сервер. Но специально для России была выпущена также серо-голубая прошивка (вечная бета-версия) с поддержкой wimax-модема йоты U200. Также в этой прошивке была и поддержка некоторых 3G-модемов. Но стабильнее все это хозяйство все же работало на олеговской прошивке в редакции vampik.
                    • +1
                      Dir-320NRU построен на ralink 5350, имеет поддержку wi-fi 'n' 150 Mbit/s, коробка не оранжевая, а сине-белая. Поддержка 3G-модемов вроде есть из коробки. Также шьется много во что, но не в олеговскую, т.к. проц уже не broadcom.
                      • 0
                        Не подскажете ли, сколько устройств, подключенных по Wi-Fi может держать Dir-320NRU? Есть ли ограничения?
                        • 0
                          Теоретически 253 устройства по числу адресов dhcp. Практически можете сами проверить, сколько он потянет.
                  • 0
                    У купленного в магазине нет, а если обновиться с сайта, то 3G вполне настраивается. И да, у меня DIR-320 ещё с 802.11g, куплен несколько лет назад.
                    • 0
                      3G настраивается, это мы выяснили. Но проблема была не в этом. Более того скажу, много проверенных дистрибутивов позволяли сделать настройку 3G. Проблема как раз заключалась в том, что нельзя было перезагрузить модем в случае его зависания.

                      А с чем связано упоминание 802.11g?

                      Думаю, на этом трэд с оригинальной прошивкой от D-Link можно завершать;)
                      • 0
                        А с чем связано упоминание 802.11g?

                        Это наиболее явное отличие dir-320 от dir-320nru (он уже поддерживает 802.11n).
              • +1
                В статье речь о CDMA-модемах. Было бы неплохо это написать. Просто так сложилось, что в Украине 3G от МТС — это CDMA. Никакого UMTS или HSPDA там нет.
                • 0
                  DIR-320 с прошивкой DD-WRT возможно в принт-usb воткнуть 3G модем :)
                  + дополнительные плюшки:
                  image
                  • 0
                    Знаю/пробовал, но моя проблема была в том, что регулярно обрывалась связь, более того нет поддержки целевого модема. А прочие «плюшки», меня не интересовали.
                  • 0
                    Три таких роутера с разными модемами стабильно работают уже года три. Прошивка от Олега и энтузиастов. Ничего не паял и в консоль даже не залазил.
                    • 0
                      В те еще времена на асусе 500 под разными прошивками вопрос зависа модема решался простым рубутом роутера.
                      (через скрипт пинговальщик, крон там был)
                      При ребуте роутер дергал и питание модема.

                      проверяли это на длинке?
                      • 0
                        Да, проверял, к сожалению, в 320 питание USB подключено непосредственно к +5В. Так что обычный ребут просто перезагружал процессор и ни как не затрагивал модем.
                      • +2
                        в hotplug можно повесить событие на ifdown какого-то интерфейса. в моем случае там reboot. чуточку лучше проверки по крону.
                        • 0
                          Спасибо! Интересная мысль, нужно будет как-нибудь проверить.
                        • –3
                          Скажите пожалуйста, сколько человеко-часов вы потратили на эту затею?

                          Исходя из вашей заработной платы не было ли выгоднее купить специализированный CDMA-WiFi роутер?

                          Или же просто-напросто сколхозить схему, сбрасывающую питание роутера раз в 20-30 минут, чтобы не тратить время на копание в потрохах устройства?
                          • +3
                            А если копаться в удовольствие?
                          • +1
                            Столкнувшись с такой проблемой с 3G и Yota modem. По началу «лечил» перезагрузками и пингами ( модемы впадали в спячку ), но это мало помогало. Однако заменив маршрутизатор на mikrotik я избавился от головной боли с зависанием и ручным дерганьем питания.
                            Вот тут табличка аппаратов которые поддерживают usb power reset.
                            А в качестве антенны использую Ubiquiti NB-OD3. Результат, максимально возможная скорость в данном районе.
                            • 0
                              Спасибо за пост, а то у меня уже начало складываться впечатление, что проблемы видел только я:)
                              Касательно mikrotik, если бы мне пришлось покупать, то скорее всего я выбрал бы аппарат именного из их линейки.
                            • +1
                              Проблема с разрывами может быть не только в роутере, но и со стороны оператора. С МТС у меня регулярно были разрывы, тоже DIR-320 винил, несколько прошивок сменил, ну а как сменил симку на Билайн, все стабильно начало работать. Но это, конечно, все индивидуально, и зависит от места, может быть и обратная ситуация.
                              • 0
                                Очень может быть.

                                Думаю, это сценарий может быть следующим: PPP сервер на стороне провайдера посылает LCP Terminate-Request, PPP демон на нашей стороне пытается это выполнить, но ничего не происходит, так как модем этого не умеет/не может. Теперь, если один провайдер регулярно посылает такие запросы (для каких-то задач биллинга, убивание зависших сессий, что-то еще), а другой нет, то мы будем видеть различное поведение одного и того же модема.
                                В теле поста, я приводил вот эту ссылку, где автор столкнулся с подобной проблемой.
                              • 0
                                Позвольте, пользуясь случаем, спросить — некоторые современные Huawei-и в Windows видятся не как модем (+2-3 ком-порта) а как СЕТЕВАЯ КАРТА. Отсюда бывают проблемы с маршрутизацией (винда в метриках интерфейса запутывается)
                                Какой может быть интерес производителей делать так?

                                В Linux такие модемы в принципе заводятся нормально, так что вариант с противодействием к линуксу отпадает (под противодейтсвием я понимаю нежелание провайдеров устанвке линукс машины как роутера — типа модем для одного пользователя)

                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.