K700 supports "objectpush" service; and opd is a daemon that supports
"objectpush" service too. The goal is to configure T43 and K700 to
enable the following 2 features in SLES10:
1. push a file from K700 to T43.
2. push a file from T43 to K700.
Steps to setup:
1. Setup T43 BlueZ.
1.1 bluetooth.ko, l2cap.ko and rfcomm.ko
These 3 modules are parts of implementation to bluetooth protocol stack.
Make sure these modules are installed.
1.2 bcm203x.ko
T43 integrated Broadcom’s bluetooth adapter bcm203x. Its corresponding
driver module in SLES10 is bcm203x.ko.
Make sure it is installed.
1.3 openobex
obex is the syncronym of Object Exchange, which is a session protocol that
can be used to exachange all kinds of objects like files, pictures, calendar
entries (vCal) and business cards (vCard).
openobex is a open source implementation of obex on the following 3 mediums:
a. InfraRed
b. Bluetooth
c. USB
Download, compile, link, install it.
1.4 bluez-libs
bluez-libs provides a library named bluetooth.so, which is Bluetooth protocol
stack library and can be used by above applications.
Download, compile, link, install it.
U can use mcp4 bluez-libs rpm or optionally the following link:
1.5 bluez-utils
bluez-utils provides bin programs, which are tools to configure and diagnose
bluetooth devices, show configuration etc. There are also some scripts and
daemons. For example, hciconfig, bluepincat and hcitool etc.
Download, compile, link, install it.
U can use mcp4 bluez-utils rpm or optionally the following link:
1.6 obexpush
After finishing the above modules and packages installtion, we can install opd.
obexpush provides 2 program: client and opd. client is a program to push local
files to other bluetooth devices. opd is a daemon who can receive files from
remote bluetooth devices to local directory.
Download, compile, link, install it.
1.7 /etc/bluetooth/pin
Use vi and change its content to "123456".
1.8 Fn+F5
Fn+F5 is the switch to turn on/off Bluetooth adapter on T43. If on, the light
of Bluetooth Flag on T43 LCD Light Bar is lighted. Otherwise, the light is off.
Use Fn+F5 to turn bluetooth adapter on.
1.9 detect local bluetooth adapter
linux-l20w:/download/bluetooth # hciconfig -a
hci0:   Type: USB
        BD Address: 00:0E:9B:DD:E4:D1 ACL MTU: 377:10 SCO MTU: 16:0
        RX bytes:388 acl:0 sco:0 events:17 errors:0
        TX bytes:319 acl:0 sco:0 commands:17 errors:0
        Features: 0xff 0xfe 0x0d 0x38 0x08 0x08 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 (none) (0)’
        Class: 0x100100
        Service Classes:
        Device Class: Computer, Uncategorized
        HCI Ver: 1.2 (0x2) HCI Rev: 0x9 LMP Ver: 1.2 (0x2) LMP Subver: 0x6963
        Manufacturer: Broadcom Corporation (15)
1.10 discover K700 or other bluetooth devices
linux-l20w:/download/bluetooth # hcitool -i hci0 scan
Scanning …
        00:0E:9B:DD:E4:DF       K700
        00:16:20:E6:01:55       W550i…
linux-l20w:/download/bluetooth # l2ping 00:0E:9B:DD:E4:DF
Ping: 00:0E:9B:DD:E4:DF from 00:0E:9B:DD:E4:D1 (data size 44) …
44 bytes from 00:0E:9B:DD:E4:DF id 0 time 129.83ms
44 bytes from 00:0E:9B:DD:E4:DF id 1 time 14.35ms
1.11 /etc/sysconfig/bluetooth
Make sure at least the following configuration:
OPD_DAEMON_ARGS="–mode OBEX –channel 10 –sdp –daemonize –path /var/lib/bluetooth/opd"
HCI_DAEMON_ARGS=" -f /etc/bluetooth/hcid.conf"
RFCOMM_DAEMON_ARGS="-f /etc/bluetooth/rfcomm.conf bind all"
Here, any files received from other devices are put to directory /var/lib/bluetooth/opd.
1.12 /etc/init.d/bluetooth
start/status/restart bluetooth services.
linux-l20w:/download/bluetooth # /etc/init.d/bluetooth status
Checking service bluetooth (enabled) :
      hcid  (activated)                                               running
      hidd  (activated)                                               running
   hid2hci  (activated)
      sdpd  (activated)                                               running
       opd  (activated)                                               running
    rfcomm  (activated)
      pand  (activated)                                               running
      dund  (activated)                                               running