LINUX.ORG.RU

TP-Link MR3220 + HUAWEI E156G не могу завести


1

1

Привет ещё раз! Оборудование такое: TP-Link MR3220 + HUAWEI E156G

Задача: заставить работать 3G модем И в идеале: 3G модем = резервный канал WAN (фиксированный IP) = основной канал при отвале WAN старотовать 3G

Вот данные с «/proc/bus/usb/devices»

root@OpenWrt:~# cat /proc/bus/usb/devices

T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 1 B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=1d6b ProdID=0002 Rev= 3.03 S: Manufacturer=Linux 3.3.8 ehci_hcd S: Product=Generic Platform EHCI Controller S: SerialNumber=ehci-platform C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms

T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=12d1 ProdID=1001 Rev= 0.00 S: Manufacturer=HUAWEI Technology S: Product=HUAWEI Mobile C:* #Ifs= 3 Cfg#= 1 Atr=e0 MxPwr=500mA I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=2ms E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms

Что с этим делать дальше я не знаю... Подскажите пожалуйста!


Ответ на: комментарий от AITap

Не даёт установить...

root@OpenWrt:~# opkg install kmod-usb-core_3.3.8-1_ar71xx.ipk
Collected errors:
 * wfopen: kmod-usb-core_3.3.8-1_ar71xx.ipk: No such file or directory.
 * pkg_init_from_file: Failed to extract control file from kmod-usb-core_3.3.8-1_ar71xx.ipk.
babel ()
Ответ на: расположение файла от babel

Тогда почему Вы вводите команду так, как будто файл расположен в текущей директории? Либо скачайте его на роутер руками, либо указывайте opkg имя пакета таким образом, чтобы он сам его скачал.

AITap ★★★★★ ()
Ответ на: комментарий от AITap

wget

использовал wget далее вот что получилось:

root@OpenWrt:/tmp# opkg install kmod-usb-core_3.3.8-1_ar71xx.ipk
Installing kmod-usb-core (3.3.8-1) to root...
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-usb-core:
 *      kernel (= 3.3.8-1-65fa3307447a560c3a618c4d54bfa4dc) *   kernel (= 3.3.8-1-65fa3307447a560c3a618c4d54bfa4dc) *
 * opkg_install_cmd: Cannot install package kmod-usb-core.

babel ()
Ответ на: wget от babel

А ядро там из какого пакета установлено?
Попробуйте добавить к opkg какой-нибудь параметр, чтобы он игнорировал зависимости.

AITap ★★★★★ ()
Ответ на: комментарий от AITap

место закончилось

root@OpenWrt:/tmp# opkg install -force-depends kmod-usb-core_3.3.8-1_ar71xx.ipk
Installing kmod-usb-core (3.3.8-1) to root...
Collected errors:
 * verify_pkg_installable: Only have 56kb available on filesystem /overlay, pkg kmod-usb-core needs 68
 * opkg_install_cmd: Cannot install package kmod-usb-core.

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

babel ()
Ответ на: комментарий от AITap

Да, слышал об этом, и посмотрел сколько осталось места:

root@OpenWrt:/tmp# df -h
Filesystem                Size      Used Available Use% Mounted on
rootfs                    1.4M      1.3M     56.0K  96% /
/dev/root                 1.5M      1.5M         0 100% /rom
tmpfs                    14.3M      1.8M     12.5M  13% /tmp
tmpfs                   512.0K         0    512.0K   0% /dev
/dev/mtdblock3            1.4M      1.3M     56.0K  96% /overlay
overlayfs:/overlay        1.4M      1.3M     56.0K  96% /

Интересует:

tmpfs                    14.3M      1.8M     12.5M  13% /tmp 

babel ()
Ответ на: комментарий от AITap

После сброса

после сброса место освободилось:

root@OpenWrt:~# df -h
Filesystem                Size      Used Available Use% Mounted on
rootfs                    1.4M    208.0K      1.2M  15% /
/dev/root                 1.5M      1.5M         0 100% /rom
tmpfs                    14.3M     72.0K     14.2M   0% /tmp
tmpfs                   512.0K         0    512.0K   0% /dev
/dev/mtdblock3            1.4M    208.0K      1.2M  15% /overlay
overlayfs:/overlay        1.4M    208.0K      1.2M  15% /

babel ()
Ответ на: После сброса от babel

Ваши изменения в файловой системе роутера вообще сохраняются после перезагрузки? Возможно, в OpenWRT, как в других прошивках роутеров, для этого нужны дополнительные (описанные в документации) действия?

AITap ★★★★★ ()

Получилось! Ура!

AITap, огромное спасибо за подсказки и наводки!

Всё получилось модем работает!

Установил пакеты: libncurses chat comgt kmod-usb-serial kmod-usb-serial-option kmod-usb-serial-wwan libusb usb-modeswitch usb-modeswitch-data

Внимание! Некоторые пакеты пришлось устанавливать с опцией "-force-depends" для opkg, и тогда всё прокатило.

какие то из них установились попутно, по моему wwan и ещё какойто...

только потом установил web интерфейс, ибо весит он много, а места на «роутере» дефицит

opkg update opkg install luci opkg install luci-proto-3g opkg install luci-i18n-russian /etc/init.d/uhttpd enable /etc/init.d/uhttpd start

1. отключил через web интерфейс автозагрузку модема («Запустить при загрузке»). 2. Создать / Добавить Файрвол-зону , добавил в «wan». 3. Отключил dhcp, мне так было надо, через ssh «vi /etc/config/dhcp»: option ignore 1 4. поменял в «vi /etc/chatscripts/3g.chat» через ssh номер телефона на *99#, а то стоял другой вариант. 5. так же вставил модем в компьютер Виндовс 7, и через программу Hyper Terminal перевёл модем в режим только модем согласно статье "http://rus-linux.net/nlib.php?name=/MyLDP/internet/modem-ru.html", что бы не устанавливать дополнительных пакетов в «роутер» для поддержки всех устройств 3G модема (флэш карта памяти, виртуальный cd-rom,...).

Конфиг модема в «vi /etc/config/network»:

config interface '3g' option ifname 'ppp0' option apn 'internet' option service 'umts' option proto '3g' option username 'megafon' option password 'megafon' option device '/dev/ttyUSB0' option auto '0'

кстати опция «option auto '0'» то же что и в web интерфейсе «Запустить при загрузке».

модем в моём случае - это резервный канал. запускать его можно командой из ssh «ifup 3g», а останавливать «ifdown», или через wtb интерфейс.

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

Причины перехода на OpenWrt с оригинальной прошивки: 1. Очень медленно стартовал при включении питания. 2. Не всегда стартовал с первого раза. 3. Перезагрузка тоже, бывало, не помогала, и приходилось делать reset на заводские установки. 4. Надежда была на авто переход на 3g модем в случае падения wan, и выдёргиванию wan кабеля из роутера, но работало это только в 2-3 случаях из 10 - Ужас!

Прошивку использовал "http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl... Обновил прямо через web интерфейс оригинальной прошивки «роутера», а дальше действовал по инструкции с "http://wiki.openwrt.org".

babel ()
Ответ на: комментарий от AITap

Дополнительное место на роутере!

Да, дополнительное место действительно иногда нужно, например, для установки большого количество дополнений для расширения возможностей роутера. От себя замечу, что очень много места занимает web интерфейс, но для новичков в OpenWrt и вообще в linux, он необходим. Можно сделать ряд действий, в веб интерфейсе, а потом удалить его для установки других дополнений, но лично мне удаление интерфейса не потребовалось.

babel ()
Ответ на: Получилось! Ура! от babel

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

Добавьте в cron задание - скрипт, который проверяет наличие связи и default route, и в зависимости от этого включает или останавливает модем.

Проверку связи можно проводить ping'ом какого-нибудь внутри-провайдерского узла или google.com, получать default route - чтением /proc/net/route, вывода route или ip route list; другой способ узнать, активен ли модем - проверить, запущен ли pppd, проверить статус интерфейса ppp0 (ifconfig, ip link show, /proc/net/dev), посмотреть какие-нибудь pid-файлы (/var/run/ppp*.pid?).

Кстати, номер, скорее всего, можно было и не менять на *99#.

AITap ★★★★★ ()
18 августа 2012 г.
Ответ на: Спасибо за подсказки! от babel

Решил проблему зависания соединения!

1. Создать файл

Код в ssh:

touch /bin/tester.sh
chmod 755 /bin/tester.sh

2. Введите следующее содержимое в файл:

Код в ssh (

vi /bin/tester.sh
):

#!/bin/sh
    if ! ping -q -c 1 -W 10 8.8.8.8 > /dev/null; then
        (ifdown 3g; sleep 10; ifup 3g) &
    fi

3. Далее введите в ssh консоли следующие комманды (остановка cron, модификация cron, включение и запуск cron):

Код в ssh:

/etc/init.d/cron stop
echo "*/2 * * * * /bin/tester.sh" >> /etc/crontabs/root
/etc/init.d/cron enable
/etc/init.d/cron start

Cron теперь настроен на запуск скрипта каждые 2 минуты. Это решает проблему с зависанием 3G подключения. Поясню: пингует адрес «8.8.8.8», если отклика нет, то сперва разъединяет подключение «3g» на случай, если оно зависло, далее ждёт 10 секунд, и соединяет «3g» подключение. Всё очень просто, а главное работает. Всем ещё раз спасибо за помощь и удачи!

babel ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.