# The host-to-host Bluetooth HOWTO

## Deathwing00

The host-to-host Bluetooth HOWTO

Introduction

This howto is intented to explain the users how to successfully install a host bluetooth device, configure the kernel properly, and finally explain all the possibilities that the host-to-host bluetooth interconnection offers.

Supported Devices

A list of the currently supported devices can be found at: http://www.holtmann.org/linux/bluetooth/features.html

Below is a list of the devices supported by following this method during the development of this document.

DISCLAIMER: These products might work even though some are not qualified bluetooth products. Gentoo does not support them in any way, they might just work.

```

Vendor     Model     Type     Features     HCI Version     LMP Version     Manufacturer

3Com    3CREB96    USB    0xff 0xff 0x05 0x00    1.1  (0x0073)    1.1  (0x0073)    CSR

3Com    3CREB96B    USB    0xff 0xff 0x0f 0x00    1.1  (0x020e)    1.1  (0x020e)    CSR

3Com    3CRWB6096    PCMCIA    0xff 0xff 0x05 0x00    1.1  (0x0072)    1.1  (0x0072)    CSR

3Com    3CRWB6096B    PCMCIA    0xff 0xff 0x0f 0x00    1.1  (0x01bb)    1.1  (0x01bb)    CSR

A-Link         USB    0xff 0xff 0x0f 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

AVM    BlueFRITZ! AP-DSL    DSL    0x2f 0xbe 0x05 0x00         1.1  (0x0001)    AVM

AVM    BlueFRITZ! AP-ISDN    ISDN    0x2f 0x06 0x04 0x00         1.1  (0x0001)    AVM

AVM    BlueFRITZ! AP-ISDN    ISDN    0x2f 0xbe 0x05 0x00         1.1  (0x0001)    AVM

AVM    BlueFRITZ! AP-X    ISDN    0x2f 0x06 0x04 0x00         1.1  (0x0001)    AVM

AVM    BlueFRITZ! AP-X    ISDN    0x2f 0xbe 0x05 0x00         1.1  (0x0001)    AVM

AVM    BlueFRITZ! USB (3.16.41)    USB    0x2f 0x06 0x04 0x00    1.1  (0x1029)    1.1  (0x0001)    AVM

AVM    BlueFRITZ! USB (3.17.14)    USB    0x2f 0x06 0x04 0x00    1.1  (0x110e)    1.1  (0x0001)    AVM

AVM    BlueFRITZ! USB (3.17.29)    USB    0x2f 0x06 0x04 0x00    1.1  (0x111d)    1.1  (0x0001)    AVM

AVM    BlueFRITZ! USB (3.17.46)    USB    0x2f 0xbe 0x05 0x00    1.1  (0x112e)    1.1  (0x0001)    AVM

AVM    BlueFRITZ! USB (3.17.53)    USB    0x2f 0xbe 0x05 0x00    1.1  (0x1135)    1.1  (0x0001)    AVM

AVM    BlueFRITZ! USB (3.17.58)    USB    0x2f 0xbe 0x05 0x00    1.1  (0x113a)    1.1  (0x0001)    AVM

AVM    BlueFRITZ! USB (3.18.37)    USB    0x2f 0xbe 0x05 0x00    1.2  (0x1225)    1.1  (0x0001)    AVM

AVM    BlueFRITZ! USB v2.0    USB    0xff 0xff 0x05 0x00    1.1  (0x2005)    1.1  (0x1805)    AVM

AXIS    5800+ Mobile    Printer    0x07 0xea 0x01 0x00         1.0b (0x0000)    Ericsson

Abe    UB20    USB    0xff 0x3b 0x05 0x00    1.1  (0x0180)    1.1  (0x0180)    RTX Telecom

Abocom    UBT1000    USB    0xff 0xff 0x0f 0x00    1.1  (0x0175)    1.1  (0x0175)    CSR

Acer    BT500 (BU2-1)    USB    0xff 0xff 0x0b 0x00    1.1  (0x0175)    1.1  (0x0175)    CSR

Acer    BT500 (WSU-I)    USB    0xff 0xff 0x09 0x00    1.1  (0x00bc)    1.1  (0x00bc)    CSR

Acer    BT500 (WSU-I)    USB    0xff 0xff 0x0b 0x00    1.1  (0x0135)    1.1  (0x0135)    CSR

Acer    BT510    USB    0xff 0x07 0x04 0x00    1.1  (0x0086)    1.1  (0x0086)    Telencomm

Acer    BT700    USB    0xff 0xff 0x0f 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

Aiptek    BT MusiCool 300    Headphone    0xff 0xff 0x0d 0x00         1.1  (0x0530)    GCT

Aiptek    Instant Blue    USB    0xff 0xff 0x3d 0x00    1.1  (0x0001)    1.1  (0x0403)    Transilica

Allnet    ALL1570    USB    0xff 0xfd 0x05 0x00    1.1  (0x0002)    1.1  (0x0f07)    Broadcom

Allnet    ALL1575    USB    0xff 0xff 0x0f 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

Anycom    CC3010 R1B    PCMCIA    0x04 0xea 0x31 0x00    1.1  (0x0009)    1.1  (0x0100)    Ericsson

Anycom    CC3010 R1D    PCMCIA    0x07 0xea 0x31 0x00    1.1  (0x000b)    1.1  (0x0300)    Ericsson

Anycom    CC3011 R2A    PCMCIA    0xff 0xfb 0x01 0x00    1.1  (0x8105)    1.1  (0x8d40)    Ericsson

Anycom    CC3021 R1F    Printer    0x04 0xea 0x31 0x00         1.1  (0x0100)    Ericsson

Anycom    CC3022 R2F    Printer    0xff 0xfb 0x01 0x00         1.1  (0x8c40)    Ericsson

Anycom    CC3030    USB    0xff 0xff 0x05 0x00    1.1  (0x0072)    1.1  (0x0072)    CSR

Anycom    CC3040 R1C    Compact Flash    0x07 0xea 0x31 0x00    1.1  (0x000b)    1.1  (0x0300)    Ericsson

Anycom    CC3051 AP-2001    LAN    0xff 0xff 0x0d 0x00         1.1  (0x0077)    CSR

Anycom    CC3052 AP-2002    LAN    0xff 0xff 0x0f 0x00         1.1  (0x015f)    CSR

Anycom    CC3070    ISDN    0x07 0xea 0x31 0x00         1.1  (0x0300)    Ericsson

Anycom    CF-300    Compact Flash    0xff 0x3b 0x05 0x00    1.1  (0x0180)    1.1  (0x0180)    RTX Telecom

Anycom    HS-660    Headset    0xff 0xff 0x0f 0x00         1.1  (0x014e)    CSR

Anycom    USB-100    USB    0xff 0xff 0x0f 0x00    1.1  (0x0110)    1.1  (0x0110)    CSR

Anycom    USB-100    USB    0xff 0xff 0x0f 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

Anycom    USB-220    USB    0xff 0xff 0x3d 0x00    1.1  (0x0093)    1.1  (0x0093)    Transilica

Apple    PowerBook G4    USB    0xff 0xff 0x8f ...    1.2  (0x04d9)    1.2  (0x04d9)    CSR

Armadillo         Compact Flash    0xff 0xfb 0x01 0x00    1.1  (0x8105)    1.1  (0x8d40)    Ericsson

Belkin    F8T001    USB    0xff 0xfd 0x05 0x00    1.1  (0x0002)    1.1  (0x0f07)    Broadcom

Belkin    F8T001de    USB    0xff 0xff 0x0f 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

Belkin    F8T003    USB    0xff 0xff 0x0f 0x00    1.1  (0x0110)    1.1  (0x0110)    CSR

Belkin    F8T003de    USB    0xff 0xff 0x0f 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

Belkin    F8T007    Compact Flash    0xff 0xff 0x0f 0x00    1.1  (0x0110)    1.1  (0x0110)    CSR

Belkin    F8T031    Printer    0xff 0xff 0x0f 0x00         1.1  (0x020d)    CSR

Billionton    CFBT02-X    Compact Flash    0xff 0xff 0x0f 0x00    1.1  (0x0175)    1.1  (0x0175)    CSR

Billionton    PCBTC1    PCMCIA    0xff 0xff 0x0f 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

Billionton    USBBT02-X    USB    0xff 0xff 0x0f 0x00    1.1  (0x0110)    1.1  (0x0110)    CSR

BlueTake    BT007S    USB    0xff 0xff 0x0d 0x00    1.1  (0x00bc)    1.1  (0x00bc)    CSR

BlueTake    BT007X    USB    0xff 0xff 0x0f 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

BlueTake    BT009S    USB    0xff 0xff 0x0f 0x00    1.1  (0x0110)    1.1  (0x0110)    CSR

BlueTake    BT009V    USB    0xff 0xff 0x0f 0x00    1.1  (0x0110)    1.1  (0x0110)    CSR

BlueTake    BT009V    USB    0xff 0xff 0x0f 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

BlueTake    BT009X    USB    0xff 0xff 0x0b 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

BlueTake    BT500    Human Interface    0xff 0xff 0x0f 0x00         1.1  (0x0417)    CSR

BlueTrek    G2    Headset    0xfc 0xff 0x0f 0x00         1.1  (0x042c)    CSR

Brain Boxes    BL-500    PCMCIA    0xff 0xff 0x05 0x00    1.1  (0x0073)    1.1  (0x0073)    CSR

Brain Boxes    BL-620    PCMCIA    0xff 0xff 0x0d 0x00    1.1  (0x0086)    1.1  (0x0086)    CSR

Broadcom    BCM2033    USB    0xff 0xfb 0x05 0x00    1.1  (0x0002)    1.1  (0x0c07)    Broadcom

C-Tech    BT101    Headset    0xff 0xf9 0x31 0x00         1.1  (0x0405)    Transilica

CCnC    BT-0002M    USB    0xff 0xff 0x0f 0x00    1.1  (0x0110)    1.1  (0x0110)    CSR

COM One    BT_USB    USB    0xff 0xff 0x05 0x00    1.1  (0x0072)    1.1  (0x0072)    CSR

COM One    BlueLight    USB    0xff 0xff 0x0f 0x00    1.1  (0x0150)    1.1  (0x0150)    CSR

COM One    MC310    PCMCIA    0xff 0xff 0x05 0x00    1.1  (0x0072)    1.1  (0x0072)    CSR

Canon    80i    Printer    0xff 0xff 0x0b 0x00         1.1  (0x0175)    CSR

Canyon    CN-BTU1    USB    0xff 0xff 0x05 0x00    1.1  (0x0000)    1.1  (0x0757)    Silicon Wave

Cellink    BTA-3000    USB    0xff 0xff 0x0f 0x00    1.1  (0x01d3)    1.1  (0x01d3)    CSR

Compaq    Multiport    USB    0xff 0xff 0x05 0x00    1.1  (0x0072)    1.1  (0x0072)    CSR

Compaq    iPAQ 3870    Handheld    0xff 0xff 0x05 0x00    1.1  (0x0072)    1.1  (0x0072)    CSR

Compaq    iPAQ 3970    Handheld    0xff 0xff 0x05 0x00    1.1  (0x0072)    1.1  (0x0072)    CSR

Conceptronic    CBT100C    PCMCIA    0xff 0xff 0x0f 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

Conceptronic    CBT100U    USB    0xff 0xff 0x0f 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

Concord    Q-EYE    Camera    0x07 0x00 0x00 0x00         1.1  (0x0178)    RTX Telecom

Cyber-blue    BLUE CF01    Compact Flash    0xff 0xff 0x0d 0x00    1.1  (0x0086)    1.1  (0x0086)    CSR

D-Link    DBT-120 (Rev A1)    USB    0xff 0xfd 0x05 0x00    1.1  (0x0002)    1.1  (0x0e07)    Broadcom

D-Link    DBT-120 (Rev A2)    USB    0xff 0xfd 0x05 0x00    1.1  (0x0002)    1.1  (0x1007)    Broadcom

D-Link    DBT-120 (Rev B1)    USB    0xff 0xff 0x0f 0x00    1.1  (0x01bb)    1.1  (0x01bb)    CSR

D-Link    DBT-120 (Rev B2)    USB    0xff 0xff 0x0f 0x00    1.1  (0x01bb)    1.1  (0x01bb)    CSR

D-Link    DBT-120 (Rev B3)    USB    0xff 0xff 0x0f 0x00    1.1  (0x01bb)    1.1  (0x01bb)    CSR

D-Link    DBT-120 (Rev B3)    USB    0xff 0xff 0x8f ...    1.2  (0x04d9)    1.2  (0x04d9)    CSR

D-Link    DBT-120 (Rev B4)    USB    0xff 0xff 0x0f 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

D-Link    DWB-120M    USB    0xff 0xfd 0x05 0x00    1.1  (0x0002)    1.1  (0x0e07)    Broadcom

DSE    XH4104    USB    0xff 0xff 0x3d 0x00    1.1  (0x0001)    1.1  (0x0403)    Transilica

Dell    Inspiron 6000    USB    0xff 0xff 0x9f 0x00    1.2  (0x0679)    1.2  (0x0679)    CSR

Dell    Inspiron 8600    USB    0xff 0xff 0x0f 0x00    1.1  (0x0235)    1.1  (0x0235)    CSR

Deluo         USB    0xff 0xff 0x0f 0x00    1.1  (0x01bb)    1.1  (0x01bb)    CSR

Digi    Wavespeed/S    Serial Dongle    0xff 0x07 0x04 0x00         1.1  (0x05ae)    Silicon Wave

Digianswer         USB    0xff 0xfa 0x21 0x00    1.1  (0x0000)    1.1  (0x0037)    Motorola

Digianswer    PC-Card    PCMCIA    0xef 0xfb 0x75 0x00         1.1  (0x00d2)    Digianswer

Digicom    Palladio    USB    0xff 0xff 0x0f 0x00    1.1  (0x0175)    1.1  (0x0175)    CSR

Digitus    DN-3008    USB    0xff 0xff 0x0f 0x00    1.1  (0x0175)    1.1  (0x0175)    CSR

Dynabook    CX/2215LMSW    Notebook    0xff 0xff 0x0f 0x00         1.1  (0x020d)    CSR

EIO    WaveLinker    USB    0xff 0xff 0x0f 0x00    1.1  (0x0175)    1.1  (0x0175)    CSR

ELSA    Vianect blue ISDN    ISDN    0xff 0xff 0x0d 0x00         1.1  (0x0077)    CSR

ELSA    Vianect blue USB    USB    0xff 0xff 0x0d 0x00    1.1  (0x0077)    1.1  (0x0077)    CSR

EPoX    BT-DG02    USB    0xff 0xff 0x0b 0x00    1.1  (0x0110)    1.1  (0x0110)    CSR

EPoX    BT-DG02A    USB    0xff 0xff 0x0f 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

EPoX    BT-DG03    USB    0xff 0xff 0x0b 0x00    1.1  (0x0110)    1.1  (0x0110)    CSR

EPoX    BT-DG03BF    USB    0xff 0xff 0x0b 0x00    1.1  (0x0360)    1.1  (0x0360)    CSR

EPoX    BT-DG05A    USB    0xff 0xff 0x0f 0x00    1.1  (0x033c)    1.1  (0x033c)    CSR

EPoX    BT-KB01B    Human Interface    0xff 0xff 0x0b 0x00         1.1  (0x032d)    CSR

EPoX    BT-KB01B    Human Interface    0xff 0xff 0x0b 0x00         1.1  (0x0356)    CSR

EPoX    BT-MS02B    Human Interface    0xff 0xff 0x0b 0x00         1.1  (0x020a)    CSR

EPoX    BT-MS02B    Human Interface    0xff 0xff 0x0b 0x00         1.1  (0x0356)    CSR

EPoX    BT-PM01B         0xff 0xff 0x0f 0x00         1.1  (0x0f78)    CSR

EPoX    BT-PM01B-HID    Human Interface    0xff 0xff 0x0f 0x00         1.1  (0x0436)    CSR

Encore    UBTCR3XX-N    USB    0xff 0xff 0x0f 0x00    1.1  (0x0460)    1.1  (0x0460)    CSR

Epson    PM-860PT    Printer    0xbf 0xf8 0x75 0x00         1.1  (0x001d)    TI

Ericsson    CXC 125 244 P13A    USB    0x07 0xea 0x31 0x00    1.1  (0x000b)    1.1  (0x0300)    Ericsson

Ericsson    EBAK    USB    0x07 0xea 0x31 0x00    1.1  (0x000b)    1.1  (0x0300)    Ericsson

Ericsson    HBH-10    Headset    0x04 0xea 0x31 0x00         1.1  (0x0100)    Ericsson

Ericsson    R520m    Mobile Phone    0x04 0xea 0x31 0x00         1.1  (0x0400)    Ericsson

Ericsson    T39m    Mobile Phone    0x04 0xea 0x31 0x00         1.1  (0x0100)    Ericsson

Ericsson    T68    Mobile Phone    0x04 0xea 0x31 0x00         1.1  (0x0400)    Ericsson

FrogPad    Bluetooth iFrog    Human Interface    0xfc 0xff 0x0f 0x00         1.1  (0x0436)    CSR

Fujitsu-Siemens    Lifebook S-6010    Notebook    0xff 0xff 0x0f 0x00    1.1  (0x0110)    1.1  (0x0110)    CSR

Fujitsu-Siemens    Lifebook S-6120    Notebook    0xff 0xff 0x0f 0x00    1.1  (0x0150)    1.1  (0x0150)    CSR

Gericom         USB    0xff 0xff 0x0d 0x00    1.1  (0x00bc)    1.1  (0x00bc)    CSR

Gigabyte    GN-BTD01    USB    0xff 0xff 0x0f 0x00    1.1  (0x0110)    1.1  (0x0110)    CSR

GlobalLink         USB    0xff 0xf9 0x05 0x00    1.1  (0x0002)    1.1  (0x0d07)    Broadcom

H-Soft    blue+Card    PCMCIA    0x07 0xea 0x31 0x00    1.1  (0x000b)    1.1  (0x0300)    Ericsson

Hewlett-Packard    DeskJet 450cbi    Printer    0xff 0x3b 0x05 0x00         1.1  (0x0180)    RTX Telecom

Hewlett-Packard    DeskJet 995c    Printer    0xff 0xff 0x05 0x00         1.1  (0x0072)    CSR

Hewlett-Packard    iPAQ 2210    Handheld    0xff 0xff 0x05 0x00         1.1  (0x008d)    Telencomm

Hewlett-Packard    iPAQ 2215    Handheld    0xff 0xff 0x05 0x00         1.1  (0x008d)    Telencomm

Hewlett-Packard    iPAQ 5500    Handheld    0xff 0x3b 0x05 0x00         1.1  (0x0180)    RTX Telecom

Higoto    BlueMouse    Human Interface    0xff 0xff 0x0f 0x00         1.1  (0x0417)    CSR

IBM    Bluetooth PC Card    PCMCIA    0xef 0xf9 0x05 0x00         1.0b (0x0068)    Digianswer

IBM    Bluetooth PC Card II    PCMCIA    0xff 0xff 0x0d 0x00    1.1  (0x0086)    1.1  (0x0086)    CSR

IBM    ThinkPad A30p    USB    0xff 0xff 0x05 0x00    1.1  (0x0073)    1.1  (0x0073)    CSR

IBM    ThinkPad A31p    USB    0xff 0xff 0x0f 0x00    1.1  (0x0136)    1.1  (0x0136)    CSR

IBM    ThinkPad R50    USB    0xff 0xff 0x0f 0x00    1.1  (0x0222)    1.1  (0x0222)    CSR

IBM    ThinkPad T30    USB    0xff 0xff 0x05 0x00    1.1  (0x0073)    1.1  (0x0073)    CSR

IBM    Ultraport    USB    0xff 0xff 0x05 0x00    1.0b (0x0061)    1.1  (0x0061)    CSR

IBM    Ultraport    USB    0xff 0xff 0x05 0x00    1.1  (0x0072)    1.1  (0x0072)    CSR

IOGEAR    GBU301    USB    0xff 0xfd 0x05 0x00    1.1  (0x0002)    1.1  (0x0e07)    Broadcom

IOGEAR    GBU302    USB    0xff 0xfd 0x05 0x00    1.1  (0x0002)    1.1  (0x0e07)    Broadcom

IOGEAR    GBU311    USB    0xff 0xff 0x0d ...    1.2  (0x0069)    1.2  (0x694a)    Broadcom

IVT    B091H1    USB    0xff 0xff 0x0d 0x00    1.1  (0x00bc)    1.1  (0x00bc)    CSR

Infineon    PMB8760    Developer Board    0xef 0xfb 0x1d 0x00    1.1  (0x0555)    1.1  (0x0555)    Infineon

JABRA    BT100    Headset    0xff 0xff 0x01 0x00         1.1  (0x00f9)    CSR

JABRA    BT200    Headset    0xff 0xff 0x0b 0x00         1.1  (0x018e)    CSR

JABRA    BT250    Headset    0xfc 0xff 0x0b 0x00         1.1  (0x03f9)    CSR

Keyspan    BT-2A    USB    0xff 0xfd 0x05 0x00    1.1  (0x0002)    1.1  (0x1007)    Broadcom

Lesswire    BlueXS-A    LAN    0xff 0xff 0x0f 0x00         1.1  (0x015f)    CSR

LevelOne    MDU-0001USB    USB    0xff 0x07 0x04 0x00    1.1  (0x0086)    1.1  (0x0086)    Telencomm

LevelOne    MDU-0005USB    USB    0xff 0xff 0x0f 0x00    1.1  (0x0175)    1.1  (0x0175)    CSR

Lifetech    BlueConnect    USB    0xff 0xff 0x05 ...    1.2  (0x0000)    1.2  (0x0757)    Silicon Wave

Linksys    USBBT100    USB    0xff 0xff 0x0f 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

Logitech    Cordless Presenter    Human Interface    0xff 0xff 0x09 0x00         1.1  (0x00bc)    CSR

Logitech    F-0179A    Headset    0xff 0xff 0x0f 0x00         1.1  (0x03f0)    CSR

Logitech    MX900    Human Interface    0xff 0xff 0x0f 0x00         1.1  (0x0350)    CSR

Logitech    Wireless HUB    USB    0xff 0xff 0x0f 0x00    1.1  (0x034e)    1.1  (0x034e)    CSR

MPI Tech    Printer Adapter    Printer    0xff 0xff 0x05 0x00         1.1  (0x0073)    CSR

MSI    845E Max2-BLR    USB    0xff 0xff 0x0f 0x00    1.1  (0x0110)    1.1  (0x0110)    CSR

MSI    MS-6967    USB    0xff 0xff 0x0f 0x00    1.1  (0x0110)    1.1  (0x0110)    CSR

MSI    MS-6967    USB    0xff 0xff 0x0f 0x00    1.1  (0x0175)    1.1  (0x0175)    CSR

MSI    MS-6967    USB    0xff 0xff 0x0f 0x00    1.1  (0x01e7)    1.1  (0x01e7)    CSR

MSI    MS-6967    USB    0xff 0xff 0x0f 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

MSI    MS-6968    USB    0xff 0xff 0x0f 0x00    1.1  (0x0110)    1.1  (0x0110)    CSR

MSI    MS-6970    USB    0xff 0xff 0x0f 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

MSI    PC2PC    USB    0xff 0xff 0x0f 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

Mavin    MCF-M2.1    Compact Flash    0xff 0xff 0x0f 0x00    1.1  (0x0175)    1.1  (0x0175)    CSR

Mcab         USB    0xff 0xff 0x0f 0x00    1.1  (0x0175)    1.1  (0x0175)    CSR

Microsoft    Keyboard    Human Interface    0xfc 0xfb 0x0f 0x00         1.1  (0x01df)    CSR

Microsoft    Mouse    Human Interface    0xfc 0xfb 0x0f 0x00         1.1  (0x01d0)    CSR

Microsoft    Wireless Transceiver    USB    0xff 0xff 0x0f 0x00    1.1  (0x01f9)    1.1  (0x01f9)    CSR

Microsoft    Wireless Transceiver 2.0    USB    0xff 0xfe 0x0d ...    1.2  (0x0003)    1.2  (0x0800)    Broadcom

Microtune    MT0760-UD2P    USB    0xff 0xff 0x3d 0x00    1.1  (0x0090)    1.1  (0x0090)    Transilica

Mitsumi    WIF-0402C    USB    0xff 0xff 0x05 0x00    1.1  (0x0072)    1.1  (0x0072)    CSR

Mitsumi    WIF-0403C    USB    0xff 0xff 0x0f 0x00    1.1  (0x0175)    1.1  (0x0175)    CSR

Mitsumi    WML-C11    USB    0xff 0xff 0x0f 0x00    1.1  (0x0175)    1.1  (0x0175)    CSR

Mitsumi    WML-C51APR    USB    0xff 0xff 0x0f 0x00    1.1  (0x0175)    1.1  (0x0175)    CSR

Mitsumi    WML-C52APR    USB    0xff 0xff 0x0f 0x00    1.1  (0x0135)    1.1  (0x0135)    CSR

Mobile Action    MA-700    USB    0xff 0xff 0x0f 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

Motorola    E398    Mobile Phone    0xff 0xff 0x0d 0x00         1.1  (0x0700)    Broadcom

Motorola    SYN0717A    USB    0xff 0xff 0x0f 0x00    1.1  (0x033c)    1.1  (0x033c)    CSR

Motorola    V525    Mobile Phone    0xff 0xff 0x0d 0x00         1.1  (0x0700)    Broadcom

Motorola    V600    Mobile Phone    0xff 0xff 0x0d 0x00         1.1  (0x0700)    Broadcom

MyCom    Bluetooth    USB    0xff 0xff 0x0d ...    1.2  (0x0069)    1.2  (0x694a)    Broadcom

Nextlink.to    Bluespoon 4253    Headset    0xff 0xff 0x0f 0x00         1.1  (0x01a4)    CSR

Nextlink.to    Bluespoon AX    Headset    0xff 0xff 0x0f 0x00         1.1  (0x0434)    CSR

Nextlink.to    Bluespoon Digital    Headset    0xff 0xff 0x0f 0x00         1.1  (0x0291)    CSR

Nokia    3650 (V 2.50)    Mobile Phone    0xbf 0x28 0x21 0x00         1.1  (0x023c)    Nokia

Nokia    3650 (V 2.54)    Mobile Phone    0xbf 0x28 0x21 0x00         1.1  (0x023c)    Nokia

Nokia    6210    Mobile Phone    0x17 0x00 0x00 0x00         1.0b (0x0103)    Nokia

Nokia    6230 (V 3.15)    Mobile Phone    0xbf 0xee 0x0f 0x00         1.1  (0x0380)    CSR

Nokia    6230 (v 02.25)    Mobile Phone    0xbf 0xee 0x0f 0x00         1.1  (0x0380)    CSR

Nokia    6310    Mobile Phone    0xbf 0x28 0x21 0x00         1.1  (0x021d)    Nokia

Nokia    6310 (v 04.10)    Mobile Phone    0xbf 0x28 0x21 0x00         1.1  (0x021a)    Nokia

Nokia    6310 (v 04.15)    Mobile Phone    0xbf 0x28 0x21 0x00         1.1  (0x021a)    Nokia

Nokia    6310 (v 04.31)    Mobile Phone    0xbf 0x28 0x21 0x00         1.1  (0x0223)    Nokia

Nokia    6310 (v 05.01)    Mobile Phone    0xbf 0x28 0x21 0x00         1.1  (0x0223)    Nokia

Nokia    6310i (V 4.07)    Mobile Phone    0xbf 0x28 0x21 0x00         1.1  (0x021e)    Nokia

Nokia    6310i (V 4.80)    Mobile Phone    0xbf 0x28 0x21 0x00         1.1  (0x0226)    Nokia

Nokia    6310i (V 5.10)    Mobile Phone    0xbf 0x28 0x21 0x00         1.1  (0x022c)    Nokia

Nokia    6310i (V 5.22)    Mobile Phone    0xbf 0x28 0x21 0x00         1.1  (0x022c)    Nokia

Nokia    6310i (V 5.50)    Mobile Phone    0xbf 0x28 0x21 0x00         1.1  (0x023b)    Nokia

Nokia    6310i (V 5.51)    Mobile Phone    0xbf 0x28 0x21 0x00         1.1  (0x023b)    Nokia

Nokia    6600 (V 4.09.1)    Mobile Phone    0xbf 0x28 0x21 0x00         1.1  (0x0248)    Nokia

Nokia    6820 (V 3.92)    Mobile Phone    0xbf 0xee 0x0f 0x00         1.1  (0x0380)    CSR

Nokia    7650 (V 3.12)    Mobile Phone    0xbf 0x00 0x20 0x00         1.1  (0x0227)    Nokia

Nokia    7650 (V 3.16)    Mobile Phone    0xbf 0x00 0x20 0x00         1.1  (0x0227)    Nokia

Nokia    DTL-1    Compact Flash    0x17 0x00 0x00 0x00    1.0b (0x0000)    1.0b (0x0104)    Nokia

Nokia    DTL-4    Compact Flash    0xbf 0x00 0x20 0x00    1.1  (0x0000)    1.1  (0x021a)    Nokia

Nokia    HDW-1    Headset    0xbf 0x38 0x21 0x00         1.1  (0x020b)    Nokia

Nokia    HDW-2    Headset    0xbc 0x28 0x01 0x00         1.1  (0x0001)    Widcomm

Nokia    N-Gage    Mobile Phone    0xbf 0x28 0x21 0x00         1.1  (0x0248)    Nokia

Nokia    SU-1B    Pen    0xbf 0x00 0x00 0x00         1.1  (0x0002)    C Tech.

Nokia    SU-2    Viewer    0xff 0x38 0x01 0x00         1.1  (0x0002)    Philips

Orange    SPV E200    Mobile Phone    0xff 0xff 0x0f 0x00         1.1  (0x020e)    CSR

Orange Micro    Blue 2    USB    0xff 0xff 0x0f 0x00    1.1  (0x033c)    1.1  (0x033c)    CSR

Palm    Tungsten T    Handheld    0xff 0xfd 0x05 0x00         1.1  (0x0e03)    Broadcom

PheeNet    BT-222    USB    0xff 0xfd 0x05 0x00    1.1  (0x0002)    1.1  (0x0e07)    Broadcom

Philips    Fisio 820    Mobile Phone    0xff 0xf9 0x01 0x00         1.1  (0x8b40)    Ericsson

Pico    PicoBlue    LAN    0xff 0xf9 0x01 0x00         1.1  (0x0210)    Ericsson

Planet    BT-200U    USB    0xff 0xff 0x0f 0x00    1.1  (0x0175)    1.1  (0x0175)    CSR

Pretec    BT2000E    Compact Flash    0xff 0xfb 0x01 0x00    1.1  (0x8103)    1.1  (0x8b40)    Ericsson

Ricoh    Aficio AP600N    Printer    0xff 0xff 0x05 0x00         1.1  (0x0072)    CSR

ST Microelectronics    STLC2410    Developer Board    0xff 0xf9 0x01 0x00    1.1  (0x8106)    1.1  (0x9040)    ST

ST Microelectronics    STLC2415    Developer Board    0xff 0xf9 0x01 0x00    1.1  (0x8106)    1.1  (0x9040)    ST

Samsung    BTM1C2NR50    USB    0xff 0xff 0x0b 0x00    1.1  (0x0110)    1.1  (0x0110)    CSR

Sandberg    Link+    USB    0xff 0xff 0x0f 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

Sharp    GX15    Mobile Phone    0xef 0xff 0x0b 0x00         1.1  (0x0460)    CSR

Sharp    Zaurus 6000W    Handheld    0xff 0xff 0x0f 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

Siemens    S55    Mobile Phone    0xef 0xea 0x19 0x00         1.1  (0x0550)    Infineon

Siemens    blue2net    LAN    0xff 0x01 0x05 0x00         1.1  (0x0135)    CSR

Sitecom    CN-500    USB    0xff 0xff 0x0f 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

Socket    CF+ (Rev E)    Compact Flash    0x17 0x00 0x00 0x00    1.0b (0x0000)    1.0b (0x0104)    Nokia

Socket    CF+ (Rev F)    Compact Flash    0xbf 0x00 0x20 0x00    1.1  (0x0000)    1.1  (0x021a)    Nokia

Socket    CF+ (Rev G)    Compact Flash    0xff 0xff 0x0f 0x00    1.1  (0x01bb)    1.1  (0x01bb)    CSR

Sony    BTA-NW1    Modem    0xff 0xff 0x05 0x00         1.1  (0x0061)    CSR

Sony    C1MGP    Notebook    0xff 0xff 0x0d 0x00    1.1  (0x0077)    1.1  (0x0077)    CSR

Sony    C1MHP    Notebook    0xff 0xff 0x0d 0x00    1.1  (0x0077)    1.1  (0x0077)    CSR

Sony    C1VFK    Notebook    0xff 0xff 0x05 0x00    1.1  (0x0042)    1.1  (0x0042)    CSR

Sony    C413S    Mobile Phone    0xff 0xff 0x05 0x00         1.1  (0x0064)    CSR

Sony    DCR-TRV80E    Camera    0x3f 0x06 0x02 0x00         1.1  (0x0110)    CSR

Sony    DSC-FX77    Camera    0x3f 0x06 0x02 0x00         1.1  (0x0110)    CSR

Sony    PCGA-BA1    USB    0xff 0xff 0x0f 0x00    1.1  (0x0150)    1.1  (0x0150)    CSR

Sony    PCGA-BA1    USB    0xff 0xff 0x0f 0x00    1.1  (0x030d)    1.1  (0x030d)    CSR

Sony    SRX51P    Notebook    0xff 0xff 0x0f 0x00    1.1  (0x0317)    1.1  (0x0317)    CSR

Sony    SRX51P/A    Notebook    0xff 0xff 0x0d 0x00    1.1  (0x0077)    1.1  (0x0077)    CSR

Sony Ericsson    HBH-30    Headset    0x1c 0x28 0x01 0x00         1.1  (0x8b40)    Ericsson

Sony Ericsson    HBH-35    Headset    0xbc 0x28 0x01 0x00         1.1  (0x8d40)    Ericsson

Sony Ericsson    K700i    Mobile Phone    0xff 0x3b 0x01 0x00         1.1  (0x9240)    Philips

Sony Ericsson    P800    Mobile Phone    0xff 0xfb 0x01 0x00         1.1  (0x8e40)    Ericsson

Sony Ericsson    P900    Mobile Phone    0xff 0xfb 0x01 0x00         1.1  (0x9040)    Ericsson

Sony Ericsson    T610    Mobile Phone    0x04 0xca 0x31 0x00         1.1  (0x0503)    Ericsson

Sony Ericsson    T610    Mobile Phone    0x04 0xea 0x31 0x00         1.1  (0x0400)    Ericsson

Sony Ericsson    T630    Mobile Phone    0x04 0xca 0x31 0x00         1.1  (0x0503)    Ericsson

Sony Ericsson    T68i    Mobile Phone    0x04 0xea 0x31 0x00         1.1  (0x0400)    Ericsson

Sony Ericsson    Z600    Mobile Phone    0x04 0xca 0x31 0x00         1.1  (0x0503)    Ericsson

Sphinx    PICO Card    PCMCIA    0x07 0xea 0x31 0x00    1.1  (0x000b)    1.1  (0x0300)    Ericsson

Sphinx    PICO Modem    Modem    0xff 0xff 0x05 0x00         1.1  (0x0072)    CSR

Sphinx    PICO PCI    PCI    0xff 0x01 0x0c 0x00    1.1  (0x011b)    1.1  (0x011b)    CSR

Sphinx    PICO Plug    Serial Dongle    0x07 0xea 0x31 0x00    1.1  (0x000b)    1.1  (0x0300)    Ericsson

TDK    TRBLU 03    USB    0xff 0xff 0x0d 0x00    1.1  (0x0086)    1.1  (0x0086)    CSR

TDK    TRBLU 03    USB    0xff 0xff 0x0f 0x00    1.1  (0x020c)    1.1  (0x020c)    CSR

Tecom    BT3030    USB    0xff 0xf9 0x05 0x00    1.1  (0x0002)    1.1  (0x0d07)    Broadcom

Tekram    TM-304    USB    0xff 0xff 0x05 ...    1.2  (0x0000)    1.2  (0x0757)    Silicon Wave

Tekram    TM-306    USB    0xff 0xff 0x05 ...    1.2  (0x0000)    1.2  (0x0757)    Silicon Wave

Tektronix    BPA 105    Sniffer    0xef 0xf8 0x71 0x00    1.1  (0x00d4)    1.1  (0x00d4)    Digianswer

Teledat    C120X    ISDN    0x2f 0x06 0x04 0x00         1.1  (0x0001)    AVM

Teledat    C120data    USB    0x2f 0xbe 0x05 0x00    1.1  (0x112e)    1.1  (0x0001)    AVM

Teledat    C120data    USB    0x2f 0xbe 0x05 0x00    1.1  (0x1135)    1.1  (0x0001)    AVM

Toshiba    PABTC001    PCMCIA    0xff 0xfb 0x75 0x00         1.1  (0x00d7)    Digianswer

Toshiba    SR-1 (1.00)    Headphone    0xff 0xff 0x0f 0x00         1.1  (0x020d)    CSR

Toshiba    Satellite Pro 6100    Notebook    0xff 0x02 0x04 0x00    1.1  (0x0000)    1.1  (0x0514)    Silicon Wave

Toshiba    Satellite S5200-801    Notebook    0xff 0x02 0x04 0x00    1.1  (0x0000)    1.1  (0x0514)    Silicon Wave

TrendNet    TBW-102UB    USB    0xff 0xff 0x0f 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

Troy    WindConnect    Printer    0x97 0xf8 0x75 ...         1.1  (0x0014)    TI

Trust    BT120    USB    0xff 0xff 0x3d 0x00    1.1  (0x008a)    1.1  (0x008a)    Transilica

Trust    BT180    USB    0xff 0xff 0x3d 0x00    1.1  (0x0093)    1.1  (0x0093)    Transilica

Typhoon         USB    0xff 0xff 0x0f 0x00    1.1  (0x0175)    1.1  (0x0175)    CSR

W-Link    WBT-3020    USB    0xff 0xf9 0x05 0x00    1.1  (0x0002)    1.1  (0x0d07)    Broadcom

WNi    BlueLink    USB    0xff 0xfd 0x05 0x00    1.1  (0x0002)    1.1  (0x0e07)    Broadcom

Windigo    PBTUSB02C2    USB    0xff 0xff 0x0f 0x00    1.1  (0x0100)    1.1  (0x0110)    CSR

Wiretek    10M    USB    0xff 0xff 0x0f 0x00    1.1  (0x01bb)    1.1  (0x01bb)    CSR

X-Micro    XBT-DG2G    USB    0xff 0xff 0x0f 0x00    1.1  (0x033c)    1.1  (0x033c)    CSR

Xircom    CBT    PCMCIA    0xff 0xff 0x05 0x00    1.0b (0x0065)    1.1  (0x0065)    CSR

Xircom    R2BT    PCMCIA    0xff 0xff 0x05 0x00    1.0b (0x0043)    1.1  (0x0043)    CSR

Yakumo    Blueport    USB    0xff 0xff 0x0f 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

Zaapa         USB    0xff 0x07 0x04 0x00    1.1  (0x0086)    1.1  (0x0086)    Telencomm

Zoom    4310    USB    0xff 0xff 0x0f 0x00    1.1  (0x020d)    1.1  (0x020d)    CSR

elmeg    D@VOS-44.dsl    DSL    0xff 0xff 0x0f 0x00         1.1  (0x0175)    CSR

freeControl    BR0R02    USB    0xff 0xff 0x3d 0x00    1.1  (0x008a)    1.1  (0x008a)    Transilica

i-Tec         USB    0xff 0xff 0x0d ...    1.1  (0x0069)    1.1  (0x0e00)    Broadcom

i-Tec         USB    0xff 0xff 0x0f 0x00    1.1  (0x0110)    1.1  (0x0110)    CSR

i-Tec         USB    0xff 0xff 0x0f 0x00    1.1  (0x0175)    1.1  (0x0175)    CSR

i-mate    smartphone 2    Mobile Phone    0xff 0xff 0x0f 0x00         1.1  (0x020e)    CSR

```

Kernel Configuration

As the latest linux stable kernel is 2.6.x, the configuration will be done for these series of the kernel. Most Bluetooth devices are connected to a USB port, so USB will be enabled too. If you want, you can use hotplugging in case you want to use modules instead of compiling support built into the kernel, refer to the last chapters of the Gentoo Installation Guide.

```

Device Drivers  --->

     Networking 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

                    [*]     Protocol filter support

               <M>   HIDP protocol support

               Bluetooth device drivers  --->

                    <M> HCI USB driver

                         [*]   SCO (voice) support

                    <M> HCI UART driver

                         [*]   UART (H4) protocol support

                         [*]   BCSP protocol support

                         [*]     Transmit CRC with every BCSP packet

                    <M> HCI BCM203x USB driver

                    <M> HCI BPA10x USB driver

                    <M> HCI BlueFRITZ! USB driver

                    <M> HCI VHCI (Virtual HCI device) driver

     USB support  --->

          <*> Support for Host-side USB

          --- USB Host Controller Drivers

          <M> EHCI HCD (USB 2.0) support

               [ ]   Full speed ISO transactions (EXPERIMENTAL)

               [ ]   Root Hub Transaction Translators (EXPERIMENTAL)

          <*> OHCI HCD support

          <*> UHCI HCD (most Intel and VIA) support

          < > SL811HS HCD support

          --- USB Device Class drivers

          <*> USB Audio support

```

After that, we have to boot with our new kernel. If all the process went fine, we can run the command # cat /proc/bus/usb/devices | grep -e^[TPD] | grep -e Cls=e0 -B1 -A1 which should return something like the following:

```

# cat /proc/bus/usb/devices | grep -e^[TPD] | grep -e Cls=e0 -B1 -A1

T:  Bus=02 Lev=02 Prnt=03 Port=00 Cnt=01 Dev#=  4 Spd=12  MxCh= 0

D:  Ver= 1.10 Cls=e0(unk. ) Sub=01 Prot=01 MxPS=64 #Cfgs=  1

P:  Vendor=0a12 ProdID=0001 Rev= 5.25

```

NOTICE: The Cls=e0(unk. ) identifies the bluetooth adapter.

BlueZ installation, configuration and PIN pairing

Now that the device was detected by the kernel, we need a layer that lets applications communicate with the bluetooth device. We will use BlueZ for doing so. We will need the following bluez packages:

```

*  net-wireless/bluez-libs

      Latest version available: 2.18

      Latest version installed: 2.18

      Size of downloaded files: 268 kB

      Homepage:    http://bluez.sourceforge.net/

      Description: Bluetooth Userspace Libraries

      License:     GPL-2

*  net-wireless/bluez-utils

      Latest version available: 2.18

      Latest version installed: 2.18

      Size of downloaded files: 482 kB

      Homepage:    http://bluez.sourceforge.net/

      Description: Bluetooth Tools and System Daemons for using Bluetooth under Linux

      License:     GPL-2

```

```

# emerge net-wireless/bluez-libs net-wireless/bluez-utils

```

NOTE: Additional bluez packages might need to be installed in following chapters, depending on what your are planning to do.

IMPORTANT: Some devices, which are not listed here, might also need net-wireless/bluez-bluefw. These will not be handled by this document yet.

WARNING: Do not emerge bluez-kernel neither bluez-sdp, as they will break bluez-utils!

Additionally, as we have compiled the bluetooth subsystem as modules, we will need hotplug and coldplug. This way the modules will be automatically loaded when the device is connected:

```

*  sys-apps/hotplug

      Latest version available: 20040923

      Latest version installed: 20040923

      Size of downloaded files: 43 kB

      Homepage:    http://linux-hotplug.sourceforge.net

      Description: USB and PCI hotplug scripts

      License:     GPL-2

*  sys-apps/coldplug

      Latest version available: 20040920

      Latest version installed: 20040920

      Size of downloaded files: 43 kB

      Homepage:    http://linux-hotplug.sourceforge.net

      Description: coldplug init.d program to load modules at bootime

      License:     GPL-2

```

```

# emerge hotplug coldplug

# rc-update add hotplug boot

# rc-update add coldplug boot

```

After having installed bluez-libs and bluez-utils, the command hciconfig should return something like:

```

# hciconfig 

hci0:   Type: USB

        BD Address: 00:10:60:A2:DD:2A ACL MTU: 192:8  SCO MTU: 64:8

        DOWN 

        RX bytes:131 acl:0 sco:0 events:18 errors:0

        TX bytes:565 acl:0 sco:0 commands:17 errors:0

```

Perhaps you might not see it up and running. We have to configure the bluetooth service before starting it. A sample file with an already configured device is below. For additional details: man hcid.conf.

FILE: /etc/bluetooth/hcid.conf

```

#

# HCI daemon configuration file.

#

# $Id: hcid.conf,v 1.7 2004/12/13 14:16:03 holtmann Exp $

#

# 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 auto;

        # 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/bin/bluepin;

        pin_helper /etc/bluetooth/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 at %h (%d)";

        # Local device class

        class 0x3e0100;

        # 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;

}

```

Now we have to edit /etc/bluetooth/pin and set our PIN number. Just type the pin code into the file:

```

#Change 123456 with your desired pin number

echo "123456" > /etc/bluetooth/pin

```

IMPORTANT: This number (of your choice) must be the same in all your hosts with bluetooth devices.

Alright, now we are ready to start the service and add it to the default runlevel:

```

# /etc/init.d/bluetooth start

# rc-update add bluetooth default

```

Now let's check that the bluetooth daemons started successfully:

```

# ps -ae | grep hcid     

26050 ?        00:00:00 hcid

# ps -ae | grep sdpd

26054 ?        00:00:00 sdpd

```

After that, we have to check that the device is up and running. If it isn't, stop the bluetooth service, unplug the bluetooth device, plug it back and start the bluetooth service again. A successful initialization would show something like:

```

# hciconfig 

hci0:   Type: USB

        BD Address: 00:10:60:A2:DD:2A ACL MTU: 192:8  SCO MTU: 64:8

        UP RUNNING PSCAN ISCAN AUTH ENCRYPT 

        RX bytes:408 acl:0 sco:0 events:21 errors:0

        TX bytes:574 acl:0 sco:0 commands:20 errors:0

# hciconfig -a

hci0:   Type: USB

        BD Address: 00:10:60:A3:CB:41 ACL MTU: 192:8 SCO MTU: 64:8

        UP RUNNING PSCAN ISCAN AUTH ENCRYPT 

        RX bytes:125 acl:0 sco:0 events:17 errors:0

        TX bytes:565 acl:0 sco:0 commands:17 errors:0

        Features: 0xff 0xff 0x0f 0x00 0x00 0x00 0x00 0x00

        Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 

        Link policy: RSWITCH HOLD SNIFF PARK 

        Link mode: SLAVE ACCEPT 

        Name: 'BlueZ at bluehat (0)'

        Class: 0x3e0100

        Service Classes: Networking, Rendering, Capturing, Object Transfer, Audio

        Device Class: Computer, Uncategorized

        HCI Ver: 1.1 (0x1) HCI Rev: 0x1e7 LMP Ver: 1.1 (0x1) LMP Subver: 0x1e7

        Manufacturer: Cambridge Silicon Radio (10)

```

NOTICE: If we run hciconfig -a, we can see whether the parameters configured in /etc/bluetooth/hcid.conf were set correctly.

Detecting bluetooth devices in other hosts

At this point we are now ready to detect bluetooth devices installed in other machines. This is independent of the host Operating System. We will make use of the hcitool command along this chapter.

To check for local devices before trying to detect remote ones:

```

# hcitool dev

Devices:

        hci0    00:10:60:A2:DD:2A

```

To scan for remote devices:

```

# hcitool scan

Scanning ...

        00:10:60:A3:CB:41       Grayhat

```

To inquire remote devices:

```

# hcitool inq

Inquiring ...

        00:10:60:A3:CB:41       clock offset: 0x5579    class: 0x72010c

```

If we have paired the devices correctly, then we can do whatever we want with them. Let's start by a simple ping:

```

# l2ping 00:10:60:A3:CB:41

Ping: 00:10:60:A3:CB:41 from 00:10:60:A2:DD:2A (data size 20) ...

20 bytes from 00:10:60:A3:CB:41 id 200 time 69.85ms

20 bytes from 00:10:60:A3:CB:41 id 201 time 9.97ms

20 bytes from 00:10:60:A3:CB:41 id 202 time 56.86ms

20 bytes from 00:10:60:A3:CB:41 id 203 time 39.92ms

4 sent, 4 received, 0% loss

```

Setting up radio frequency communication (RFCOMM)

We can also use rfcomm to establish a connection to other bluetooth devices. Firstly we will have to edit /etc/bluetooth/rfcomm.conf

NOTE: This part is not necessary unless we want to use radio frequency. If you want to set up a Personal Area Network, you can just skip this.

```
rfcomm0 {

#

# RFCOMM configuration file.

#

# $Id: rfcomm.conf,v 1.1 2002/10/07 05:58:18 maxk Exp $

#

        # Automatically bind the device at startup

        bind yes;

        # Bluetooth address of the device

        device 00:10:60:A3:CB:41;

        # RFCOMM channel for the connection

        channel 1;

        # Description of the connection

        comment "Bluetooth at Bluehat";

}

```

That will set up the radio frequency communications of our bluetooth device. After that, we can connect to any device using something like the following:

```

# hcitool inq

Inquiring ...

        00:10:60:A3:CB:41       clock offset: 0x5579    class: 0x72010c

# rfcomm connect hci0 00:10:60:A3:CB:41 1

```

The first parameter after the connect command is the local device that will be used.

The second parameter is the MAC address of the remote device.

The third parameter is optional and specifies the channel to be used.

Please, not that in order to connect to a device, that device must be listening for incomming connections. In order to do that, we have to explicitly tell it to listen. We can cancel the communication at any moment by just hitting CTRL + C.

```

# rfcomm listen hci0 1

Waiting for connection on channel 1

```

In a similar way to the connect command, the listen command can receive two parameters. The first one explicits the local device that will be used to accept a connection, while the second is the channel that will be used.

Setting up a PAN (Personal Area Network)

First of all, we need the bnep module loaded. And probably we want it loaded each time the computer starts.

```

# modprobe bnep

# echo "bnep" >>  /etc/modules.autoload.d/kernel-2.6

```

Setting up a NAP (Network Access Point)

We have to start the pand daemon in the host that will provide the NAP. We'll have to specify that we want to provide a NAP service and that this host will be the master, thus the other hosts that connect to it, the slaves. Another possible service is GN (Group ad-hoc Network).

```

# pand --listen --role NAP --master --autozap

```

After doing that, we have a host listening, so the rest of hosts just have to connect to that one.

```

# pand --connect 00:10:60:A3:CB:41 --service NAP --autozap

```

Now it's time to configure the IP addresses of our devices. Let's be sure they are there.

```

host0 # ifconfig -a

bnep0     Link encap:Ethernet  HWaddr 00:10:60:A3:CB:41  

          BROADCAST MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

host1 # ifconfig -a

bnep0     Link encap:Ethernet  HWaddr 00:10:60:A2:DD:2A  

          BROADCAST MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

```

Now we'll assign IP addresses to them, as we would tipically do for an ethernet device.

```

host0 # ifconfig bnep0 192.168.2.1

host1 # ifconfig bnep0 192.168.2.2

host0 # ifconfig bnep0            

bnep0     Link encap:Ethernet  HWaddr 00:10:60:A3:CB:41  

          inet addr:192.168.2.1  Bcast:192.168.2.255  Mask:255.255.255.0

          inet6 addr: fe80::210:60ff:fea3:cb41/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:208 (208.0 b)  TX bytes:188 (188.0 b)

host1 # ifconfig bnep0

bnep0     Link encap:Ethernet  HWaddr 00:10:60:A2:DD:2A  

          inet addr:192.168.2.2  Bcast:192.168.2.255  Mask:255.255.255.0

          inet6 addr: fe80::210:60ff:fea2:dd2a/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:208 (208.0 b)  TX bytes:188 (188.0 b)

```

Let's try to see if a ping works. If it doesn't, that is packets are lost, it might be because your firewall script might need an update.

```

host1 # ping 192.168.2.1

PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.

64 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=34.0 ms

64 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=37.3 ms

--- 192.168.2.1 ping statistics ---

2 packets transmitted, 2 received, 0% packet loss, time 1000ms

rtt min/avg/max/mdev = 34.045/35.690/37.336/1.656 ms

```

From now on, the configuration is the same as for any other network device. Enjoy!

Using a desktop application to control bluetooth

There are two main alternatives on this section: either we use gnome-bluetooth or kdebluetooth.

Unfortunately, at the moment of updating this document, kdebluetooth was masked, so we'll see how to

configure gnome-bluetooth for now.

Configuring gnome-bluetooth

NOTICE: If you are using an amd64 architecture, due to bug #82961, you'll have to do the following first:

```

# echo "=dev-libs/openobex-1.0.1" > /etc/portage/package.mask

# emerge --oneshot dev-libs/openobex-1.0.0

```

First of all, we have to emerge the appropiate ebuild:

```

# emerge gnome-bluetooth

```

After that, we can use:

gnome-bluetooth-manager: To manage bluetooth remote devices

gnome-obex-send: To send files to other devices

gnome-obex-server: To receive files.

Configuring kdebluetooth

NOTICE: Might be masked for some architectures.

```

# emerge kdebluetooth

```

This ebuild will provide us the following applications:

kbluetoothd: Bluetooth Meta Server

kbtsearch: Bluetooth device/service search utility

khciconfig: KDE Bluetooth Monitor

kioclient: KIO command line client

qobexclient: Swiss army knife for obex testing/development

kbtobexclient: A KDE Bluetooth Framework Application

kioobex_start

kbtserialchat

Other interesting applications

app-mobilephone/obexftp: File transfer over OBEX for mobile phones

----------

SOLVED BUGS:

+ bug 56157 - https://bugs.gentoo.org/show_bug.cgi?id=56157 (Closed 2005-01-08 14:28 PST)

+ bug 56173 - https://bugs.gentoo.org/show_bug.cgi?id=56173 (Verified 2004-10-17 04:15 PST)

+ bug 82961 - https://bugs.gentoo.org/show_bug.cgi?id=82961 (Workaround 2005-02-22 09:57 PST)

LAST UPDATE: Fri Jul 15 18:26:13 CEST 2005Last edited by Deathwing00 on Fri Jul 15, 2005 4:33 pm; edited 38 times in total

----------

## Deathwing00

I've reopened the thread, as the bugs were solved. I'd like someone to test the instructions above and post suggestions/comments on it. More steps will be appended afterwards.

----------

## DrKayBee

Very good instructions. I have a D-link dongle and thus need the bluefw package as well.. .(along with bcm203x configured in the kernel)

/usr/bin/bluepin still quits with the error "ERR" (when running under su) Otherwise it still gives the "Unable to open display" error under normal user. I am using Xorg - which according to the bug is not patched for. So I guess the patch doesn't work for me. 

Have you tried using Bluetooth under LIRC? 

(ref: http://svadim.nm.ru/sw/lirc/ )

Is there anything you want me to specifically check?

KB

----------

## Deathwing00

The next step in the howto will be RFCOMM  :Very Happy: 

----------

## DrKayBee

I have 

```

# rfcomm connect 0 <MAC Address here>

Connected /dev/bluetooth/rfcomm/0 to <MAC Address here> on channel 1

Press CTRL-C for hangup

```

I tried bluexmms to run the userspace utility to pass events to xmms... but I couldn't get it to run properly.... the ruby scripts quits with an error that it couldn't find xmms!

----------

## 10drill

Great HOWTO, thanks! I can scan with my Billionton USB dongle and find my Sony Ericsson T68i and Palm T3.

```
root@drill bluetooth # hcitool scan

Scanning ...

        00:80:37:AE:1A:0A       T68i

        00:07:E0:2F:8A:DD       T3
```

I did not add the SCO (voice) support or USB audio to my kernel as I didn't think I would need it. /etc/bluetooth/pin was 1234 by default. 

So now I need to figure out how to pair devices...bluepin does not work:

```
Xlib: connection to ":0.0" refused by server

Xlib: No protocol specified

Traceback (most recent call last):

  File "/usr/bin/bluepin", line 39, in ?

    import gtk

  File "/usr/lib/python2.3/site-packages/gtk-2.0/gtk/__init__.py", line 43, in ?

    from _gtk import *

RuntimeError: could not open display

```

----------

## Deathwing00

 *DrKayBee wrote:*   

> I have 
> 
> ```
> 
> # rfcomm connect 0 <MAC Address here>
> ...

 

The fact is that what I want to do is to asign IP addresses to the Bluetooth devices and have a bluetooth LAN  :Smile: 

----------

## Deathwing00

 *10drill wrote:*   

> So now I need to figure out how to pair devices...bluepin does not work:
> 
> ```
> Xlib: connection to ":0.0" refused by server
> 
> ...

 

Don't use this app. As I explained before, it is broken.

----------

## zorth

yes, thanks for the how to but i have a question.... how the hell can i send a file to my motorola v525 phone ?????? or from my motorola v525 to my gentoo ??????????....   :Crying or Very sad: 

thanks to your howto i configured my btooth but... now what ?

regards

----------

## DrKayBee

 *zorth wrote:*   

> yes, thanks for the how to but i have a question.... how the hell can i send a file to my motorola v525 phone ?????? or from my motorola v525 to my gentoo ??????????....  
> 
> 

 

Look for obex object push on the forums. This really isn't in the scope of this thread. Gnome and KDE both have packages to do file transfer using Nautilus / own interface respectively. There is a thread in the forums for that.

----------

## Swoosh

Which WM do you use?

For gnome, emerge gnome-bluetooth

Start gnome-obex-server to receive files and use gnome-obex-send to send files.

For kde, emerge kdebluetooth and use konqueror.

----------

## Alph

Great tut! Thanks a lot!

----------

## JoKerTheFirst

great tutorial, I'm currently running my belkin F8T001ef (bluetooth class 1 usb adapter) on my gentoo 2.6.9-r4 box.

good job mate!  :Very Happy: 

----------

## Lokheed

Added to wiki: http://gentoo-wiki.com/HOWTO_The_host-to-host_Bluetooth

----------

## marjue

Hi

I have done all of the things described here and in other threads but the damn Microsoft transceiver will not be recognized.

Dec 26 18:31:32 marcus-pc ohci_hcd 0000:00:02.0: wakeup

Dec 26 18:31:32 marcus-pc usb 2-1: new full speed USB device using address 4

Dec 26 18:31:32 marcus-pc hub 2-1:1.0: USB hub found

Dec 26 18:31:32 marcus-pc hub 2-1:1.0: 3 ports detected

Dec 26 18:31:32 marcus-pc usb 2-1.1: new full speed USB device using address 5

Dec 26 18:31:33 marcus-pc usb 2-1.2: new full speed USB device using address 6

Dec 26 18:31:33 marcus-pc input: USB HID v1.11 Keyboard [045e:00bf] on usb-0000:00:02.0-1.2

Dec 26 18:31:33 marcus-pc usb 2-1.3: new full speed USB device using address 7

Dec 26 18:31:33 marcus-pc input: USB HID v1.11 Mouse [045e:00be] on usb-0000:00:02.0-1.3

Dec 26 18:31:51 marcus-pc hcid[12943]: Bluetooth HCI daemon

Dec 26 18:31:51 marcus-pc sdpd[12947]: Bluetooth SDP daemon

Dec 26 18:31:51 marcus-pc hidd[12950]: Bluetooth HID daemon

Can't init device hci0. Connection timed out(110)

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:3 acl:0 sco:0 commands:1 errors:0

If i plug an other noname dongle to my machine it is recognized. But then i have the problem, that the keyboard does not work in bios. Does the MS transceiver has special skills which enables keyboard in bios ??

I use Kernel 2.6.9r9 an bluez tools 2.12

----------

## Deathwing00

Did you check in the link above that the device is indeed supported?

----------

## marjue

Hi

Yes I did .... it is the 'Microsoft Wireless Transceiver' i think, and it is supported.

----------

## Deathwing00

Wait a moment... this howto is intended to provide connectivity among two or more computers, not between a computer and a keyboard...

Unless is that the problem, explain exactly what you have connected to your USB ports.

----------

## marjue

Hi

Yes i know that. But the basics are the same. Without getting the device hci0 running i will never be able to connect to my devices like keyboard, mouse or mobile-phone.

Me problem ist that the MS keyboard and mouse is working under linux but only through the support in the bios i think. I get no response from the mouswheel or the the buttons 3-5. I tryed /dev/input/mice,event,mouse. I always only get the mouse movement and button 1-2. And because the hci0 is always down i'm not able to scan for my mobile phone.

If i plug an other noname dongle (hci1) i have a running device. But this dongle does not support my keybord in the bios or grub bootmanager which is not very nice.

I dont know if the MS dongle has special skill for working during boot where no drivers are available. Im a little confused about that.

----------

## Deathwing00

I advise you to have a go with MS and ask them for help, even basic things or try in a MS mailing list or newsgrup.

----------

## floppes

I followed an other How-To where they adviced to emerge bluez-sdp. This caused some troubles because its a blocked ebuild and now I wanted to follow this How-To. I unmerged bluez-sdp but when emerging bluez-utils I get tons of errors. How can I solve this problem?

----------

## makentoo

Hi,

I was thinking, if i could browse internet from my Nokia 6600, using my bluetooth dongle as a gateway

Phone ----(request page)----> PC ------(forwards)------> [internet]

[internet] -----(result) ----->PC -----(forwards) ------>phone

Something like this...

thanks,

MakenToO

----------

## shoutstudios

I have followed your instructions, along with a ton of other posts about the same thing, and everything works fine, until I try to use obexftp to connect to my phone and pull or push data (or even list). Here is what happens:

```

sudo obexftp -b 00:00:00:00:00:00 -l

Browsing 00:00:00:00:00:00 ...

Channel: 7

No custom transport

Connecting...bt: -94

failed: connect

Still trying to connect

Connecting...bt: -94

failed: connect

Still trying to connect

Connecting...bt: -94

failed: connect

Still trying to connect

```

I am able to ping the device using l2ping, I have the two devices paired and they can both see each other when searing the bluetooth network, I just can't get obexftp to connect. I am running kernel 2.6.9, bluez-utils 2.12, bluez-lib 2.12, bluez-hcidump 1.16 and obexftp 0.10.7.

Any ideas?[/code]

----------

## Allochtoon

 *makentoo wrote:*   

> Hi,
> 
> I was thinking, if i could browse internet from my Nokia 6600, using my bluetooth dongle as a gateway
> 
> Phone ----(request page)----> PC ------(forwards)------> [internet]
> ...

 

That is possible in theory. Can't get it too work though.

----------

## Deathwing00

The guide was updated. Some code was rewritten.

Relevant information:

      PENDING BUGS:

      + bug 87407 - https://bugs.gentoo.org/show_bug.cgi?id=87407 (Opened 2005-03-31 05:15 PST)

      + bug 87410 - https://bugs.gentoo.org/show_bug.cgi?id=87410 (Opened 2005-03-31 05:31 PST)

----------

## Deathwing00

The guide is almost completed. Please, have a look at it, report issues, ideas and all that know procedure.

New things in this update:

- RFCOMM

- Personal Area Network

- Desktop Applications

----------

## ClintonBosch

Thanks for the tutorial, it was very helpful. 

The problem that I have is that I have a headless machine for a server and I want an IP address assigned to the bnep interface automatically when it is created. I have read a few times on the internet that this is possible using hotplug and also using the script /etc/bluetooth/pan/dev-up (I have created this script and in it I put "ifconfig bnep0 10.0.0.1" but when I create a connection from another machine using pand --connect <address>, the bnep0 interface is created but without an IP address). Please help

----------

## Deathwing00

It is in my agenda to create something like that but... with firewall. The problem is that currently I do not have the time... but I will in 3 weeks time.

I'll keep this as a reminder or... if there is anyone else who can try it until I end my exams, I'll do the necessary updates.

----------

## ClintonBosch

After much searching I will answer my own question incase anyone is interested:

What happens is that the PAN daemon 'pand' calls a script named

'dev-up' in /etc/bluetooth/pan/ whenever a 'bnep0' interface has been

created. In my case the pan directory did not exist ... so I just created it.

The 'dev-up' script may look as follows:

	#!/bin/sh

	ifconfig bnep0 10.0.0.1

On the PANU side, 'dev-up' would look like this:

	#!/bin/sh

	ifconfig bnep0 10.0.0.2

NNNB: Make sure that the 'dev-up' scripts have both the 'Read' and 'eXecutable'

attribute set. :Embarassed: 

----------

## Deathwing00

Good to know. I'll make further tests and add this to the howto.

----------

## Kampi

 *makentoo wrote:*   

> Hi,
> 
> I was thinking, if i could browse internet from my Nokia 6600, using my bluetooth dongle as a gateway
> 
> Phone ----(request page)----> PC ------(forwards)------> [internet]
> ...

 

maybe you are looking for this one:

http://www.cs.helsinki.fi/u/mraento/symbian/bt-ap.html

----------

## xdanx

HELPP!!!  I can't start  pand.

# /etc/init.d/bluetooth start

 * Starting Bluetooth...

  [ ok ]tarting hcid...

  [ ok ]tarting sdpd...

  [ ok ]tarting rfcomm...

 *     Starting pand...

  [ !! ]o open control socket: No such file or directory

  [ ok ]

========================

# pand

Failed to open control socket: No such file or directory

----------

## Deathwing00

The error comes from bnep.c:

```
   ctl = socket(PF_BLUETOOTH, SOCK_RAW, BTPROTO_BNEP);

   if (ctl < 0) {

      perror("Failed to open control socket");

      return 1;

   }

```

Did you compile all protocols in your kernel?

----------

## xdanx

Yes I did emerge net-wireless/bluez-libs net-wireless/bluez-utils without any errors.

----------

## Deathwing00

 *xdanx wrote:*   

> Yes I did emerge net-wireless/bluez-libs net-wireless/bluez-utils without any errors.

 

Please, read again. I told you to compile the protocols built-in or as modules in your kernel.

----------

## xdanx

 *Deathwing00 wrote:*   

>  *xdanx wrote:*   Yes I did emerge net-wireless/bluez-libs net-wireless/bluez-utils without any errors. 
> 
> Please, read again. I told you to compile the protocols built-in or as modules in your kernel.

 

Sorry,  I'm new to the linux scene so I'm not sure if I compiled protocols built-in or as modules.  How can I find out?

----------

## Deathwing00

Go to /usr/src/linux and

 *Quote:*   

> # make menuconfig

 

What you have to activate is in the howto, just check it out.

----------

## Festiz

kdebluetoothd is not masked...

----------

## Deathwing00

 *Festiz wrote:*   

> kdebluetoothd is not masked...

 

It was masked for amd64... not sure by now though.

----------

## xdanx

 *Deathwing00 wrote:*   

> Go to /usr/src/linux and
> 
>  *Quote:*   # make menuconfig 
> 
> What you have to activate is in the howto, just check it out.

 

all modules activated... what should i do next?

----------

## Deathwing00

After you have activated all the modules, compile the kernel and the modules and install them following the usual way, that is, make && make menuconfig and then copy the kernel image to /boot and edit your bootloader menu. After that, emerge the required utilities and proceed to test and configure.

----------

## Deathwing00

I've performed some minor updates on the howto.

----------

## the_mgt

Nice howto! Thanks!

I had to change "lm accept;" to "lm master;"  (to set up a PAN) on the server.

If you have a config_bnep0 entry in your /etc/conf.d/net, the bnep0 interface is set up according to it, i found out.

On the client, i have an extrascript to bring up the pan connection, writing the options in /etc/conf.d/bluetooth wasn't working.

----------

## j_c_p

Great HowTo   :Cool: .

It works for me with a Belkin Dongle USB Bluetooth 10 (F8T009,  kernel bcm2035 driver) and a Samsung SGH-E730 portable phone.

http://jcp.lespotos.com/images/Gentoo64-24092005-8-1.jpg

http://jcp.lespotos.com/images/Gentoo64-24092005-9-1.jpg

http://jcp.lespotos.com/images/Gentoo64-24092005-14.jpg

http://jcp.lespotos.com/images/Gentoo64-24092005-15.jpg

 *Quote:*   

> phoenix64 jcp # hcitool scan 
> 
> Scanning ... 
> 
>         00:12:47:A3:83:48       SAMSUNG SGH-E730

 

----------

## shirazmexico

Hi 

I wonder if u could help

Im trying to find a way to be able to detect the make and model number of a mobile phone via bluetooth using Java and then send the device a file in a format that it supports.

The app i intend to dev would run on windows xp pro.

Id appreciate any help/pointers you can suggest

Thanks

Shiraz

shirazmexico@hotmail.com

----------

## HomerJ

Hi there:

I have a PCMCIA Bluetooth card that is as follows:

Billionton  PCBTC1 PCMCIA 0xff 0xff 0x0f 0x00 1.1 (0x020d) 1.1 (0x020d) CSR 

Despite being listed at the top of your post, the instructions mention nothing about PCMCIA cards.  Would the procedure be the same?  (Because I can't get the card to show up with the commands listed here)

Anyone can help?

Thanks!

(Dell Latitude C640).

----------

## richiefrich

I can't get bnep to inital for my mouse and keyboard

when i do then pand stuff then a ifconfig -a there no bnep0 or any bnep there at all

I did the modprobe bnep it loaded but for some reason doen't work  :Sad: 

----------

