kendallgoto/ilo4_unlock

Failed to map physical address to virtual address

shokoah opened this issue · 5 comments

Hi, I am on a DL360 G9, and I can NOT get the flash to run, no matter what I do. This is my system:
System: Host: pb-ProLiant-DL360-Gen9 Kernel: 6.5.0-21-generic x86_64 bits: 64 Console: pty pts/1 Distro: Ubuntu 22.04.4 LTS (Jammy Jellyfish) Machine: Type: Server Mobo: HP model: ProLiant DL360 Gen9 serial: //serial// UEFI: HP v: P89 date: 01/22/2018 CPU: Info: 6-core model: Intel Xeon E5-2620 v3 bits: 64 type: MT MCP cache: L2: 1.5 MiB Speed (MHz): avg: 1314 min/max: 1200/3200 cores: 1: 2400 2: 1200 3: 1200 4: 1200 5: 1200 6: 1200 7: 1200 8: 1200 9: 1200 10: 1375 11: 1200 12: 1200
I am attempting to flash the patched 2.77 firmware to lower my fan speeds due to unsupported Barracuda drives - my PWM is at 100 and it's too loud for an apartment setting.

I followed the instructions down to the T, but this is what I am met with:
`
Error opening /dev/mem... you're probably not root.

FLASH_iLO4 v1.18 for Linux (Mar 31 2016)
(C) Copyright 2002, 2016 Hewlett-Packard Enterprise Development Company, L.P.
Firmware image: ilo4_250.bin

Component XML file: CP027911.xml
CP027911.xml reports firmware version 2.50

**IMPORTANT: This operation should only be used if iLO 4 is non-responsive and
cannot be flashed via standard methods.
This operation will flash the firmware on the iLO 4 in this server
with version "2.50". Following condition(s) must be met:
1. iLO 4 Security Override Switch must be set.
Continue (y/N)? y
Trying to reset iLO 4 IOP
write32: failed to map physical address 92a8c040 to virtual address.
write32: failed to map physical address 92a8c040 to virtual address.
iLO 4 IOP IS in reset!
write32: failed to map physical address 92a8c040 to virtual address.
write16: failed to map physical address 000000ab to virtual address.
write32: failed to map physical address 000001ff to virtual address.
write16: failed to map physical address 0000020d to virtual address.
write16: failed to map physical address 0000020d to virtual address.
write16: failed to map physical address 000000ab to virtual address.
Waking up iLO 4 IOP
write32: failed to map physical address 92a8c040 to virtual address.

ERROR: iLO 4 security override switch isn't set. []
pcilib: sysfs_write: write failed: Operation not permitted
pcilib: sysfs_write: write failed: Operation not permitted
pcilib: sysfs_write: write failed: Operation not permitted
`

I have tried to run from an Ubuntu LiveCD, on a brand new Ubuntu install, logged into terminal as sudo, added my user to kmem group, re-doing the whole process from start to finish, no luck.

I have confirmed:

  1. Linux is clean
  2. Permissions are correct
  3. The original build runs without issue
  4. The security switch is flipped
  5. hpilo is not running

Any ideas/pointers would be appreciated!

what version of iLO is currently installed? can you access the iLO dashboard?

Thanks for the fast reply! I just re-read my post and it may have sounded a bit angry, I promise I'm not I'm just tired 🥲 I appreciate the work!

I am on 2.77 and I can access the iLO dashboard with no problem

no worries.

I've not heard of an issue like this before. The flasher script is provided by HPE, albeit not for this purpose, so I can't say much about the specific failure. The error logs seem to suggest a permissions issue, but if you're using sudo, that seems unlikely.

Have you tried a older Ubuntu LiveCD? I haven't tried this install on 22.04, though I believe it has worked for others. The installer app from HPE is also probably not "approved" for 22.04. Additionally, on Ubuntu 22.04, is the hpilo's native kernel module starting OK or giving any errors, before it is disabled?

You are the MAN! Yes, it was definitely related to 22.04. I re-read your readme and noticed you were on 21.10. Flashed a 21.10 disk, disabled secure boot, and was able to flash from the LiveCD. I have never used a bare-metal install of Linux on an HP machine, so I am unfamiliar with the hpilo package. It must be what they changed in the kernel

thanks for the update - glad to hear stuff is working. we'll have to make a note in the docs