Difference between revisions of "Bluetooth"

From ArmadeusWiki
Jump to: navigation, search
m (Tested hardware)
(terminal through bluetooth)
Line 120: Line 120:
 
         hci0    00:10:60:D1:92:0F
 
         hci0    00:10:60:D1:92:0F
 
</pre>
 
</pre>
 +
 +
===Terminal through bluetooth===
 +
On the APF :
 +
* the first step is to create the corresponding node for the future connection :
 +
<pre class="apf">
 +
# mknod /dev/rfcomm0 c 216 0
 +
</pre>
 +
* next, create an incomming connection, on the rfcomm0 channel 7 :
 +
<pre class="apf">
 +
# rfcomm -i hci0 listen /dev/rfcomm0 7&
 +
</pre>
 +
* and the last step, when the connection is open, is to connect a terminal (through getty) to the node /dev/rfcomm0 :
 +
<pre class="apf">
 +
# getty 38400 /dev/rfcomm0
 +
</pre>
 +
 +
On the PC :
 +
*after the two first steps on the APF, you need to connect the PC to the APF with the same channel :
 +
<pre class="apf">
 +
# rfcomm connect 0 addr 7
 +
</pre>
 +
* and configure minicom :
 +
pu port            /dev/rfcomm0
 +
pu baudrate        38400
 +
pu bits            8
 +
pu parity          N
 +
pu stopbits        1
 +
* when getty is running on the APF, you could you connect with minicom.
 +
 
===Scanning network===
 
===Scanning network===
 
<pre class="apf">
 
<pre class="apf">

Revision as of 10:58, 13 April 2010

Page under construction... Construction.png Informations on this page are not guaranteed !!

This page will give you all the informations needed to have a running Bluetooth configuration on your Armadeus board.

Hardware

First you have to get a compatible hardware. Currently there are 3 solutions:

  • Get a Wireless extension board from armadeus systems (only available for APF27)
  • Get a cheap USB<->Bluetooth adapter (requires an USB Host port)
  • Get a RS232<->Bluetooth adapter

Tested hardware

Model Status
APF9328 / APF27
Chipset Comments
BELKIN - Mini Bluetooth Adapter Belkin Mini Bluetooth.jpg TBT KO Product: BLUETOOTH USB +EDR ADAPTER v2.1 UHE
Manufacturer: Broadcom Corp
# hciconfig hci1 up piscan

btusb_submit_intr_urb: hci1 urb c3bdac40 submission failed (28)
Can't init device hci1: Input/output error (5)

TRUST - Bluetooth 2.1 USB Adapter Trust Small Bluetooth.jpg TBT KO Product: BCM2046B1
Manufacturer: Broadcom
# hciconfig hci1 up piscan

btusb_submit_intr_urb: hci1 urb c3bdac40 submission failed (28)
Can't init device hci1: Input/output error (5)

RUEDUCOMMERCE - Mini adaptateur USB Bluetooth RDC USB Bluetooth.jpg TBT OK Manufacturer: Cambridge Silicon Radio
GIGABYTE - GN-BTD01 Gigabyte gn-btd01.jpg TBT OK Manufacturer: Cambridge Silicon Radio Bluetooth 1.1 ?

Software

Bluetooth Linux stack is divided into several parts:

  • kernel drivers
  • userland libraries/daemon (bluez)

Driver installation

  • (Done by default on APF27)
$ make linux26-menuconfig
[*] Networking support  --->
    <M>   Bluetooth subsystem support  --->
        --- Bluetooth subsystem support
            <M>   L2CAP protocol support 
            <M>   SCO links support
            <M>   RFCOMM protocol support
                [*]     RFCOMM TTY support
            <M>   BNEP protocol support
                [ ]     Multicast filter support (NEW)
                [ ]     Protocol filter support (NEW)
            <M>   HIDP protocol support
            Bluetooth device drivers  --->
                <M> HCI USB driver 
                < > HCI SDIO driver (NEW)
                <M> HCI UART driver
                    [*]   UART (H4) protocol support 
                    [*]   BCSP protocol support 
                    [ ]   HCILL protocol support (NEW)
                < > HCI BCM203x USB driver (NEW)
                < > HCI BPA10x USB driver (NEW)
                < > HCI BlueFRITZ! USB driver (NEW)
                < > HCI VHCI (Virtual HCI device) driver (NEW)
$ make

Bluez installation

$ make menuconfig
Package Selection for the target  --->
    ...
    [*] XML handling  --->
        [*]   libxml2
    ...
    [*] Hardware handling / blockdevices and filesystem maintenance  --->
        [*]   dbus
              XML library to use (libxml2)
    ...
    *** Armadeus specific packages ***
    [*] bluez
$ make

Usage

Bring up

  • Make sure your hardware is connected to the APF. If using an USB dongle, load corresponding driver:
# modprobe btusb
Bluetooth: Core ver 2.14
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: Generic Bluetooth USB driver ver 0.4
usbcore: registered new interface driver btusb
  • Check if Bluetooth interface was detected:
# 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
  • If interface is DOWN, bring it up:
# hciconfig hci0 up piscan
  • Check your Bluetooth device is correctly initialized:
# hcitool dev
Devices:
        hci0    00:10:60:D1:92:0F

Terminal through bluetooth

On the APF :

  • the first step is to create the corresponding node for the future connection :
# mknod /dev/rfcomm0 c 216 0
  • next, create an incomming connection, on the rfcomm0 channel 7 :
# rfcomm -i hci0 listen /dev/rfcomm0 7&
  • and the last step, when the connection is open, is to connect a terminal (through getty) to the node /dev/rfcomm0 :
# getty 38400 /dev/rfcomm0

On the PC :

  • after the two first steps on the APF, you need to connect the PC to the APF with the same channel :
# rfcomm connect 0 addr 7
  • and configure minicom :
pu port             /dev/rfcomm0
pu baudrate         38400
pu bits             8
pu parity           N
pu stopbits         1
  • when getty is running on the APF, you could you connect with minicom.

Scanning network

# hcitool scan
Scanning ...

Links