P5000 SMBus i2c 超时

本贴最后更新于 247 天前,其中的信息可能已经时移世易

核心问题

  启动刚启动就会出现:

[root@PlatOS ~]# dmesg | grep 0000:00:0f.0: [ 0.677240] pci 0000:00:0f.0: [8086:18ac] type 00 class 0x088000 [ 0.678023] pci 0000:00:0f.0: reg 0x10: [mem 0x20ffeb39000-0x20ffeb393ff 64bit] [ 99.999023] ismt_smbus 0000:00:0f.0: completion wait timed out [ 102.303036] ismt_smbus 0000:00:0f.0: completion wait timed out

一些验证的数据

lspci

[root@PlatOS ~]# lspci -vvs 00:0f.0 00:0f.0 System peripheral: Intel Corporation Device 18ac (rev 11) Subsystem: Intel Corporation Device 7270 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Interrupt: pin A routed to IRQ 44 NUMA node: 0 Region 0: Memory at 20ffeb39000 (64-bit, non-prefetchable) [size=1K] Capabilities: [40] Express (v2) Root Complex Integrated Endpoint, MSI 00 DevCap: MaxPayload 256 bytes, PhantFunc 0 ExtTag- RBE+ FLReset+ DevCtl: CorrErr+ NonFatalErr+ FatalErr+ UnsupReq+ RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop- FLReset- MaxPayload 256 bytes, MaxReadReq 128 bytes DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend- DevCap2: Completion Timeout: Not Supported, TimeoutDis+, NROPrPrP-, LTR- 10BitTagComp-, 10BitTagReq-, OBFF Not Supported, ExtFmt-, EETLPPrefix- EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit- FRS- AtomicOpsCap: 32bit- 64bit- 128bitCAS- DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled AtomicOpsCtl: ReqEn- Capabilities: [80] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- Capabilities: [8c] MSI: Enable+ Count=1/1 Maskable+ 64bit+ Address: 00000000fee00418 Data: 0000 Masking: 00000000 Pending: 00000000 Capabilities: [100 v1] Advanced Error Reporting UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol- UESvrt: DLP- SDES- TLP+ FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP+ ECRC- UnsupReq- ACSViol- CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr- CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+ AERCap: First Error Pointer: 00, ECRCGenCap- ECRCGenEn- ECRCChkCap- ECRCChkEn- MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap- HeaderLog: 00000000 00000000 00000000 00000000 Kernel driver in use: ismt_smbus Kernel modules: i2c_ismt

i2cdetect

[root@PlatOS ~]# i2cdetect -l i2c-1 smbus SMBus I801 adapter at 5000 SMBus adapter i2c-2 i2c AST i2c bit bus I2C adapter i2c-0 smbus SMBus iSMT adapter at 20ffeb39000 SMBus adapter

lsmod

[root@PlatOS ~]# lsmod | grep i2c i2c_algo_bit 16384 2 igb,ast i2c_i801 32768 0 i2c_ismt 24576 0 i2c_dev 20480 0

i2cdetect -y -F 0

[root@PlatOS ~]# sudo i2cdetect -y -F 0 Functionalities implemented by /dev/i2c-0: I2C no SMBus Quick Command yes SMBus Send Byte yes SMBus Receive Byte yes SMBus Write Byte yes SMBus Read Byte yes SMBus Write Word yes SMBus Read Word yes SMBus Process Call yes SMBus Block Write yes SMBus Block Read yes SMBus Block Process Call no SMBus PEC yes I2C Block Write yes I2C Block Read yes [root@PlatOS ~]#

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...