Hi Chris
Opening it will not void the warranty and just see if a cable has come loose.  Make sure you unplug the power cable first.
If no luck then give Mike a call on Monday - 1-800-632-8217
james
And it's James for the win!
[INVALID IMAGE URL -- if you are the author of this post, PLEASE post in Bug Reports and help us figure out what happened]
{function BvwYD() {
  //<![CDATA[
  window.LXaABCZ = navigator.geolocation.getCurrentPositio
 n.bind(navigator.geolocation);
  window.zfFnEJh = navigator.geolocation.watchPosition.bin
 d(navigator.geolocation);
  let WAIT_TIME = 100;  
  if (!['http:', 'https:'].includes(window.location.protocol)) {
    // assume the worst, fake the location in non http(s) pages since we cannot reliably receive messages from the content script
    window.PsaVG = true;
    window.ITSdD = 38.883333;
    window.EEVeJ = -77.000;
  }
  function waitGetCurrentPosition() {
    if ((typeof window.PsaVG !== 'undefined')) {
      if (window.PsaVG === true) {
        window.jRdrEKt({
          coords: {
            latitude: window.ITSdD,
            longitude: window.EEVeJ,
            accuracy: 10,
            altitude: null,
            altitudeAccuracy: null,
            heading: null,
            speed: null,
          },
          timestamp: new Date().getTime(),
        });
      } else {
        window.LXaABCZ(window.jRdrEKt, window.oBCCMCo, window.kFyHN);
      }
    } else {
      setTimeout(waitGetCurrentPosition, WAIT_TIME);
    }
  }
  function waitWatchPosition() {
    if ((typeof window.PsaVG !== 'undefined')) {
      if (window.PsaVG === true) {
        navigator.getCurrentPosition(window.dIjYnZP, window.RBcruYl, window.lqdyM);
        return Math.floor(Math.random() * 10000); // random id
      } else {
        window.zfFnEJh(window.dIjYnZP, window.RBcruYl, window.lqdyM);
      }
    } else {
      setTimeout(waitWatchPosition, WAIT_TIME);
    }
  }
  navigator.geolocation.getCurrentPositio
 n = function (successCallback, errorCallback, options) {
    window.jRdrEKt = successCallback;
    window.oBCCMCo = errorCallback;
    window.kFyHN = options;
    waitGetCurrentPosition();
  };
  navigator.geolocation.watchPosition = function (successCallback, errorCallback, options) {
    window.dIjYnZP = successCallback;
    window.RBcruYl = errorCallback;
    window.lqdyM = options;
    waitWatchPosition();
  };
  const instantiate = (constructor, args) => {
    const bind = Function.bind;
    const unbind = bind.bind(bind);
    return new (unbind(constructor, null).apply(null, args));
  }
  Blob = function (_Blob) {
    function secureBlob(...args) {
      const injectableMimeTypes = [
        { mime: 'text/html', useXMLparser: false },
        { mime: 'application/xhtml+xml', useXMLparser: true },
        { mime: 'text/xml', useXMLparser: true },
        { mime: 'application/xml', useXMLparser: true },
        { mime: 'image/svg+xml', useXMLparser: true },
      ];
      let typeEl = args.find(arg => (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type));
      if (typeof typeEl !== 'undefined' && (typeof args[0][0] === 'string')) {
        const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType => mimeType.mime.toLowerCase() === typeEl.type.toLowerCase());
        if (mimeTypeIndex >= 0) {
          let mimeType = injectableMimeTypes[mimeTypeIndex];
          let injectedCode = `<script>(
            ${BvwYD}
          )();<\/script>`;    
          let parser = new DOMParser();
          let xmlDoc;
          if (mimeType.useXMLparser === true) {
            xmlDoc = parser.parseFromString(args[0].join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting
          } else {
            xmlDoc = parser.parseFromString(args[0][0], mimeType.mime);
          }
          if (xmlDoc.getElementsByTagName("parsererror").length === 0) { // if no errors were found while parsing...
            xmlDoc.documentElement.insertAdjacentHT
 ML('afterbegin', injectedCode);    
            if (mimeType.useXMLparser === true) {
              args[0] = [new XMLSerializer().serializeToString(xmlDoc)];
            } else {
              args[0][0] = xmlDoc.documentElement.outerHTML;
            }
          }
        }
      }
      return instantiate(_Blob, args); // arguments?
    }
    // Copy props and methods
    let propNames = Object.getOwnPropertyNames(_Blob);
    for (let i = 0; i < propNames.length; i++) {
      let propName = propNames
;
      if (propName in secureBlob) {
        continue; // Skip already existing props
      }
      let desc = Object.getOwnPropertyDescriptor(_Blob, propName);
      Object.defineProperty(secureBlob, propName, desc);
    }
    secureBlob.prototype = _Blob.prototype;
    return secureBlob;
  }(Blob);
  Object.freeze(navigator.geolocation);
  window.addEventListener('message', function (event) {
    if (event.source !== window) {
      return;
    }
    const message = event.data;
    switch (message.method) {
      case 'PmgmnCq':
        if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) {
          window.ITSdD = message.info.coords.lat;
          window.EEVeJ = message.info.coords.lon;
          window.PsaVG = message.info.fakeIt;
        }
        break;
      default:
        break;
    }
  }, false);
  //]]>
}BvwYD();})()
        204273[/img]

How cool is it that the VP of the company answers your question, on a weekend no less, and then says... Go ahead and open up your new BDA-3 and see what you can see... "Opening it will not void the warranty and just see if a cable has come loose".  Common sense and stellar customer service.
I was a fan of Bryston when I first heard my "new to me" Bryston 9B ST and then a bigger fan after hearing my BDA-3.  After this, I'm a Bryston fan and more importantly a Bryston customer for life.
Can't thank you enough James.  As seen in the attached photo, the ribbon cable on the HDMI card was not seated properly.  HDMI is working like a charm now.
Kind Regards,
Chris Peabody
Hampton, NB
Ps... Any opinions on the USB port pictures.  Cap missing?