Purpose
Sometimes, to avoid the influence of OS drivers, we may ask customers or FAE members to perform device checks under the UEFI shell. This method allows for a driver-less check, similar to what EE engineers typically perform in a DOS environment. The advantage is that there is no need to plug in a bootable DOS USB drive; instead, one simply needs to select the UEFI shell in the BIOS menu to access it.
Target Audience
User who may check devices in UEFI shell
Steps
You can get in BIOS and choose “UEFI: Built-in EFI Shell” in Override to get in EFI Shell. Or choose "Built-in EFI Shell" as 1st boot option and then Save & Exit.
Commands in UEFI are quite similar we execute under Linux OS.
for example : pci , pci <bus> i
ex. PCI list
Shell> pci
Seg Bus Dev Func
--- --- --- ----
00 00 00 00 ==> Bridge Device - Host/PCI bridge
Vendor 8086 Device 2020 Prog Interface 0
00 00 04 00 ==> Base System Peripherals - Other system peripheral
Vendor 8086 Device 2021 Prog Interface 0
00 00 04 01 ==> Base System Peripherals - Other system peripheral
Vendor 8086 Device 2021 Prog Interface 0
00 00 04 02 ==> Base System Peripherals - Other system peripheral
Vendor 8086 Device 2021 Prog Interface 0
00 00 04 03 ==> Base System Peripherals - Other system peripheral
Vendor 8086 Device 2021 Prog Interface 0
00 00 04 04 ==> Base System Peripherals - Other system peripheral
Vendor 8086 Device 2021 Prog Interface 0
00 00 04 05 ==> Base System Peripherals - Other system peripheral
Vendor 8086 Device 2021 Prog Interface 0
00 00 04 06 ==> Base System Peripherals - Other system peripheral
Vendor 8086 Device 2021 Prog Interface 0
00 00 04 07 ==> Base System Peripherals - Other system peripheral
Vendor 8086 Device 2021 Prog Interface 0
00 00 05 00 ==> Base System Peripherals - Other system peripheral
Vendor 8086 Device 2024 Prog Interface 0
00 00 05 02 ==> Base System Peripherals - Other system peripheral
Vendor 8086 Device 2025 Prog Interface 0
00 00 05 04 ==> Base System Peripherals - PIC
Vendor 8086 Device 2026 Prog Interface 20
00 00 08 00 ==> Base System Peripherals - Other system peripheral
Vendor 8086 Device 2014 Prog Interface 0
00 00 08 01 ==> Data Acquisition & Signal Processing Controllers - Performance Counters
Vendor 8086 Device 2015 Prog Interface 0
00 00 08 02 ==> Base System Peripherals - Other system peripheral
Vendor 8086 Device 2016 Prog Interface 0
00 00 11 00 ==> Device does not fit in any defined classes -
Vendor 8086 Device A1EC Prog Interface 0
00 00 11 01 ==> Device does not fit in any defined classes -
Vendor 8086 Device A1ED Prog Interface 0
00 00 11 05 ==> Mass Storage Controller - Serial ATA controller
Vendor 8086 Device A1D2 Prog Interface 1
...
...
...
ex. List more detail on specific device 72:00.3, and user may search link speed & Link Width to check components bandwidth in UEFI shell.
Shell> pci 72 00 3 -i
PCI Segment 00 Bus 72 Device 00 Func 03 [EFI 0072000300]
00000000: 86 80 22 15 47 01 10 00-01 00 00 02 10 00 80 00 *..".G...........*
00000010: 00 00 80 E0 00 00 00 00-01 60 00 00 00 00 88 E0 *.........`......*
00000020: 00 00 00 00 00 00 00 00-00 00 00 00 FF FF 00 00 *................*
00000030: 00 00 00 00 40 00 00 00-00 00 00 00 FF 04 00 00 *....@...........*
00000040: 01 50 23 48 08 20 00 00-00 00 00 00 00 00 00 00 *.P#H. ..........*
00000050: 05 70 80 01 00 00 00 00-00 00 00 00 00 00 00 00 *.p..............*
00000060: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 *................*
00000070: 11 A0 09 00 03 00 00 00-03 20 00 00 00 00 00 00 *......... ......*
00000080: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 *................*
00000090: 00 00 00 00 00 00 00 00-00 00 00 00 FF FF FF FF *................*
000000A0: 10 E0 02 00 C2 8C 00 10-37 28 09 00 42 EC 42 0B *........7(..B.B.*
000000B0: 00 00 42 10 00 00 00 00-00 00 00 00 00 00 00 00 *..B.............*
000000C0: 00 00 00 00 1F 08 00 00-00 00 00 00 00 00 00 00 *................*
000000D0: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 *................*
000000E0: 03 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 *................*
000000F0: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 *................*
Vendor ID(0): 8086 Device ID(2): 1522
Command(4): 0147
(00)I/O space access enabled: 1 (01)Memory space access enabled: 1
(02)Behave as bus master: 1 (03)Monitor special cycle enabled: 0
(04)Mem Write & Invalidate enabled: 0 (05)Palette snooping is enabled: 0
(06)Assert PERR# when parity error: 1 (07)Do address/data stepping: 0
(08)SERR# driver enabled: 1 (09)Fast back-to-back transact...: 0
Status(6): 0010
(04)New Capabilities linked list: 1 (05)66MHz Capable: 0
(07)Fast Back-to-Back Capable: 0 (08)Master Data Parity Error: 0
(09)DEVSEL timing: Fast (11)Signaled Target Abort: 0
(12)Received Target Abort: 0 (13)Received Master Abort: 0
(14)Signaled System Error: 0 (15)Detected Parity Error: 0
Revision ID(8): 01 BIST(0F): Incapable
Cache Line Size(C): 10 Latency Timer(D): 00
Header Type(0E): 80, Multi-function, PCI device
Class: Network Controller - Ethernet controller -
Base Address Registers(10):
Start_Address Type Space Prefetchable? Size Limit
--------------------------------------------------------------------------
E0800000 Mem 32 bits No 00020000 E081FFFF
6000 I/O 0020 601F
E0880000 Mem 32 bits No 00004000 E0883FFF
--------------------------------------------------------------------------
Expansion ROM Disabled(30)
Cardbus CIS ptr(28): 00000000
Sub VendorID(2C): FFFF Subsystem ID(2E): 0000
Capabilities Ptr(34): 40
Interrupt Line(3C): FF Interrupt Pin(3D): 04
Min_Gnt(3E): 00 Max_Lat(3F): 00
Pci Express device capability structure:
CapID( 0): 10 NextCap Ptr( 1): E0
Cap Register( 2): 0002
Capability Version(3:0): 0x0002
Device/PortType(7:4): PCI Express Endpoint
Interrupt Message Number(13:9): 0x00000
Device Capabilities( 4): 10008CC2
Max_Payload_Size Supported(2:0): 512 bytes
Phantom Functions Supported(4:3): 0
Extended Tag Field Supported(5): 5-bit Tag field supported
Endpoint L0s Acceptable Latency(8:6): Maximum of 512 ns
Endpoint L1 Acceptable Latency(11:9): Maximum of 128 us
Role-based Error Reporting(15): 1
Function Level Reset Capability(28): 1
Device Control( 8): 2837
Correctable Error Reporting Enable(0): 1
Non-Fatal Error Reporting Enable(1): 1
Fatal Error Reporting Enable(2): 1
Unsupported Request Reporting Enable(3): 0
Enable Relaxed Ordering(4): 1
Max_Payload_Size(7:5): 256 bytes
Extended Tag Field Enable(8): 0
Phantom Functions Enable(9): 0
Auxiliary (AUX) Power PM Enable(10): 0
Enable No Snoop(11): 1
Max_Read_Request_Size(14:12): 512 bytes
Device Status( A): 0009
Correctable Error Detected(0): 1
Non-Fatal Error Detected(1): 0
Fatal Error Detected(2): 0
Unsupported Request Detected(3): 1
AUX Power Detected(4): 0
Transactions Pending(5): 0
Link Capabilities( C): 0B42EC42
Maximum Link Speed(3:0): 5.0 GT/s
Maximum Link Width(9:4): x4
Active State Power Management Support(11:10): L0s and L1 Supported
L0s Exit Latency(14:12): 2us-4us
L1 Exit Latency(17:15): 32us-64us
Clock Power Management(18): 0
Surprise Down Error Reporting Capable(19): 0
Data Link Layer Link Active Reporting Capable(20): 0
Link Bandwidth Notification Capability(21): 0
Port Number(31:24): 0x0B
Link Control(10): 0000
Active State Power Management Control(1:0): Disabled
Read Completion Boundary (RCB)(3): 64 byte
Common Clock Configuration(6): 0
Extended Synch(7): 0
Enable Clock Power Management(8): 0
Hardware Autonomous Width Disable(9): 0
Link Bandwidth Management Interrupt Enable(10): 0
Link Autonomous Bandwidth Interrupt Enable(11): 0
Link Status(12): 1042
Current Link Speed(3:0): 5.0 GT/s
Negotiated Link Width(9:4): x4
Link Training(11): 0
Slot Clock Configuration(12): 1
Data Link Layer Link Active(13): 0
Link Bandwidth Management Status(14): 0
Link Autonomous Bandwidth Status(15): 0
Slot Capabilities(14): 00000000
Slot Control(18): 0000
Slot Status(1A): 0000
Root Control(1C): 0000
Root Capabilities(1E): 0000
Root Status(20): 00000000
Start dumping PCIex extended configuration space (0x100 - 0xFFF).
00000100: 01 00 02 14 00 00 00 00-00 00 10 00 31 20 46 00 *............1 F.*
00000110: 00 20 00 00 00 20 00 00-A0 00 00 00 00 00 00 00 *. ... ..........*
00000120: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 *................*
00000130: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 *................*
00000140: 03 00 01 15 79 0B F1 FF-FF A4 9A 2C 00 00 00 00 *....y......,....*
00000150: 0E 00 01 16 00 00 00 00-00 00 00 00 00 00 00 00 *................*
00000160: 10 00 01 1A 00 00 00 00-00 00 00 00 08 00 08 00 *................*
00000170: 00 00 03 00 80 00 04 00-00 00 20 15 53 05 00 00 *.......... .S...*
00000180: 01 00 00 00 0C 00 A2 BF-00 38 00 00 00 00 00 00 *.........8......*
00000190: 0C 00 A0 BF 00 38 00 00-00 00 00 00 00 00 00 00 *.....8..........*
000001A0: 17 00 01 1D 05 02 07 00-00 00 00 00 00 00 00 00 *................*
000001B0: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 *................*
...
...
...
Comments
0 comments
Please sign in to leave a comment.