# wg26_linuxdriver **Repository Path**: justfunny/wg26_linuxdriver ## Basic Information - **Project Name**: wg26_linuxdriver - **Description**: 门禁常用wg26协议,linux驱动程序。使用linux IIO子系统,已经通过项目验证 - **Primary Language**: Unknown - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2020-02-20 - **Last Updated**: 2024-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # linux 韦根26驱动程序 ​ 项目需要使用韦根门禁控制器,百度并翻墙后,没有找到满意的驱动程序。参考了linux iio子系统框架后,编写了此驱动程序。经过测试后,该驱动效率高且稳定,已经有实际项目应用。在此开源,以供其他由此需求的同行参考。 * 同时支持门禁卡和按键 * iio子系统,阻塞访问 ## build & test 1. 拷贝wg26目录至driver/iio/目录下 2. iio目录下的Makefile,添加如下信息 ​ obj-y += wg26/ 3. 内核根目录下make menuconfig 使能该驱动程序 4. 设备树种配置门禁需要的gpio,如下为示例: ```c wg26_1{ compatible = "wg26"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_wg261>; gpios = <&gpio3 20 0 &gpio3 19 0 >; }; pinctrl_wg261:wg261grp{ fsl,pins = < MX6UL_PAD_LCD_DATA15__GPIO3_IO20 0x10801 MX6UL_PAD_LCD_DATA14__GPIO3_IO19 0x10801 >; }; ``` 5. 重新编译内核后,cat /sys/bus/iio/devices/iio:device1/in_timestamp_input,刷门禁卡后变可读到上报的门禁卡号。byte[0]为1时,后续为门禁卡号;byte[0]为2时,为按键开门 6. 验证卡号、按键: 返回数据除去byte[0],hid = val/65536, pid = val %65536 如果按键方式,后续数据按键的ascii码 ​