{"id":44,"date":"2013-08-03T15:55:07","date_gmt":"2013-08-03T15:55:07","guid":{"rendered":"http:\/\/blog.ignoranthack.me\/?p=44"},"modified":"2013-08-03T15:56:44","modified_gmt":"2013-08-03T15:56:44","slug":"software-updates-for-serial-cables","status":"publish","type":"post","link":"http:\/\/blog.ignoranthack.me\/?p=44","title":{"rendered":"Software Updates for Serial Cables"},"content":{"rendered":"<p>Oh IPMI &#8230; *sigh*<\/p>\n<p>A rough and frustrating week trying to diagnose the silliest problem with our workplace&#8217;s deployment of IPMI.\u00a0 I swear, I never needed a device driver for a DB-9 connector and cable to get this to work before.\u00a0 I can&#8217;t for the life of me figure out why anyone would intentionally use this garbage.<\/p>\n<p>IPMI, in theory, is one of those bits of computer faff that is in every single server now-a-days as a bullet point entry on a saleperson&#8217;s power point presentations.\u00a0 Everyone asks for it, nobody really uses it.\u00a0 I mean, come on.\u00a0 This nonsense is so ridiculous, its not even funny.<\/p>\n<p>The idea, is that you have a tiny computer, in your computer (yo dawg, I herd u lik computers &#8230;) to manage the power, sensors and serial console of the machine.\u00a0 This is sold as a good thing, but in practice is one of those paths that a sysadmin or engineer will find themselves perpetually pulled down, with no hope of escape.\u00a0 This has happened to me and my coworkers, and we are not pleased.<\/p>\n<p>This week&#8217;s debacle revolved around a strange alignment of settings and hardware that yeilded results that were confounding and frustrating.\u00a0 Let&#8217;s start with item #1 and see if you can deduce from it what madness we inflicted upon ourselves.<\/p>\n<p>Exhibit A:<a href=\" http:\/\/svnweb.freebsd.org\/base?view=revision&amp;revision=236216\"> http:\/\/svnweb.freebsd.org\/base?view=revision&amp;revision=236216<\/a><\/p>\n<p>A very nice patch, sort of based on the on-line Broadcom open-source <a href=\"http:\/\/www.broadcom.com\/support\/ethernet_nic\/open_source.php\">documentation<\/a>, but the Management Firmware Interface to deal with IPMI and other things isn&#8217;t 100% clearly documented.\u00a0 So, the fact that this works for people in the FreeBSD community is kind of awesome.<\/p>\n<p>Short explanation of that code:\u00a0 It tries to save the settings on the IPMI interface before the driver resets everything and configures for operations.\u00a0 The IPMI controller is its own computer and negotiates Ethernet settings on its own.\u00a0 So, its &#8220;nice&#8221; that we try to not punch it in the face and take its lunch money.<\/p>\n<p>Exhibit B:\u00a0 IPMI interface from the Dell R410, Enterprise DRAC connected to Cisco 3560 on a port that is set to auto\/FULL<\/p>\n<p>The IPMI controllers on Dell boxes are called &#8220;DRAC&#8221;.\u00a0 The &#8220;DRAC&#8221; connection is separate from the server interfaces and is *only* capable of 10\/100.\u00a0 Now think about what I just said about the port settings of auto\/FULL.\u00a0 ew.\u00a0 There&#8217;s drama about 10\/100 and &#8220;full&#8221; settings from history that we can go into at a later date when I more fully understand it, but needless to say, it doesn&#8217;t make the DRAC very happy.<\/p>\n<p>Exhibit C:\u00a0 The IPMI Serial Over Lan (SOL) interface on the Dell R410 allows you to still use the DB-9 interface on the server as a second TTY or serial communications interface for things like modems, GPS receivers, etc.\u00a0 Unless of course you actually *connect* to the SOL interface and try to use it with ipmitool\/freeipmi etc.\u00a0 In this case, the second TTY (\/dev\/ttyu1 in the BSD case):<\/p>\n<p style=\"text-align: center;\"><strong>STOPS RESPONDING. FOR EVER.\u00a0 REALLY?\u00a0 ARE YOU KIDDING ME?<\/strong><\/p>\n<p style=\"text-align: left;\">If you haven&#8217;t table flipped at this point, go read the <a href=\"http:\/\/www.intel.com\/content\/www\/us\/en\/servers\/ipmi\/ipmi-specifications.html\">IPMI standard<\/a> at some point.\u00a0 Prepare to be amazed and astounded by all the wizardry that it does for you.\u00a0 REALLY?\u00a0 I CAN READ FAN SPEEDS?\u00a0 ZOMG!!@!@WTFBBQ11111<\/p>\n<p style=\"text-align: left;\">Faff.\u00a0 Complete and utter FAFF.<\/p>\n<p style=\"text-align: left;\">I&#8217;d like to apologize to Dell for using their gear as an example of the nonsense in this universe.\u00a0 I really feel bad for their engineers in this case.\u00a0 They took a crap-ass design and made something that sort of works.<\/p>\n<p style=\"text-align: left;\">I can&#8217;t really say if the other major server folks are more\/less solid at this point.\u00a0 But wow, taking a completely functional design known as a &#8220;serial cable&#8221; and making it less reliable.\u00a0 Amazing.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Oh IPMI &#8230; *sigh* A rough and frustrating week trying to diagnose the silliest problem with our workplace&#8217;s deployment of IPMI.\u00a0 I swear, I never needed a device driver for a DB-9 connector and cable to get this to work before.\u00a0 I can&#8217;t for the life of me figure out why anyone would intentionally use [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"_share_on_mastodon":"0"},"categories":[2],"tags":[],"share_on_mastodon":{"url":"","error":""},"_links":{"self":[{"href":"http:\/\/blog.ignoranthack.me\/index.php?rest_route=\/wp\/v2\/posts\/44"}],"collection":[{"href":"http:\/\/blog.ignoranthack.me\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.ignoranthack.me\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.ignoranthack.me\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.ignoranthack.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=44"}],"version-history":[{"count":3,"href":"http:\/\/blog.ignoranthack.me\/index.php?rest_route=\/wp\/v2\/posts\/44\/revisions"}],"predecessor-version":[{"id":100,"href":"http:\/\/blog.ignoranthack.me\/index.php?rest_route=\/wp\/v2\/posts\/44\/revisions\/100"}],"wp:attachment":[{"href":"http:\/\/blog.ignoranthack.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=44"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.ignoranthack.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=44"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.ignoranthack.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=44"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}