摩托罗拉 MileStone(里程碑) 通过USB分享手机网络给电脑上网

2010-09-27 14:35

摩托罗拉 MileStone(里程碑) 通过USB分享手机网络给电脑上网
中秋回家过节,家里没有宽带,有急事要笔记本上网,所以安装了Wireless tether这个软件让手机开启wi-fi共享3G网络给笔记本上网,使用中发现手机一边要进行3G数据传输,一边还要进行wi-fi传输,非常耗电,而且使用笔记本上网的下载速度一直达不到100KB/S,还有另外一款软件是Pdanet,这是一款基于蓝牙网络的,速度更不用提,于是在想找一种通过USB共享手机网络的方法。
在摩托罗拉所出的安卓(Android)平台的手机中,都没有自带3G猫功能,而HTC的安卓(Android)手机都有此功能,手机通过USB数据线连上电脑,选择“Internet网络共享”模式就可方便让电脑/笔记本通过手机上网,并且还可边给手机充电,不用担心手机在进行无线数据传输时消耗大量的电量。
最终经过Google,DIY搞定!

基于Linux的Android真的是太强大了,首先你的手机要破解取得了Root权限,如果没有破解,这里我就不教你root了,请自行解决。
查看"/system/bin/"目录下是否有"iptables"这个文件,MileStone(里程碑)国行的Rom,自带此文件,印象中其它Rom不存在此文件,如果不存在,请到本文最后下载放到"/system/bin"目录下,更改文件权限为"755" 如果你使用"Root文件管理器",请勾选:全部人可读,全部人可执行,仅自己可写。
懂Linux的人估计看到iptables就明白得差不多了,是的,就是要用好iptables。
因为MileStone(里程碑)在USB接连电脑选择"门户&工具"时,会在电脑上产生一块网卡,我们就是要应用这块网卡的功能,手机与电脑连接成功后,电脑端的IP地址为:192.168.16.1,而手机的IP为:192.168.16.2。
使用命令启动iptables,共享3G网络
.sh文件代码如下:(文章中所有代码请到文后下载,可能单双引号有问题

#!/system/bin/sh
case "$1" in
'start')
/system/bin/iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
/system/bin/iptables -I FORWARD -s 192.168.16.0/24 -j ACCEPT
/system/bin/iptables -P FORWARD DROP
/system/bin/iptables -t nat -I POSTROUTING -s 192.168.16.0/24 -j        MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
;;
'stop')
/system/bin/iptables -F
echo 0 > /proc/sys/net/ipv4/ip_forward
;;
*)
echo "Usage: $0 [start|stop]"
;;
esac

将此代码保存为文件"usbt",放入/system/bin/目录下,权限如iptables ,usbt也可以本文最后下载。
启用共享的命令为:usbt start
停止共享的命令为:usbt stop
以上命令,你可以通过在手机上安装终端来运行,但一定要root权限执行,也可以通过手机与电脑连接后经adb命令执行。
当然,如果你嫌这些命令麻烦,操作起来不便,我还有更简单的方法,就是让此命令在开机自动执行,你想上网时只要连上手机数据线,选择“门户&工具”,电脑就可以上网了。
这个方法怎么来实现呢,超过频没?没有?用MileStone(里程碑)的人没超过频?out了吧,太浪费MileStone强大的cpu了,下载“PLUS工具箱/PlusToolbox”,安装后运行一下,只要运行一下就行了。哦,忘记了,运行这个软件可以会提示你 "/system/bin/" 下要得有busybox,一般情况都有,没有的话见文后附件,权限设置如iptables。
然后你应该就可以在"/system/bin/"下找到"boot_script"目录,就是要它了,把下面的命令保存下来,文件名为:usb_tethering.sh ,usb_tethering.sh本文最后也有下载。
命令代码:

#!/system/bin/sh
/system/bin/iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
/system/bin/iptables -I FORWARD -s 192.168.16.0/24 -j ACCEPT
/system/bin/iptables -P FORWARD DROP
/system/bin/iptables -t nat -I POSTROUTING -s 192.168.16.0/24 -j        MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

保存后放到"/system/bin/boot_script"目录下,更改文件 "usb_tethering.sh" 的权限如iptables。
然后重启你的手机。
手机与电脑usb数据线连接,选择"门户&工具",电脑上打开“网络连接”文件夹,找到一个motorola的 “本地连接 X"(X可能是2),点“状态”可看到IP地址为:192.168.16.1,此网卡在属性中选择为"使用下面的IP地址"。

IP:192.168.16.1
子网掩码:255.255.255.0
网关:192.168.16.2
主DNS:8.8.8.8
备用DNS:8.8.4.4

其中主DNS与备用DNS你可自行设定为可用的IP,然后打开你的浏览器吧。
最终测试:在MileStone(里程碑) 10.2Mbps 下行的强大硬件下,下载速度最高达600KB/S.
以后你想电脑通过手机上网,要做的就是拿出USB数据线连上手机,然后选择"门户&工具".
本文中提到的所有软件与代码:
iptables/usbt/PLUS工具箱/busybox/usb_tethering.sh
下载:usb_tethering.zip

2 条回复

  • John

    John 2011-08-03 18:54 回复

    后面这个IP要自已在电脑上设置的

  • 大哥

    大哥 2011-08-03 16:51 回复

    大哥,我照做之后出现本地已链接,但有防火墙的,(我没有什么复制代码,直接把附件下载下来,解压,给权限装进去,重启)还有那个子网掩码对不上,我家是xp盗版的,好像都盗版

说两句