[RFC 0/5] Bluetooth LE 6LoWPAN

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

this is 6LoWPAN code for BT LE as described in
http://tools.ietf.org/html/draft-ietf-6lowpan-btle-12

The code is not yet ready for prime time but is sent
in order to get discussion started.

The devices need to be setup manually in this version.
This is implemented in patch 5. That patch is just a
temporary one and will be eventually removed when the
devices can discover the 6LoWPAN service automatically.

Test usage:
You have two devices with BlueZ 5 stack in them
     device1  00:11:22:33:44:55
     device2  66:77:88:99:00:11

First add the desired devices manually into kernel
root@device1# echo 66:77:88:99:00:11 > /sys/kernel/debug/bluetooth/hci0/ble6lowpan
root@device2# echo 00:11:22:33:44:55 > /sys/kernel/debug/bluetooth/hci0/ble6lowpan

then connect the devices
root@device1# hciconfig hci0 leadv
root@device2# hcitool lecc 00:11:22:33:44:55

if the connection is established, then you can send IPv6 packets
between these two systems using the link local addresses

root@device1# ping6 fe80::6477:88ff:fe99:0011
root@device2# ping6 fe80::211:22ff:fe33:4455

the ble6lowpan0 interface is created and routes to peer are
automatically setup.

By default 6LoWPAN connection is not established between devices,
so you need to add the MAC addresses manually into the
/sys/kernel/debug/bluetooth/hci0/ble6lowpan file.
If you want to prevent further connections you can remove
MAC address from the debugfs file like this
echo "00:11:22:33:44:55 d" > /sys/kernel/debug/bluetooth/hci0/ble6lowpan
Rebooting or unloading the bluetooth kernel module will also clear the
settings from the kernel.


Areas of improvement:
- route setting could be done in user space
- ARP type is set to IEEE802154 but the transferred packets are actually
  not that type
- discovery of 6LoWPAN service needs be automatic
- split patches more, especially number 2 is a bit too big


Cheers,
Jukka


Jukka Rissanen (5):
  Bluetooth: Initial skeleton code for BT LE 6LoWPAN
  Bluetooth: Enable 6LoWPAN support for BT LE devices
  route: Exporting ip6_route_add() so that BLE 6LoWPAN can use it
  Bluetooth: Set route to peer for 6LoWPAN
  Bluetooth: Manually enable or disable 6lowpan between devices

 include/net/bluetooth/l2cap.h |    1 +
 net/bluetooth/Makefile        |    2 +-
 net/bluetooth/ble_6lowpan.c   | 1714 +++++++++++++++++++++++++++++++++++++++++
 net/bluetooth/ble_6lowpan.h   |   28 +
 net/bluetooth/hci_core.c      |    4 +
 net/bluetooth/l2cap_core.c    |   20 +-
 net/ipv6/route.c              |    1 +
 7 files changed, 1768 insertions(+), 2 deletions(-)
 create mode 100644 net/bluetooth/ble_6lowpan.c
 create mode 100644 net/bluetooth/ble_6lowpan.h

-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux