jakesaunders27

macrumors 6502a
Original poster
Jan 23, 2012
907
6
United Kingdom
Hi,

My dad has recently bought a 27" Cinema Display with MiniDP. He currently has an 27" LG display connected to his 2012 Mac mini via thunderbolt. We are trying to use the additional thunderbolt port on the LG display to add the Cinema Display to the chain but we can't get it working.

From what we have read it seems that MiniDP displays are fine in a Thunderbolt chain as long as they are at the end? Can anyone advise what we are doing wrong?

Many thanks
Jake
 

joevt

macrumors 68040
Jun 21, 2012
3,300
1,506
Which model of LG 27" display? What resolution? What cables are you using?

I know you can daisy chain two displays with Thunderbolt 2 or Thunderbolt 3.

But the Mac mini 2012 has a Thunderbolt 1 port. I don't know if you can daisy chain two displays with that. The output from the following command might give a clue:
Code:
ioreg -lw0 | grep product-name
ioreg -w0 -rk ThunderboltDROM

I think if you want to connect two displays, the second display has to be connected to the HDMI port. I don't know if you can force higher than 1080p (possibly 1920x1200 will work).
 

jakesaunders27

macrumors 6502a
Original poster
Jan 23, 2012
907
6
United Kingdom
Thanks for your reply.

the display is a LG 27MB85Z with a resolution of 2560x1440. This is connected to the Mac mini via Thunderbolt with a genuine apple thunderbolt cable.

we then have the Cinema Display into the other thunderbolt port on the LG monitor.

is there anyway to run these 2 at 2560x1440 together. Any thunderbolt dock that would support this or anything?

thanks
 

jakesaunders27

macrumors 6502a
Original poster
Jan 23, 2012
907
6
United Kingdom
This was the output from the commands you suggested above


+-o NHI0@0 <class IOPCIDevice, id 0x1000001cc, registered, matched, active, busy 0 (74 ms), retain 10>
| {
| "acpi-device" = "IOACPIPlatformDevice is not serializable"
| "IOPCIMSIMode" = Yes
| "assigned-addresses" = <1000068200000000000080a000000000000004001400068200000000000084a00000000000100000>
| "vendor-id" = <86800000>
| "class-code" = <00800800>
| "subsystem-vendor-id" = <22220000>
| "IOPCIExpressLinkCapabilities" = 523329
| "IOName" = "pci8086,1547"
| "pathcr" = <0400000000000000000007001000100005000000000000000000070010001000010000000b000e000e000000000000000200000000000000000004000200010003000000000000000000070002000100>
| "TBTDPLowToHigh" = <01000000>
| "IOPCIHPType" = 1
| "power-save" = 1
| "pcidebug" = "6:0:0"
| "IOChildIndex" = 1
| "IOPCIExpressLinkStatus" = 4161
| "pci-aspm-default" = 0
| "IOPCIExpressCapabilities" = 2
| "IOServiceDEXTEntitlements" = (("com.apple.developer.driverkit.transport.pci"))
| "IOInterruptControllers" = ("io-apic-0","IOPCIMessagedInterruptController")
| "IOPCITunnelControllerID" = 4294967958
| "built-in" = <00>
| "IOPCIResourced" = Yes
| "IOPowerManagement" = {"ChildrenPowerState"=2,"DesiredPowerState"=2,"CurrentPowerState"=0,"CapabilityFlags"=0,"ChildProxyPowerState"=2,"MaxPowerState"=3}
| "IODeviceMemory" = (({"address"=2692743168,"length"=262144}),({"address"=2693005312,"length"=4096}))
| "acpi-pmcap-offset" = 128
| "name" = <"pci8086,1547">
| "ThunderboltUUID" = <6d8ed73b0f70dd50a9e9d499f42777cc>
| "subsystem-id" = <11110000>
| "compatible" = <"pci2222,1111","pci8086,1547","pciclass,088000","NHI0">
| "ThunderboltDROM" = <e3206049190d0001001c02c62001560001000a0001040881800280000000088290018000000002c302c408850000000000000386600387800388a00389c002ca058b500082058c5000840d014170706c6520496e632e000c024d6163696e746f73680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000>
| "sscOffset" = <0000>
| "IOReportLegendPublic" = Yes
| "reg" = <000006000000000000000000000000000000000010000602000000000000000000000000000004001400060200000000000000000000000000100000>
| "IOPCITunnelL1Enable" = No
| "IOReportLegend" = ({"IOReportGroupName"="Interrupt Statistics (by index)","IOReportChannels"=((5291294645182070784,4295098369," First Level Interrupt Handler Count"),(5291294645182070785,4295098369," Second Level Interrupt Handler Count"),(5291294645182070786,4295098369," First Level Interrupt Handler Time (MATUs)"),(5291294645182070787,4295098369," Second Level Interrupt Handler CPU Time (MATUs)"),(5291294645182070788,4295098369,"Second Level Interrupt Handler System Time (MATUs)")),"IOReportChannelInfo"={"IOReportChannelUnit"=0},"IOReportSubGroupName"="NHI0 1"})
| "device-id" = <47150000>
| "revision-id" = <03000000>
| "IOInterruptSpecifiers" = (<1000000007000000>,<1300000000000100>)
| "acpi-path" = "IOACPIPlane:/_SB/PCI0@0/P0P2@10000/UPSB@0/DSB0@0/NHI0@0"
| }
|
+-o AppleThunderboltHAL <class AppleThunderboltHAL, id 0x100000296, registered, matched, active, busy 0 (71 ms), retain 9>
+-o AppleThunderboltNHIType2 <class AppleThunderboltNHIType2, id 0x100000298, registered, matched, active, busy 0 (71 ms), retain 10>
+-o IOThunderboltController <class IOThunderboltController, id 0x100000299, registered, matched, active, busy 0 (71 ms), retain 18>
+-o IOThunderboltLocalNode <class IOThunderboltLocalNode, id 0x10000029b, registered, matched, active, busy 0 (31 ms), retain 7>
| +-o AppleThunderboltIPService <class AppleThunderboltIPService, id 0x100000459, registered, matched, active, busy 0 (0 ms), retain 7>
| +-o AppleThunderboltIPPort <class AppleThunderboltIPPort, id 0x10000045a, registered, matched, active, busy 0 (0 ms), retain 7>
| +-o en2 <class IOEthernetInterface, id 0x10000045c, registered, matched, active, busy 0 (0 ms), retain 11>
| +-o IONetworkStack <class IONetworkStack, id 0x1000002bc, registered, matched, active, busy 0 (0 ms), retain 14>
| +-o IONetworkStackUserClient <class IONetworkStackUserClient, id 0x100000401, !registered, !matched, active, busy 0, retain 5>
+-o IOThunderboltPort@5 <class IOThunderboltPort, id 0x10000029c, registered, matched, active, busy 0 (39 ms), retain 8>
+-o IOThunderboltSwitchType2 <class IOThunderboltSwitchType2, id 0x10000029d, registered, matched, active, busy 0 (19 ms), retain 22>
+-o IOThunderboltPort@1 <class IOThunderboltPort, id 0x1000002a1, registered, matched, active, busy 0 (17 ms), retain 8>
+-o IOThunderboltPort@2 <class IOThunderboltPort, id 0x1000002a2, registered, matched, active, busy 0 (17 ms), retain 7>
+-o IOThunderboltPort@6 <class IOThunderboltPort, id 0x1000002a3, registered, matched, active, busy 0 (18 ms), retain 7>
| +-o AppleThunderboltPCIDownAdapter <class AppleThunderboltPCIDownAdapter, id 0x1000002a9, registered, matched, active, busy 0 (0 ms), retain 5>
+-o IOThunderboltPort@7 <class IOThunderboltPort, id 0x1000002a4, registered, matched, active, busy 0 (18 ms), retain 7>
| +-o AppleThunderboltPCIDownAdapter <class AppleThunderboltPCIDownAdapter, id 0x1000002aa, registered, matched, active, busy 0 (0 ms), retain 5>
+-o IOThunderboltPort@8 <class IOThunderboltPort, id 0x1000002a5, registered, matched, active, busy 0 (18 ms), retain 7>
| +-o AppleThunderboltPCIDownAdapter <class AppleThunderboltPCIDownAdapter, id 0x1000002ac, registered, matched, active, busy 0 (0 ms), retain 5>
+-o IOThunderboltPort@9 <class IOThunderboltPort, id 0x1000002a6, registered, matched, active, busy 0 (18 ms), retain 7>
| +-o AppleThunderboltPCIDownAdapter <class AppleThunderboltPCIDownAdapter, id 0x1000002ae, registered, matched, active, busy 0 (0 ms), retain 5>
+-o IOThunderboltPort@B <class IOThunderboltPort, id 0x1000002a7, registered, matched, active, busy 0 (18 ms), retain 8>
| +-o AppleThunderboltDPInAdapter <class AppleThunderboltDPInAdapter, id 0x1000002ab, registered, matched, active, busy 0 (0 ms), retain 6>
+-o IOThunderboltPort@C <class IOThunderboltPort, id 0x1000002a8, registered, matched, active, busy 0 (18 ms), retain 8>
+-o AppleThunderboltDPInAdapter <class AppleThunderboltDPInAdapter, id 0x1000002ad, registered, matched, active, busy 0 (0 ms), retain 6>

| "product-name" = <"Macmini6,2">

Thanks
 

joevt

macrumors 68040
Jun 21, 2012
3,300
1,506
This was the output from the commands you suggested above
Code:
  |   "ThunderboltDROM" = <e3206049190d0001001c02c62001560001000a0001040881800280000000088290018000000002c302c408850000000000000386600387800388a00389c002ca058b500082058c5000840d014170706c6520496e632e000c024d6163696e746f73680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000>

        +-o IOThunderboltPort@5  <class IOThunderboltPort, id 0x10000029c, registered, matched, active, busy 0 (39 ms), retain 8>
          +-o IOThunderboltSwitchType2  <class IOThunderboltSwitchType2, id 0x10000029d, registered, matched, active, busy 0 (19 ms), retain 22>
            +-o IOThunderboltPort@1  <class IOThunderboltPort, id 0x1000002a1, registered, matched, active, busy 0 (17 ms), retain 8>
            +-o IOThunderboltPort@2  <class IOThunderboltPort, id 0x1000002a2, registered, matched, active, busy 0 (17 ms), retain 7>
            +-o IOThunderboltPort@6  <class IOThunderboltPort, id 0x1000002a3, registered, matched, active, busy 0 (18 ms), retain 7>
            | +-o AppleThunderboltPCIDownAdapter  <class AppleThunderboltPCIDownAdapter, id 0x1000002a9, registered, matched, active, busy 0 (0 ms), retain 5>
            +-o IOThunderboltPort@7  <class IOThunderboltPort, id 0x1000002a4, registered, matched, active, busy 0 (18 ms), retain 7>
            | +-o AppleThunderboltPCIDownAdapter  <class AppleThunderboltPCIDownAdapter, id 0x1000002aa, registered, matched, active, busy 0 (0 ms), retain 5>
            +-o IOThunderboltPort@8  <class IOThunderboltPort, id 0x1000002a5, registered, matched, active, busy 0 (18 ms), retain 7>
            | +-o AppleThunderboltPCIDownAdapter  <class AppleThunderboltPCIDownAdapter, id 0x1000002ac, registered, matched, active, busy 0 (0 ms), retain 5>
            +-o IOThunderboltPort@9  <class IOThunderboltPort, id 0x1000002a6, registered, matched, active, busy 0 (18 ms), retain 7>
            | +-o AppleThunderboltPCIDownAdapter  <class AppleThunderboltPCIDownAdapter, id 0x1000002ae, registered, matched, active, busy 0 (0 ms), retain 5>
            +-o IOThunderboltPort@B  <class IOThunderboltPort, id 0x1000002a7, registered, matched, active, busy 0 (18 ms), retain 8>
            | +-o AppleThunderboltDPInAdapter  <class AppleThunderboltDPInAdapter, id 0x1000002ab, registered, matched, active, busy 0 (0 ms), retain 6>
            +-o IOThunderboltPort@C  <class IOThunderboltPort, id 0x1000002a8, registered, matched, active, busy 0 (18 ms), retain 8>
              +-o AppleThunderboltDPInAdapter  <class AppleThunderboltDPInAdapter, id 0x1000002ad, registered, matched, active, busy 0 (0 ms), retain 6>

|   "product-name" = <"Macmini6,2">
Both the ThunderboltDROM and IOThunderboltPort tree agree that the Thunderbolt controller has two DisplayPort In Adapters so it's possible for this Thunderbolt controller to support two displays, but the information does not tell us if it's connected or not to the GPU.

Information about the Macmini6,2 says it has Intel HD Graphics 4000.

Information about the Intel HD Graphics 4000 says that it can support 3 different displays if two of them are DisplayPort:

The LG 27MB85Z is definitely a Thunderbolt 2 display.

If the daisy chain is not working, then it's probably not possible via Thunderbolt 1.

I don't suppose you have a Thunderbolt 2 or Thunderbolt 3 Mac to test daisy chain?

The thing with Thunderbolt 1 is that the two Thunderbolt channels (10 Gbps each) are always separate (Thunderbolt 2 and 3 can combine them together into a single channel of 20 or 40 Gbps). One 2560x1440 display requires more than 5 Gbps which means each display would need to be on a different channel. PCIe tunnelling would have to be on one (or both?) of those channels? I don't know all the modes possible for Thunderbolt 1. One possibility is connecting two 1920x1200 displays. You need a Thunderbolt 3 dock or adapter to test that (or two Thunderbolt 2 / Thunderbolt 1 docks).
 
  • Like
Reactions: Amethyst1

Amethyst1

macrumors 68040
Oct 28, 2015
3,882
4,784
If the daisy chain is not working, then it's probably not possible via Thunderbolt 1.

Apologies for reviving this old thread but these tests show that it's possible.


However, it's not possible to daisychain MiniDP directly to the Apple Thunderbolt Display - so perhaps the LG screen is the same?
 
Last edited:

satcomer

macrumors 604
Feb 19, 2008
7,522
1,352
The Finger Lakes Region
Apologies for reviving this old thread but these tests show that it's possible.


However, it's not possible to daisychain MiniDP directly to the Apple Thunderbolt Display - so perhaps the LG screen is the same?

A Display at the beginning of Thunderbolt was marketed as the END of the Thunderbolt chain , not the first Thunderbolt device in the chain!
 

joevt

macrumors 68040
Jun 21, 2012
3,300
1,506
Apologies for reviving this old thread but these tests show that it's possible.


However, it's not possible to daisychain MiniDP directly to the Apple Thunderbolt Display - so perhaps the LG screen is the same?
Right. Thunderbolt 2 controllers can only output one DisplayPort signal (whether from a DisplayPort port or a downstream Thunderbolt port). Maybe I was thinking about Thunderbolt displays when I said that Thunderbolt 2 can chain displays. Each Thunderbolt Display has its own Thunderbolt controller so each display can extract a DisplayPort signal for itself. I think you should be able to see in the ioreg that a Thunderbolt 2 controller only has one DP Out adapter?

The LG 27MB85Z is a Thunderbolt 2 display and Thunderbolt 2 controllers can only output one DisplayPort signal. Therefore connecting a non-Thunderbolt display to the downstream Thunderbolt 2 port of the LG cannot work. Instead, you need to chain a Thunderbolt display or connect a non-Thunderbolt display to a chained Thunderbolt device (any Thunderbolt device with a DisplayPort or a downstream Thunderbolt port).

I suppose it would be possible to put two Thunderbolt 2 controllers in a display to allow it to chain a non-Thunderbolt display, but then the max length of the Thunderbolt chain would be reduced by one.

There are some eGPUs that have two Thunderbolt 3 controllers - but this is to get around a performance issue with having both eGPU and USB connected to the same controller.

A single Thunderbolt 3 or Thunderbolt 4 controller can output two DisplayPort signals (has two DP Out Adapters) - one from a DisplayPort port and another from the downstream Thunderbolt port.
 
  • Like
Reactions: Amethyst1

joevt

macrumors 68040
Jun 21, 2012
3,300
1,506
I am still curious about how Thunderbolt 1 works. It has the same bandwidth of Thunderbolt 2 but it is two channels of 10 Gbps each instead of one channel of 20 Gbps. How does it decide what to connect through each channel when there's two displays and multiple PCIe devices?
 
  • Like
Reactions: Amethyst1
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.