【专业技术】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 条评论
登录 后参与评论

相关文章

来自专栏运维前线

Shell 进阶指南

Awesome Shell 这是一份非常棒的命令行框架、工具包、指南、以及小玩意儿组织清单。由 awesome-php 获得灵感。该 awesome 收集在 ...

2427
来自专栏从零开始学自动化测试

Appium+python自动化10-AVD 模拟器

前言 有些小伙伴没android手机,这时候可以在电脑上开个模拟器玩玩 一、模拟器配置 1.双击启动AVD Manager,进入配置界面 ? 2.点Create...

3356
来自专栏施炯的IoT开发专栏

Windows 10 IoT Serials 7 – 如何用树莓派制作家庭流媒体播放器

    Windows 10平台引入了AllJoyn开源软件框架,它提供了一组服务可以创建动态近端网络,让设备可以相互连接实现功能交互。目前,AllJoyn开源...

22510
来自专栏FreeBuf

SpyNote V5.0图形化工具远程管理Android手机教程(附视频)

前言 本篇文章主要以图文教程和视频演示详细地教你如何快速学会使用SpyNote 5.0图形化工具来穿透内网远程控制Android手机。本教程有一定的杀伤力,请各...

1.9K7
来自专栏北京马哥教育

gitlab-ce白名单设置杜绝并发数过大引起的封ip故障

gitlab-ce 7.9安装手札以及上篇文章的问题解决 鸣谢 感谢ruby大神===》章鱼的一路指点,才能拨开迷雾见云天! 章鱼大人: 国内Ansib...

43811
来自专栏工科狗和生物喵

搭建你自己的网站--LAMP架构(Ubuntu 16.04)

笔者目前算是一个WEB方向的踽踽前行的小菜鸟,但是也是现在手上有两台云服务器在手的人了,网站也做了两个了,所以,今天接着昨天的话题,我们来搭建一个自己网站,这样...

4015
来自专栏信安之路

Window 提权基础

再加上个人的理解写出的关于 Windows 提权基础的文章,其中有些地方因为不太实用所以做了适当修改,感谢 @hl0rey 的帮助和建议。

520
来自专栏FreeBuf

漫谈攻击链:从WebShell到域控的奇妙之旅

做渗透测试时遇到的域环境经常就是要么太复杂我们搞不定,要么太简单进去就拿到域控没啥意思,这些显然都无法满足我们实践已掌握知识的刚需。同时为了给我们道格安全技术小...

915
来自专栏拂晓风起

cocos2d-js 在线更新代码脚本 动态更新脚本程序 热更新 绕过平台审核 不需重新上架

764
来自专栏Java学习网

高效程序员的MacBook工作环境配置

高效程序员的MacBook工作环境配置 本文记录整个配置过程,供新入手 MacBook 和觉得 MacBook 比较难用的同学参考。 1. 硬件提升 笔记本电脑...

9078

扫描关注云+社区