高通Android 8.1 扫码枪无法扫sn包含2或者全部是2的问题

news2024/11/25 7:08:24

 背景:由于近期工厂生产,测试突然反馈扫码枪扫sn总是丢失2,比如

AXB2SHS822009997/LSXG 结果显示是 AXBSHS800997/LSX

于是我叫测试找了之前可以版本然后抓日志进行对比发现,确实只有2这个数字无法扫,如果把2这一位改成其他数字或者字母都是可以正常显示,于是带着这个问题我们做了以下验证。

第一步

7661432800064

1、扫码枪扫机身二维码 都是可以正常扫码 

2、扫码枪在产测apk或者系统自带浏览器输入框扫码无法识别2 (xxx版本)

3、7月27版本 装 10月26日 产测apk 直接连hub也是可以用扫码枪扫sn号

4、扫码枪 扫设备主板8701112339000114 实际显示8701 1133 9000 114

第二步:到这里基本排除扫码枪跟产测apk的问题 

为了再次确认此异常版本是否可以正常输入2 ,于是我尝试用usb键盘接hub然后连接设备 此时输入2戴上键盘查看输入框也是无法输入2 ,因此问题基本可以锁定,应该哪里keycode把2替换了?

第三步:于是带着这个思路 查看确定异常版本之前以及出现问题版本git log 查看发现 有修改adb user版本连接 尝试还原 make clean全编发现扫码枪扫完包含2的sn还是无法正常显示 ,问题依旧存在!

于是进行下一个git log还原 发现之前同事有改一个物理home键,底层修改示例如下图所示

然后再看Generic.kl 中将之前的home键替换 如下图所示

然后我们再回想一下,USB扫码枪原理跟USB键盘都是外设类似于HID设备,都是通过Usb进行通讯,而且键盘都应是ASCII码,key 3 刚好是 2,我们尝试还原试下,发现扫码枪都无法连接,查看日志一直报remote no such device

而且每次连上USB扫码枪就会有一堆事件keycode上报,这些都是在PhoneWindowManager里面interceptKeyBeforeDispatching拦截处理

第四步:这时候发现这样还原还有问题,于是跟驱动商量把KeyCode 原本是115 改回去,但是对应底层dtsi code也要对应改成115,115对应就是Home键,上层KeyEevent默认一般都是不会去做修改。

然后再编译 用草料或者设备机身二维码去扫,sn包含2或者全部是2都显示正常,如下图log所示

到这里基本结束,这个问题其实也存在历史遗留问题,因此修改尽量保存git log或者git log写的详细一点,不然后面排除起来时间比较长,另外可以结合对应google aosp 8.1源码进行对比。包括正常异常机器日志进行对比,然后分析代码流程。基本就能定位问题。

总结:

1、根据正常异常日志跟代码 

2、一般拦截都是在frameworks/base/services/core/java/com/android/server/policy/PhoneWindManager处理

3、跟驱动他们拉齐如果不熟悉底层按键处理这一块

4、根据线上google aosp 8.1源码进行对比 找出差异点

转账请注明出处高通Android 8.1 扫码枪无法扫sn包含2或者全部是2的问题-CSDN博客,谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1176262.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

California Science Museum

文章目录 1. University of Southern California(USC)2. NASA航天飞机3. 返回舱4. Others彩蛋1: Paris, capital of France彩蛋2: Switzerland(瑞士)1. University of Southern California(USC) 2. NASA航天飞机

运动耳机品牌排行榜,推荐几款优秀的运动耳机

​说起耳机,相信大家都比较熟悉,特别是对于喜欢运动的爱好人士来说,那更是随身携带着。随着运动耳机的增长,大家都不知道该如何选择了。对于运动耳机除了需要佩戴稳固舒适之外,还有就是音质表现、防水性能、通话质量等…

外汇天眼实勘功能升级,带你沉浸式“云”穿交易商现场!

最近,外汇天眼新出了一个功能,这个功能可了不得了,不管你在国外还是在国内,它都能带你走进交易商现场。不过在介绍该功能之前,天眼君先问大家几个问题:在进行外汇交易前,你对自己的交易平台了解…

项目启动∣得益乳业引进企企通采购供应链管理+智采商城平台,切实提升供应链效率

近日,山东得益乳业股份有限公司(以下简称“得益乳业”)与企企通成功召开采购供应链管理智采商城双项目启动会。双方高层领导及项目团队关键成员,一同出席本次启动会。 本次合作以企企通数字化采购解决方案为基础,结合得…

基于 golang 从零到一实现时间轮算法 (三)

引言 本文参考小徐先生的相关博客整理,项目地址为: https://github.com/xiaoxuxiansheng/timewheel/blob/main/redis_time_wheel.go。主要是完善流程以及记录个人学习笔记。 分布式版实现 本章我们讨论一下,如何基于 redis 实现分布式版本的…

Java零基础手把手保姆级教程_类和对象(超详细)

文章目录 Java零基础手把手保姆级教程_类和对象(超详细)1. 类和对象1.1 类和对象的理解1.2 类的定义1.3 对象的使用1.4 学生对象-练习1.5测测你掌握了没? 2. 对象内存图2.1 单个对象内存图2.2 多个对象内存图2.3 多个对象指向相同内存图 3. 成…

从首届中国测绘地理信息大会,解读2023年度国产GIS创新关键词

创新是什么?这是各行各业持续思考的问题。 第一届中国测绘地理信息大会已进入倒计时!这是中国测绘学会、中国地理信息产业协会和中国卫星导航定位协会共同主办的全国性高端盛会。据悉,本次大会将有1个主论坛、38场分论坛,近2万平…

YOLOv8改进有效涨点系列->多位置替换可变形卷积(DCNv1、DCNv2、DCNv3)

本文介绍 这篇文章主要给大家讲解如何在多个位置替换可变形卷积,它有三个版本分别是DCNv1、DCNv2、DCNv3,在本篇博文中会分别进行介绍同时进行对比,通过本文你可以学会在YOLOv8中各个位置添加可变形卷积包括(DCNv1、DCNv2、DCNv3)&#xff0…

【每日OJ题—— 142. 环形链表 II (链表)】

每日OJ题—— 142. 环形链表 II (链表) 1.题目:142. 环形链表 II 2.方法讲解2.1.解法一:2.1.1.图文解析2.1.2.代码实现2.1.3.提交通过展示 2.2解法二:2.2.1图文解析2.2.2代码实现2.2.3.提交通过展示 1.题目:142. 环形链…

山西电力市场日前价格预测【2023-11-07】

日前价格预测 预测说明: 如上图所示,预测明日(2023-11-07)山西电力市场全天平均日前电价为318.54元/MWh。其中,最高日前电价为514.01元/MWh,预计出现在18: 00。最低日前电价为192.95元/MWh,预计…

ZKP16 Hardware Acceleration of ZKP

ZKP学习笔记 ZK-Learning MOOC课程笔记 Lecture 16: Hardware Acceleration of ZKP (Guest Lecturer: Kelly Olson) The What and Why of Hardware Acceleration Hardware acceleration is the use of dedicated hardware to accelerate an operation so that it runs faster…

Intel oneAPI笔记(3)--jupyter官方文档(SYCL Program Structure)学习笔记

前言 本文是对jupyterlab中oneAPI_Essentials/02_SYCL_Program_Structure文档的学习记录,包含对Device Selector、Data Parallel Kernel、Host Accessor、Buffer Destruction、的介绍,最后还有一个小关于向量(Vector)加法的实例 …

zookeeper本地部署和集群搭建

zookeeper(动物园管理员)是一个广泛应用于分布式服务提供协调服务Apache的开源框架 Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它 负责存储和管理大家都关心的数据 ,然 后 接受观察…

STM32单片机在线升级,手机在线升级STM32单片机,固件远程下载方法,局域网在线程序下载

STM32单片机,是我们最常见的一种MCU。通常我们在使用STM32单片机都会遇到程序在线升级下载的问题。 STM32单片机的在线下载通常需要以下几种方式完成: 1、使用ST提供的串口下载工具,本地完成固件的升级下载。 2、自行完成系统BootLoader的编写…

leetcode每日一题复盘(11.6~11.12)

leetcode 37 解数独 回溯算法的最后一种问题:棋盘问题,前面的N皇后也是棋盘问题,只不过N皇后只需要一层放一个数据,数独需要多次放入数据且保证数据不冲突 方法是通过bool返回值进行多次递归,每次递归放入一个数据,将该层数据填满后换下一层

【嵌入式开发学习】__串口丢数据的几个常见原因

前言 串口是工程师最常用的串行外设之一,但在实际应用中,还是会经常遇到各种问题,比如丢失一字节数据。 今天,我们就结合STM32来讲讲UART相关内容,以及容易丢失一字节数据的问题。 一、UART几个标志位 这里重点说一…

支付卡行业(PCI)PIN安全要求和测试程序 7个控制目标、33个要求及规范性附录ABC 密钥注入-PCI认证-安全行业基础篇4

概述 用于在ATM和POS终端进行在线和离线支付卡交易处理期间,对个人身份号码(PIN)数据进行安全管理、处理和传输。 该标准具体包括 7 个控制目标和 33 个安全要求, 标准的结构分为标准主体部分,标准附录(N…

聚会娱乐喝酒游戏小程序源码系统 可开流量主 带完整的搭建教程

今天罗峰来给大家分享一款聚会娱乐喝酒游戏小程序源码系统 。在聚会娱乐活动中,喝酒游戏是一种非常受欢迎的活动方式。但是,往往由于缺乏有效的组织和规则,导致游戏的进行不够顺畅,甚至出现混乱的情况。因此,开发一款能…

Linux提权方法总结

1、内核漏洞提权 利用内核漏洞提取一般三个环节:首先对目标系统进行信息收集,获取系统内核信息及版本信息 第二步,根据内核版本获取对应的漏洞以及exp 第三步,使用exp对目标进行攻击,完成提权 注:此处可…

Spring Security使用总结三,编写一个注册页面,不知道你有没有强迫症

不像先有鸡还是先有蛋这种话题,对于系统来说必须要先注册再登录,所以这一章主要就是讲注册,对于注册来说首先就是要有一个注册的页面,从系统的安全角度去考虑,这个注册页面可以是系统自带的注册页面,也可以…