SDB:诺基亚 E72 umts 蓝牙
如果您想贡献,请阅读此维基的规则,如果您有任何问题,请随时联系维基团队,我们非常乐意帮助您!:-)
情况
随着移动宽带接入变得越来越实惠,无法在线的地方正在减少。移动设备,如 Nokia E72,不仅提供内置浏览器来访问网络,而且还能够充当外部设备的调制解调器,例如笔记本电脑。与手机的小屏幕相比,即使是适度的上网本或笔记本电脑也能提供更好的浏览体验。
不幸的是,Nokia 没有在包装中包含有关如何在 Linux 上使用其手机的说明。好消息是,在 openSUSE 以及其他 Linux 发行版上让手机工作起来非常容易。
警告
一些移动运营商可能会限制甚至禁止将手机用作调制解调器。请咨询使用条款。
流程
所需软件
驱动程序
Bluez 包提供了您与设备连接所需的一切。除了 openSUSE 及其衍生发行版外,Bluez 还存在于所有主流 Linux 发行版中。
拨号软件
- PPP
- 一个用户友好的拨号应用程序,例如
- wvdial
- kinternet
- (NetworkManager,一旦我弄清楚如何使用 :-) )
准备工作
蓝牙配对码
想出一个好的(意味着不容易猜到)4-8 位数的 PIN 码。
蓝牙地址
如果尚未启用,请在手机上启用蓝牙功能,并确保手机未隐藏。使用 hcitool 发现可用的蓝牙设备,手机将显示如下
$ hcitool scan
Scanning ...
5c:57:c8:01:a1:d8 MyNokiaE72
显然,地址会不同。
PC 套件模式
在 Nokia E72 的情况下(其他型号可能类似),为了能够访问手机的调制解调器功能,手机需要处于 PC 套件模式。即使使用蓝牙连接,也需要在手机的“控制面板”->“连接”->“USB”->“USB 连接模式”属性中设置此项。
建立连接
创建设备文件
在此步骤中,我们将在 /dev 中创建一个字符设备,该设备可以由上述拨号软件使用。为此,我们需要两个额外的参数
- 设备提供的串口配置文件 rfcomm 通道号。Nokia E72 在通道 5 上提供拨号配置文件。
- 一个唯一的数字 x 用于我们的设备文件(/dev/rfcommx)。由于可以在同一计算机上使用其他蓝牙设备,因此为每个蓝牙设备使用唯一的设备名称并使其持久化是一种很好的做法。这样可以避免因为昨天该设备号上有一个 UMTS 调制解调器而意外地尝试通过蓝牙鼠标上网。
使用此命令创建设备文件 /dev/rfcomm1
# rfcomm bind 1 5c:57:c8:01:a1:d8 5
要获取所有活动 rfcomm 设备的列表,请使用此命令
# rfcomm
要删除设备,请执行此命令
# rfcomm release 1
这也会删除设备文件 /dev/rfcomm1
首次连接手机
# rfcomm connect 1
在 Gnome 会话中执行此步骤更容易,因为它具有不错的 PIN 输入小程序。
在上述命令之后,您的手机会要求您允许您的 PC 连接到它,并且还需要一个配对码。之后,您需要在 PC 上输入相同的代码。
使配置持久化
配对码
与手机的首次连接后,配对 PIN 将存储在 /var/lib/bluetooth/<local macaddr>/linkkeys 中,因此所有后续连接都将自动进行。
rfcomm 设置
编辑 /etc/bluetooth/rfcomm.conf 以反映这些设置。
# cat /etc/bluetooth/rfcomm.conf
rfcomm1 {
bind yes;
device 5c:57:c8:01:a1:d8;
channel 1;
comment "My Nokia E72";
}
允许非 root 用户使用手机
默认情况下,设备文件 /dev/rfcomm1 的所有权和组设置为 root,并且所有者和组具有读写访问权限。
# ls -l /dev/rfcomm1 crw--w---- 1 root root 4, 0 Aug 15 20:30 /dev/rfcomm1
使用此简单的 udev 规则,可以自动执行以下操作,每次创建 /dev/rfcomm1 设备时
- 将所有权分配给用户“joe”
- 将组所有权分配给组“dialout”
- 创建符号链接 /dev/MyNokiaE72 到 /dev/rfcomm1
# cat /etc/udev/rules.d/99_custom.rules
KERNEL=="rfcomm[0-9]*", ATTR{address}=="5c:57:c8:01:a1:d8", ATTR{channel}=="1", NAME="%k", OWNER="joe", GROUP="dialout", SYMLINK+="MyNokiaE72"
使用此命令获取有关手机上可能的 udev 规则标准的更多信息
# udevadm info -a -p $(udevadm info -q path -n /dev/rfcomm1)
wvdial 设置
# cat /etc/wvdial.conf [Dialer Defaults] Modem = /dev/rfcomm1 Baud = 115200 Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 Init3 = AT+CGDCONT=1,"IP","internet" Area Code = Phone = *99***1# Username =ppp Password =ppp Ask Password = 0 Dial Command = ATDT Stupid Mode = 1 Compuserve = 0 Force Address = Idle Seconds = 300 DialMessage1 = DialMessage2 = ISDN = 0 Auto DNS = 1
使用手机连接到互联网
使用手机拨号需要 2 个步骤
- 建立与手机的蓝牙连接
- 建立拨号连接
控制手机的蓝牙连接
在用户可以开始使用手机之前,需要创建设备文件。一个简单的选项是使用此脚本来控制与手机的连接。
#!/bin/bash DevNum=1 case $1 in start) rfcomm bind $DevNum ;; stop) rfcomm release $DevNum ;; status) rfcomm show $DevNum ;; *) cat<<EOF Usage: $0 [ start | stop | status ] EOF esac
启动(和停止)操作需要 root 权限,因此非 root 用户应使用 sudo 运行脚本。
sudo nokia-e72 start
拨号软件
有几种选择可以用来建立 PPP 连接,例如 wvdial、NetworkManager(v0.8 及更高版本)或 kinternet...仅举几例。无论用户界面如何,一旦指向串口设备,他们就应该能够将手机用作调制解调器。
wvdial 可以用来建立互联网连接,如下所示
sudo wvdial