Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


etc:common_activities:zigbee

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
etc:common_activities:zigbee [2008/07/30 00:20] jcmvbkbcetc:common_activities:zigbee [2008/08/11 02:19] jcmvbkbc
Line 4: Line 4:
  
 ===== Задачи ===== ===== Задачи =====
-  * установить связь с отладочной платой; [[http://www.freescale.com/files/microcontrollers/doc/data_sheet/MC9S08GB60A.pdf?fsrch=1&WT_TYPE=Data%20Sheets&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation|мануал на процессор]] +  * [+] установить связь с отладочной платой; [[http://www.freescale.com/files/microcontrollers/doc/data_sheet/MC9S08GB60A.pdf?fsrch=1&WT_TYPE=Data%20Sheets&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation|мануал на процессор]]; -- готово, работает; 
-    * выяснить, можно ли это сделать по USB? -- результат отрицательный; +    * [+] выяснить, можно ли это сделать по USB? -- результат отрицательный; 
-    * если по USB -- нет, выяснить, каким должен быть кабель RS-232; -- кабель обычный, прямой;+    * [+] если по USB -- нет, выяснить, каким должен быть кабель RS-232; -- кабель обычный, прямой;
   * разобраться с драйвером ZigBee и предоставляемым им интерфейсом;   * разобраться с драйвером ZigBee и предоставляемым им интерфейсом;
 +    * [+] какие типы сокетов можно создать в PF_ZIGBEE? -- SOCK_DGRAM и SOCK_RAW, сейчас идентичные по функциональности;
 +    * [?] как посылать через сокеты команды разным уровням стека протоколов zigbee?
 +    * [?] как получать через сокеты принимаемые и отправляемые через стек пакеты?
 +      * [+] с помощью PF_PACKET/SOCK_RAW; получаемые сейчас пакеты содержат кусок PDU уровня MAC, спереди отрезано 9 байт того же уровня, сзади отрезано 5 байт, 3 из которых -- какого-то мустора;
   * разобраться с Wireshark -- как написать свой анализатор протокола;   * разобраться с Wireshark -- как написать свой анализатор протокола;
-    * выяснить, с какими устройствами может работать существующий диссектор;+    * [+] научиться получать файл с link encap=wpanчтобы скормить его существующему диссектору; -- вручную, pcap_open_dead(195,...); 
 +    * [-] создать сетевой интерфейс, из которого можно получать пакеты wpan; -- интерфейс создается при активизации ldisc; wpan не распознается dumpcap;
  
 ===== Результаты ===== ===== Результаты =====
Line 16: Line 21:
 Входит в ядра серии 2.6. Должен собираться и работать по make ARCH=um defconfig ; make ARCH=um. Однако, статистика такова: 2.6.17-2.6.23 не собирается ни одно. 2.6.24-2.6.25 собираются все. Входит в ядра серии 2.6. Должен собираться и работать по make ARCH=um defconfig ; make ARCH=um. Однако, статистика такова: 2.6.17-2.6.23 не собирается ни одно. 2.6.24-2.6.25 собираются все.
  
-Для текущей версии драйвера make defconfig недостаточен. После make defconfig стоит выполнить make menuconfig и поставить M в Library routines/CRC* functions. +Вместо http://uml.nagafix.co.uk/FedoraCore5/FedoraCore5-x86-root_fs.bz2 стоит использовать http://uml.nagafix.co.uk/Fedora8/Fedora8-x86-root_fs.bz2. И вообще, занятный сайт -- http://uml.nagafix.co.uk/
- +
-Образ http://uml.nagafix.co.uk/FedoraCore5/FedoraCore5-x86-root_fs.bz2 хорош. Однако, скомпилированные под F8 бинарники говорят на нем "Floating point exception". В source/tools/Makefile добавить LDFLAGS += -pthread -static. +
- +
-Альтернативный вариант -- http://uml.nagafix.co.uk/Fedora8/Fedora8-x86-root_fs.bz2. И вообще, занятный сайт -- http://uml.nagafix.co.uk/+
  
 ==== Драйвер ZigBee ==== ==== Драйвер ZigBee ====
  
 Собирается и устанавливается. В readme написано modprobe zb_tty dev_name="my_dev1" mac_addr=1, однако последний модуль называется zb-ldisc и параметр mac_addr он не поддерживает. Собирается и устанавливается. В readme написано modprobe zb_tty dev_name="my_dev1" mac_addr=1, однако последний модуль называется zb-ldisc и параметр mac_addr он не поддерживает.
 +
 +=== roadmap по граблям ===
 +  - на этапе сборки ядра, после make defconfig ARCH=um выполнить make menuconfig ARCH=um и поставить M в Library routines/CRC* functions;
 +  - после загрузки в uml отредактировать /etc/inittab, убрав последнюю строку (что-то заканчивающееся на ttyS0, через который мы работаем с устройством);
 +  - для запуска sock-coord и sock-router требуется поддержка PF_ZIGBEE. Для этого следует modprobe af_zigbee. А предварительно поменять include/linux/net.h и include/linux/socket.h:
 +<file>
 +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                   /* sys_socket(2)                */
 + #define SYS_BIND                     /* 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
 +</file>
  
 ==== Отладочная плата ==== ==== Отладочная плата ====
Line 40: Line 72:
  
 Уже существует анализатор IEEE802.15.4: wireshark/epan/dissectors/packet-ieee802154.* Уже существует анализатор IEEE802.15.4: wireshark/epan/dissectors/packet-ieee802154.*
 +
 +Страничка на wiki wireshark: http://wiki.wireshark.org/IEEE_802.15.4
etc/common_activities/zigbee.txt · Last modified: 2008/09/14 15:26 by jcmvbkbc