Menu

#20 Failure to fetch SDR from Supermicro SYS-122C-TN

v1.0_(example)
closed
None
5
2025-08-04
2025-08-04
No

OpenIPMI was failing to fetch the SDR with GetSDR from a brand new Supermicro system. The initial error seen was 0xC3 timeout. Digging in with "--dmsg" and "--drawmsg" with ipmish revealed repeated GetSDR calls failing with a "Decryption failed" message. I instrumented lib/aes_cbc.c and found this BMC was using padlen=16, violating the IPMI spec. I've reported it upstream, but have also created a patch for OpenIPMI to handle the invalid padlen with a warning vs failing completely. With this patch I can successfully use OpenIPMI with the new Supermicro system.

1 Attachments

Discussion

  • Corey Minyard

    Corey Minyard - 2025-08-04

    Sigh. This change is fine, but a few things that need to be adjusted:

    Won't this spew out logs when messages come in? To avoid that, could you add a boolean to the ipmi_con_t structure and only report this once per connection?

    This needs a comment saying something like: This should be <=16, but some broken systems send a pad of 16, so accommodate those systems and log it once.

    Need to leave breadcrumbs around so people can figure out why things are the way they are.

    Thanks.

     
  • Richard Warner

    Richard Warner - 2025-08-04

    Here's an updated patch addressing your requests. Thanks!

     
  • Corey Minyard

    Corey Minyard - 2025-08-04

    Ok applied, thank you.

     
  • Corey Minyard

    Corey Minyard - 2025-08-04
    • status: open --> closed
     

Log in to post a comment.

MongoDB Logo MongoDB