如何与Android手机共享有线Internet连接(反向绑定)?


26

我一直在尝试与Android手机共享有线Internet连接。但是,我无法成功做到这一点。你们中有人成功吗?我使用的操作系统如下:

  • Ubuntu 10.10
  • Android 2.3

1
一段时间以来,我一直在努力寻找解决方案,并且尝试了很多事情,但均未成功。我认为最好的选择是在Ubuntu上创建不是Adhoc wifi网络的无线网络(因为Android无法检测到此类连接)。那里有关于如何执行此操作的说明,但是我发现它们要么太复杂,要么就不起作用。因此,欢迎逐步了解如何执行此操作。
geoffrey

您可能必须在Android设备上指定网络名称。
Jo-Erlend Schinstad 2011年

悬赏期过后,仍然没有令人满意的答案,所以我想这个问题的答案是:这真的很难!我将赏金授予了最“投票赞成”的答案,这是一个有用的答案,即使不是我要找的解决方案。
geoffrey

@ Jo-ErlendSchinstad谢谢,我尝试了此操作,但无济于事。
geoffrey

Answers:


10

对的,这是可能的。我有运行Cyanogenmod 7的Ubuntu 11.04,NetworkManager 0.8.4,Android Nexus One手机。

如Roman所述,右键单击NetworkManager图标,然后选择“创建新的无线网络”。我选择将连接保持打开状态(没有WPA,没有WEP)。我的手机可以立即看到网络,并且连接顺利。桥接是自动完成的,因此我可以浏览互联网而无需进行任何其他配置。

使用上述方法遇到问题的原因是因为现有的Android 2.3不支持临时网络。确切地说,Android的wpa_supplicant不显示临时网络。有多种方法可以解决此问题。Google在xda-developers论坛中四处搜寻。您可能需要对手机进行一些骇客攻击,这超出了此答案的范围。

我个人的建议:如果您的手机支持Cyanogenmod,则可以安装它以获得临时支持和其他便利。您将需要根扎手机,这可能符合您的口味,也可能不符合您的口味。

另一种选择是尝试“基础结构模式”。按照上述步骤设置临时无线网络后,单击NetworkManager图标,选择“编辑连接”。点击无线标签,然后编辑您刚刚创建的临时网络。在模式下,选择“基础结构”。我不确定这是否适合您,因为我没有可供测试的Android手机。我的想法是,如果临时模式是问题所在,那么另一种模式可能是解决方案。

祝好运!


谢谢!好吧,我知道扎根Wildfire S并不是那么简单,所以对我来说不起作用。“基础架构模式”听起来很有趣,但到目前为止,我无法使其正常工作-它只是无法连接。我将尝试四处搜寻以解决该问题... ...
geoffrey

3

首先,众所周知,Android的现有ROM即手机随附的ROM不支持ad-hoc模式(令人惊讶),甚至Ice-Cream Sandwich(Android 4.0)也不支持ad-hoc模式。

因此,我们需要使用Ubuntu创建一个访问点,任何Android手机都可以轻松连接到该访问点。在Windows中,您可以使用Connectify来做到这一点,并且效果很好,但在Ubuntu中,您可能会遇到某些问题,具体取决于您的wifi卡是否支持接入点模式(主模式)。

现在,即使您的wifi卡支持接入点模式,下一个问题是wifi卡的驱动程序是否支持AP模式,如果支持,则问题得到解决,如果不支持,则有三个选择:

  1. 等待驱动程序收到AP模式的更新。(许多wifi卡驱动程序仍处于暂存阶段)

  2. 购买一个wifi加密狗,并确保它在ubuntu上支持AP模式。

  3. 使用Windows,Connectify将在其中为您完成工作。

如果您有兴趣,可以张贴您的wifi卡驱动程序的名称,以便我进一步帮助您。使用此命令:

lshw -c network

A工作液,请点击此链接:superuser.com/questions/407371/...
阿德南kamili

3

我找到了一个可行的解决方案,可以通过USB反向绑定与我的手机共享Internet连接,但是我的笔记本电脑为此使用了无线连接:

互联网->无线->笔记本电脑-> USB电缆->安卓手机

因此,如果您可能这样做,或者您的PC有第二张以太网卡,则应从Play商店中查看“反向系绳试用”应用程序。

  1. 照常将您的电脑连接到Internet
  2. 通过USB将Android手机连接到PC
  3. 在Android的“设置”中激活“ USB共享”
  4. 创建Ubuntus网络管理员一个新的有线连接的描述在这里
  5. 启动反向系绳并按照说明进行操作
  6. 在手机上浏览:)

2

请查看此链接,并告诉我它是否大致就是您要的内容。
https://help.ubuntu.com/community/WifiDocs/WirelessAccessPoint

如果看起来像(或接近)您要寻找的内容,请告诉我。
我对自己这样做很感兴趣,只是对通过ppp0引导流量做了些微修改。这是一个系留连接。
也许我们可以调整这些说明以执行我们需要的操作。

编辑:这似乎在专用计算机上(最好是使其成为路由器)效果最好。我仍在查看配置,但这可能会导致笔记本电脑使用无线连接到各个位置的问题。
另外,似乎有几个步骤涉及我们可能可以放弃的Windows计算机。

您还将希望看到这个。https://help.ubuntu.com/community/WifiDocs/MasterMode


另外,我尝试通过Network Manager(由RocketScientist建议)设置无线网络,但没有任何实际成功。这并不意味着它不能为我服务。也许还有另一个他没有的变量。例如bridge-utils。
Argusvision,2011年

谢谢,这听起来很有趣(尽管相当复杂)。不幸的是,我没有时间在周日之前进行调查,但是请报告是否成功。
geoffrey

我希望我有机会玩它。您是否有机会将赏金延长至星期一早上,以便我可以在本周末工作?
Argusvision,2011年

抱歉,但我认为我无权扩大赏金……
geoffrey

...但是赏金结束后有24小时的“宽限期”,所以给了您另一天的时间
geoffrey

2

以下是我在Samsung S3 mini上使用Kubuntu 15.10和Android 4.2.2上的USB电缆为我工作的解决方案

要求

安卓系统

  1. 已安装busybox应用
  2. USB电缆连接到计算机
  3. 在您的android设备上启用了USB调试(以便能够从您的PC进行adb)

电脑

  1. 在/ etc / network / interfaces中,您需要输入这两行,否则会出现no such device错误

    allow-hotplug usb0
    auto usb0
    
  2. 已安装adb(apt-get install android-tools-adb

连接

  1. 在您的android中,启用“设置”->“连接”->“网络连接”->“网络共享和便携式热点”->“ USB网络共享”选项,这将创建到计算机的USB连接,您可以ifconfig在计算机上使用命令查看该USB连接。看@这对我来说是接口名称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. 在您的计算机上,使用

    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

假设您的计算机中也有无线网卡:在网络管理器中,单击菜单,然后单击“创建新的无线网络...”。稍后,您将看到Android中的网络。


1

您可以从计算机的wifi菜单创建无线网络。右键单击任务栏中的wifi图标,然后单击创建新网络。填写选项,然后从手机连接到它。确保您的计算机也已连接到有线网络电缆。根据我的理解,电缆应自动桥接到无线设备,并且一切正常。


谢谢回复。创建新的无线网络后,我无法在手机上看到该网络。我做错什么了?
Erdem

那很奇怪。您确定您的计算机装有wifi卡吗?
罗马

2
Android无法检测到由网络管理员创建的“临时”类型的无线网络,因此这将无法正常工作。
geoffrey

0

这对我有用

  • Ubuntu 12.04
  • Android 4.0.4

安装hostapd

sudo apt-get install hostapd

简而言之,hostapd允许您创建软件wifi接入点,从而提供大量的配置选项。在本文的其余部分,我将展示如何使用hostapd在Linux中创建软件访问点,以及如何通过它与设备共享Internet。

安装hostapd之后安装dhcp服务器

须藤apt-get install dhcp3-server 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

打开手机的wifi并找到您的ssid。

来自HERE


这使我离得更近,但是电话一直在试图获取IP地址。
DavidG
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.