[高通SDM450][Android 9.0] 虹软人脸算法WIFI信息变化导致授权失败
虹软人脸算法WIFI信息变化导致授权失败
- 开发平台基本信息
- 补丁下载地址
- 前言
- 问题描述
- 解决方法
开发平台基本信息
芯片: 高通SDM450
版本: Android 9.0
kernel: msm-4.9
补丁下载地址
https://gitee.com/Hebin320/csdn_patch
前言
人脸算法授权会获取设备终端的一些硬件信息进行算法绑定,而如果设备终端的信息发生改变算法授权就会失效;上一篇讲到了IMEI发生变化导致虹软算法失效的解决,具体可以看 虹软人脸识别因IMEI变化导致授权失败
问题描述
虹软算法在绑定设备终端的硬件信息中,有保存wifi的硬件信息,而wifi的硬件信息会随着wifi驱动的卸载与加载发生变化,而Android原生的代码中,开关wifi都会卸载、挂载wifi驱动;这使得在使用人脸算法的时候,开关wifi算法会认为设备终端的硬件信息发生了改变。
解决方法
通过问题的分析,可以得出解决方案就是在开关wifi的时候,只有第一次才会去加载wifi驱动,加载成功之后,再开关wifi都不要去卸载以及重新挂载wifi驱动;并且在开机的时候,系统拉起来之前,去开关一次wifi,把wifi驱动挂载。修改文件路径是:
- frameworks/opt/net/wifi/libwifi_hal/driver_tool.cpp
- frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiServiceImpl.java
具体修改patch如下:
diff --git a/libwifi_hal/driver_tool.cpp b/libwifi_hal/driver_tool.cpp
old mode 100644
new mode 100755
index 3089ee0..3f2774d
--- a/libwifi_hal/driver_tool.cpp
+++ b/libwifi_hal/driver_tool.cpp
@@ -44,16 +44,33 @@ bool DriverTool::TakeOwnershipOfFirmwareReload() {return true;}+bool isFirstLoad = true;
+bool isLoadDriver = false;
+bool DriverTool::LoadDriver() {- return ::wifi_load_driver() == 0;
+ //return ::wifi_load_driver() == 0;
+ if(isFirstLoad){+ if(::wifi_load_driver() == 0){+ isFirstLoad = false;
+ isLoadDriver = true;
+ return true;
+ }
+ return false;
+ }else{+ isLoadDriver = true;
+ return true;
+ }}bool DriverTool::UnloadDriver() {- return ::wifi_unload_driver() == 0;
+ //return ::wifi_unload_driver() == 0;
+ isLoadDriver = false;
+ return true;}bool DriverTool::IsDriverLoaded() {- return ::wifi_unload_driver() != 0;
+ //return ::wifi_unload_driver() != 0;
+ return isLoadDriver;}bool DriverTool::IsFirmwareModeChangeNeeded(int mode) {diff --git a/service/java/com/android/server/wifi/WifiServiceImpl.java b/service/java/com/android/server/wifi/WifiServiceImpl.java
old mode 100644
new mode 100755
index fc98f4e..27ded35
--- a/service/java/com/android/server/wifi/WifiServiceImpl.java
+++ b/service/java/com/android/server/wifi/WifiServiceImpl.java
@@ -654,7 +654,25 @@ public class WifiServiceImpl extends IWifiManager.Stub {} catch (RemoteException e) {/* ignore - local call */}
- }
+ }else{+ try {+ setWifiEnabled(mContext.getPackageName(), true);
+ } catch (RemoteException e) {+ /* ignore - local call */
+ }
+ final WifiManager wifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);
+ new Thread(new Runnable() {+ @Override
+ public void run() {+ try {+ Thread.sleep(1000);
+ wifiManager.setWifiEnabled(false);
+ } catch (InterruptedException e) {+ e.printStackTrace();
+ }
+ }
+ }).start();
+ }}public void handleUserSwitch(int userId) {--
[高通SDM450][Android 9.0] 虹软人脸算法WIFI信息变化导致授权失败相关推荐
- 下载高通SDM660 Android 10.0开源代码
参考网站: https://wiki.codeaurora.org/xwiki/bin/QAEP/ https://wiki.codeaurora.org/xwiki/bin/QAEP/release ...
- 下载高通 SDM845 Android 11.0 开源代码
参考网站: https://wiki.codeaurora.org/xwiki/bin/QAEP/ https://wiki.codeaurora.org/xwiki/bin/QAEP/release ...
- 高通平台Android 7.0屏蔽彩信发送功能
android\packages\providers\TelephonyProvider\AndroidManifest.xml 替换该文件中关于 sms, mms, sms-mms 的 androi ...
- [高通SDM450][Android9.0]屏幕显示DPI可动态配置
文章目录 开发平台基本信息 问题描述 解决方法 去除默认dpi限制 开发平台基本信息 芯片: 高通SDM450 版本: Android 9.0 kernel: msm-4.9 问题描述 正常我们要修改 ...
- [高通SDM450][Android9.0]屏蔽开放WIFi以及WIFI信号有个x导致无法上网
文章目录 开发平台基本信息 问题描述 解决方法 1.解决WIFI信号有个x的问题 2.屏蔽开放WIFi 开发平台基本信息 芯片: 高通SDM450 版本: Android 9.0 kernel: ms ...
- [高通SDM450][Android9.0]刷机后RTC时钟不生效问题
文章目录 开发平台基本信息 问题描述 解决方法 1.写入RTC时钟添加增加开机广播 开发平台基本信息 芯片: 高通SDM450 版本: Android 9 kernel: msm-4.19 问题描述 ...
- 乐2的android版本,乐视2高通|MIUI10|安卓6.0|最终完美版|极速_最新最全的乐2高通版ROM刷机包下载、刷机...
乐视2高通|MIUI10|安卓6.0|最终完美版|极速流畅|稳定实用|摇晃手势|DDK设置|养老专用 更新编译工具ROM体积更小相机切换不卡 因为Magisk的关系开机会有系统提示完全不影响 精简桌面 ...
- 高通SDM450 Android9上调试RS485接口温湿度传感器调试介绍
高通SDM450 Android9上调试RS485接口温湿度传感器调试介绍 1.初步确认硬件电路工作正常 2.确认主控端串口可以正常工作 3.调试主控串口经过RS485连接电脑可以正常收发 4.单独调 ...
- 高通SDM450 副屏mipi转EDP
高通SDM450 副屏mipi转EDP的调试基础是在之前主屏mipi转EDP的基础上面实现的,调试难度比主屏mipi转EDP简单一些,本来是也是在BootLoader的阶段对lt8911进行初始化,但 ...
最新文章
- mysql搭建主从的目的_mysql搭建主从
- python调用摄像头转向_教你如何利用python调用摄像头
- 使用Spring进行不同开发所需要用到的包
- “象征界”的奇观:刘天怜花鸟工笔作品印象
- hibernate自动配置_Hibernate自动冲洗的黑暗面
- php 正则 回溯,php 正则表达式效率 贪婪、非贪婪与回溯分析
- 人工智能应用,德国AI公司
- on() 和 click() 的区别:二者在绑定静态控件时没有区别,但是如果面对动态产生的控件,只有 on() 能成功的绑定到动态控件中。以下实例中原先的 HTML 元素点击其身后的 Dele
- python切割音频文件_python3使用pydub切分音频文件
- office 打开wps乱_word打开wps是乱码怎么办
- C语言程序设计飞机售票口,C语言课程设计报告飞机订票系统
- 离线地图瓦片下载工具
- java更改文件编码方式_java 更改文件编码
- 蓝桥杯 明码题解 【Java实现】
- linux 多核 双系统,Linux GRUB实现双系统引导教程
- 支付宝小程序开发+java服务
- 千兆以太网(四)——UDP协议
- Java操作Excel之Excel文件的下载
- Win11如何清理C盘垃圾文件
- 膨胀珍珠岩保温材料英国UKCA认证—EN 14316-1