Table of Contents

Стек ZigBee для Linux

Проект linux-zigbee реализует стек протоколов ieee802.15.4 в виде набора драйверов ядра linux, драйвер трансивера zigbee, firmware для трансивера и набор утилит. Взаимодействие с транисивером идет через последовательный порт. Отладка выполняется в UserModeLinux.

Внешние ссылки

Установка и настройка

Первый шаг – получить исходники драйвера (svn co https://zigbee-stack-t.svn.sourceforge.net/svnroot/zigbee-stack-t zigbee-stack-t). Дальше – zigbee-stack-t/trunk/README.txt с небольшими исправлениями:

diff -bur linux-2.6.25-org/include/linux/net.h linux-2.6.25/include/linux/net.h
--- linux-2.6.25-org/include/linux/net.h        2008-04-17 06:49:44.000000000 +0400
+++ linux-2.6.25/include/linux/net.h    2008-08-10 00:58:00.000000000 +0400
@@ -26,7 +26,7 @@
 struct inode;
 struct net;

-#define NPROTO         34              /* should be enough for now..   */
+#define NPROTO         35              /* should be enough for now..   */

 #define SYS_SOCKET     1               /* sys_socket(2)                */
 #define SYS_BIND       2               /* sys_bind(2)                  */
diff -bur linux-2.6.25-org/include/linux/socket.h linux-2.6.25/include/linux/socket.h
--- linux-2.6.25-org/include/linux/socket.h     2008-04-17 06:49:44.000000000 +0400
+++ linux-2.6.25/include/linux/socket.h 2008-08-10 00:57:47.000000000 +0400
@@ -189,7 +189,7 @@
 #define AF_BLUETOOTH   31      /* Bluetooth sockets            */
 #define AF_IUCV                32      /* IUCV sockets                 */
 #define AF_RXRPC       33      /* RxRPC sockets                */
-#define AF_MAX         34      /* For now.. */
+#define AF_MAX         35      /* For now.. */

 /* Protocol families, same as address families. */
 #define PF_UNSPEC      AF_UNSPEC
depmod
dmesg -n8
modprobe ieee80215_lib
modprobe zb
modprobe dbg_print
modprobe ieee80215 debug_opts=20 ts=1
modprobe zb_ldisc dev_name="my_dev1"
modprobe af_zigbee

Как это выглядит у меня

Цели объявленные в группе

  1. реализовать диссектор для Wireshark – решение
  2. сделать чтобы все уровни (LDISC, IEEE 802.15.4, ZigBee NWK) были независимы друг от друга
  3. определить и реализовать интерфейс сокетов на уровне IEEE 802.15.4 и ZigBee NWK
  4. реализовать ZigBee APL в пользовательском коде

Текущие результаты

Тестовый набор патчей для достижения первой цели: