Jump to content

DSDT fixes for Gigabyte boards


iSoprano
 Share

1,909 posts in this topic

Recommended Posts

kdawg

 

I investigated more time, to find a solution for this ''bug'', seems, that DSDT fix will work only with 1394a(800Mb) versions, the rest others will work in half mode with this fix, or in full mode with power conservation disabled message. Of course we can have a full support with firewire modified kext, but I think doesn't make sense, I don't like to have to many kexts in extra, if it can can be done w/o that, so power conservation disabled message doesn't matter for me. ;)

Link to comment
Share on other sites

Those of you looking to get their Firewire hot plug to function properly let me know your milage on this patch. Not working for me but I want to see if others have any luck.

 

lol. give me your DSDT that you are using now and I will fix Firewire for you.

I've tested this patch on different machines and it is working :P

Link to comment
Share on other sites

I upgraded to 10.6.3 and at the same time grabbed the dsdt and smbios in the front of this forum then rebooted and thought better cross my finger. System is looking good though my processor speed is not correct should be 2.4 and it's 1.67 gzh in hardware overview. Good work guys Shoot sounds not working either

 

 

Oh I have this set up

 

GA ep35-ds3l

Quad core 2.4 that's showing as a 1.67

3 gb of ram

9800gtx ( this is showing as unknown)

Mac os 6.3

mac model 3.1

 

thanks for any insights

 

 

another chief

Link to comment
Share on other sites

Can someone explain me how to replace the DTGP call "DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)" with MCDP?

 

Method (MCDP, 2, NotSerialized) //<--Master Chief's Method
{
   If (LEqual (Arg0, Zero))
   {
       Store (Buffer (One)
       {
           0x03
       }, Arg1)
   }
}

Device (LPCB) //<--Renamed from PX40
{
   Name (_ADR, 0x001F0000)
   Method (_DSM, 4, NotSerialized) //<--AppleLPC fix
   {
       Store (Package (0x02)
           {
               "device-id", 
               Buffer (0x04){0x18, 0x3A, 0x00, 0x00}
           }, Local0)
       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) //<---- How can I call MCDP?
       Return (Local0)
}

 

I would be grateful for any help!

Link to comment
Share on other sites

I think this is the correct one, altough I'm not 100% sure:

MCDP (Arg2, RefOf (Local0))

 

Yes, that's it. Just replace the DTGP caller with that.

 

Master Chief's DSDT3 doesn't have the same AppleLPC fix.

 

Different board, different manufacturer, different BIOS vendor, different code.

Link to comment
Share on other sites

Thanks, mate!

Just one more question in order to finish my DSDT.

There is a code in Device (LPCB) { } //<-- Renamed from PX40:

 

OperationRegion (LPIO, PCI_Config, 0x80, 0x0E)
Scope (\)
{
   Field (\_SB.PCI0.LPCB.LPIO, ByteAcc, NoLock, Preserve)
   {
       UAIO,   8, 
       PRIO,   8, 
       LPE1,   8, 
       LPE2,   8, 
       GN1L,   8, 
       GN1H,   8, 
       GN2L,   8, 
       GN2H,   8
   }

   Method (DISD, 1, NotSerialized)
   {
       If (LEqual (Arg0, Zero))
       {
           And (LPE1, 0xFE, LPE1)
       }

       If (LEqual (Arg0, One))
       {
           And (LPE1, 0xFD, LPE1)
       }

       If (LEqual (Arg0, 0x02))
       {
           And (LPE1, 0xFB, LPE1)
       }

       If (LEqual (Arg0, 0x03))
       {
           And (LPE1, 0xF7, LPE1)
       }

       If (LEqual (Arg0, 0x04))
       {
           And (LPE2, 0xFC, LPE2)
       }

       If (LEqual (Arg0, 0x05))
       {
           And (LPE1, 0xDF, LPE1)
       }

       If (LEqual (Arg0, 0x06))
       {
           And (GN2L, 0xFE, GN2L)
       }
   }

   Method (CKIO, 2, NotSerialized)
   {
       If (LEqual (Arg1, Zero))
       {
           Or (LPE1, One, LPE1)
           And (UAIO, 0xF0, Local0)
           If (LEqual (Arg0, 0x03F8))
           {
               Or (Local0, Zero, UAIO)
           }

           If (LEqual (Arg0, 0x02F8))
           {
               Or (Local0, One, UAIO)
           }

           If (LEqual (Arg0, 0x02E8))
           {
               Or (Local0, 0x05, UAIO)
           }

           If (LEqual (Arg0, 0x03E8))
           {
               Or (Local0, 0x07, UAIO)
           }
       }

       If (LEqual (Arg1, One))
       {
           Or (LPE1, 0x02, LPE1)
           And (UAIO, 0x0F, Local0)
           If (LEqual (Arg0, 0x03F8))
           {
               Or (Local0, Zero, UAIO)
           }

           If (LEqual (Arg0, 0x02F8))
           {
               Or (Local0, 0x10, UAIO)
           }

           If (LEqual (Arg0, 0x02E8))
           {
               Or (Local0, 0x50, UAIO)
           }

           If (LEqual (Arg0, 0x03E8))
           {
               Or (Local0, 0x70, UAIO)
           }
       }

       If (LEqual (Arg1, 0x02))
       {
           Or (LPE1, 0x04, LPE1)
           And (PRIO, 0xFC, Local0)
           If (LEqual (Arg0, 0x0378))
           {
               Or (Local0, Zero, PRIO)
           }

           If (LEqual (Arg0, 0x0278))
           {
               Or (Local0, One, PRIO)
           }

           If (LEqual (Arg0, 0x03BC))
           {
               Or (Local0, 0x02, PRIO)
           }
       }

       If (LEqual (Arg1, 0x03))
       {
           Or (LPE1, 0x08, LPE1)
       }

       If (LEqual (Arg1, 0x04))
       {
           If (LEqual (Arg0, 0x0201))
           {
               Or (LPE2, One, LPE2)
           }

           If (LEqual (Arg0, 0x0209))
           {
               Or (LPE2, 0x02, LPE2)
           }
       }

       If (LEqual (Arg1, 0x06))
       {
           If (LNotEqual (Arg0, 0xFFFF))
           {
               And (Arg0, 0xFF, Local0)
               Or (Local0, One, GN2L)
               ShiftRight (Arg0, 0x08, GN2H)
           }
           Else
           {
               Store (Zero, GN2H)
               Store (Zero, GN2L)
           }
       }
   }
}

 

Can I remove this code?

I have not found any information in the ACPI specification / ICH10 Datasheet. I would be grateful for any help!

Link to comment
Share on other sites

You may want to re-read the Intel datasheet again, and then please pay attention to the following section: "Port-Routing Logic" (see attachments) because the default EHCI setup is "Six and Six" where the extra port, configured at BIOS post, is only used in the "Eight and Four" setup. You must have missed this text: "D26:F2 can be configured as D29:F3 during BIOS Post."

 

In short: You can remove that port from your DSDT when in the "Six and Six" configuration, which is again the default setup. Do you perhaps have some kind of BIOS setting for this?

 

 

Thank you for this confirmation. I sort of knew this already, but I like you people to confirm it for me.

 

 

EHCI only. UHCI is fine.

 

 

Which to me basically means that we are not done, yet. And audio fixes will have to wait for now, or things will get out of control rapidly.

 

Master Chief and other experts,

I have a situation that my USBR (0x001D0003) is used and commenting it I lose one of my USB2 ports.

I am wondering if there are other device ids beyond the six that have been around so that I can use for my USBR port and get back my USB2 to work. If I just leave it as it is, it comes up as expansion slot and I lose sleep capability.

I do not have any BIOS option to turn it off or on, and even commenting DSDT section does not solve the problem, as it is still recognized as an expansion slot.

Any suggestion how to get back my USB2 port without losing sleep capability? Here is a short lspci listing of my devices:

00:00.0 Host bridge [0600]: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub [8086:2a40] (rev 07)
00:01.0 PCI bridge [0604]: Intel Corporation Mobile 4 Series Chipset PCI Express Graphics Port [8086:2a41] (rev 07)
00:1a.0 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 [8086:2937] (rev 03)
00:1a.1 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 [8086:2938] (rev 03)
00:1a.7 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 [8086:293c] (rev 03)
00:1b.0 Audio device [0403]: Intel Corporation 82801I (ICH9 Family) HD Audio Controller [8086:293e] (rev 03)
00:1c.0 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 [8086:2940] (rev 03)
00:1c.1 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 [8086:2942] (rev 03)
00:1c.4 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 5 [8086:2948] (rev 03)
00:1d.0 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 [8086:2934] (rev 03)
00:1d.1 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 [8086:2935] (rev 03)
00:1d.2 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 [8086:2936] (rev 03)
[b][color="#ff0000"]00:1d.3 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 [8086:2939] (rev 03)[/color][/b]
00:1d.7 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 [8086:293a] (rev 03)
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] (rev 93)
00:1f.0 ISA bridge [0601]: Intel Corporation ICH9M LPC Interface Controller [8086:2919] (rev 03)
00:1f.2 SATA controller [0106]: Intel Corporation ICH9M/M-E SATA AHCI Controller [8086:2929] (rev 03)
00:1f.3 SMBus [0c05]: Intel Corporation 82801I (ICH9 Family) SMBus Controller [8086:2930] (rev 03)
01:00.0 VGA compatible controller [0300]: nVidia Corporation Unknown device [10de:0a34] (rev a2)
01:00.1 Audio device [0403]: nVidia Corporation Unknown device [10de:0be2] (rev a1)
02:00.0 Ethernet controller [0200]: Broadcom Corporation NetLink BCM5784M Gigabit Ethernet PCIe [14e4:1698] (rev 10)
03:00.0 Network controller [0280]: Broadcom Corporation BCM4328 802.11a/b/g/n [14e4:4328] (rev 03)

 

Problem Solved!

The solution was to use the same device id for UH6 and USBR in my case or whatever name one may have for device on the 0x001D0003 address. In fact on re-reading the ICH9 manual I noticed it mentioning that UHC6 and USBR have the same device id.

 

Artimess

Link to comment
Share on other sites

Thanks, mate!

Just one more question in order to finish my DSDT.

There is a code in Device (LPCB) { } //<-- Renamed from PX40:

 

OperationRegion (LPIO, PCI_Config, 0x80, 0x0E)
Scope (\)
{
   Field (\_SB.PCI0.LPCB.LPIO, ByteAcc, NoLock, Preserve)
   {
       UAIO,   8, 
       PRIO,   8, 
       LPE1,   8, 
       LPE2,   8, 
       GN1L,   8, 
       GN1H,   8, 
       GN2L,   8, 
       GN2H,   8
   }

   Method (DISD, 1, NotSerialized)
   {
       If (LEqual (Arg0, Zero))
       {
           And (LPE1, 0xFE, LPE1)
       }

       If (LEqual (Arg0, One))
       {
           And (LPE1, 0xFD, LPE1)
       }

       If (LEqual (Arg0, 0x02))
       {
           And (LPE1, 0xFB, LPE1)
       }

       If (LEqual (Arg0, 0x03))
       {
           And (LPE1, 0xF7, LPE1)
       }

       If (LEqual (Arg0, 0x04))
       {
           And (LPE2, 0xFC, LPE2)
       }

       If (LEqual (Arg0, 0x05))
       {
           And (LPE1, 0xDF, LPE1)
       }

       If (LEqual (Arg0, 0x06))
       {
           And (GN2L, 0xFE, GN2L)
       }
   }

   Method (CKIO, 2, NotSerialized)
   {
       If (LEqual (Arg1, Zero))
       {
           Or (LPE1, One, LPE1)
           And (UAIO, 0xF0, Local0)
           If (LEqual (Arg0, 0x03F8))
           {
               Or (Local0, Zero, UAIO)
           }

           If (LEqual (Arg0, 0x02F8))
           {
               Or (Local0, One, UAIO)
           }

           If (LEqual (Arg0, 0x02E8))
           {
               Or (Local0, 0x05, UAIO)
           }

           If (LEqual (Arg0, 0x03E8))
           {
               Or (Local0, 0x07, UAIO)
           }
       }

       If (LEqual (Arg1, One))
       {
           Or (LPE1, 0x02, LPE1)
           And (UAIO, 0x0F, Local0)
           If (LEqual (Arg0, 0x03F8))
           {
               Or (Local0, Zero, UAIO)
           }

           If (LEqual (Arg0, 0x02F8))
           {
               Or (Local0, 0x10, UAIO)
           }

           If (LEqual (Arg0, 0x02E8))
           {
               Or (Local0, 0x50, UAIO)
           }

           If (LEqual (Arg0, 0x03E8))
           {
               Or (Local0, 0x70, UAIO)
           }
       }

       If (LEqual (Arg1, 0x02))
       {
           Or (LPE1, 0x04, LPE1)
           And (PRIO, 0xFC, Local0)
           If (LEqual (Arg0, 0x0378))
           {
               Or (Local0, Zero, PRIO)
           }

           If (LEqual (Arg0, 0x0278))
           {
               Or (Local0, One, PRIO)
           }

           If (LEqual (Arg0, 0x03BC))
           {
               Or (Local0, 0x02, PRIO)
           }
       }

       If (LEqual (Arg1, 0x03))
       {
           Or (LPE1, 0x08, LPE1)
       }

       If (LEqual (Arg1, 0x04))
       {
           If (LEqual (Arg0, 0x0201))
           {
               Or (LPE2, One, LPE2)
           }

           If (LEqual (Arg0, 0x0209))
           {
               Or (LPE2, 0x02, LPE2)
           }
       }

       If (LEqual (Arg1, 0x06))
       {
           If (LNotEqual (Arg0, 0xFFFF))
           {
               And (Arg0, 0xFF, Local0)
               Or (Local0, One, GN2L)
               ShiftRight (Arg0, 0x08, GN2H)
           }
           Else
           {
               Store (Zero, GN2H)
               Store (Zero, GN2L)
           }
       }
   }
}

 

Can I remove this code?

I have not found any information in the ACPI specification / ICH10 Datasheet. I would be grateful for any help!

Yeah take it out. Beware of other errors that may pop up if you do, but I don't use that piece in my DSDT.
Link to comment
Share on other sites

I would like to add my NetGear GA311 Ethernet adapter to the DSDT.

Kdawg uses this one in his DSDT:

 

Device (LAN0) {
   Name (_ADR, Zero)
   Method (_DSM, 4, NotSerialized)
   {
       Store (Package (0x08) {
               "location", Buffer (0x02){"1"},
               "built-in", Buffer (0x02){0x01},
               "device_type", Buffer (0x09){"ethernet"},
               "name", Buffer (0x01F){"Realtek RTL8111C PCI-E Gigabit"}
           }, Local0)
       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
       Return (Local0)
   }
} // <-- Ethernet port 1

 

It looks good, but I have a PCI Ethernet adapter (not built-in / not soldered to the motherboard).

I attached my lspci output. Someone can help me to change the values to reflect my adapter? Or point me to any reference?

 

I would be more than grateful for any help!

post-66455-1271068912_thumb.jpg

Link to comment
Share on other sites

I would like to add my NetGear GA311 Ethernet adapter to the DSDT.

Kdawg uses this one in his DSDT:

 

Device (LAN0) {
   Name (_ADR, Zero)
   Method (_DSM, 4, NotSerialized)
   {
       Store (Package (0x08) {
               "location", Buffer (0x02){"1"},
               "built-in", Buffer (0x02){0x01},
               "device_type", Buffer (0x09){"ethernet"},
               "name", Buffer (0x01F){"Realtek RTL8111C PCI-E Gigabit"}
           }, Local0)
       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
       Return (Local0)
   }
} // <-- Ethernet port 1

 

It looks good, but I have a PCI Ethernet adapter (not built-in / not soldered to the motherboard).

I attached my lspci output. Someone can help me to change the values to reflect my adapter? Or point me to any reference?

 

I would be more than grateful for any help!

Attach your DSDT and I'll add it in for you.
Link to comment
Share on other sites

Thanks, mate!
For some reason I can't upload the DSDT so try this adding this next to your firewire device like so:

				Device (LAN0) {
				Name (_ADR, 0x00010000)
				Method (_DSM, 4, NotSerialized) {
					Store (Package (0x08) {
							"location", Buffer (0x02){"1"},
							"built-in", Buffer (0x02){0x01},
							"device_type", Buffer (0x09){"ethernet"},
							"name", Buffer (0x01E){"Realtek RTL8169 PCI-E Gigabit"}
						}, Local0)
					MCDP (Arg2, RefOf (Local0))
					Return (Local0)
				}
			} // <-- Ethernet port 1

			Device (FRWR) //<--Firewire 
			{
				Name (_ADR, 0x00070000)
				Name (_GPE, 0x1A)
				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x02)
					{
						"fwports", Buffer (0x04){0x02, 0x00, 0x00, 0x00}
					}, Local0)
					MCDP (Arg2, RefOf (Local0))
					Return (Local0)
				}
			}

Link to comment
Share on other sites

@kdawg Is a good idea to use the same _ADR for "PEGP" and "LAN0" ?

I just finished injecting the nVidia card to the DSDT. Can you check my latest DSDT?

It's on another bus so it should work.
Link to comment
Share on other sites

kdawg Your ethernet is in the PEX4:

 

Device (PEX4) {
   Name (_ADR, 0x001C0004)
   Name (_STA, 0x0F)
   Name (_PRW, Package (0x02){0x09,0x05})
   Method (_PRT, 0, NotSerialized) {
       Return (Package (0x04) {                   
           Package (0x04){0xFFFF,Zero,Zero,0x10},
           Package (0x04){0xFFFF,One,Zero,0x11},
           Package (0x04){0xFFFF,0x02,Zero,0x12},
           Package (0x04){0xFFFF,0x03,Zero,0x13}
       })
   }
   Device (LAN0) {
       Name (_ADR, Zero)
       Method (_DSM, 4, NotSerialized)
       {
           Store (Package (0x08) {
                   "location", Buffer (0x02){"1"},
                   "built-in", Buffer (0x02){0x01},
                   "device_type", Buffer (0x09){"ethernet"},
                   "name", Buffer (0x01F){"Realtek RTL8111C PCI-E Gigabit"}
               }, Local0)
           DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
           Return (Local0)
       }
   } // <-- Ethernet port 1
} //<--Ethernet 1

 

Why?

 

My LAN0 is inside PCIB, as you suggested yesterday:

 

Device (PCIB) //<--Renamed from HUB0, Firewire added
{
   Name (_ADR, 0x001E0000)
   Name (_STA, 0x0F)
   Name (_PRW, Package (0x02){0x0B,0x05})
   Method (_PRT, 0, NotSerialized)
   {
       Return (Package (0x0C)
       {
           Package (0x04){0xFFFF,Zero,Zero,0x14},
           Package (0x04){0xFFFF,One,Zero,0x13},
           Package (0x04){0xFFFF,0x02,Zero,0x12},
           Package (0x04){0xFFFF,0x03,Zero,0x10},
           Package (0x04){0x0001FFFF,Zero,Zero,0x13},
           Package (0x04){0x0001FFFF,One,Zero,0x12},
           Package (0x04){0x0001FFFF,0x02,Zero,0x10},
           Package (0x04){0x0001FFFF,0x03,Zero,0x14},
           Package (0x04){0x0007FFFF,Zero,Zero,0x17},
           Package (0x04){0x0007FFFF,One,Zero,0x17},
           Package (0x04){0x0007FFFF,0x02,Zero,0x17},
           Package (0x04){0x0007FFFF,0x03,Zero,0x17}
       })
   }

   Device (LAN0) //<-- NetGear GA311
   {
       Name (_ADR, 0x00010000)
       Method (_DSM, 4, NotSerialized)
       {
           Store (Package (0x08)
           {
               "location", Buffer (0x02){"1"},
               "built-in", Buffer (0x02){0x01},
               "device_type", Buffer (0x09){"ethernet"},
               "name", Buffer (0x01E){"Realtek RTL8169 PCI-E Gigabit"}
           }, Local0)
           MCDP (Arg2, RefOf (Local0))
           Return (Local0)
       }
   }

   Device (FRWR) //<--Firewire 
   {
       Name (_ADR, 0x00070000)
       Name (_GPE, 0x1A)
       Method (_DSM, 4, NotSerialized)
       {
           Store (Package (0x02)
           {
               "fwports", 
               Buffer (0x04){0x02, 0x00, 0x00, 0x00}
           }, Local0)
           MCDP (Arg2, RefOf (Local0))
           Return (Local0)
       }
   }
}

Link to comment
Share on other sites

kdawg Your ethernet is in the PEX4:

 

Device (PEX4) {
   Name (_ADR, 0x001C0004)
   Name (_STA, 0x0F)
   Name (_PRW, Package (0x02){0x09,0x05})
   Method (_PRT, 0, NotSerialized) {
       Return (Package (0x04) {                   
           Package (0x04){0xFFFF,Zero,Zero,0x10},
           Package (0x04){0xFFFF,One,Zero,0x11},
           Package (0x04){0xFFFF,0x02,Zero,0x12},
           Package (0x04){0xFFFF,0x03,Zero,0x13}
       })
   }
   Device (LAN0) {
       Name (_ADR, Zero)
       Method (_DSM, 4, NotSerialized)
       {
           Store (Package (0x08) {
                   "location", Buffer (0x02){"1"},
                   "built-in", Buffer (0x02){0x01},
                   "device_type", Buffer (0x09){"ethernet"},
                   "name", Buffer (0x01F){"Realtek RTL8111C PCI-E Gigabit"}
               }, Local0)
           DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
           Return (Local0)
       }
   } // <-- Ethernet port 1
} //<--Ethernet 1

 

Why?

 

My LAN0 is inside PCIB, as you suggested yesterday:

 

Device (PCIB) //<--Renamed from HUB0, Firewire added
{
   Name (_ADR, 0x001E0000)
   Name (_STA, 0x0F)
   Name (_PRW, Package (0x02){0x0B,0x05})
   Method (_PRT, 0, NotSerialized)
   {
       Return (Package (0x0C)
       {
           Package (0x04){0xFFFF,Zero,Zero,0x14},
           Package (0x04){0xFFFF,One,Zero,0x13},
           Package (0x04){0xFFFF,0x02,Zero,0x12},
           Package (0x04){0xFFFF,0x03,Zero,0x10},
           Package (0x04){0x0001FFFF,Zero,Zero,0x13},
           Package (0x04){0x0001FFFF,One,Zero,0x12},
           Package (0x04){0x0001FFFF,0x02,Zero,0x10},
           Package (0x04){0x0001FFFF,0x03,Zero,0x14},
           Package (0x04){0x0007FFFF,Zero,Zero,0x17},
           Package (0x04){0x0007FFFF,One,Zero,0x17},
           Package (0x04){0x0007FFFF,0x02,Zero,0x17},
           Package (0x04){0x0007FFFF,0x03,Zero,0x17}
       })
   }

   Device (LAN0) //<-- NetGear GA311
   {
       Name (_ADR, 0x00010000)
       Method (_DSM, 4, NotSerialized)
       {
           Store (Package (0x08)
           {
               "location", Buffer (0x02){"1"},
               "built-in", Buffer (0x02){0x01},
               "device_type", Buffer (0x09){"ethernet"},
               "name", Buffer (0x01E){"Realtek RTL8169 PCI-E Gigabit"}
           }, Local0)
           MCDP (Arg2, RefOf (Local0))
           Return (Local0)
       }
   }

   Device (FRWR) //<--Firewire 
   {
       Name (_ADR, 0x00070000)
       Name (_GPE, 0x1A)
       Method (_DSM, 4, NotSerialized)
       {
           Store (Package (0x02)
           {
               "fwports", 
               Buffer (0x04){0x02, 0x00, 0x00, 0x00}
           }, Local0)
           MCDP (Arg2, RefOf (Local0))
           Return (Local0)
       }
   }
}

I believe you said your network card was an add on. So the location of your card matters, if you move it to another slot the address will change. Yours appears to be on the same bus as your Firewire. If you notice I have a wireless network card in my DSDT that's ganged with my Firewire as well. The network ports I use are the built in ones. Those are the correct locations for mine.

 

Is the patch not working for you?

Link to comment
Share on other sites

I have a separate LAN adapter - NetGear GA311 (not soldered to the motherboard). On-board ethernet is disabled in BIOS.

I think you mean the red values, right?:

 

03:01.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet [10ec:8169] (rev 10)

03:07.0 FireWire (IEEE 1394) [0c00]: Texas Instruments TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) [104c:8024]

 

BTW. I don't need this code to use Time Machine:

 

<key>EthernetBuiltIn</key>
<string>Yes</string>

 

Time machine even works for me without device (LAN0).

Link to comment
Share on other sites

I have a separate LAN adapter - NetGear GA311 (not soldered to the motherboard). On-board ethernet is disabled in BIOS.

I think you mean the red values, right?:

 

03:01.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet [10ec:8169] (rev 10)

03:07.0 FireWire (IEEE 1394) [0c00]: Texas Instruments TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) [104c:8024]

 

BTW. I don't need this code to use Time Machine:

 

<key>EthernetBuiltIn</key>
<string>Yes</string>

 

Time machine even works for me without device (LAN0).

Yeah the part you want to take notice of are the middle two numbers. The 01 and 07.

 

I dont need the built in string either.

Link to comment
Share on other sites

 Share

×
×
  • Create New...