【专业技术】linux下实现3G拨号上网

linux下要实现3G拨号上网,除了3G网卡和对应的3G卡外,软件上需要对应的网卡驱动和pppd拨号程序,pppd拨号程序一般较容易得到,如果是嵌入式平台,交叉编译即可,编译过程中可能会遇到一些错误,但都不是大问题,一般很容易解决。而3G网卡驱动对于刚接触的人来说可能稍微难一点,大部分的3G模块内核中已经得到支持。如果不幸内核中没有得到支持,那么自己添加支持也是很容易的。下面介绍两种驱动3G网卡的方法。

linux内核中USB-GSM模块的驱动主要是drivers/usb/serial/options.c文件。看了此文件会非常明了,对一个3G网卡的支持主要就是两个参数,一个是厂商ID,一个是设备ID,只要3G网卡可以被USB识别,那么我们很容易得到这个USB设备的设备ID和厂商ID,得到之后,我们把这两个参数添加进option.c文件重新编译得到option.ko,那么这个3G网卡一般就能正常工作了。

第二种方法是使用usb-modeswitch来是3G网卡正常工作。这种方法我没有实际使用过,下面是从网上看到的一篇文章,可以作位参考。

我的3G上网卡是华为 E1750,操作系统是openSUSE 11.2,之前只能在虚拟机运行的Windows里上3G,感觉这样实在不方便,于是想到了直接在Linux里连接3G网络。 1. software http://www.draisberghof.de/usb_modeswitch/

usb-modeswitch

usb-modeswitch-data libusb

2. install

安装软件 root# tar jxvf usb-modeswitch-1.1.3.tar.bz2 root# cd usb-modeswitch-1.1.3/ root# make install

root# tar jxvf usb-modeswitch-data-20100707.tar.bz2

root# cd usb-modeswitch-data-20100707/ root# make install then upgrade libusb to the lastest version. root# cp /usr/share/doc/packages/ppp/scripts/pon /usr/local/sbin root# cp /usr/share/doc/packages/ppp/scripts/poff /usr/local/sbin root# chmod ug+x /usr/local/sbin/pon /usr/local/sbin/poff

接下来,接上3G上网卡,可以看到 lsusb 输出的结果多了"USB Modem"字样。

root# lsusb ... Bus 002 Device 010: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem ... 3. configure 建立3个PPP配置文件。 root# cat /etc/ppp/peers/wcdma nodetach lock /dev/gsmmodem 115200 user "card" password "card" crtscts show-password usepeerdns noauth noipdefault novj novjccomp noccp defaultroute ipcp-accept-local ipcp-accept-remote connect '/usr/sbin/chat -s -v -f /etc/ppp/peers/wcdma-chat-connect' disconnect '/usr/sbin/chat -s -v -f /etc/ppp/peers/wcdma-chat-disconnect'

root# cat /etc/ppp/peers/wcdma-chat-connect

ABORT 'NO CARRIER' ABORT 'ERROR' ABORT 'NO DIALTONE' ABORT 'BUSY' ABORT 'NO ANSWER' '' \rAT OK \rATZ OK \rAT+CGDCONT=1,"IP","3gnet",,0,0 OK-AT-OK ATDT*99# CONNECT \d\c root# cat /etc/ppp/peers/wcdma-chat-disconnect ABORT "ERROR" ABORT "NO DIALTONE" SAY "\nSending break to the modem\n" '' "\K" '' "+++ATH" SAY "\nGoodbay\n"

4. connect 拔号连接 root# pppd call wcdma & ...... Serial connection established. Using interface ppp0 Connect: ppp0 <--> /dev/gsmmodem CHAP authentication succeeded CHAP authentication succeeded Could not determine remote IP address: defaulting to 10.64.64.64 not replacing default route to eth0 [10.217.15.1] local IP address 172.27.25.133 remote IP address 10.64.64.64 primary DNS address 202.106.195.68 secondary DNS address 202.106.46.151 Script /etc/ppp/ip-up finished (pid 10543), status = 0x0 手工添加DNS root# echo "nameserver 202.106.46.151" >> /etc/resolv.conf 手工指定默认网关 root# route add default gw 172.27.25.133 测试网络是否可用 root# ping -c 5 www.sina.com.cn PING libra.sina.com.cn (202.108.33.80) 56(84) bytes of data. 64 bytes from 202.108.33.80: icmp_seq=1 ttl=56 time=39.6 ms 64 bytes from 202.108.33.80: icmp_seq=2 ttl=56 time=48.3 ms 64 bytes from 202.108.33.80: icmp_seq=3 ttl=56 time=46.8 ms 64 bytes from 202.108.33.80: icmp_seq=4 ttl=56 time=44.6 ms 64 bytes from 202.108.33.80: icmp_seq=5 ttl=56 time=44.1 ms --- libra.sina.com.cn ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4006ms rtt min/avg/max/mdev = 39.670/44.739/48.330/2.957 ms

5. disconnect root# poff

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-05-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏天天P图攻城狮

Android系统打印方案分析

Android Print API Android默认实现了打印的框架,使用PrintManager+PrintManagerService可以轻松实现打印...

8594
来自专栏静晴轩

Gitcafe绑定自定义域名

之前将自己练习写作工具替换为Markdown,部署工具改为Hexo,并且将托管地搬家到GitCafe之后,便是被各种的舒爽所围绕。她们的组合方便快捷,让人仅仅只...

3035
来自专栏北京马哥教育

推荐!国外程序员整理的系统管理员资源大全(一)

备份软件 Amanda -客户端-服务器模型备份工具 Bacula - 另一个客户端-服务器模型备份工具 Backupninja -轻量级,可扩展的元数据备份系...

44510
来自专栏SDNLAB

SDN关键技术-Segment Routing协议简介

当前,SDN作为一种新的网络架构,已经成为行业高度关注的热点。其倡导的开放式网络,代表了从网络应用适应网络能力向网络能力主动适配网络应用需求这个网络建设理念的改...

3849
来自专栏Java进阶

聊聊TCP传输的滑动窗口协议的演进

36910
来自专栏salesforce零基础学习

salesforce 零基础学习(四十五)Approval Lock & UnLock相关注意事项

我们都知道,当一条记录进入审批流程以后会自动加锁,apex提供Approval类的lock和unlock方法可以让我们使用代码对记录进行加锁和解锁。 项目中遇到...

2438
来自专栏linux系统运维

负载均衡集群介绍,LVS介绍, LVS调度算法,LVS NAT模式搭建

1792
来自专栏数据库新发现

Oracle数据恢复、数据库恢复、灾难恢复专题

原文链接:http://www.eygle.com/blog/special/oracle_recovery.html

1583
来自专栏余子军的专栏

Linux 2.6.16 TCP 连接速度异常的问题分析

发现访问公司某些业务时,速度非常不稳定,并且整体慢于竞争对手。分析认为 SESU10 母盘上内核 TCP 拥塞控制算法和 Windows 的 Ack 频率控制的...

1.9K0
来自专栏高性能服务器开发

C++日志系统如何设计

笔者在写作本章节的时候,并不敢把此章节的标题叫做《高性能日志系统的设计》,之所以不敢加上“高性能”三个字的原因是,第一,我的对于日志系统设计知识和经验都来自于学...

2613

扫码关注云+社区