{"id":194,"date":"2025-12-16T17:59:37","date_gmt":"2025-12-16T21:59:37","guid":{"rendered":"https:\/\/brockcooper.info\/?p=194"},"modified":"2025-12-16T17:59:38","modified_gmt":"2025-12-16T21:59:38","slug":"cisco-unsupported-transceivers","status":"publish","type":"post","link":"https:\/\/brockcooper.info\/index.php\/2025\/12\/16\/cisco-unsupported-transceivers\/","title":{"rendered":"Cisco: Unsupported Transceivers"},"content":{"rendered":"\n<p>One of the most infuriating things with enterprise gear &#8211; other products included &#8211; is vendor lock in.<br>I understand when there&#8217;s a ligament reason, but it&#8217;s exceptionally rare. Now there&#8217;s a long list of reasons vendors choose to do so &#8211; good or bad, but I&#8217;ll save my ramblings for another time.<\/p>\n\n\n\n<p>Cisco &#8211; kindly &#8211; does allow you do use unsupported transceivers. You just need to acknowledge the fact it may cause issues, and is not officially supported. Which in turn also means you acknowledge that Cisco TAC will not help you resolve an issue either, if you have to contact support, they won&#8217;t t help you while you&#8217;re running an unsupported configuration. They may ask you to reproduce any issues with Cisco optics installed in order to proceed with support cases.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Configuration Mode<\/h2>\n\n\n\n<p>Fist we need to enable privileged execution mode with the command &#8220;enable&#8221; or &#8220;en&#8221; for shorthand in the terminal. Then, to execute the commands bellow, we need to be in the &#8220;configuration terminal&#8221; which can be typed exactly or as &#8220;conf t&#8221; for short. Once you enter privileged execution mode, you will see a &#8216;#&#8217; after the host name (ie. &#8220;Switch-13&gt;&#8221; becomes &#8220;Switch-13#&#8221;).<\/p>\n\n\n\n<p><span style=\"text-decoration: underline;\">NOTE:<\/span> You use the command &#8220;exit&#8221; to exit the configuration terminal, and don&#8217;t forget to commit the configuration to NVRAM as I&#8217;ve shown below. You only need to exit and commit one time if you enter both commands.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Allow Unsupported Transceivers<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>Switch-13(config)#<\/strong>service unsupported-transceiver\n<strong>Switch-13(config)#<\/strong>exit\n<strong>Switch-13(config)#<\/strong>write memory\n\nWarning: When Cisco determines that a fault or defect can be traced to\nthe use of third-party transceivers installed by a customer or reseller,\nthen, at Cisco's discretion, Cisco may withhold support under warranty or\na Cisco support program. In the course of providing support for a Cisco\nnetworking product Cisco may require that the end user install Cisco\ntransceivers if Cisco determines that removing third-party parts will\nassist Cisco in diagnosing the cause of a support issue.<\/code><\/pre>\n\n\n\n<p>This tells the switch to allow 3rd party (non-Cisco-certified) SFPs instead of rejecting them purely because they\u2019re not on Cisco\u2019s approved list. Translation &#8211; Any random optic will be accepted no matter what.<\/p>\n\n\n\n<p><em><strong>Reverting:<\/strong> no service unsupported-transceiver<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Prevent Interface Error<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>Switch-13(config)#<\/strong>no errdisable detect cause gbic-invalid<\/code><\/pre>\n\n\n\n<p>No output after entering the command is exactly what you want and how we know it&#8217;s recognized as a valid command.<\/p>\n\n\n\n<p>This doesn&#8217;t actually &#8220;allow&#8221; 3rd party transceivers directly, it tells the switch to not set the state of the transceiver \/ port to &#8220;errdisable&#8221; solely based on the transceiver&#8217;s manufacturer. Translation &#8211; If I think the optic is invalid, do I shut the port down? (Other shit than the vendor can make a transceiver actually invalid \/ incompatible).<\/p>\n\n\n\n<p><em><strong>Reverting:<\/strong> errdisable detect cause gbic-invalid<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Comparison<\/h2>\n\n\n\n<p>Thank you to <span style=\"text-decoration: underline;\">ChatGPT for differentiating the nuance<\/span> of why you would use both commands as they both seem to cover almost exactly the same thing.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Neither set:<\/strong> third-party optic often triggers unsupported\/invalid \u2192 may end up <strong>err-disabled<\/strong><\/p>\n\n\n\n<p><strong>Only <code>service unsupported-transceiver<\/code>:<\/strong> works <strong>when vendor policy is the only blocker<\/strong>; fails if the optic still trips <strong>gbic-invalid \u2192 err-disable<\/strong><\/p>\n\n\n\n<p><strong>Only <code>no errdisable detect cause gbic-invalid<\/code>:<\/strong> stops errdisable, but the optic may still be refused \/ not come up because you never enabled third-party support<\/p>\n\n\n\n<p><strong>Both:<\/strong> best chance to bring up third-party optics on platforms\/versions where gbic-invalid errdisable happens<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>That should wrap it up! If your switch \/ Cisco device still continues to hate you, you may have to persuade it with something&#8230; larger.. and heavier..<\/p>\n\n\n\n<p>I hope you found this helpful and as always, reach out if you need a hand.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the most infuriating things with enterprise gear &#8211; other products included &#8211; is vendor lock in.I understand when there&#8217;s a ligament reason, but&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":200,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15],"tags":[16,19,17],"class_list":["post-194","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-home-lab","tag-cisco","tag-fix","tag-networking"],"_links":{"self":[{"href":"https:\/\/brockcooper.info\/index.php\/wp-json\/wp\/v2\/posts\/194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/brockcooper.info\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/brockcooper.info\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/brockcooper.info\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/brockcooper.info\/index.php\/wp-json\/wp\/v2\/comments?post=194"}],"version-history":[{"count":4,"href":"https:\/\/brockcooper.info\/index.php\/wp-json\/wp\/v2\/posts\/194\/revisions"}],"predecessor-version":[{"id":201,"href":"https:\/\/brockcooper.info\/index.php\/wp-json\/wp\/v2\/posts\/194\/revisions\/201"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/brockcooper.info\/index.php\/wp-json\/wp\/v2\/media\/200"}],"wp:attachment":[{"href":"https:\/\/brockcooper.info\/index.php\/wp-json\/wp\/v2\/media?parent=194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/brockcooper.info\/index.php\/wp-json\/wp\/v2\/categories?post=194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/brockcooper.info\/index.php\/wp-json\/wp\/v2\/tags?post=194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}