Подключение модемов напрямую через PPP при помощи скриптов.

Настройка, программирование, распределённые вычисления

Модераторы: Olej, bellic, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Подключение модемов напрямую через PPP при помощи скриптов.

Непрочитанное сообщение Olej » 31 авг 2012, 12:36

dmitriev писал(а):
вам его нужно поместить в /system/bin Android, а для этого вам нужен adb ...
У меня система Андроид смонтирована RO и ничего туда поместить не удается.
А перемонтировать нельзя, так как
Что-то я помню, что такой вопрос задавался при инсталляции, типа: смонтировать /system READ-ONLY ... с дефаултным ответом Yes.
Так, ничего не путаю?
(я точно помню, что на такое наглое предложение я отвечал No! ;-) ... но не сильно вспомню где это было - я могу повторить, в VirtualBox это ... "что 2 пальца..." ;-) - и проверить)

Не исключено, что вам придётся переинсталлировать Android. :-(

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Подключение модемов напрямую через PPP при помощи скриптов.

Непрочитанное сообщение Olej » 31 авг 2012, 14:00

dmitriev писал(а): Так удалось какой-нибудь сайт открыть в браузере Андроида?
android-x86-3.png
(112.23 КБ) 6298 скачиваний
Узнаёте? :lol:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Подключение модемов напрямую через PPP при помощи скриптов.

Непрочитанное сообщение Olej » 31 авг 2012, 14:14

Olej писал(а):Узнаёте? :lol:
А теперь по порядку...

1. пришлось приделать к Android ещё один сетевой интерфейс - внутренний, без выхода ни в LAN, ни внаружу... - именно для того, чтобы через него цепляться adb, но можно было DOWN основной Ethernet интерфейс, чтобы роутинг и трафик внаружу шли исключительно через ppp0 (USB модем):
android-x86-4.0-RC2-eeepc.iso - Свойства.png
android-x86-4.0-RC2-eeepc.iso - Свойства.png (60.13 КБ) 8073 просмотра
Эта подсеть видится с хост-машины через интерфейс:

Код: Выделить всё

[olej@nvidia ~]$ ifconfig vboxnet0
vboxnet0  Link encap:Ethernet  HWaddr 0A:00:27:00:00:00  
          inet addr:192.168.56.1  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::800:27ff:fe00:0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:45 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:6095 (5.9 KiB)
Т.е. с этой сети адреса будут 192.168.56.*

2. можно запускать Android ...
android-x86-4.0-2.png
(74.41 КБ) 6296 скачиваний
Можно рассмотреть, что там я через терминал Android:
2.1. подымаю eth1 с IP 192.168.56.20, теперь с хоста этот интерфейс доступен:

Код: Выделить всё

[olej@nvidia ~]$ ping 192.168.56.20
PING 192.168.56.20 (192.168.56.20) 56(84) bytes of data.
64 bytes from 192.168.56.20: icmp_req=1 ttl=64 time=0.383 ms
64 bytes from 192.168.56.20: icmp_req=2 ttl=64 time=0.279 ms
64 bytes from 192.168.56.20: icmp_req=3 ttl=64 time=0.277 ms
^C
--- 192.168.56.20 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.277/0.313/0.383/0.049 ms
2.2. останавливаю в DOWN eth0.
2.3. всё это видно предпоследним netcfg ...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Подключение модемов напрямую через PPP при помощи скриптов.

Непрочитанное сообщение Olej » 31 авг 2012, 14:21

Olej писал(а):2.3. всё это видно предпоследним netcfg ...
Теперь начинаем подымать PPP ...
Я не люблю уродоваться в графике, с мышкой, да ещё и в виртуальном экране виртуальной машины. ;-)
Поэтому делаем это из терминала Linux через вот тот новый интерфейс eth0:

3.

Код: Выделить всё

[olej@nvidia ~]$ adb connect 192.168.56.20
connected to 192.168.56.20:5555
[olej@nvidia ~]$ adb root
restarting adbd as root
[olej@nvidia ~]$ adb connect 192.168.56.20
connected to 192.168.56.20:5555
[olej@nvidia ~]$ adb devices
List of devices attached
192.168.56.20:5555      device
Именно так, в такой последовательности!
Чтобы попасть в Android как root.

Код: Выделить всё

[olej@nvidia ~]$ adb -s 192.168.56.20:5555 shell
root@eeepc:/ # whoami
root
4. скрипт pppd заготовлен:

Код: Выделить всё

root@eeepc:/ # cat /etc/ppp/peers/mts
ttyUSB0
460800
crtscts
defaultroute
modem
noauth
noipdefault
persist
updetach
usepeerdns
user mobile
password internet
connect '/system/bin/chat "" AT OK ATDT#777 CONNECT'
5. Коннект!

Код: Выделить всё

2|root@eeepc:/ # pppd call mts
root@eeepc:/ # netcfg
lo       UP                                   127.0.0.1/8   0x00000049 00:00:00:00:00:00
ifb0     DOWN                                   0.0.0.0/0   0x00000082 4a:f4:6d:2f:a6:63
ifb1     DOWN                                   0.0.0.0/0   0x00000082 1a:65:7b:ca:da:1b
sit0     DOWN                                   0.0.0.0/0   0x00000080 00:00:00:00:00:00
ip6tnl0  DOWN                                   0.0.0.0/0   0x00000080 00:00:00:00:00:00
eth0     DOWN                              192.168.1.20/24  0x00001002 08:00:27:eb:e0:88
eth1     UP                               192.168.56.20/24  0x00001043 08:00:27:b8:10:bb
ppp0     UP                               77.52.143.240/32  0x000010d1 00:00:00:00:00:00

root@eeepc:/ # ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=48 time=503 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=48 time=150 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=48 time=135 ms
^C
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 135.543/263.113/503.004/169.743 ms

dmitriev
Писатель
Сообщения: 461
Зарегистрирован: 12 янв 2009, 19:36
Контактная информация:

Re: Подключение модемов напрямую через PPP при помощи скриптов.

Непрочитанное сообщение dmitriev » 31 авг 2012, 14:29

Не исключено, что вам придётся переинсталлировать Android
А я его и не инсталлировал! Работаю в Live системе с флешки.
Инсталляция у меня на Toshibe не получается.
Узнаёте?
Ещё бы! Вы просто гений Олег!
Если нам удастся добиться такого же результата на реальном Андроне, то статья будет сенсационная. Все планшеты станут независимы от WIFI и будут работать с модемов!
Коннект!
Даешь коннект!

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Подключение модемов напрямую через PPP при помощи скриптов.

Непрочитанное сообщение Olej » 31 авг 2012, 14:30

Olej писал(а): 5. Коннект!
Неожиданность ... приятная (хоть одна!):

Код: Выделить всё

root@eeepc:/ # nslookup rus-linux.net
Server:    80.255.64.23
Address 1: 80.255.64.23

Name:      rus-linux.net
Address 1: 77.222.42.148 vip-49.sweb.ru
Смотрите через какой DNS разрешается имя в IP: 80.255.64.23 - это тот DNS (один из) который даёт мой провайдер (МТС) при установлении PPP!

Смотрим (это уже чисто Android-ные штучки ... подсмотрел у кого-то в скриптах):

Код: Выделить всё

root@eeepc:/ # getprop net.dns1
80.255.64.23
root@eeepc:/ # getprop net.dns2
80.255.64.24
Вот они 2 DNS!

И в итоге - картинка форума в браузере Android, которую я нарисовал выше, и повторять не буду...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Подключение модемов напрямую через PPP при помощи скриптов.

Непрочитанное сообщение Olej » 31 авг 2012, 15:08

dmitriev писал(а):
Не исключено, что вам придётся переинсталлировать Android
А я его и не инсталлировал! Работаю в Live системе с флешки.
Инсталляция у меня на Toshibe не получается.
LiveUSB можно тоже попробовать загрузить с помощью QEMU...

Я посмотрю что получается.

Инсталляция у вас на Toshibe может не получаться и потому, что вы взяли не самый подходящий для неё образ из тех 5-6-ти, выложенных на сайте.
Я тоже сначала взял тот, что у вас, но потом сменил...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Подключение модемов напрямую через PPP при помощи скриптов.

Непрочитанное сообщение Olej » 31 авг 2012, 15:21

Olej писал(а):Неожиданность ... приятная (хоть одна!):
Никак не мог придумать посмотреть роутинг по интерфейсам (очень важно) ... достал :twisted: :

Код: Выделить всё

root@eeepc:/ # route                                                        
Invalid argument
И с любыми опциями и параметрами вменяемыми - то же самое...
Но это из комплекта toolbox, а там нет никакого ни хэлпа, ни мана...

Код: Выделить всё

root@eeepc:/ # which route                                                   
/system/bin/route
root@eeepc:/ # ls -l /system/bin/route
lrwxrwxrwx root     root              2012-08-30 17:05 route -> toolbox
Но такой же есть в комплекте busybox. Вот оно - что и требовалось доказать!:

Код: Выделить всё

root@eeepc:/ # busybox route -n                                                
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         80.255.73.34    0.0.0.0         UG    0      0        0 ppp0
80.255.73.34    0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
192.168.56.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1

Код: Выделить всё

root@eeepc:/ # which busybox                                                
/system/xbin/busybox
root@eeepc:/ # ls -l /system/xbin/route                                      
lrwxrwxrwx root     root              2012-08-30 17:05 route -> busybox
root@eeepc:/ # echo $PATH
/sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Подключение модемов напрямую через PPP при помощи скриптов.

Непрочитанное сообщение Olej » 31 авг 2012, 15:35

dmitriev писал(а): А я его и не инсталлировал! Работаю в Live системе с флешки.
Хорошо, уточняемся:
- каким способом вы делали флешку LibeUSB?
- вот так, как я сейчас делаю (буду проверять)? :

Код: Выделить всё

[root@nvidia Android-x86]# ls -l android-x86-4.0-RC2-eeepc.iso 
-rw-rw-r--. 1 olej olej 187695104 авг.  29 19:06 android-x86-4.0-RC2-eeepc.iso
[root@nvidia Android-x86]# time sudo dd if=android-x86-4.0-RC2-eeepc.iso of=/dev/sdc bs=10M  
17+1 записей считано
17+1 записей написано
 скопировано 187695104 байта (188 MB), 73,5477 c, 2,6 MB/c

real	1m13.584s
user	0m0.002s
sys	0m0.335s

dmitriev
Писатель
Сообщения: 461
Зарегистрирован: 12 янв 2009, 19:36
Контактная информация:

Re: Подключение модемов напрямую через PPP при помощи скриптов.

Непрочитанное сообщение dmitriev » 31 авг 2012, 17:37

Я делал флешку при помощи программы unetbootin, которая в одноименном пакете есть в репозитарии Федоры.
Кроме того, сделал также LiveCD для старого десктопа, не поддерживающего загрузку с USB (но на нем система почему-то не разворачивается).
И там и там файловая система RO.

Несколько лет назад, когда в моде был Knoppix, c ним было то же самое (RO). Но там легко побеждалось командой

Код: Выделить всё

# mount -o remount rw /dev/X

Ответить

Вернуться в «Сети»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 12 гостей