Как использовать проводное подключение к Интернету на телефоне Android (обратный модем)?

26

Я пытался поделиться своим проводным подключением к Интернету с моим телефоном Android. Однако я не смог добиться этого. Кто-нибудь из вас когда-либо преуспел? Я использую следующие операционные системы:

  • Ubuntu 10.10
  • Android 2.3
Erdem
источник
1
Некоторое время я пытался найти решение этой проблемы, и несколько раз пытался, но безуспешно. Я думаю, что лучшим вариантом было бы создать беспроводную сеть в Ubuntu, которая НЕ является сетью Wi-Fi Adhoc (потому что Android не обнаруживает такие подключения). Есть инструкции, как это сделать, но я нахожу их либо слишком сложными, либо они просто не работают. Так что пошаговое пошаговое руководство о том, как это сделать, будет приветствоваться.
Джеффри
Вероятно, вам придется указать имя сети на вашем Android-устройстве.
Джо-Эрленд Шинстад
По-прежнему нет удовлетворительного ответа после периода щедрости, поэтому я полагаю, что ответ на этот вопрос: это действительно сложно! Я присудил награду за самый «проголосовавший» ответ, полезный ответ, даже если бы не решение, которое я искал.
Джеффри
@ Jo-ErlendSchinstad Спасибо, я пробовал это, но это не помогает.
Джеффри

Ответы:

10

Да, это возможно. У меня Ubuntu 11.04, NetworkManager 0.8.4, телефон Android Nexus One под управлением Cyanogenmod 7.

Как описано Романом, щелкните правой кнопкой мыши значок NetworkManager и выберите «Создать новую беспроводную сеть». Я решил оставить соединение широко открытым (без WPA, без WEP). Мой телефон сразу увидел сеть, и я без проблем подключился. Соединение было выполнено автоматически, поэтому я мог просматривать Интернет, не настраивая ничего лишнего.

Причина, по которой у вас возникли проблемы с вышеуказанным способом, заключается в том, что стандартный Android 2.3 не поддерживает специальные сети. Чтобы быть точным, Android wpa_supplicant не показывает специальные сети. Есть несколько способов исправить это. Гуглите и отправляйтесь на охоту на форумах xda-developers. Возможно, вам понадобится взломать ваш телефон, что выходит за рамки этого ответа.

Моя личная рекомендация: если ваш телефон поддерживает Cyanogenmod, вы можете установить его, чтобы получить специальную поддержку и другие хакерские изыски. Вам нужно будет рутировать свой телефон, который может или не может быть на ваш вкус.

Другая альтернатива - попробовать «Режим инфраструктуры». После настройки специальной беспроводной сети, как указано выше, нажмите значок NetworkManager, выберите «Изменить подключения». Перейдите на вкладку «Беспроводная связь» и отредактируйте созданную вами специальную сеть В режиме выберите «Инфраструктура». Я не уверен, что это сработает для вас, так как у меня нет стандартного телефона Android для тестирования. Я думаю, что если режим ad-hoc является проблемой, то другой режим может быть решением.

Удачи!

ученый в области ракетостроения
источник
Благодарность! Ну, я понимаю, что рутирование Wildfire S не так просто, так что это не сработает для меня. «Режим инфраструктуры» звучит интересно, но пока я не смог заставить его работать - он просто не подключится. Я постараюсь поискать решения этой проблемы ...
Джеффри
3

Прежде всего, как мы все знаем, стандартное ПЗУ Android, то есть то, которое поставляется с телефоном, не поддерживает режим ad-hoc (удивительно), и даже Ice-Cream Sandwich (Android 4.0) не будет поддерживать режим ad-hoc.

Итак, нам нужно создать точку доступа с помощью Ubuntu, к которой легко может подключиться любой телефон Android. В Windows вы можете использовать Connectify, чтобы сделать это, и он работает отлично, но с Ubuntu у вас могут возникнуть определенные проблемы, в зависимости от того, поддерживает ли ваша Wi-Fi режим точки доступа (основной режим) или нет.

Теперь, даже если ваша Wi-Fi-карта поддерживает режим точки доступа, следующая проблема заключается в том, поддерживает ли драйвер вашей Wi-Fi-карты режим AP или нет, если это так, то проблема решена, а если нет, то у вас есть три варианта:

  1. Подождите, пока драйвер получит обновление для режима AP. (многие драйверы Wi-Fi-карты все еще находятся в стадии подготовки)

  2. Купите Wi-Fi-ключ и убедитесь, что он поддерживает режим AP в Ubuntu.

  3. Используйте Windows, где Connectify сделает всю работу за вас.

Если вы заинтересованы, вы можете опубликовать имя вашего драйвера Wi-Fi-карты, чтобы я мог помочь вам в дальнейшем. Используйте эту команду:

lshw -c network
Аднан Камили
источник
Рабочее решение, перейдите по этой ссылке: superuser.com/questions/407371/…
adnan kamili
3

Я нашел работающее решение, чтобы поделиться своим интернет-соединением с моим телефоном через USB-модем, но мой ноутбук использует беспроводное соединение:

Интернет -> Беспроводная связь -> Ноутбук -> USB-кабель -> Телефон Android

Так что, если это будет возможно для вас, или если у вас есть вторая сетевая карта для вашего компьютера, вы должны проверить приложение «Reverse Tether Trial» из магазина Play.

  1. Как обычно, подключите ваш компьютер к Интернету
  2. Подключите свой телефон Android через USB к компьютеру
  3. Активируйте USB-модем в настройках Android.
  4. Создайте новое проводное соединение в сетевом менеджере Ubuntus, как описано здесь
  5. Запустите Reverse Tether и следуйте его инструкциям
  6. Обзор на вашем телефоне :)
shaddow
источник
2

Пожалуйста, проверьте эту ссылку и скажите мне, если это примерно то, что вы ищете.
https://help.ubuntu.com/community/WifiDocs/WirelessAccessPoint

Если оно выглядит (или близко) к тому, что вы ищете, дайте мне знать.
Я заинтересован в том, чтобы сделать это сам, только с небольшой модификацией направления трафика через ppp0. Который является привязным соединением.
Возможно, мы можем настроить эти инструкции, чтобы сделать то, что нам нужно.

Изменить: это выглядит так, как будто это будет работать лучше на выделенной машине (по сути, сделать его маршрутизатором). Я все еще просматриваю конфигурации, но это может вызвать некоторые проблемы для ноутбука, который вы бы использовали беспроводной связи для подключения к различным местам.
Кроме того, кажется, есть пара шагов, связанных с машиной Windows, от которой мы можем отказаться.

Вы также хотите увидеть это. https://help.ubuntu.com/community/WifiDocs/MasterMode

Argusvision
источник
Кроме того, я попытался настроить беспроводную связь с помощью Network Manager (как это было предложено RocketScientist) без какого-либо реального успеха. Это не значит, что это не может сработать только потому, что это не сработало для меня. Возможно, есть еще одна переменная, которой у меня не было. бридж-утилит например.
Argusvision
спасибо, это звучит интересно (хотя и довольно сложно). К сожалению, у меня нет времени, чтобы изучить это до воскресенья, но, пожалуйста, сообщите о любом успехе с этим.
Джеффри
Я надеюсь, что у меня будет шанс поиграть с этим. Есть ли шанс, что вы сможете продлить награду до утра понедельника, чтобы я смог поработать на этих выходных?
Argusvision
извините, но я не думаю, что у меня есть возможность продлить награду ...
Джеффри
... но есть «льготный» период в 24 часа после окончания щедрости, так что это дает вам еще один день
Джеффри
2

Следующее рабочее решение для меня с USB-кабелем на Kubuntu 15.10 и Android 4.2.2 на Samsung S3 mini было следующим

Требования

Android

  1. приложение busybox установлено
  2. USB-кабель к вашему компьютеру
  3. Отладка USB включена на вашем устройстве Android (чтобы иметь возможность adb с вашего компьютера)

компьютер

  1. В ваших / etc / network / interfaces вы должны иметь эти две строки, иначе вы получите no such deviceошибку

    allow-hotplug usb0
    auto usb0
    
  2. adb установлен ( apt-get install android-tools-adb)

соединение

  1. В вашем андроиде включите опцию Настройки-> Подключения-> Сетевые подключения-> Модем и точка доступа-> USB-модем, это создаст USB-соединение с вашим компьютером, которое вы можете увидеть с помощью ifconfigкоманды на вашем компьютере. Посмотрите @ имя интерфейса, которое для меня на enxf6759e7fbebdэтот раз.

    enxf6759e7fbebd Link encap:Ethernet  HWaddr a2:61:3c:83:1c:38  
        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
        RX packets:6 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:464 (464.0 B)  TX bytes:0 (0.0 B)
    
    eth0      Link encap:Ethernet  HWaddr 50:e5:49:47:f4:fd  
        inet addr:192.168.178.20  Bcast:192.168.178.255  Mask:255.255.255.0
        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
        RX packets:40894966 errors:0 dropped:0 overruns:0 frame:0
        TX packets:86312833 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:1000 
        RX bytes:20969506400 (20.9 GB)  TX bytes:120329513606 (120.3 GB)
    
    lo        Link encap:Local Loopback  
        inet addr:127.0.0.1  Mask:255.0.0.0
        UP LOOPBACK RUNNING  MTU:65536  Metric:1
        RX packets:30521 errors:0 dropped:0 overruns:0 frame:0
        TX packets:30521 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:0 
        RX bytes:10868749 (10.8 MB)  TX bytes:10868749 (10.8 MB)
    
  2. Назначьте IP-адрес вашему компьютеру в этом сетевом интерфейсе с помощью следующей команды, sudo ifconfig enxf6759e7fbebd 192.168.42.135 netmask 255.255.255.0где enxf6759e7fbebd - это интерфейс, полученный на предыдущем шаге.

  3. Включить IP-пересылку с

    sudo -- sh -c  'echo 1 > /proc/sys/net/ipv4/ip_forward'
    
  4. Включите nat на вашем компьютере с

    sudo iptables -t nat -F
    sudo iptables -t nat -A POSTROUTING -j MASQUERADE
    
  5. На вашем компьютере подключиться к вашему устройству Android с

    adb shell
    su
    
  6. тогда уже имея ваше соединение вы можете проверить с помощью busybox ifconfig -aкоманды

    rndis0    Link encap:Ethernet  HWaddr FA:08:D6:1A:35:90  
        inet addr:192.168.42.129  Bcast:192.168.42.255  Mask:255.255.255.0
        inet6 addr: fe80::f808:d6ff:fe1a:3590/64 Scope:Link
        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
        RX packets:0 errors:0 dropped:0 overruns:0 frame:0
        TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:1000 
        RX bytes:0 (0.0 B)  TX bytes:564 (564.0 B)
    

вы можете добавить маршрут по умолчанию к сетевому адресу вашего компьютера, который вы зафиксировали в пункте 2, busybox route add default gw 192.168.42.135 dev rndis0и все (вы можете проверить свои маршруты с помощью busybox routeкоманды)

Филипп Гачу
источник
1

Предполагая, что у вас также есть беспроводная карта на вашем компьютере: В Network Manager выберите меню и «Создать новую беспроводную сеть ...». Позже вы увидите сеть в вашем Android.

gpoo
источник
1

Вы можете создать беспроводную сеть из вашего компьютера Wi-Fi меню. Щелкните правой кнопкой мыши значок Wi-Fi на панели задач и выберите Создать новую сеть. Заполните параметры и подключитесь к нему со своего телефона. Убедитесь, что ваш компьютер также подключен к проводному сетевому кабелю. Насколько я понимаю, кабель должен быть автоматически подключен к беспроводной сети, и все должно работать нормально.

Римский
источник
Спасибо за ответ. После создания новой беспроводной сети я не вижу эту сеть на своем телефоне. Что я сделал не так?
Эрдем
Это очень странно. Вы уверены, что на вашем компьютере есть карта Wi-Fi?
Роман
2
Android не обнаруживает беспроводную сеть типа adhoc, созданную администратором сети, поэтому это не будет работать.
Джеффри
0

Это работает для меня

  • Ubuntu 12.04
  • Android 4.0.4

Установить hostapd

sudo apt-get install hostapd

Проще говоря, hostapd позволяет вам создавать программные точки доступа Wi-Fi, позволяющие приличное количество параметров конфигурации. В оставшейся части этого поста я покажу, как создать программную точку доступа в Linux с помощью hostapd и через нее разделить ваш интернет с устройствами.

После установки hostapd установите dhcp сервер

sudo apt-get установить dhcp3-сервер hostapd

Затем откройте текстовый редактор, например, geditскопируйте в него следующее.

interface=wlan0
driver=nl80211
ssid=YOUR_SSID_NAME
hw_mode=g
channel=11
wpa=1
wpa_passphrase=YOUR_PASSWORD
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
wpa_ptk_rekey=600

Пожалуйста, измените имя вашей сети после ssid=, а также пароль после wpa_passphrase=.

сохраните файл как hostapd.confв вашей домашней папке

Создайте новую беспроводную сеть и подключите ее.

Теперь откройте терминал и введите:

sudo hostapd hostapd.conf

Включите свой телефон Wi-Fi и найдите свой ssid.

Источник от ЗДЕСЬ

Ачу
источник
Это сближает меня, но телефон застревает, пытаясь получить IP-адрес.
DavidG