LINUX.ORG.RU
решено ФорумAdmin

Роутер не видит android-модем.

 , ,


0

1

Всем здравствуйте.

Хочется раздавать интернет роутером, в который модемом втыкается android-смартфон.

Дислокация такова. Есть дешёвый андроид-телефон Fly IQ436 ERA Nano 3, и он работает модемом. Сеть раздаёт по Wi-Fi, и все бы хорошо, но подключиться к ней можно только с ноутбуков. Другой смартфон вместо коннекта попадает в цикл «Получение IP-адреса» — «Отключение» — «Получение IP-адреса» — ...

На помощь спешит роутер Asus WL-500gP V2, с прошивкой от Олега (1.9.2.7-rtn-r5450, относительно свежая). У него с Wi-Fi все хорошо, а в соответствующий порт можно воткнуть этот самый телефон в режиме USB-модема. До этого в роутере стоял модем в стандартном режиме ppp, а вот андроиды — звери хитрые, поэтому определяются, как отдельный usb-маршрутизатор. Вот дальше и описаны мучения, что дружить роутер с андроидом не хотят. Итак.

В веб-интерфейсе отмечаю, что USB-девайсы надо трактовать в роли Ethernet over USB. Подключаю-перезагружаю, и никакого интернету не появляется, поэтому переезжаем в консоль.

Там видно, что появился интерфейс usb0, и это очень хорошо.

ifconfig
...
usb0      Link encap:Ethernet  HWaddr AA:5F:D4:31:FF:1A  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3 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:196 (196.0 B)  TX bytes:0 (0.0 B)
...

но IP-шника у него нет, что не так здорово.

Командую автоматическое получение адреса.

udhcpc -i usb0 -t 1

В идеале должна получиться последовательность DHCP-сообщений Discover-Offer-Request-Ack, но она обрывается сразу же на «Sending discover...»

Подробности узнаю tcpdump-ом.

tcpdump -vvv -i usb0

Он говорит, что по usb0 уходит запрос Discover, приходит ответ Offer (Your-IP 192.168.42.120, Server-IP 192.168.42.129), т.е. dhcp все-таки работает, это раз, и у модема IP-шник 192.168.42.129, это два; но на этом и все, как будто до самой утилиты udhcpc этот ответ не доходит.

На usb0 также появляется несколько одинаковых ARP-запросов, и больше ничего.

01:11:35.866130 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.42.120 tell 192.168.42.129, length 28

Ну ладно, попробую заполнить адрес руками.

ip addr add 192.168.42.120/24 brd + dev usb0
ip route add default via 192.168.42.129

route

Kernel IP routing table
192.168.42.0    *               255.255.255.0   U     0      0        0 usb0
192.168.1.0     *               255.255.255.0   U     0      0        0 br0
127.0.0.0       *               255.0.0.0       U     0      0        0 lo
default         192.168.42.129  0.0.0.0         UG    0      0        0 usb0

По идее, должны пойти пинги до самого модема, но не идут, виснут.

ping -c 1 192.168.42.129 

PING 192.168.42.129 (192.168.42.129): 56 data bytes

--- 192.168.42.129 ping statistics ---
1 packets transmitted, 0 packets received, 100% packet loss

И только tcpdump этих пингов показывает, что нечто в сети все же есть.

01:20:29.953312 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.42.129 tell 192.168.42.120, length 28
01:20:29.953873 ARP, Ethernet (len 6), IPv4 (len 4), Reply 192.168.42.129 is-at b2:9b:85:4e:03:85 (oui Unknown), length 28

В принципе, ответы мог резать iptables, но его я отключал в веб-интерфейсе, а потом в консоли выполнял нагугленные команды:

#!/bin/sh
echo "Stopping firewall and allowing everyone..."
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

но нет, это тоже не помогает.

Сам телефон работает. Если его USB-шно подключить к ноуту, то Network Manager его сразу подхватывает; если отключиться от этой usb-net сети, и дать вручную две команды — присвоить IP и указать дефолтный путь — то, опять же, все работает; по крайней мере, пинги до телефона (192.168.42.129) доходят. Правда, tcpdump-ом зацепилась только последняя dhcp-пара, сообщения Request и ACK; как происходил Discover — не знаю.

Резюме: драйвер на модем есть, сетевой интерфейс usb0 есть; а вот хотя бы пингануть модем на 192.168.42.129 не получается.

Итак, вопросы.

  • Кто такой Олег из названия прошивки?
  • Куда еще можно глянуть? Напомню, udhcpc не сработал, ручные команды ip addr && ip route не спасли.
  • Может ли безобразить iptables, и как это еще проверить?

tl;dr

не проще попытаться пофиксить проблему с использованием вайфая от «дешевого смартфона» напрямую?

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

Он виноват, но он не виноват

К вайфаю я даже не знаю, как подступиться. Другой телефон при DHCP выдает цикл «Получаем IP» — «Отключаемся», попытка задать статичный IP-шник тоже выдает какой-то трэш. Проблема не единичная, в интернете встречаетася; лучшее, что нашлось — Wi-Fi Fixer, но и он не справился.

Единственное объяснение — что железо дешевое и плохое, а радиотракт вещь все-таки довольно тонкая, поэтому и глючит.

А с роутером еще есть какой-то шанс подшаманить, хотя и небольшой.

alefcat ()

Кто такой Олег из названия прошивки?

Я бы начал с чтения этого форума.

BOOBLIK ★★ ()

А если вместо «Олега» использовать openwrt?

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

Хорошая мысль.

Но пока что хотелось бы повременить. Вряд ли ситуация там радикально изменится — сейчас-то нужное устройство видно, т.е. не в драйверах дело. Различий в ручной настройке сети тоже быть не должно, а она сейчас и не работает.

И свои погремушки тоже пошуруют всласть. Например, под этот роутер ядро рекомендуется 2.4, в 2.6 не работает Wi-Fi (если верить вики), а я что-то смутно помню, что для некоторых модемов нужна шестерка. Не уверен, относится ли это к usb-net, или к usbserial, или еще к чему, но все равно невесело.

Похоже, что дел там будет не на пять минут, пока что боязно туда загадывать.

alefcat ()
Ответ на: комментарий от BOOBLIK

Ну какие же там скандалы-интриги-расследования? Чёткий технический форум. В FAQ все по делу, про людей ничего не нашел. Между тем, названию уже лет 10, можно и подробностей добавить.

Что за Олег? Что сейчас делает? Кто нынче правит бал в разработке? Какая команда у этого проекта? Куча вопросов.

Опять же, набери в гугле «Кто такой Линус.» Тебе сразу ответят: спутник астероида; а уже и во второй ссылке про Торвальдса распишут, и на Just for Fun ссылку кинут.

А набери «Кто такой Олег прошивка.» И никто ничего не знает. Непорядок.

alefcat ()

1. мне кажется USB можем стоит чуть больше 1т.р. прошивка «от Олега» работает великолепно с многими из них. Особенно фирмы Huawei. E352 например идет отлично.

2. Про WiFi то же могу заменить, что wl500gpV2 может служить ретранслятором, на указанном выше форуме описано подробно.

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

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

Дык, чтём традиции: украсть ящик водки, продать его, а деньги пропить.

Роутер верой и правдой пережил и йотовский свисток, и залоченный E171 от МТС, когда пришлось снова менять оператора. Бесплатная разлочка уже не работала, так что появился выбор: 750 р на код для старого модема, 1500 на модем новый, или чуть меньше 2к — на андроид-телефон. Не шибко дороже модема, но зато целая точка доступа Wi-Fi, USB-модем, аккумулятор в роли ИБП, плюс телефонность для проверки баланса и SMS-уведомлений; опять же, можно взять интернет куда-нибудь.

Будущее и вправду наступило: ну очень дёшево за такие функции, особенно если сравнивать со всяким embedded-ом, да и с теми же Huawei-ями.

Только вот оказалось, что телефонный Wi-Fi очень даже может глючить, а USB-модемность не дружит с роутером. Некоторое время хватало смартфонного вайфая, но тут потребовались мобильные девайсы, вот я и вернулся обратно к роутеру.

***

За режим ретранслятора — крупное спасибо, не знал, что так можно. Очень классная вещь.

alefcat ()

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

Зато оказалось, что роутер с одним беспроводным чипом может стать и клиентом к Wi-Fi смартфона, и одновременно раздавать свой собственный Wi-Fi уже с доступом к интернету, даже название отдельное для такого безобразия — Wi-Fi Repeater mode.

В принципе, в веб-интерфейсе прошивки от Олега есть пункты, связанные с WDS, Wireless Distribution System, но в доках пишут, что и не каждый роутер подойдет, и вообще — нестандартное это занятие. Тем более не хотелось настраивать Wi-Fi из консоли, тяжкое это занятие.

Так что все заработало вот по этой инструкции: http://habrahabr.ru/post/136418/ . В двух словах. Перепрошиваем на DD-WRT, а уже там есть две менюшки: с «Wireless mode: Repeater», где мы подключаемся к смартфонной беспроводке с интернетом, и Virtual Interfaces, где создадим одну дополнительная сеть, что будет раздавать усиленный сигнал.

***

Джентльмены, всем спасибо. Коллега-аноним абсолютно прав, что разобраться с вайфаем гораздо проще. BOOBLIK верно отметил, где стоит инфу искать (только уметь надо, а лично я — не). Allakka совершенно точно подсказал про смену прошивки, а kpush-у отдельное спасибо за режим ретранслятора и за трезвый экономический подход.

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