一、驅動porting
①***_defconfig
config_mtk_spi=y
②dws配置
四個dct/dct/codegen.dws
新增自定義變數名,以便dws可以選擇
dct/eint_yusu.cmp
dct/gpio_yusu.cmp
③驅動除錯
驅動定義好相關引腳
#define gpio_focal_fp_rst_pin gpio_fp_rst_pin //gpio3
#define gpio_fp_int_pin
(gpio63 | 0x80000000)//dws not config gpio name
static int mt_spi_gpio_set(void)
focal_fp_sensor_probe
mt_spi_gpio_set();
ioctl() 上層需要查詢中斷腳狀態
casefocal_fp_get_mcu_status:
g_fpmcustatus = mt_get_gpio_in(gpio_fp_int_pin);
focal_fp_fw_download檢查韌體download是否成功,若成功,驅動基本可以工作了。
二、開啟"設定"指紋解鎖功能
①編譯內建相關庫
2、libmtk_fpclient_lib.so ----->/system/lib
3、libftalg.so -------------------->/system/lib
4、fp_native_service ----------->/system/bin
5、libfpsdk.so ------------------>/system/lib
6、sepolicy許可權,eng除錯可以手動setenforce 0
device/alibaba/common/device.mk
+yunos_support_alifp_chip?= none
+$(warning ************compiled fingerprint chip: $(yunos_support_alifp_chip) ***********)
+ifeq ($(yunos_support_alifp_chip),focaltech)
+yunos_support_alifp := true
+product_packages += alifingerservice //
+product_copy_files += device/alibaba/common/fingerprint/fp_native_service:system/bin/fp_native_service
+product_copy_files += device/alibaba/common/fingerprint/libmtk_fpclient_lib.so:system/lib/libmtk_fpclient_lib.so
+product_copy_files += device/alibaba/common/fingerprint/libfpsdk.so:system/lib/libfpsdk.so
+product_copy_files += device/alibaba/common/fingerprint/libftalg.so:system/lib/libftalg.so
+endif
+對應專案device.mk 配置開關
device/alibaba/***/device.mk
+#support fingerprint
+yunos_support_alifp_chip := focaltech
+②設定服務及許可權
device/alibaba/common/init.yunos.rc
+#fingerprint native service
+on post-fs
+ chown system system /dev/focal_fp
+ chown system system /system/bin/fp_native_service
++service fingerprint /system/bin/fp_native_service
+ class core
+ user root
+ group root
device/mediatek/common/sepolicy/device.te
device/mediatek/common/sepolicy/file_contexts
device/mediatek/common/sepolicy/fingerprint.te
device/mediatek/common/sepolicy/service.te
device/mediatek/common/sepolicy/service_contexts
device/mediatek/common/sepolicy/system_server.te
三、工作邏輯及除錯技巧
①工作邏輯
包括指紋錄入及指紋解鎖
設定-新增指紋-完成指紋錄入
鎖屏按指紋-中斷上報uevent事件-上層接收事件進行影象匹配解鎖
②測試驅動是否正常工作
irq_test *****==== 測試中斷腳是否變化
uevent_test *****==== 測試uevent是否上報
uevent_get *****==== 測試uevent是否正常接收,路徑很關鍵,可以字串匹配方式
as608指紋模組的原理 AS608指紋模組
as608 指紋識別模組主要是指採用了杭州晟元晶元技術 synochip 的 as608 指紋識別晶元 而做成的指紋模組,模組廠商只是基於該晶元設計外圍電路,整合乙個可供2次開發的指紋模組 所以,只要是基於as608晶元的指紋模組,其控制電路及控制協議幾乎是一樣的,只是廠家和效能不同而已。vi 模組...
5 指紋除錯日誌
參考 chipsailing mtk 6.0 2.0 移植包 裡面的文件 一 將mtk 6.0 2.0 移植包 kernel 3.18 drivers input chipsailing的驅動檔案 拷貝到kernel 3.18 drivers input 目錄下 具體的存放路徑可以自定義 並修改驅動...
as608指紋模組的原理 指紋頭知識乾貨來啦!
指紋模組是指紋鎖的核心部件,安裝在如 指紋門禁或者硬碟等器件上,用來完成指紋的採集和指紋的識別的模組。現在市面上常見的指紋鎖產品指紋頭是光學指紋頭和半導體指紋頭。其優缺點各有千秋。光學指紋模組 優勢 環境適應性較強 光學指紋頭採集窗一般採用鋼化玻璃,能夠一定程度的抗壓抗磨,耐酸鹼 汙漬的腐蝕。對工作...