Embedded Intel Atom® Processors
Intel Atom® Hardware, Software, Firmware, Graphics
1024 Discussions

The [EHL] PSE failed to communicate with OS via HECI, because /dev/ish-smhi doesn't exist

shawn_H
Novice
814 Views

Hi everyone,

I'm working in Elkhart lake that try to communication between PSE and linux*OS .

I follow (Document #******)  and (Document #******) to build zephyr_application and Yocto.

The CRB FW has been success that the sample heci built in CRB, the bug console has printed "smpl new heci event 1".

However the /dev/ish-smhi doesn't exist in OS,thus I cannot use heci_sample_app.c to connect the PSE.

 

AKAIK the newest kernel driver had been changes HECI to MEI, therefor the /dev/mei0 could found in linux*OS that created by intel-mei driver , and the ISH device is created by intel-ish-hid driver.

 

May I know why not found /dev/ish-smhi?

Could anyone help me solve it?

 

Thank!

 

Linux Environment :Linux intel-corei7-64 5.4.129-intel-ese-standard-lts #1 SMP PREEMPT Fri Sep 3 01:24:45 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

 

 

 

root@intel-corei7-64:~# lspci
00:00.0 Host bridge: Intel Corporation Device 4528 (rev 01)
00:02.0 VGA compatible controller: Intel Corporation Device 4555 (rev 01)
00:08.0 System peripheral: Intel Corporation Device 4511 (rev 01)
00:10.0 Serial bus controller [0c80]: Intel Corporation Device 4b44 (rev 11)
00:10.1 Serial bus controller [0c80]: Intel Corporation Device 4b45 (rev 11)
00:11.0 Communication controller: Intel Corporation Device 4b96 (rev 11)
00:11.1 Communication controller: Intel Corporation Device 4b97 (rev 11)
00:13.0 Serial bus controller [0c80]: Intel Corporation Device 4b84 (rev 11)
00:14.0 USB controller: Intel Corporation Device 4b7d (rev 11)
00:14.2 RAM memory: Intel Corporation Device 4b7f (rev 11)
00:15.0 Serial bus controller [0c80]: Intel Corporation Device 4b78 (rev 11)
00:15.2 Serial bus controller [0c80]: Intel Corporation Device 4b7a (rev 11)
00:15.3 Serial bus controller [0c80]: Intel Corporation Device 4b7b (rev 11)
00:16.0 Communication controller: Intel Corporation Device 4b70 (rev 11)
00:17.0 SATA controller: Intel Corporation Device 4b63 (rev 11)
00:19.0 Serial bus controller [0c80]: Intel Corporation Device 4b4b (rev 11)
00:1a.0 SD Host controller: Intel Corporation Device 4b47 (rev 11)
00:1a.1 SD Host controller: Intel Corporation Device 4b48 (rev 11)
00:1b.0 Serial bus controller [0c80]: Intel Corporation Device 4bb9 (rev 11)
00:1b.1 Serial bus controller [0c80]: Intel Corporation Device 4bba (rev 11)
00:1b.6 Serial bus controller [0c80]: Intel Corporation Device 4bbf (rev 11)
00:1d.0 System peripheral: Intel Corporation Device 4bb3 (rev 11)
00:1d.1 Ethernet controller: Intel Corporation Device 4ba0 (rev 11)
00:1e.0 Communication controller: Intel Corporation Device 4b28 (rev 11)
00:1e.1 Communication controller: Intel Corporation Device 4b29 (rev 11)
00:1f.0 ISA bridge: Intel Corporation Device 4b00 (rev 11)
00:1f.3 Multimedia audio controller: Intel Corporation Device 4b58 (rev 11)
00:1f.4 SMBus: Intel Corporation Device 4b23 (rev 11)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Device 4b24 (rev 11)

 

 

(Message edited by @Adolfo_S_Intel  to remove confidential content)

0 Kudos
6 Replies
Adolfo_S_Intel
Moderator
775 Views

Hello, @shawn_H ,

 

If you have access to the UEFI shell, can you confirm if the PCI device appears at Firmware level?

Also please check if the issue also occurs when using a linux distribution like Ubuntu or Fedora? Using a live-usb would be enough to test this.

 

BR,

@Adolfo_S_Intel 

shawn_H
Novice
766 Views

Hi , @Adolfo_S_Intel  Thank you for quick reply!

 

If you have access to the UEFI shell, can you confirm if the PCI device appears at Firmware level?

Yes, I have access to the UEFI shell,but I don't know what is their VID and PID with HECI, thus I cannot confirm the PCI device appears at Firmware level, maybe do you know their VID and PID?

shawn_H_0-1639018775649.png

 

 

Also please check if the issue also occurs when using a linux distribution like Ubuntu or Fedora? Using a live-usb would be enough to test this.


Unfortunately,this issue also occurs in Ubuntu 20.04.

 

I have one question, I was required by communicate via /dev/ish-smhi Instead of /dev/mei or /dev/mei0 right?

Thank for you help.

shawn_H
Novice
759 Views

@shawn_H wrote:

Hi , @Adolfo_S_Intel  Thank you for quick reply!

 

If you have access to the UEFI shell, can you confirm if the PCI device appears at Firmware level?


Supplement :

I'm not sure these are HECI interface, but  I found the information of the pci as below in user space.

 

 

...
00:16.0 Communication controller: Intel Corporation Device 4b70 (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 134
        Region 0: Memory at 600136a000 (64-bit, non-prefetchable) [size=4K]
        Capabilities: [50] 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: 00000000fee00438  Data: 0000
        Capabilities: [a4] Vendor Specific Information: Len=14 <?>
        Kernel driver in use: mei_me
        Kernel modules: mei_me
...
00:1d.0 System peripheral: Intel Corporation Device 4bb3 (rev 11) (prog-if 35)
        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 133
        Region 0: Memory at 6001000000 (64-bit, non-prefetchable) [size=2M]
        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: [90] Vendor Specific Information: Len=14 <?>
        Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable+ 64bit+
                Address: 00000000fee00418  Data: 0000
                Masking: 00000000  Pending: 00000000
        Kernel driver in use: intel_ish_ipc
        Kernel modules: intel_ish_ipc
...

 

 

Furthermore, these(00:16.0 and 00:1d.0) was also found in UEFI shell.

Also maybe do I missing some drivers?

shawn_H
Novice
732 Views

Supplement :

Hi @Adolfo_S_Intel 

I found this as below in /sys/bus/ , it seem to me that the PSE has been exposed to host, because the modalias is my HECI GUID in PSE FW(zephyr).

 

However ,unfortunately I have not any idea why the /dev/ish-smhi not exist.

 

Do you have any ideas to solve it for help me?

Thank

BTW It is in Ubuntu20.04.

 

root@#cat /sys/bus/ishtp/devices/\{BB570214-CC54-4450-B1D0-5E7520DCAD25\}/modalias
ishtp:{BB570214-CC54-4450-B1D0-5E7520DCAD25}
root@# cat /sys/bus/ishtp/devices/\{BB570214-CC54-4450-B1D0-5E7520DCAD25\}/power/runtime_active_time
0
root@# cat /sys/bus/ishtp/devices/\{BB570214-CC54-4450-B1D0-5E7520DCAD25\}/power/runtime_enabled
disabled
root@# cat /sys/bus/ishtp/devices/\{BB570214-CC54-4450-B1D0-5E7520DCAD25\}/power/runtime_status
unsupported
root@# cat /sys/bus/ishtp/devices/\{BB570214-CC54-4450-B1D0-5E7520DCAD25\}/power/runtime_usage
0
root@# cat /sys/bus/ishtp/devices/\{BB570214-CC54-4450-B1D0-5E7520DCAD25\}/power/control
auto

 

 

 

Adolfo_S_Intel
Moderator
720 Views

Hello, @shawn_H ,

 

Are you using UEFI firmware from a third-party board, or you are using your own solution, like SBL+fsp?

 

Also I would suggest to contact the Yocto and Zephyr support community to get their expertise in this issue.

 

Best Regards,

@Adolfo_S_Intel 

 

shawn_H
Novice
604 Views

Hi , @Adolfo_S_Intel 

Sorry reply late ,thank you for reply.

 

Previously I had been use Intel provide .bin file that the IFWI binary package (I am not sure which is SBL?) , Now I used AMI UEFI to booting my OS ,however unfortunately neither /dev/ish-smhi exist. 

 

I found the [EHL] [SBL] /dev/ish-smhi doesn't exist  ,so I guess may be need to do some setting with BIOS ,but I have not any idea about that.

 

Do you have any idea?

Reply