虹软人脸算法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驱动挂载。修改文件路径是:

  1. frameworks/opt/net/wifi/libwifi_hal/driver_tool.cpp
  2. 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信息变化导致授权失败相关推荐

  1. 下载高通SDM660 Android 10.0开源代码

    参考网站: https://wiki.codeaurora.org/xwiki/bin/QAEP/ https://wiki.codeaurora.org/xwiki/bin/QAEP/release ...

  2. 下载高通 SDM845 Android 11.0 开源代码

    参考网站: https://wiki.codeaurora.org/xwiki/bin/QAEP/ https://wiki.codeaurora.org/xwiki/bin/QAEP/release ...

  3. 高通平台Android 7.0屏蔽彩信发送功能

    android\packages\providers\TelephonyProvider\AndroidManifest.xml 替换该文件中关于 sms, mms, sms-mms 的 androi ...

  4. [高通SDM450][Android9.0]屏幕显示DPI可动态配置

    文章目录 开发平台基本信息 问题描述 解决方法 去除默认dpi限制 开发平台基本信息 芯片: 高通SDM450 版本: Android 9.0 kernel: msm-4.9 问题描述 正常我们要修改 ...

  5. [高通SDM450][Android9.0]屏蔽开放WIFi以及WIFI信号有个x导致无法上网

    文章目录 开发平台基本信息 问题描述 解决方法 1.解决WIFI信号有个x的问题 2.屏蔽开放WIFi 开发平台基本信息 芯片: 高通SDM450 版本: Android 9.0 kernel: ms ...

  6. [高通SDM450][Android9.0]刷机后RTC时钟不生效问题

    文章目录 开发平台基本信息 问题描述 解决方法 1.写入RTC时钟添加增加开机广播 开发平台基本信息 芯片: 高通SDM450 版本: Android 9 kernel: msm-4.19 问题描述 ...

  7. 乐2的android版本,乐视2高通|MIUI10|安卓6.0|最终完美版|极速_最新最全的乐2高通版ROM刷机包下载、刷机...

    乐视2高通|MIUI10|安卓6.0|最终完美版|极速流畅|稳定实用|摇晃手势|DDK设置|养老专用 更新编译工具ROM体积更小相机切换不卡 因为Magisk的关系开机会有系统提示完全不影响 精简桌面 ...

  8. 高通SDM450 Android9上调试RS485接口温湿度传感器调试介绍

    高通SDM450 Android9上调试RS485接口温湿度传感器调试介绍 1.初步确认硬件电路工作正常 2.确认主控端串口可以正常工作 3.调试主控串口经过RS485连接电脑可以正常收发 4.单独调 ...

  9. 高通SDM450 副屏mipi转EDP

    高通SDM450 副屏mipi转EDP的调试基础是在之前主屏mipi转EDP的基础上面实现的,调试难度比主屏mipi转EDP简单一些,本来是也是在BootLoader的阶段对lt8911进行初始化,但 ...

最新文章

  1. mysql搭建主从的目的_mysql搭建主从
  2. python调用摄像头转向_教你如何利用python调用摄像头
  3. 使用Spring进行不同开发所需要用到的包
  4. “象征界”的奇观:刘天怜花鸟工笔作品印象
  5. hibernate自动配置_Hibernate自动冲洗的黑暗面
  6. php 正则 回溯,php 正则表达式效率 贪婪、非贪婪与回溯分析
  7. 人工智能应用,德国AI公司
  8. on() 和 click() 的区别:二者在绑定静态控件时没有区别,但是如果面对动态产生的控件,只有 on() 能成功的绑定到动态控件中。以下实例中原先的 HTML 元素点击其身后的 Dele
  9. python切割音频文件_python3使用pydub切分音频文件
  10. office 打开wps乱_word打开wps是乱码怎么办
  11. C语言程序设计飞机售票口,C语言课程设计报告飞机订票系统
  12. 离线地图瓦片下载工具
  13. java更改文件编码方式_java 更改文件编码
  14. 蓝桥杯 明码题解 【Java实现】
  15. linux 多核 双系统,Linux GRUB实现双系统引导教程
  16. 支付宝小程序开发+java服务
  17. 千兆以太网(四)——UDP协议
  18. Java操作Excel之Excel文件的下载
  19. Win11如何清理C盘垃圾文件
  20. 膨胀珍珠岩保温材料英国UKCA认证—EN 14316-1

热门文章

  1. 第十五章 VoIP 安全
  2. 利用python爬取股票实时信息
  3. 中国电信欢go建立话费话费异常预警(国际)
  4. 【AI TOP 10】扎克伯格要整顿Facebook;LeCun飙脏话批机器人Sophia;北京站加装人脸识别检票机
  5. MATLAB调用python获得股票数据并构建交易策略
  6. d313(d3131)
  7. 鸟哥的linux私房菜运维篇,鸟哥的Linux私房菜学习笔记之SAMBA
  8. Hadoop MapReduce编程 API入门系列之查找相同字母组成的字谜(三)
  9. (转)导数、偏导数、方向导数、梯度、梯度下降
  10. 思科ASA防火墙: 接口配置名称 安全等级 acl防控列表