This is an old revision of the document!
Table of Contents
Стек ZigBee для Linux
Задачи
- [+] установить связь с отладочной платой; мануал на процессор; – готово, работает;
- [+] выяснить, можно ли это сделать по USB? – результат отрицательный;
- [+] если по USB – нет, выяснить, каким должен быть кабель RS-232; – кабель обычный, прямой;
- разобраться с драйвером ZigBee и предоставляемым им интерфейсом;
- разобраться с Wireshark – как написать свой анализатор протокола;
- научиться получать файл с link encap=wpan, чтобы скормить его существующему диссектору;
- [?] создать сетевой интерфейс, из которого можно получать пакеты wpan;
Результаты
User Mode Linux
Входит в ядра серии 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 хорош. Однако, скомпилированные под 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
Собирается и устанавливается. В readme написано modprobe zb_tty dev_name=“my_dev1” mac_addr=1, однако последний модуль называется zb-ldisc и параметр mac_addr он не поддерживает.
Отладочная плата
Пытался установить взаимодействие с отладочной платой по USB и по RS-232. Ожидал, что при получении команды (например, “zb\x1”) загорится первый светодиод.
Вопросы:
- на отладочной плате есть интерфейс USB, в readme тоже указан /dev/ttyUSB, должно ли оно так работать (было бы проще чем через COM, однако, у меня не получилось – нет реакции, вообще никакой);
- при подключении через RS-232, каким должен быть кабель? (подозреваю, что прямым); по скольки линиям идет взаимодействие? (судя по тому, что тестовые программы включают аппаратный flow-control, 3-проводного кабеля мало);
- тестовые программы через RS-232 запускаются однократно. при следующем запуске они повисают на открытии /dev/ttyS. почему? как (и можно ли) протестировать отладочную плату без драйвера, просто посылая команды в /dev/ttyS?
Wireshark
Начало где-то здесь: http://www.wireshark.org/docs/wsdg_html_chunked/PartDevelopment.html
Уже существует анализатор IEEE802.15.4: wireshark/epan/dissectors/packet-ieee802154.*