笔者很久之前试过笔记本自带的3G网卡(WCDMA,联通的3G制式),由于各种原因现在才记录一下。下文简要介绍过程,细节可能有所遗漏,以后有机会再更新吧。
1、首先你得找到网卡设备对吧
这里需要说明的是,USB接口的3G网卡大部分支持的驱动程序都会自动在/dev目录下面建立相关的串口设备,比如:/dev/ttyUSB0
对于笔记本自带的网卡就稍微有点复杂了:
(下面工作的前提是你已经安装好了相应的驱动程序,其实大部分情况下Linux已经驱动你的设备了)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
$ lsusb Bus 001 Device 005: ID 03f0:3d1d Hewlett-Packard ...... ...... # 这个命令查看USB设备,虽然我的是PCI网卡,但是这里一样可以看到 # 可以看到设备号Bus 001 Device 005,记住1、5这个组合,待会有用 $ ls -al /dev/serial/by-path lrwxrwxrwx 1 root root 13 7月 28 22:21 pci-0000:00:1a.0-usb-0:1.5:1.1 -> ../../ttyACM0 lrwxrwxrwx 1 root root 13 7月 28 22:21 pci-0000:00:1a.0-usb-0:1.5:1.3 -> ../../ttyACM1 lrwxrwxrwx 1 root root 13 7月 28 22:21 pci-0000:00:1a.0-usb-0:1.5:1.9 -> ../../ttyACM2 # xx:1.5:xx 这个设备号再次出现了,并且有三个子设备,分别指向了/dev/ttyACM0~2 # 那么我们这就找到了3G网卡对应的串口设备了 $ ls -al /dev/serial/by-id lrwxrwxrwx 1 root root 13 7月 28 22:21 usb-HP_HP_hs2350_HSPA+_MobileBroadband_38657F1A0FDFDA30-if01 -> ../../ttyACM0 lrwxrwxrwx 1 root root 13 7月 28 22:21 usb-HP_HP_hs2350_HSPA+_MobileBroadband_38657F1A0FDFDA30-if03 -> ../../ttyACM1 lrwxrwxrwx 1 root root 13 7月 28 22:21 usb-HP_HP_hs2350_HSPA+_MobileBroadband_38657F1A0FDFDA30-if09 -> ../../ttyACM2 # 在这个目录下我们看到了设备的产品名称,更确定就是这几个字符设备文件了 |
至于为什么我的设备文件名称是ACM*,我简单搜索了下,和设备的通讯方式有关。外置USB 3G网卡模拟出ttyUSB*这些设备也是为了方便和PC的通讯,详细内容就不多说了,因为我也不懂╮(╯_╰)╭
2、你得安装拨号软件对吧
这里其实没什么好说的,因为我见过的每个PC linux发行版都预装了ppp程序。这里只是希望大家对用到的工具有了解。
3、下面开始准备配置文件吧
1)/etc/ppp/peers/wcdma(需要root权限)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# filename: /etc/ppp/peers/wcdma nodetach lock /dev/ttyACM2 # 这里填写你的设备文件,比如我的就是ttyACM2.至于为什么不是ACM0、ACM1,我也没有深入 115200 # 串口通讯频率,大部分设备都是115200,不多说 user "card" password "card" # 啊哈,这里的账号密码问题就逗了 # 我在gnome桌面下的network-manager里使用 联通3G网络 的时候,账号、密码都为空就可以,接入点是3gnet # 但是我使用pppd手动连接的时候,不知道为什么必须使用“card”作为用户名和密码。。。 crtscts show-password usepeerdns # 这个选项可以免得自己再设置DNS了 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' # 最后的这两个连接、断开的脚本也是需要手动添加的 |
2)/etc/ppp/peers/wcdma-chat-connect(需要root权限)
1 2 3 4 5 6 7 8 9 10 11 12 |
# filename: /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 |
3)/etc/ppp/peers/wcdma-chat-disconnect(需要root权限)
1 2 3 4 5 6 7 8 |
# filename: /etc/ppp/peers/wcdma-chat-disconnect ABORT "ERROR" ABORT "NO DIALTONE" SAY "\nSending break to the modem\n" '' "\K" '' "+++ATH" SAY "\nGoodbay\n" |
4、建立连接
1 2 3 |
sudo pppd call wcdma & # 需要root权限运行,结尾&符号的作用是将该程序扔到后台执行去 # 看到成功获得ip之后,就happy地上网去吧 |
5、断开连接
1 2 |
$ sudo poff # 这个命令自动关闭正在运行的pppd进程,流量得省着点用啊 |
如果你遇到其他问题,可以先参考如下两篇文章。本文大量参考了下面的资料。
参考资料: