LINUX.ORG.RU

Сообщения alefcat

 

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

Форум — Admin

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

Хочется раздавать интернет роутером, в который модемом втыкается 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, и как это еще проверить?

 , ,

alefcat
()

RSS подписка на новые темы