youyeetoo X1 SBC I2C无法通信
本帖最后由 风火轮用户d0ff7 于 2023-10-9 15:07 编辑硬件主板型号:风火轮youyeetoo X1主板11代N5105四核X86开发板Windows10
固件名称/系统版本:主板自带Win10系统
自编的或固件下载地址:
Log日志: (可以导出,用TXT附件上传)
问题描述及复现步骤:
按照文档:新设备加入到系统:
1)从注册表缓存中读取BIOS配置,并保存到DSDT0000.bin文件
asl.exe /tab=DSDT /c
2)反编译DSDT0000.bin文件,生成DSDT0000.dsl (ASL CODE文件)
.\iasl.exe -ve .\DSDT0000.bin
3)修改DSDT0000.dsl 文件,添加新设备到改文件中
根据实际需要,添加设备到文件中,后面的I2C/SPI/NFC 使用介绍中 具体举例需要添加的内容.
4)编译修改好的DSDT0000.dsl,会生成DSDT0000.aml文件
.\iasl.exe -ve .\DSDT0000.dsl
5)写入注册表缓存
.\asl.exe /loadtable DSDT0000.aml
6)忽略签名
Bcdedit /set testsigning on
7)重启系统,这样就能在设备管理器里面看到新设备.
在第4)步骤会出现错误:
https://i.hd-r.cn/2bc73229fa2f4c6e9cae077107a912b1.png
按照错误提示修改DSDT0000.dsl的重复代码后可以编译通过生成DSDT0000.aml文件。
然后按照 I2C接口读写测试,BIOS中添加I2C Slave从机设备,具体code如下:
https://i.hd-r.cn/46e5e4405ac4423ff54ae484438415dd.png
然后继续执行:
iasl.exe -ve .\DSDT0000.dsl
asl.exe /loadtable DSDT0000.aml
Bcdedit /set testsigning on最后重新启动系统,桌面右下角已经显示开启了测试模式:
https://i.hd-r.cn/8144aaec42867c515cd4a78f63bde4c6.png
然后打开设备管理器,发现了添加的未知设备
https://i.hd-r.cn/e7851cb30d029c1573b17c842f2b6a4e.png
然后按照wiki安装驱动方式,安装驱动,打印log显示错误:
https://i.hd-r.cn/348e9f9e7df90b880492c562d0177508.png
再执行I2C-SPI-Test.exe测试工具,发现也并不能成功连接到设备。
data:image/png;base64,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
并且在安装驱动及执行I2C-SPI-Test.exe测试工具时在I2C的sda和scl总线上用逻辑分析仪并未抓取到任何数据信号:
https://i.hd-r.cn/4e43a7e0800ce6c597f7a625778ea0ff.png
请问这是什么原因还是我哪里配置有错误。
关于步骤4编译BIOS dsl源码失败:
1)现象:
.\iasl.exe -ve .\DSDT0000.dsl出现很多错误,
这些错误提示都是 case (XXX)重复
2)原因:
读取主板BIOS二进制后,反编译出来的DSL文件,有部分出现 switch() case XX重复现象,
需要根据编译的错误提示,对应删除多余的case就可以解决.
比如提示:
./DSDT0000.dsl63145: Case(0xA0)
Error 6022- case value already specified
Original Case value below:
./DSDT0000.dsl 63142: Case(0xA0)
说明DSL源码中,一个switch(X) 对应case 有2个以上相同的 case 0XA0,
C编程语言思路下,一个switch(X)下,只能有一个case 0XA0,其他多余的case 0XA0需要删除
3)处理方法:
再一个 一个switch(X)下,找到对应重复case 0XA0,只保留一个,删除多余的case 0XA0
如何快速定位错误呢:
根据编译错误提示,比如上面说到的提示:
./DSDT0000.dsl63145: Case(0xA0)
./DSDT0000.dsl63142: Case(0xA0)
那么63145 就是DSDT0000.dsl 文件的行号,对应有一个case 0XA0
那么63142 就是DSDT0000.dsl 文件的行号,也对应有一个case 0XA0
删除其中一个即可.
依次类推,删除删所有的重复的case XX ,就可以.
4)删除多余的case XX后,立即编译,验证是否删除干净.
多次编译,没有报错为止
5)这个BIOS DSL 删除好多余case后,做一个备份,后面添加I2C/SPI设备的时候,可以直接使用.不用重新从主板读取二进制进行编译. 风火轮用户68631 发表于 2023-10-9 15:42
关于步骤4编译BIOS dsl源码失败:
1)现象:
已经按上面操作,然后编译完成并成功加载了,但是目前看并不能成功访问I2C设别,我用示波器或逻辑分析在I2C的两根线上并没有抓取到数据信号,目前是这个不知道什么原因,能帮忙看看么?谢谢 风火轮用户d0ff7 发表于 2023-10-9 15:57
已经按上面操作,然后编译完成并成功加载了,但是目前看并不能成功访问I2C设别,我用示波器或逻辑分析在I ...
方便截图新添加设备在windows设备管理器里面,查看驱动是否安装成功? 风火轮用户OS75I 发表于 2023-10-9 16:22
方便截图新添加设备在windows设备管理器里面,查看驱动是否安装成功?
https://i.hd-r.cn/348e9f9e7df90b880492c562d0177508.png
驱动安装过程中提示I2C通信失败,而且示波器上也未抓取到任何I2C数据 风火轮用户d0ff7 发表于 2023-10-9 16:36
驱动安装过程中提示I2C通信失败,而且示波器上也未抓取到任何I2C数据
麻烦提供2个截图:
1)设备管理器截图,类似
https://wiki.youyeetoo.cn/i2c%E5%AE%89%E8%A3%85%E9%A9%B1%E5%8A%A8%E8%AE%BE%E5%A4%87%E7%AE%A1%E7%90%86%E5%99%A8.png
2)I2C-SPI-Test.exe 运行且填写新的的I2C设备名称截图. 风火轮用户OS75I 发表于 2023-10-9 16:58
麻烦提供2个截图:
1)设备管理器截图,类似
https://wiki.youyeetoo.cn/i2c%E5%AE%89%E8%A3%85%E9%A9%B1%E5 ...
截图如下:
1)设备管理器截图,
https://i.hd-r.cn/8360927849a735ded05b42d259bcd768.png
2)I2C-SPI-Test.exe 运行且填写新的的I2C设备名称截图
https://i.hd-r.cn/b09691c514055e476c185fadde31f808.png 本帖最后由 风火轮用户OS75I 于 2023-10-9 17:34 编辑
风火轮用户d0ff7 发表于 2023-10-9 17:08
截图如下:
1)设备管理器截图,
1)按教程的话,新添加的设备应该出现在"人机接口设备"那里面,不应该在"传感器"那边
2)从截图来看,设备有感叹号,说明驱动也有问题,有感叹号的设备是肯定通讯不上的.
3)从您第一贴来看,您添加新设备名称(HID)是:QMI8658;而从您截图来看名称变成:QST8658了.需要核实一下.
4)所以麻烦提供一下2个文件:
当前添加了新设备使用的BIOS的文件:DSDT0000.dsl
修改过的驱动程序安装文件:SpbDriver.inf
[*]文件见附件
[*]另外我解释一下,驱动是可以在微软官网下载(www.catalog.update.microsoft.com),我现在使用的是加速度传感器,正确安装后确实是在传感器那边。
[*]我在驱动安装的时候就抓取通信的信号,但是我没有抓取到任何通信的信号,即便是错的信号。
[*]
风火轮用户d0ff7 发表于 2023-10-9 17:47
[*]文件见附件
[*]另外我解释一下,驱动是可以在微软官网下载(www.catalog.update.microsoft.com),我现在 ...
另外我按照 三、设备ID和驱动程序关联,安装SpbDriver.inf文件提示我:
https://i.hd-r.cn/10c8acbbc1b7095983fb4132ba5a8303.png 本帖最后由 风火轮用户OS75I 于 2023-10-9 19:31 编辑
风火轮用户d0ff7 发表于 2023-10-9 18:28
另外我按照 三、设备ID和驱动程序关联,安装SpbDriver.inf文件提示我:
1)若按教程来,把原BIOS ASL CODE 中的I2C 地址修改一下,配合I2C-SPI-Test.exe 就可以驱动. I2C-SPI-Test.exe是需要和SpbDriver.sys配合使用的.
SpbDriver驱动下载:
2)新添加设备:
BIOS ASL描述+驱动程序+和驱动配套的应用程序才能完好驱动起来的.
您若希望使用微软的驱动,您需要:
2.1 知道微软驱动,对该传感器设备在BIOS ASL CODE 中具体的描述要求.
2.2 对应驱动,目前您有了驱动
2.3 和驱动配套的应用程序
这些,您可以咨询芯片厂家.
本帖最后由 风火轮用户d0ff7 于 2023-10-9 23:04 编辑
风火轮用户OS75I 发表于 2023-10-9 19:29
1)若按教程来,把原BIOS ASL CODE 中的I2C 地址修改一下,配合I2C-SPI-Test.exe 就可以驱动. I2C-SPI-Test. ...
我看你发的驱动程序是SPI的有i2c的么,我这边是I2C设备,我测试一下 风火轮用户d0ff7 发表于 2023-10-9 23:03
我看你发的驱动程序是SPI的有i2c的么,我这边是I2C设备,我测试一下
风火轮用户d0ff7 发表于 2023-10-9 23:03
我看你发的驱动程序是SPI的有i2c的么,我这边是I2C设备,我测试一下
SpbDriver驱动 同时支持SPI和I2C 的.
13楼
上传的附件,已经把HID为QMI8658 的I2C设备添加进SpbDriver.inf,在windows测试模式下,
卸载老驱动,重新安装该驱动即可. 本帖最后由 风火轮用户d0ff7 于 2023-10-10 14:17 编辑
风火轮用户OS75I 发表于 2023-10-10 10:02
SpbDriver驱动 同时支持SPI和I2C 的.
13楼
上传的附件,已经把HID为QMI8658 的I2C设备添加进SpbDriver.inf ...
我卸载了老的驱动,安装了你13楼发的I2C-SPI驱动(添加QMI8658).zip 驱动,
https://i.hd-r.cn/f44221192d655075212a411fab4d172d.png
然后用I2C-SPI-Test.exe
https://i.hd-r.cn/6e9e682f31dcbd42c648686661b4373d.png
提示连接是成功的,但是我读寄存器的时候显示失败:
https://i.hd-r.cn/7f38100d96ea38b7c527582d31ff94f5.png
这个点击连接显示成功会和I2C设备通信么?我发现点击连接成功与读数据失败示波器都未抓取到任何数据波形(按我的理解你这个驱动只是读写接口,只要设备地址是正确的,通过I2C接口可以对任何连接的设备进行读写操作)
风火轮用户d0ff7 发表于 2023-10-10 13:35
我卸载了老的驱动,安装了你13楼发的I2C-SPI驱动(添加QMI8658).zip 驱动,
然后用I2C-SPI-Test.exe
几个方面排查:
1)在BIOS中I2C地址是否正确?注意是7位地址,不含读写位
2)SCL,SDA 是否已经加4.7K上拉电阻,不工作的时候,直接万用表测量看看是否是高电平.
3)接线是否正确
本帖最后由 风火轮用户d0ff7 于 2023-10-10 16:17 编辑
风火轮用户OS75I 发表于 2023-10-10 14:46
几个方面排查:
1)在BIOS中I2C地址是否正确?注意是7位地址,不含读写位
2)SCL,SDA 是否已经加4.7K上拉电阻, ...
1)I2C地址确认是正确的,在单片机上可以正常使用
2)已经加上拉电阻,用示波器测量空闲时SCL和SDA都是1.8v,如下图
https://i.hd-r.cn/991506b34276d444502244c244ec60dd.jpg
3)接线正确(即便不正确,我示波器也能抓到波形是不是?现在我用示波器根本抓不到主机发出来的I2C波形) 风火轮用户d0ff7 发表于 2023-10-10 16:16
1)I2C地址确认是正确的,在单片机上可以正常使用
2)已经加上拉电阻,用示波器测量空闲时SCL和SDA都是1. ...
您说1.8V,是不是您上拉用到1.8V电压?
上拉用1.8V我这边需要测试一下.测试后回复您. 风火轮用户d0ff7 发表于 2023-10-10 16:16
1)I2C地址确认是正确的,在单片机上可以正常使用
2)已经加上拉电阻,用示波器测量空闲时SCL和SDA都是1. ...
我这边测试了,SCL SDA 上拉1.8V和上拉3.3都没有问题的.
为了便于分析问题,我修改了测试程序win-I2C-SPI-Test-Tools,当读写失败显示GetLastError(的)值,
您下载后再测试看看,多读几次,然后把测试软件上显示的错误代码发上来.
出现错误的时候,错误代码在测试软件左下角提示信息,如图所示
本帖最后由 风火轮用户d0ff7 于 2023-10-11 10:30 编辑
风火轮用户OS75I 发表于 2023-10-11 08:54
我这边测试了,SCL SDA 上拉1.8V和上拉3.3都没有问题的.
为了便于分析问题,我修改了测试程序win-I2C-SPI- ...
我现在把器件去掉,去测量输出电压发现:I2C的VCC只有0.17左右,SDA和SCL只有0.57左右,,而我测了SPI的VCC是3.3v,是不是这路I2C有问题了?
https://i.hd-r.cn/b4b41aa62b1cd62f0416fe352753a678.jpg
https://img1.imgtp.com/2023/10/11/mYyEQ3E1.jpg
https://img1.imgtp.com/2023/10/11/xx2KFhOX.jpg
https://img1.imgtp.com/2023/10/11/KqPAITMc.jpg 风火轮用户OS75I 发表于 2023-10-11 08:54
我这边测试了,SCL SDA 上拉1.8V和上拉3.3都没有问题的.
为了便于分析问题,我修改了测试程序win-I2C-SPI- ...
我这边用你修改的软件测试了,错误如下图:
https://img1.imgtp.com/2023/10/11/IGE3zicl.png 本帖最后由 风火轮用户OS75I 于 2023-10-11 14:41 编辑
风火轮用户d0ff7 发表于 2023-10-11 10:40
我这边用你修改的软件测试了,错误如下图:
1)关于电压
I2C接口中的VCC 应该是3.3V才对.0.17V就是没有电压,检查一下2个0欧电阻是否断开或虚焊了:R2303或者R4002 ?
SCL/SDA 0.5V左右是对的,使用的时候,需要外接上拉电阻
SPI-VCC是3.3V是对的.
2)软件显示err code=433 表示未找到设备或者未识别设备.
这个有3个可能:
windows 驱动不对,重新安装windows驱动看一下.
I2C的SDA/SCL未接上拉电阻也会出现.
I2C设备未做有效应答
风火轮用户OS75I 发表于 2023-10-11 14:38
1)关于电压
I2C接口中的VCC 应该是3.3V才对.0.17V就是没有电压,检查一下2个0欧电阻是否断开或虚焊了:R2303 ...
我量了一下R2303断开了:dizzy:
页:
[1]