在 Ubuntu Linux 下利用蓝牙通过 GPRS 无线上网

电脑技术 发表评论
Note: 本文在 中国移动 GPRS, Motorola L71 和 Kubuntu 7.10 下测试通过.

话说几天前网络抽风, 导致一直无法上外网. 想到手机上面还有一些 GPRS 包月流量, 不用白不用,干脆就利用手机来上网算了.

Motorola 的手机在 Windows 下面可以通过 mobile phoneTools 的设置向导来上网, 很简单, 不过要使用 USB 连接线 (我不知道有没有不用 USB 连接线的方法). 在 Linux 下面没有这样的软件, 我们只好自己动手,丰衣足食了.

设想是这样的: 由于用 USB 连接电脑进行无线上网毕竟还是需要一条 USB 连接线, 比较麻烦. 我们现在通过蓝牙来连接手机, 再通过手机连接 GPRS 网络使得电脑可以访问 Internet.

首先, 配置蓝牙连接的 rfcomm 设备.

  1. 扫描手机 (当然, 手机要设置成允许被找的模式):

    sudo hcitool scan

    上面的命令将会得到手机的 mac 地址 (形如 00:00:00:00:00:00), 记录下来.

  2. 查找手机蓝牙的 DUN 服务信息:

    sdptool browse 手机的 mac 地址

    在命令的输出中找到”Service Name: Dial-up Networking”, 在项目”Protocol Descriptor List:”中的 “RFCOMM”里有个 “Channel:”, 记住这个数字.

  3. 编辑 /etc/bluetooth/rfcomm.conf, 在其中加入这么一段:

    rfcomm0 {
    bind yes;
    device 手机的 mac 地址;
    channel 手机 rfcomm 的 id;
    comment “Bluetooth Connection”;
    }

    保存.

  4. 运行

    sudo /etc/init.d/bluetooth restart

    重启蓝牙服务.

好了, 蓝牙配置完成, 下面来设置 PPP 拨号. 随便找一个你喜欢的 PPP 拨号软件 (这里以 Kubuntu 自带的 KPPP 为例).

  1. 在 KPPP 的主界面上, 选择 配置.
  2. 在 配置窗口的 账户 选项卡上, 选择 新建.
  3. 添加 电话号码: *99***1#, 设置认证方式为 基于脚本.
  4. 在 网关 选项卡里, 选择 将默认路由指派给此网关.
  5. 在 登录脚本 选项卡里,添加 SEND AT+CGDC. (注意, 不同手机的初始化命令可能不同, 可以上网找找, 有些手机是在这里设置接入点 — 如 cmnet — 的名称).
  6. 好了, 回到配置页面, 在 调制解调器 选项卡上, 新建调制解调器.
  7. 选择调制解调器 (/dev/rfcomm0), 添加.
  8. 现在回到 KPPP 主界面, 直接点连接, 应该可以通过手机进行 GPRS 上网了.

    Note: 第一次连接的时候可能会要求和手机进行配对. 如果在配对的时候没有弹出输入 PIN 的对话框,可以试试在配对前运行 sudo passkey-agent –default /usr/bin/bluez-pin

最后, 给个上去后的截图:

固定链接:在 Ubuntu Linux 下利用蓝牙通过 GPRS 无线上网

对《在 Ubuntu Linux 下利用蓝牙通过 GPRS 无线上网》有 11 条评论

  1. windywinter 说:

    mark
    不过小心超流量……我最高纪录是一个晚上1.2G(CDMA),不过那时20包月不限流量。

  2. admin 说:

    @windywinter
    呵呵, 现在就要超流量了, 于是不用 gprs 上网了

  3. 说:

    专程过来ym一下

  4. pluskid 说:

    唔~主题挺 pp 的~~

  5. admin 说:

    @pluskid

  6. dd 说:

    ym… 以及,要求添加我的链接。

  7. Ai.Freedom 说:

    这里多少年没更新了.. 经常看你的Google Reader Shared Items, 怎么没看你的blog有点动静?

  8. admin 说:

    @Ai.Freedom
    最近一直想写一点东西的~ 就是没时间 T_T

  9. jinhongchao 说:

    哥们,我这样设置的并未成功。pppd进程异常退出:退出状态16。

    ATZ
    OK
    ATM0L0
    OK
    ATX3
    OK
    ATDT*99#
    CONNECT
    ~}#@!}!} } }2}#}$@#}!}$}%\}”}&} }*} } g}%~
    以上是状态。
    以下是ppp-logfile
    Jul 16 23:44:52 jin-laptop pppd[4512]: pppd 2.4.4 started by jin, uid 1000
    Jul 16 23:44:52 jin-laptop pppd[4512]: Using interface ppp0
    Jul 16 23:44:52 jin-laptop pppd[4512]: Connect: ppp0 /dev/rfcomm0
    Jul 16 23:44:55 jin-laptop pppd[4512]: PAP authentication succeeded
    Jul 16 23:44:56 jin-laptop pppd[4512]: LCP terminated by peer
    Jul 16 23:44:59 jin-laptop pppd[4512]: Connection terminated.
    Jul 16 23:44:59 jin-laptop pppd[4512]: Modem hangup
    Jul 16 23:44:59 jin-laptop pppd[4512]: Exit.

  10. jinhongchao 说:

    应该是连上了,但是在服务器那边。就断开了,不知何故。请支教。

  11. jinhongchao 说:

    我的要把AT+CGD。。。。。。加到,调制解调器的第二个初始化命令中。就可以了。晕。搞了一天。

发表一条评论

点击下面的图片可以在评论中插入表情。