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

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

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

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

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

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

Olej писал(а): Её нужно (по крайней мере для традиционного поднятия PPP):
а). разыскать
б). причём, нужна именно программа для x86 процессора а не ARM
в). затолкать в /system/bin ... ну, это делается легко с помощью того же adb.
Как я и предполагал! :evil:

1. взял (сдуру) типовой Linux chat ... это и не должно работать, т.к. эта сборка использует шаред-библиотеки Linux, но ...

2. переконектить adb как root

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

[root@nvidia x86]# adb root
restarting adbd as root
[root@nvidia x86]# adb -s 192.168.1.20:5555 push chat /system/bin
error: device not found
[root@nvidia x86]# adb connect  192.168.1.20
connected to 192.168.1.20:5555
3. заслать тот негодный ;-) chat :

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

[root@nvidia x86]# adb -s 192.168.1.20:5555 push chat /system/bin
641 KB/s (26624 bytes in 0.040s)
4. скрипт запуска pppd (подготовил и загнал):

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

[root@nvidia x86]# adb -s 192.168.1.20:5555 push mts /system/etc/ppp/peers
4 KB/s (172 bytes in 0.041s)
[root@nvidia x86]# 
[root@nvidia x86]# adb -s 192.168.1.20:5555 shell ls /system/etc/ppp/peers
gprs
mts
[root@nvidia x86]# adb -s 192.168.1.20:5555 shell cat /system/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. Запуск!

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

root@eeepc:/ # pppd call mts
sh: /system/bin/chat: No such file or directory
...
И облом :evil: :
- pppd запустился и ждёт...
- а дурацкое сообщение исходит от chat, который не может выполниться в этой системе и не создал интерфейса ppp0.

P.S. точно то же происходит при прямом тупом запуске такого chat:

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

1|root@eeepc:/ # /system/bin/chat -v
/system/bin/sh: /system/bin/chat: No such file or directory

Теперь задача в том, где найти подходящую сборку chat?
Или кто (вместо chat) будет осуществлять сам вызов?

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

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

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

... а пока небольшое отступление от Android в сторону ... PPP соединения.
Пока рылся с Android - вот напал: Графический клиент "GTK Graphic PPPoE/P ... оединений.
Клиент умеет считать трафик за сессию, за весь период. Позволяет добавлять неограниченное кол-во подключений. Интерфейс программы на двух языках: English/Русский. Можно указать свои команды запуска при подключении/отключении от сети провайдера. Клиент имеет так же встроенный фаервол, для защиты вашего ПК. Вы можете вести учёт трафика по дням/неделям/месяцам, включая суммовую тарификацию, которую вы назначили подключению. Дополнительно реализован мониторинг соединений и окно лога демона pppd.
Это любопытно бы попробовать ... для нормальных десктопных Linux.

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

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

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

Olej писал(а): SDK + adb из состава SDK - это штатные средства работы с Android.
(см. http://kenzo.net.od.ua/droid/)
Случайно обнаружил на другом компьютере:

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

[olej@nvidia platform-tools]$ adb kill-server
bash: adb: команда не найдена...
Установить пакет 'android-tools' предоставляющий команду 'adb'? [N/y] 

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

[olej@nvidia platform-tools]$ yum list android-*
...
Доступные пакеты
android-tools.i686                      20120510gitd98c87c-1.fc15                      updates
Прямо из репозитария.

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

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

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

Olej писал(а): Теперь задача в том, где найти подходящую сборку chat?
Или кто (вместо chat) будет осуществлять сам вызов?
Вот попались рассуждения в GoogleGroup от разработчиков всё тех же .iso Android-x86, почти 2-х летней давности:
https://groups.google.com/forum/?fromgr ... p6IRYbYP4c
Hi,
I've merged the support of 3G USB modem dongle
into froyo-x86 branch.
Depends on your USB dongle, you may need
to modify the property rild.libargs
and system/core/rootdir/etc/ppp/peers/gprs
to set the modem ports correctly.

With the on property function of init.rc,
now the pppd daemon will automatically
start to establish the internet connection
when 3G dongle is inserted.
Вот из той сборки, наверное, можно извлечь и chat?

Могу предположить, что поковырять нужно вот эту сборку: http://code.google.com/p/android-x86/do ... =froyo-x86, хоть это и начало 2011 года.

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

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

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

Olej писал(а):Могу предположить, что поковырять нужно вот эту сборку: http://code.google.com/p/android-x86/do ... =froyo-x86, хоть это и начало 2011 года.
Ну вот и chat :lol: :
froyo-eeepc [Работает] - Oracle VM VirtualBox.png
(63.12 КБ) 5620 скачиваний
Теперь остаётся извлечь его из этой сборки и переложить в 4.0.

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

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

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

Olej писал(а):Теперь остаётся извлечь его из этой сборки и переложить в 4.0.

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

[root@nvidia x86]# adb connect 192.168.1.23
already connected to 192.168.1.23:5555
[root@nvidia x86]# adb -s 192.168.1.23:5555 shell netcfg
lo       UP    127.0.0.1       255.0.0.0       0x00000049
eth0     UP    192.168.1.23    255.255.255.0   0x00001043
Вот он подконекченный Android ...

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

[root@nvidia x86]# adb -s 192.168.1.23:5555 shell ls -l /system/bin/chat
-rwxr-xr-x root     shell       22124 2011-01-01 16:24 chat
[root@nvidia x86]# adb -s 192.168.1.23:5555 pull /system/bin/chat ./
259 KB/s (22124 bytes in 0.083s)
[root@nvidia x86]# ls -l chat
-rw-r--r--. 1 root root 22124 авг.  31 00:53 chat
Вот извлечённый файл chat из него.

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

[root@nvidia x86]# file chat
chat: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs
[root@nvidia x86]# file chat.linux
chat.linux: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses sh
А вот как различно (executable / shared object) воспринимаются файлы chat из Android-x86 и из Linux.

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

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

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

Olej писал(а):и переложить в 4.0.
Переложили:

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

[root@nvidia x86]# adb connect 192.168.1.20
connected to 192.168.1.20:5555
[root@nvidia x86]# adb devices
List of devices attached
192.168.1.23:5555       device
192.168.1.20:5555       device
[root@nvidia x86]# adb -s 192.168.1.20:5555 push chat /system/bin
532 KB/s (22124 bytes in 0.040s)
192.168.1.20 - это и есть мой подопытный Android 4.0

Коннект!:

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

shell@eeepc:/ # pppd call mts
shell@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=51 time=80.4 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=51 time=65.3 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=51 time=65.0 ms
^C
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 65.069/70.287/80.469/7.200 ms
shell@eeepc:/ # nslookup rus-linux.net
Server:    80.255.64.23
Address 1: 80.255.64.23

nslookup: can't resolve 'rus-linux.net'
Есть коннект!!! ;-)
Ешё нет DNS, но по IP ping доходит до Google...


Добавляю DNS:

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

1|shell@eeepc:/ # setprop net.dns1 8.8.8.8
shell@eeepc:/ # setprop net.dns2 8.4.4.4
shell@eeepc:/ # nslookup rus-linux.net
Server:    8.8.8.8
Address 1: 8.8.8.8 google-public-dns-a.google.com

Name:      rus-linux.net
Address 1: 77.222.42.148 vip-49.sweb.ru
Всё, разрешалка работает.

А вот и долгожданный интерфейс ppp0:

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

shell@eeepc:/ # netcfg
lo       UP                                   127.0.0.1/8   0x00000049 00:00:00:00:00:00
ifb0     DOWN                                   0.0.0.0/0   0x00000082 aa:1d:8f:f3:42:77
ifb1     DOWN                                   0.0.0.0/0   0x00000082 aa:ed:8b:53:89:ee
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     UP                                192.168.1.20/24  0x00001043 08:00:27:eb:e0:88
ppp0     UP                                77.52.78.120/32  0x000010d1 00:00:00:00:00:00

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

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

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

Замечательно!
Так удалось какой-нибудь сайт открыть в браузере Андроида?

Если да, то как мне проделать все эти непонятные манипуляции на реальном железе.

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

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

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

dmitriev писал(а):Так удалось какой-нибудь сайт открыть в браузере Андроида?
Пока нет... нужно ещё аккуратно отбить у него Ethernet соединение, чтобы быть уверенным, что трафик идёт через ppp0.
dmitriev писал(а):Если да, то как мне проделать все эти непонятные манипуляции на реальном железе.
Для начала:
1. проверить наличие программы chat в /system/bin ... но, скорее всего его там у вас нет, как и у меня.
2. chat для Android-x86 я прилагаю, чтобы вы, как я, не уродовались доставать его из другой сборки 2011 года...
3. разархивируете chat ...
4. вам его нужно поместить в /system/bin Android, а для этого вам нужен adb ...
5. попробуйте его установить с пакетом - это даже интересно:

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

# yum install android-tools.i686         
6. дальше нужно затолкать ... я это делал так:

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

# adb -s 192.168.1.20:5555 push chat /system/bin
... ну а дальше уже дело попроще...
Вложения
chat-x86.tgz
(10.3 КБ) 403 скачивания

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

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

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

вам его нужно поместить в /system/bin Android, а для этого вам нужен adb ...
У меня система Андроид смонтирована RO и ничего туда поместить не удается.
А перемонтировать нельзя, так как
Меня больше всего смущает, что Андроид не видит ни жесткий диск компьютера (нет /dev/sdaX), ни флешек.
При этом команда mount выводит /dev/sdb1 (с которого я и запускаю систему) примонтированный в /mnt.
Команда lsusb также показывает флешку.
Команда dmesg также сообщает, что ядро обнаружило /dev/sdb и /dev/sdb1
И при этом в диретории /dev нет ноды /dev/sdb1!
------------------------------------------------------------------------
Просто можно с ума сойти!
попробуйте его установить с пакетом - это даже интересно:
Код:
# yum install android-tools.i686
Я его установлю на свой компьютер, но и Андроид я запускаю с флешки на нем же, а жесткого диска он не видит.
И где же выход из этого исхода?

Если у меня был бы гаджет с Андроном на борту, то я его мог бы подсоединить по USB к компьютеру, и оттуда уже насиловать с помощью adb....

Ответить

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

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

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