When working with Intel server boards like the S3420GPLC, firmware updates often require booting into the EFI shell environment. The standard procedure involves:
1. Copying update files to FAT32-formatted USB
2. Booting to EFI shell
3. Mounting the USB device
4. Executing startup.nsh
However, many technicians encounter frustrating scenarios where USB devices either don't appear in map -r
listings or appear but remain unreadable.
The EFI shell's USB handling differs significantly from OS environments. Key observations from multiple cases:
- Only specific USB controller modes are supported (UHCI/EHCI, not xHCI)
- Partition alignment affects detection (MBR vs GPT)
- Filesystem quirks matter (FAT32 with specific cluster sizes)
Try this sequence when encountering detection issues:
map -r
disconnect -r
reconnect -r
map -r
For devices that appear but can't be read:
mount blk0 fs0
ls fs0:\
if error persists:
vol -b blk0
mkdir fs0
mount blk0 fs0 -b [LBA from vol command]
Critical settings that affect USB behavior in EFI shell:
Setting | Recommended Value |
USB Legacy Support | Enabled |
xHCI Mode | Disabled or Auto |
EHCI Hand-off | Enabled |
When standard methods fail, consider:
- Using different USB ports (try rear ports first)
- Creating minimal FAT16 partitions (under 2GB)
- Testing with USB 2.0 (not 3.0) flash drives
- Burning the update files to CD/DVD instead
For persistent cases, gather diagnostic data:
devices -b # List all devices
drivers -b # Show loaded drivers
dh -d blk0 # Detailed block device info
Remember that EFI shell versions matter - older versions (v1.x) handle USB differently than v2.x.
When attempting BIOS/BMC updates on Intel S3420GPLC motherboards through the EFI shell, USB storage devices often fail to mount properly. The standard procedure requires:
map -r
fs0:
startup.nsh
But instead we encounter either missing drives or unreadable filesystems despite using FAT32-formatted media.
First verify USB controller initialization:
drivers
devices
For detected but unreadable block devices (like blk0):
vol -b blk0
connect -r blk0
When standard mounting fails, try these alternatives:
mount -b blk0 -fs fat fs0:
mount blk0 fs0 -o rw,force
If you get partition table errors:
diskinfo blk0
diskpart -l blk0
The S3420GPLC has specific port behaviors:
- Try all USB 2.0 ports (blue) before USB 3.0
- Rear panel ports often initialize before front headers
- Disable XHCI handoff in BIOS if available
If USB continues failing, consider:
# Network boot alternative
ifconfig -s eth0
dhcp
wget http://server/update.pkg
Or via IPMI:
ipmitool -I lanplus -H BMC_IP -U admin -P password hpm update force filename.bin
From field reports, these combinations work reliably:
Device | Capacity | Format |
---|---|---|
SanDisk Cruzer Fit | 4GB | FAT32 (4096 byte clusters) |
Kingston DataTraveler | 8GB | FAT32 (MBR, single partition) |
When drives appear as blkX but won't mount:
# Dump first sector to verify signature
hexdump blk0 -n 512
Look for "FAT32" string at offset 0x52 or boot signature 0xAA55 at 0x1FE.