Enable DCI on NUC7i7BNH

Enable DCI on NUC7i7BNH

Hi,

I'm attempting to enable DCI on a NUC kit -- specifically, a NUC7i7BNH. I've enabled the "Silicon Debug Features" in the BIOS, which appears to have enabled DCI on the CPU: MSR 0xC80 (IA32_DEBUG_INTERFACE) reads 0xC0000001. However, it seems that it is not enabled in the chipset: the ECTRL register of the DCI PCR (0xFDB80004) reads 0x00000001, which does not have bit 4 set (page 1706 of https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/100-series-chipset-datasheet-vol-2.pdf).

That manual indicates that HDCIEN can only be reset to a 1 by asserting RTCRST#. I've tried disassembling the NUC and removing the CMOS battery, but to no avail -- the BIOS detects the CMOS failure and notifies me on screen, but by the time I can run an EFI shell again to check the bit, it's back to 0. The way I see it, there are a few possibilities here (in order of good to bad):

  • There's some code in the BIOS that writes a 0 to the bit.
    • I've looked through it a bunch in IDA, but I didn't see anything obvious (i.e. no literal references to 0xfdb80004).
    • In any case, if it is there, I should be able to patch it out -- boot guard is not enabled.
  • Removing the CMOS battery did not actually assert RTCRST#.
    • If this is the case, how can I forcefully assert RTCRST#? Is there a jumper somewhere on the board? I took everything off, but I didn't see one.
  • The PCH does not allow this bit to be set for some reason (a blown fuse perhaps?)
    • :(

Has anyone gotten DCI working on these NUC kits before? Does anyone have any suggestions for debugging this further, or contact information for someone who might?

Any help would be greatly appreciated.

Thanks,

Paul

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi,

The production platform such as NUC on the self don't have HDCIEN(Host DCI Enable, it is different feature of "Debug Enable") menu entry in CMOS setup because it allow full system access over DCI debug connection which causes a critical security issue on production platform.  Could you explain more detail why you need a this kind of low level debug connection to production platform ? This level of debugging is for BIOS/Firmware vendor or system manufacturers.

 

Thanks.

I suppose I don't really understand the reasoning -- there's lots you can do from the BIOS/UEFI that allows essentially full access: disable Secure Boot, launch a UEFI shell and edit memory/disk, etc. I don't really need DCI to a "production" system -- any Core i7 system would do, but, as far as I know, I don't have access to the development boards that Intel sells. Is there a dev board that I could buy? ITP-XDP would be even better than DCI.

Leave a Comment

Please sign in to add a comment. Not a member? Join today