Moto Linux应用开发(六):USB连接共享PC上网
来源:互联网 发布:淘宝图片轮播大小制作 编辑:程序博客网 时间:2024/05/22 03:26
由于在开发A1200上的流媒体播放器,免不了长期播放视频,进行稳定性测试。开始是通过GPRS拨号上网,但播放视频太费流量了,充个50元,都顶不住一天的测试。看到window mobile的手机都可以通过PC上网,因此想到moto linux手机也可以共享PC上网,节省流量费用。从理论上将是可行的,因为moto手机可以开启USB LAN,通过USB连接线与PC组成一个局域网。PC相当于具有两个网卡,只要开启路由功能即可。在网上查找了一些资料后,终于配置成功,现将配置过程分享一下。
环境:
PC操作系统: Ubuntu 9.10. 网卡eth0 IP 10.8.8.175 netmask 255.255.255.0 gateway 10.8.8.1
手机: Moto A1200,已开启USB LAN,已启动telnet服务
步骤:
- 手机通过USB连接到PC后,会连接一个网卡设备usb0, 配置其IP为192.168.1.1,手机自行分配的IP地址为192.168.1.2。可以在PC上telnet 192.168.1.2,确定USB LAN工作正常;
- 开启PC的IP转发功能,网上都说如下命令即可完成
echo "1">/proc/sys/net/ipv4/ip_forward
但在我的系统上运行却总是报错:
martianchem@martianchem-laptop:~$ echo "1">/proc/sys/net/ipv4/ip_forward
bash: /proc/sys/net/ipv4/ip_forward: Permission denied
martianchem@martianchem-laptop:~$ sudo echo "1">/proc/sys/net/ipv4/ip_forward
bash: /proc/sys/net/ipv4/ip_forward: Permission denied
所以采用另外一个方法,打开/etc/sysctl.conf文件,找到net.ipv4.ip_forward = 1这一行,去掉前面的注释符, 然后运行如下命令即时生效
sudo sysctl -p
- 输入如下命令,开启NAT
sudo iptables -F
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
为了避免每次重启都需要输入命令,将上面的四条命令加入/etc/rc.local文件
- 为手机添加路由。这是一个比较麻烦的工作,因为在moto linux下并没有route命令。上网下载busybox的源码,使用工具链交叉编译,下载到手机,telnet到手机,运行如下命令:
./busybox route add default gw 192.168.1.1
添加路由后,如果可以ping通PC机的网关10.8.8.1,证明PC的NAT和手机的缺省路由添加成功。
# ping 10.8.8.1
PING 10.8.8.1 (10.8.8.1) from 192.168.1.2 : 56(84) bytes of data.
64 bytes from 10.8.8.1: icmp_seq=1 ttl=63 time=3.03 ms
64 bytes from 10.8.8.1: icmp_seq=2 ttl=63 time=3.75 ms
- 修改手机DNS。如果要能正常访问www.csdn.net这样的网址,还需要DNS解析。我们知道,linux下的DNS配置位于/etc/resolv.conf文件,但非常不幸的是,这个文件指定的nameserver为127.0.0.1,而且/etc/下的文件还不能修改。从网上找到的答案是复制/etc/下的文件到/ezxlocal/etc/, 然后通过mount --bind /ezxlocal/etc /etc命令,这样再访问/etc/下的文件实际上就是访问的/ezxlocal/etc/下的文件,而/ezxlocal/etc/下的文件是可以修改的。将/etc/resolv.conf中的内容改成nameserver 192.168.1.1。这时再ping www.sina.com,提示为
# ping www.sina.comPING newswh.sina.com.cn (59.175.132.68) from 192.168.1.2 : 56(84) bytes of data.
- Moto Linux应用开发(六):USB连接共享PC上网
- Android手机通过USB线连接PC共享上网
- defy usb连接pc上网
- PC连Moto V180上网
- Moto Linux应用开发(四):A1200官方SDK
- Moto Linux应用开发(五):frame buffer
- Ubuntu linux共享连接上网
- PPC、PDA通过USB连接PC电脑上网
- Moto Linux应用开发(-): Ubuntu上建立Moto E6交叉编译工具链
- Moto Linux应用开发(-): Ubuntu上建立Moto E6交叉编译工具链
- Moto Linux应用开发(二)EZX图形编程环境构建
- Moto Linux应用开发(三):利用samba和telnet简化调试工作
- 蓝牙共享PC宽带上网
- Beaglebone Black通过usb和Linux Mint共享上网
- wince5.0模拟器连接ActiveSync和共享网络PC分享上网及运行BS程序(模拟手持设备)
- Ubuntu Linux下与MOTO E2手机进行USB NET连接
- Ubuntu Linux下与MOTO E2手机进行USB NET连接
- 树莓派使用USB数据线连接到手机的USB共享上网
- ADI高速pcb设计指南
- Debian Linux进入不了图形界面的折腾
- 基于DailyBuild流程提升软件产品的质量
- 传智播客--struts2.x之OGNL
- 验证视图状态MAC 失败。如果此应用程序由网络场或群集承..——解决方法
- Moto Linux应用开发(六):USB连接共享PC上网
- 孙鑫VC++讲座笔记-(3)MFC程序框架的剖析 附1-SDI程序流程图
- 娱乐一刻(转)
- SEO优化经验(转)
- AIX操作系统的环境变量设置
- 孙鑫VC++讲座笔记-(5)文本编程
- rsync 参数列表
- 刚开通博客,第一篇博文,无内容,读者不必进!
- 有效睡眠 !阳光-运动-坚持!