Подключил считыватель wiegand, запускаю скрипт опроса (https://github.com/contactless/wiegand-linux-sysfs)
Подношу одну и ту же карту - и у меня все время разные значения и размерность передаваемого кода.
Подскажите в чем может быть причина? номера GPIO - 5 (R1) и 4 (R2) согласно документации
номера GPIO устанавливал в скрипте. Надо ли их дополнительно настраивать?
root@wirenboard:/usr/xml/wiegand-linux-sysfs-master# nice -n-19 ./wiegand_epoll 5 4
Using GPIO 5 for D0 and GPIO 4 for D1
got value 1 = 0x1 (2 bits)
got value 2011972 = 0x1eb344 (22 bits)
got value 740562 = 0xb4cd2 (21 bits)
got value 5085508 = 0x4d9944 (24 bits)
got value 25412 = 0x6344 (17 bits)
С питоном то же самое
root@wirenboard:/usr/xml/wiegand-linux-sysfs-master# nice -n-19 ./wiegand_test1.py
Binary: 0101010110
342
Binary: 00011100
28
Binary: 00101101010101101000100
1485636
Binary: 001011000110110100010
363938
Установил - перезагрузился - в /usr/src/ появилась папка, в ней в include есть linux/module.h
но не помогло. linux/module.h - No such file or directory
Подскажите, откуда я должен запускать компиляцию, куда скопировать папку со скриптом?
Запустил окружение, установил хедеры, склонил из гита, все равно не получается…
Или он построил все-таки? не могу понять, что за ошибки, подскажите, ребята
root@wbdevenv:/usr/wiegand-linux# make KERNEL_DIR=/lib/modules/4.1.15-imxv5-x0.1/build
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -C /lib/modules/4.1.15-imxv5-x0.1/build SUBDIRS=/usr/wiegand-linux modules
make[1]: Entering directory /usr/src/linux-headers-4.1.15-imxv5-x0.1' Building modules, stage 2. MODPOST 1 modules LD [M] /usr/wiegand-linux/wiegand-gpio.ko /bin/sh: 1: arm-linux-gnueabi-ld: not found make[2]: *** [/usr/wiegand-linux/wiegand-gpio.ko] Error 127 make[1]: *** [modules] Error 2 make[1]: Leaving directory/usr/src/linux-headers-4.1.15-imxv5-x0.1’
make: *** [all] Error 2
root@wbdevenv:/usr/wiegand-linux#
Похоже, что вы находитесь в виртуализованном armel окуржении (эмуляция процессора wiren board). В таком случае вам не нужно скармливать ARCH и CROSS_COMPILE, т.к. вы компилируете под ту платформу, в которой и находитесь (armel).
Если использовать команду как у вас, то нужно выполнять её в
wbdev root
… только вот хедеры там апт-гетом уже не поставить, нужно вручную ставить пакет.
CROSS_COMPILE и ARCH забиты в Makefile.
Итого, работающая последовательность с использованием виртуализованного окружения:
Помогите, пожалуйста, с настройкой wiegand-a в WB. На данный момент ситуация как в первом посте. Наверняка же есть стандартные шаги для добавления драйвера.