Detecting Dell iDRACs remotely.

There are many ways to do this, of course... but this seems to work on most of them. Fetch a https URL from the system, like so (-k option in curl tells it to ignore the bad cert that's almost certainly there):
curl -k https://10.0.0.1/cgi-bin/discover
And it'll spit out some XML that looks something like:
<?xml version="1.0" encoding="UTF-8"?><DISCOVER><RESP><RC>0x0</RC><ENDPOINTTYPE>iDRAC</ENDPOINTTYPE><ENDPOINTVER>1.00</ENDPOINTVER><PROTOCOLTYPE>HTTPS</PROTOCOLTYPE><PROTOCOLVER>2.0</PROTOCOLVER></RESP></DISCOVER>
So... of course I had to look around... it looks like it doesn't work on some, but why, I have no idea. BMCs are flakey at best. I got results for ENDPOINTTYPEs DRAC5, iDRAC (that looks like iDRAC 6), iDRAC7, and just a handful of iDRAC6Ms, whatever those are.

Hunting around I didn't see any mention at all for those XML string values... except in one place, a patent app filed by Quanta computer inc:

Management interface between embedded systems and computer system medium using the same

Oddly named, but it also has the same details and names pretty verbatim; given the patent covers embedded servers I doubt it's a coincidence....


<?xml version="1.0">
<MODULE_DISCOVER>
<RESPONSE>
<RC>0x0</RC>
<OUTPUTLEN>0xXXXX</OUTPUTLEN>
<ENDPOINTTYPE>Switch Blade</ENDPOINTTYPE>
<ENDPOINTVERSION>1.0</ENDPOINTVERSION>
<PROTOCOLTYPE>XML</PROTOCOLTYPE>
<PROTOCOLVER>1.0</PROTOCOLVER>
</RESPONSE>
</MODULE_DISCOVER>

Add another to the detection bag of trix.

guts below...

Very simple to get into the guts here. I'm not saying much about the Dell yet since I'm still talking to the Dell folks about how I got into it and they wanted some more time.

(BTW, binaries for the rather odd armv5tejl may be found here. To unpack, do "ar xv filename.ipk"... then unpack again on the data file, as such "tar xzvf data.tar.gz".)

Remote debugging? Easy! Get the gdbserver from the repository above... and:

[WPCM450 /tmp/$ ./gdbserver :6666 --attach 28598
Attached; pid = 28598
Listening on port 6666

And on the second machine, just connect when in GDB with "(gdb) remote 10.0.0.1:6666"

I believe that these are the basic files that make up the iDRAC stuff; from a service list file in /etc:

[WPCM450 /]$ cat /etc/sysconfig/idrac_service.list
# List of services for self-test results
# Do NOT leave any blank line in the file!!!
/avct/sbin/os
/avct/sbin/osinet
/avct/sbin/pm
/bin/ipmi_gateway
/bin/ipmi_monitor
/bin/ttymonitor
/sbin/aim
/sbin/avct_server
/sbin/klogd
#/sbin/openwsmand
/sbin/sfcbd
/sbin/sshd
/sbin/syslogd
/sbin/watchdog
/usr/local/bin/appweb
/usr/local/bin/guiDataServer
/usr/local/bin/serviceman
/usr/sbin/ipmiextd
/usr/sbin/raclogd
#udhcpc
#/bin/fullfw
# This is end of the list


back to general IPMI page