栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

指纹基本调试方法

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

指纹基本调试方法

文章目录
  • 一.单编烧入
    • 1.单编
    • 2.烧录
  • 二.认识指纹
    • 1.常见指纹模组
    • 2.指纹录入
  • 三.指纹调试
    • 1.so 库文件移植
    • 2.验证指纹功能
    • 3.TZlog (高通平台)
    • 4.串口log
    • 5.log 打印缺失处理
    • 6.查看手机指纹供应商
    • 7.指纹采图工具

一.单编烧入 1.单编

1.首先:source build/envsetup.sh (targer 目录下)

2.其次:lunch —选择一个特定的类型
这里选的是 (对应项目的userdebug)

3.最后:make bootimage -j8

内核
make bootimage
设备树
make dtboimage

4.常用主要镜像的编译后缀

模块镜像后缀主要涉及内容
dtsdtboimage指纹dts配置(arch/arm64/boot/dts/mediatek/huaihe212.dts )
kernelbootimage指纹驱动( kernel-4.19/drivers/input/fingerprint/)

2.烧录

打开 手机设置----> 关于手机 ----->版本号
然后连续点击版本号7次 近入开发者模式(已经是开发者模式的就不需要了),
接下来手机插上usb进行单刷:
烧录:adb reboot bootloader
fastboot flash boot boot.img
fastboot flash dtbo dtbo.img
fastboot reboot
mtk平台也可以用 fash tool 烧更方便

二.认识指纹 1.常见指纹模组

2.指纹录入

1.通过设置----->安全 -----> 指纹

2. 添加指纹
将手指置于指纹模组上进行指纹采集,直至成功

三.指纹调试

名词解释
TZ:Trust Zone
TA:Trust Application 运行在安全环境(TZ:TrustZone)下的程序
CA:Client Application 运行在普通环境下的程序
QSEE: Qualcomm secure execution environment
HLOS:High-level operation system 相对于TZ来说就是Android/kernel层
Selinux:Security-Enhanced Linux linux安全子系统
SPI:是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。
我们平时经常用到三种log:
adb log(main log):
主要是看android启动后的上层日志信息,比如指纹的CA日志
kernel log
查看android底层启动的日志信息,比如指纹的驱动初始化,gpio操作等。
qsee_log
查看TZ运行的日志信息,比如指纹的TA初始化交互等。

1.so 库文件移植

将FAE提供so文件分别push到相应的文件夹下:
adb push fingerprint.default.so /vendor/lib64/hw/
如果不确定对应的库文件具体应该push到什么路径下,可以先在手机下用find 命令先查找下:
find - name “xxxxx.so”

find -name “fingerprint.focaltech.default.so”

然后就可以adb push 到对应的路径下了

2.验证指纹功能

打开 手机设置---->安全 查看是否有指纹选项

1.有指纹选项,可以在设置中进行指纹的录入和解锁测试
在指纹录制和解锁时,执行
adb shell logcat -v threadtime | grep -iE ‘onAcquired|FingerprintService:’

可以看到有 android.hardware.biometrics.fingerprint@2.1-service: onAcquired(0, 0)上报

2.如果没有指纹选项:
先关闭selinux 命令是adb shell setenforce 0,当
adb reboot
adb wair-for-device shell setenforce 0
由于adb服务启动的比较早,会在指纹服务启动之前启动,所以指纹服务启动之前,我们可以用setenforce命令来关闭selinux,被指纹营造一个selinux关闭的环境。
正常情况下, 会在设置安全的菜单中看到指纹选项,可以在设置中进行指纹的录入和解锁测试。如果设置中没有指纹选项出现。则需要抓取log进行分析,命令如下:
adb reboot
adb wait-for-device logcat > logcat.txt (开机log)

3.查看指纹服务
ps -ef |grep finger

kill 813
指纹服务会重新启动

如果还是没有指纹选项,当节点什么的查看都已经存在了
我们可以 进入手机

adb shell
logcat | grep finger
然后 手指上下触摸指纹模组
看logcat 打印是否有打印(就是是否有中断触发)

如果上面所有步骤都验证完了,开机log里面也有模组id打印
那基本上可以确定底层是没问题的,就需要拉上上层系统的人一起看看
(整个调试过程中都可以去联系指纹FAE帮忙一起看)

3.TZlog (高通平台)

指纹调试过程中经常需要查看tz log,adb shell后cat /d/tzdbg/qsee_log

4.串口log

1.ADB 打开串口

adb shell
echo 1 > /proc/mtprintk

2.或者修改kernel代码,然后单刷boot.img
kernel-4.14kernelprintkprintk.c +printk_disable_uart = 0;

3.ADB 保持串口log一直输出

adb shell setprop persist.uartconsole.enable 1

5.log 打印缺失处理


6.查看手机指纹供应商

所有项目指纹都需要我们这边提供一个接口可以判断当前手机的指纹供应商。
我们一般都是在hal层里hardware/interfaces/biometrics/fingerprint/2.1/default/BiometricsFingerprint.cpp中的openHal() 添加一个写值,工模那边可以直接通过persist.vendor.runin.fp的值来判断。

就可以通过adb shell “getprop | grep persist.vendor.runin.fp” 获取指纹供应商

adb shell “getprop | grep persist.vendor.runin.fp”

7.指纹采图工具

指纹厂商一般不对外开放,如果调试过程中需要采图可以直接联系指纹FAE提供

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/599530.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号