Jump to content

Latitude 7400: Troubleshooting Thunderbolt3


Baio77

Recommended Posts

When you test I need ioreg, I still have to fix the USB type C. What you are saying seems to me to be a NVRAM issue. Try clicking spacebar at Opencore GUI, then select resetnvram and test. Among other things also check that you have the latest Bios available if not update the Bios.

Link to comment
Share on other sites

Still battles with the TB/USB-C port not showing up. Sometimes, it just won't turn on no matter what I try. Sometimes, I had to turn on "TB Boot Support" in BIOS, otherwise, RP05 tree is empty. NVRAM reset does not help. When it did work, I captured the IOReg below.

 

TEST 7. When it worked, showing USB3 stick on TB port. 

 

TEST 14. When it worked, connected a DELL TB16 Docker. Then, I hot unplugged Docker (TEST15), and replugged in (TEST16). Docker was not reconnected successfully.

 

BTW, the TB16 docker was tested working under Windows (dual boot on the same machine).

IOReg-TEST7.zip IOReg-TEST14-TBBootBIOS-DockerConnected-Working2.zip IOReg-TEST15-Docker-HotUnplugged.zip IOReg-TEST16-Docker-HotPlug-Failed.zip

Link to comment
Share on other sites

@Baio77 I've tested more on my setup. I've found that the only way to get the TB3 port working was to boot Windows first, then reboot back to OpenCore. I have a dual boot setup, using a modified OC (OpenCore_No_ACPI, OC088 compiled version from here), which I've found to dual boot Windows reliably. By booting Windows, the TB3 port was made active, or properly initialized.

 

If the TB3 was properly initialized, I saw this BIOS message flashed to the screen during booting, only for couple of seconds (too fast to read, so I captured it with my phone's camera):

"DELL Support Pre-Boot System Performance Check

Warming Message

Thunderbolt PCIe Device Enumeration Mode Has Switched to Native"

 

The subsequent OC boots would have TB3 port working, until the port status was changed (somehow, e.g. reboot from macOS with TB16 docker connected), as indicated by the following message:

"DELL Support Pre-Boot System Performance Check

Warning Message

Thunderbolt PCIe Device Enumeration Mode Has Switched to BIOS Assist".

 

When the above happened, the RP05 tree is empty.  If I connected USB3 device before booting, then RP05 tree would be populated, but no USB3 nor TB devices would show up.

 

May be I missed something in the BIOS settings to keep TB3 in native mode.

 

BTW - I had to return this laptop back to a friend, so I may not conduct further testing. At least, with Baio's EFI, it is working great except the TB3 port activation (at least I had a work-around by booting Windows 1st if necessary). I will keep an eye on the follow up here. Thanks everyone!

 

 

BIOS_MSG_TB_Native.jpg

BIOS_MSG_TB_BIOS_Assist.jpg

Link to comment
Share on other sites

Thanks for the testing Bill!

I found just one problem with Baio's EFI. HDMI always connects from the second time...Tried it on 3 TV's and one monitor with different HDMI cables. All 4K, but the laptop tops up at 1080p 120Hz. Tried HiDPI script and nothing changed. Have you try the video output through TB dock?

Link to comment
Share on other sites

I am really curious if it's possible to make it work 4k@30Hz. I already tried different DP configurations and SMBIOS but it's all the same.

By the way the HDMI port shows some strange behaviour. To make it work I have to plug it, unplug it and plug it again. We are close to make it 100% working, just some cosmetics left around.

Link to comment
Share on other sites

May be 4K display would require that "DVMT Pre-Allocated" set to 64MB? This could be done with 5400/5490. It requires an extracted version of the DELL BIOS to identify the location of the variable that controls "DVMT Pre-Allocated" setting.

 

Update (Mar 5):

 

I've identified the location of the following parameters for 7400 BIOS (V1.24, same in V1.23). You can modify them using modGRUBShell.efi. Here are the commands:

 

1. Disable "CFG LOCK": VarOffset = 0x6ED, VarStore: 0x1 (Name: Setup)

 

Command for modGRUBShell.efi: setup_var_cv Setup 0x6ED 0x1 0x0

 

2. Set "DVMT Pre-Allocate" to 64MB: VaOffset = 0xA10, VarStore: 0x1 (Name: Setup)

Command for modGRUBShell.efi: setup_var_cv Setup 0xA10 0x1 0x2

 

3. Set "DVMT Total Gfx Mem = Max":  VarOffset = 0xA11 VarStore: 0x1 (Name: Setup)

Command for modGRUBShell.efi: setup_var_cv Setup 0xA11 0x1 0x3

 

@Jazzoo Please give it a try. 

  • Thanks 1
Link to comment
Share on other sites

  • Administrators

DVMT must indeed be set to 64MB minimum to be able to obtain 4K output. 4K cannot be achieved with DVMT set to 32MB. See our published article on the matter:

https://osxlatitude.com/forums/topic/17804-dvmtstolenmemfbmemcursormem-why-do-we-patch-these-for-broadwell-and-later

 

There's normally no need to set DVMT to more than 64MB/96MB.

  • Thanks 2
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...