Skip to main content

  | मौसम…

411 समाचार
Public archive edition · Attributed source reporting with original dates · AI drafts are excluded

411 REFERENCE · Wikibooks

Linux Guide/Linux and Bluetooth

Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.

Forewords The following is just a simple example on how to connect a Bluetooth device, in this case a Nokia phone, in a Linux environment. For the purpose of this article we assume to have installed Linux Mandrake 10.0 (Kernel 2.6.13, X86) on our computer. Configuration and Connection First we need the Bluez protocol, usually available as a RPM package on your distribution, then we have to start bluetooth service: [user@domain.org user]# service bluetooth start now it's necessary to setup the PIN code and (if you want) the local device name link, for that purpose we edit (e.g. using JOE) the file /etc/bluetooth/hcid.conf: [user@domain.org user]# joe /etc/bluetooth/hcid.conf modify the following excerpts: excerpt for PIN: # PIN helper pin_helper /etc/bluetooth/mypin.sh; where mypin.sh is a file created ad-hoc. Excerpt for name: # Local device name # %d - device id # %h - host name name "userdomain (%d)"; N.B.: file mypin.sh contains: #!/bin/bash echo "PIN:XXX" where XXXX means your PIN. Now it's time to search for devices: [user@domain.org user]# hcitool scan that should returns something like: 12:34:56:78:90:12 user1 in other words bdaddr (BT address) and device name, please take note of bdaddr, now it's time to discover available services an the remote device and on which channels: [utente@dominio.org utente]# sdptool records 12:34:56:78:90:12 depending on the type of device we are analysing the request returns a long list of profiles, in this case we are interested in the dialup one, so let see it available on channel 1: Service Name: Dial-Up Networking Service RecHandle: 0x10007 Service Class ID List: "Dialup Networking" (0x1103) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 1 Language Base Attr List: code_ISO639: 0x454e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "Dialup Networking" (0x1103) Version: 0x0100 then: [user@domain.org user]# rfcomm bind 0 12:34:56:78:90:12 1 in other words I bind a virtual serial port, rfcomm0 (/dev/bluetooth/rfcomm/0), by means of the tool rfcomm to the remote device modem, not connected yet but ready for software's requests, let see: [user@domain.org user]# rfcomm show 0 that results in: rfcomm0: 12:34:56:78:90:12 channel 1 clean BT modem ready as serial peripheral at /dev/bluetooth/rfcomm/0 No need to mention that you in the meantime have already accepted the connection on your remote device. Or to connect from the linux side, prepare an agent to respond properly to a pin request, then connect: [user@domain.org user]# bluetooth-agent 1234 12:34:56:78:90:12 [user@domain.org user]# rfcomm connect 0 12:34:56:78:90:12 Then, in another terminal, you can for example open a terminal on /dev/rfcomm0: [user@domain.org user]# minicom /dev/rfcomm0 Bluetooth device as a modem To use this ready to use device as a modem I suggest as dialer the program wvdial, for this purpose we need to edit it's configuration file /etc/wvdial.conf, like this: [Dialer Defaults] Modem = /dev/bluetooth/rfcomm/0 Baud = 460800 Dial Attempts = 1 Init1 = ATZ Init3 = AT+CGDCONT=1,"IP","web.omnitel.it" Phone = *99# Carrier Check = no Stupid Mode = yes Username = "" Password = "" N.B.: this example is from a working configuration for Vodafone Italy on a Nokia phone, for different countries/operators/brand configuration, please google with keyword +CGDCONT and operator's name, mostly you need to modify just the string Init3 = AT+CGDCONT=1,"IP","web.omnitel.it" according to your operator's specifications, and Phone = *99# according to your phone's brand. Dialup and connect...: [user@domain.org utente]# wvdial Good Luck!!! Other useful commands hciconfig hcitool scan hcitool info BT_ADDRESS BT_ADDRESS may be like, 00:89:34:62:67:52 l2ping BT_ADDRESS sdptool browse BT_ADDRESS sdptool search DUN hciattach -l external links Accessing a Bluetooth Phone Bluetooth Pairing and Applications for Synchronizing Phone Numbers, SMS-messages, Phone Call Entries, your Calendar and Time; Tethering