QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5898|回复: 14

magic 2.0下使用杂牌蓝牙适配器并通过手机gprs上网

[复制链接]
发表于 2006-11-4 22:25:20 | 显示全部楼层 |阅读模式
小弟有一P3的本本,装了magice2.0,运行得很好。近日想通过手机上网,体验一下无线的乐趣。于是买了一个杂牌蓝牙适配器。就是电脑城几十块钱一个,没有印上牌子的那种。买的时候在winxp下试用,一切正常。。但回家后在magic2.0上无法使用。。。在论坛上也找不到解决方法。难道真的是便宜没好货。不死心的在网上搜索,经过一翻折腾。终于成功。不敢独享,贴上来请各位大大指点,看有什么可以改进的。

一、.安装
bluez-libs 2.24     http://download.chinaunix.net/download/0001000/990.shtml
bluez-utils 2.24   http://download.chinaunix.net/download/0001000/991.shtml
官方网站上有提供3.7版的下载。但经过小弟试验,好像因为3.x版的不支持kdebluetooth1.0-0.beta1版的kbluepin。导致无法与手机配对。我在ChinaUnix.net下载了这两个程序的源码包。(很奇怪,2.25版的在我的机器上无法编译.......)

二、.装完这两个程序后,插上蓝牙适配器。打开Konsole,su 取得root权限。

1. 运行命令 lsusb 应该可以看到: (如果没有请确认你的适配器有正确插入,usb插口跟适配器无损坏,还是没有的话,那以下就可以不用看了)

Bus 001 Device 002: ID 1131:1001 Integrated System Solution Corp. KY-BT100 Bluetooth Adapter                  <------不同型号显示有所不同,能认出就行

运行 hciconfig 可以看到:

hci0:   Type: USB
        BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
        DOWN
        RX bytes:0 acl:0 sco:0 events:0 errors:0
        TX bytes:0 acl:0 sco:0 commands:0 errors:0

没有激活。激活它。运行:

hciconfig hci0 up

2. 配置 Bluez
修改  /etc/bluetooth/hcid.conf 文件

*********************************************************************
#
# HCI daemon configuration file.
#

# HCId options
options {
        # Automatically initialize new devices
        autoinit yes;

        # Security Manager mode
        #   none - Security manager disabled
        #   auto - Use local PIN for incoming connections
        #   user - Always ask user for a PIN
        #
        security user;                           <--------安全模式,需要手动输入密码

        # Pairing mode
        #   none  - Pairing disabled
        #   multi - Allow pairing with already paired devices
        #   once  - Pair once and deny successive attempts
        pairing multi;

        # PIN helper
        pin_helper /usr/lib/kdebluetooth/kbluepin;                      <--------pin_helper 的位置。

        # D-Bus PIN helper
        #dbus_pin_helper;
}

# Default settings for HCI devices
device {
        # Local device name
        #   %d - device id
        #   %h - host name
        name "BlueZ (%d)";                              <---------设备名称,可以自己修改双引号内的内容为自己想要的名称

        # Local device class
        class 0xff0100;

        # Default packet type
        #pkt_type DH1,DM1,HV1;

        # Inquiry and Page scan
        iscan enable; pscan enable;

        # Default link mode
        #   none   - no specific policy
        #   accept - always accept incoming connections
        #   master - become master on incoming connections,
        #            deny role switch on outgoing connections
        lm accept;

        # Default link policy
        #   none    - no specific policy
        #   rswitch - allow role switch
        #   hold    - allow hold mode
        #   sniff   - allow sniff mode
        #   park    - allow park mode
        lp rswitch,hold,sniff,park;

        # Authentication and Encryption (Security Mode 3)
        #auth enable;
        #encrypt enable;
}

********************************************************************************

3. 打开手机的蓝牙。运行 hcitool scan 可以得到:

Scanning ...
        00:13:70:2D:0E:08       Nokia 3230                   <---------你的手机。偶的是“挪积压 3230”。前面是手机的MAC地址。

运行命令
sdpd
hcid start
kbluetoothd    或者是K菜单--->互联网--->kbluetoothd (蓝牙服务器)
然后在手机上进行蓝牙配对。成功后,就可以试试在电脑上右键点任一文件,动作-->通过蓝牙发送,将文件发送给手机。手机也可以传送文件进电脑了。

三、现在,要设置蓝牙连接手机WAP代理上网了           (忘记在哪个网看到的了,原文是E文的。)
所用的工具:
pppd(用来拨号的)
rfcomm(用来连接手机拨号服务)

1. 需要建立编辑的文件有2个:
第一个:/etc/ppp/peers/gprs
内容如下:

/dev/rfcomm0
230400
defaultroute
usepeerdns
user ''
password bobo
nodetach
crtscts
lock
noauth
local
debug
connect "/usr/sbin/chat -v -f /etc/ppp/chat-gprs"

第二个:/etc/ppp/chat-gprs
内容如下:

TIMEOUT 10
ABORT 'BUSY'
ABORT 'NO ANSWER'
ABORT 'ERROR'
"" 'ATZ'
OK 'AT+CGDCONT=1,"IP","cmwap" '          <---------如果你是使用cmnet节点的,可以将cmwap改成cmnet,那不用代理就能上网,不过钱就..贵啊!
ABORT 'NO CARRIER'
SAY 'Dialing....\n'
OK 'ATD*99#'                              <---------"*99#"这个号码各地都不一样,请自己查找地方移动的网站
CONNECT ''


2.运行 sdptool search DUN 搜索设备的DUN服务,即网络拨号服务。

Inquiring ...
Searching for DUN on 00:13:70:2D:0E:08 ...
Service Name: Dial-Up Networking
Service RecHandle: 0x10005
Service Class ID List:
  "Dialup Networking" (0x1103)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 2                                  <---------你手机RFCOMM的工作信道。记住了啊。不同机型是不同的
Language Base Attr List:
  code_ISO639: 0x454e
  encoding:    0x6a
  base_offset: 0x100
Profile Descriptor List:
  "Dialup Networking" (0x1103)
    Version: 0x0100

3. 修改/etc/bluetooth/rfcomm.conf

*******************************************************************************
#
# RFCOMM configuration file.
#

rfcomm0 {
        # Automatically bind the device at startup
        bind yes;                                <---------将 no 改为 yes

        # Bluetooth address of the device
        device 00:13:70:2D:0E:08;                                <---------改为你手机的MAC地址

        # RFCOMM channel for the connection
        channel        2;                        <---------改为你手机RFCOMM的工作信道。

        # Description of the connection
        comment "Example Bluetooth device";
}
**********************************************************************************

4. 绑定rfcomm0到手机上:

rfcomm bind /dev/rfcomm0 [MAC] [channel]

根据你手机的情况编写。这里的命令应该写成:

rfcomm bind /dev/rfcomm0  00:13:70:2D:0E:08 2

所谓绑定,类似于设定/dev/rfcomm0对应某个确定的蓝牙设备和它的某个channel。可以把它想像为将一条串口电缆连接到某台计算机上的某个串口上。

5. 运行命令进行拨号:

pppd call gprs

输出差不多如下的东东,那么恭喜你 ,成功了!!!
Dialing....
Serial connection established.
using channel 3
Using interface ppp0
Connect: ppp0 <--> /dev/rfcomm0
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x6df58d43> <pcomp> <accomp>]
rcvd [LCP ConfRej id=0x1 <magic 0x6df58d43> <pcomp> <accomp>]
sent [LCP ConfReq id=0x2 <asyncmap 0x0>]
rcvd [LCP ConfAck id=0x2 <asyncmap 0x0>]
rcvd [LCP ConfReq id=0x0 <auth pap> <mru 1500> <asyncmap 0xa0000>]
sent [LCP ConfAck id=0x0 <auth pap> <mru 1500> <asyncmap 0xa0000>]
sent [PAP AuthReq id=0x1 user="MagicLinux" password=<hidden>]
sent [PAP AuthReq id=0x2 user="MagicLinux" password=<hidden>]
rcvd [PAP AuthAck id=0x2 ""]
PAP authentication succeeded
sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfReq id=0x0 <addr 10.6.6.6>]
sent [IPCP ConfAck id=0x0 <addr 10.6.6.6>]
rcvd [LCP ProtRej id=0x0 80 fd 01 01 00 0c 1a 04 78 00 18 04 78 00]
rcvd [IPCP ConfRej id=0x1 <compress VJ 0f 01>]
sent [IPCP ConfReq id=0x2 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfNak id=0x2 <addr 10.213.77.9> <ms-dns1 0.0.0.19> <ms-dns3 0.71.35.128>]
sent [IPCP ConfReq id=0x3 <addr 10.213.77.9> <ms-dns1 0.0.0.19> <ms-dns3 0.71.35.128>]
rcvd [IPCP ConfAck id=0x3 <addr 10.213.77.9> <ms-dns1 0.0.0.19> <ms-dns3 0.71.35.128>]
local  IP address 10.213.77.9
remote IP address 10.6.6.6
primary   DNS address 0.0.0.19
secondary DNS address 0.71.35.128
Script /etc/ppp/ip-up started (pid 320
Script /etc/ppp/ip-up finished (pid 320, status = 0x0

6.打开firefox浏览器,(其它的浏览器请自己查找代理服器的设置)
编辑--->首选项--->高级--->网络--->连接--->设置--->手动配置代理
HTTP 代理  填上 10.0.0.172  端口为 80
OK!!现在可以上网了,速度跟用MODEM拨号差不多。。

PS:如果没有配对或是没有设置电脑为授权设备,会要求确认联接,另外,每次开机都要以root权限运行
hciconfig hci0 up
sdpd
hcid start
rfcomm bind /dev/rfcomm0  00:13:70:2D:0E:08 2
你可以将以上命令编成一个Shell脚本。嘿嘿。

注意:要退出系统时最好把kbluetoothd退出,并选择不要在系统启动时运行,不然下次启动系统会导致kbluetoothd出错并失去响应。
(哪位大大能告诉我怎样解决这个问题???)
我的 Email: [email protected]
发表于 2006-11-5 08:55:28 | 显示全部楼层
hoho,好啊。

2.1的蓝牙应该省很多事了,不过上网还得自己弄。
回复

使用道具 举报

 楼主| 发表于 2006-11-5 12:00:51 | 显示全部楼层
多谢斑竹加精。嘿嘿,这是偶的“处女贴”啊
回复

使用道具 举报

发表于 2006-11-5 14:10:29 | 显示全部楼层
好东西
楼主的手机更我一个型号呀。。
回复

使用道具 举报

发表于 2006-11-5 16:23:51 | 显示全部楼层
    
回复

使用道具 举报

发表于 2006-11-5 16:28:43 | 显示全部楼层
这样的文章要顶
回复

使用道具 举报

发表于 2006-11-6 14:44:26 | 显示全部楼层
顶了,虽然没有蓝牙,,更加不会用手机去上网~~~~听说乱贵的`~~~
回复

使用道具 举报

 楼主| 发表于 2006-11-6 18:18:23 | 显示全部楼层
用CMNET节点上网会很贵,但是用CMWAP不会啊,我这里地感地带20块包月啊。。。
回复

使用道具 举报

发表于 2006-11-9 11:47:21 | 显示全部楼层
太好了,这个文章要顶,家里没有开宽带,所以都是win+bt+gprs上网,曾经也试过ml+bt+gprs,老有问题,一直没有时间来调查。。。

楼主的方法看起来不错,回家就试试看,成功的话,那么以后家里的机器也是只用linux了。
回复

使用道具 举报

发表于 2006-11-9 11:54:07 | 显示全部楼层
bt     
回复

使用道具 举报

发表于 2006-11-9 11:59:45 | 显示全部楼层
bluetooth,简称bt     
回复

使用道具 举报

发表于 2006-11-9 12:15:51 | 显示全部楼层
  
回复

使用道具 举报

发表于 2006-11-23 13:27:32 | 显示全部楼层
ok,楼主的方案的确好用,在我的杂牌bt + moto E389上一切ok,就是感觉速度似乎比win下梢慢(其实本来gprs就慢的蜗牛一样)。

另外google到了关于/etc/ppp/peers/gprs文件配置的详细说明
http://kapsi.fi/~mcfrisk/gprs

OK 'AT+CGDCONT=1,"IP","cmwap" ' <---------如果你是使用cmnet节点的,可以将cmwap改成cmnet,那不用代理就能上网,不过钱就..贵啊!
ABORT 'NO CARRIER'
SAY 'Dialing....\n'
OK 'ATD*99#' <---------"*99#"这个号码各地都不一样,请自己查找地方移动的网站

另外这段内容我有疑惑,按照我在另外的网站看到的说法OK 'AT+CGDCONT=1,"IP","cmwap" '里的cmwap对接入的节点没有影响。
而OK 'ATD*99#' 这里的*99#'表示使用的是手机里默认的网络接入配置,如果用“*99***1#”这样的,是指使用手机里的第一个配置文件。“*99***2#”则是第二个。。。

所以在不得以一定要用gprs手机上网的时候,把手机里cmnet的配置文件先删了,然后把cmwap的设为默认连接,方可保证万无一失。当然如果你是米人就是要用cmnet上网的话,那就另说了。
回复

使用道具 举报

发表于 2006-11-23 15:40:48 | 显示全部楼层
另外在应用上也有点点问题,eva登录qq后立马就崩溃,也没有找到支持代理的msn客户端。

sigh,还是什么时候办个宽带好了。
回复

使用道具 举报

发表于 2007-5-17 08:42:43 | 显示全部楼层
疯狂,手机上网的速度,我 无法承受,,,太慢了 ,最好来个 ,手机通过电脑共享宽带上网
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-24 04:34 , Processed in 0.074413 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表