Jump to content

DSDT fixes for Gigabyte boards


iSoprano
 Share

1,908 posts in this topic

Recommended Posts

One has PowerOptions set to 0 and the other has 15 which also appears to be the working one, so I would start by adding this property in the Info.plist of AppleUSBBluetoothHCIController.kext and see if it changes anything.

 

Didn't take. PowerOptions still at 0. I wonder, is it possible to inject properties for USB devices via DSDT?

post-16858-1257602388_thumb.png

Link to comment
Share on other sites

Origininally posted this in the wrong place.

 

It occurred to me people may be having firewire problems with their Gigabyte boards.

FireWire runtime power conservation disabled. (2)

 

 

Let me know what kind of results people get.

 

dsdt_GA_EP45_UD3P.dsl.zip

 

Thanks a lot. It's gone.

 

EP45-UD3R ---> Name (_ADR, 0x00070000)

EP35-DS3P ---> Name (_ADR, 0x00060000)

 

------------------------------------------

Based on EP35-DS3P:

I got problems about FireWire on board after waking up from sleep for my EP35-DS3P, not EP45-UD3R.

 

Since I added Device (FRWR) to my EP35-DS3P DSDT, I got "IOHIDSystem::relativePointerEventGated: VBL too high (20019430), capping to 20000000."

 

Another problem was repeating of "FireWire GUID ffffffffff0020ed is invalid!" every minute with/without Device (FRWR).

Link to comment
Share on other sites

Update: I was a bit busy before (setting up Mac OS X Server) but here's an example:
                // Newly added Method.   
               Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x06)
                   {
                       "built-in",
                       Buffer (One)
                       {
                           Zero
                       },

                       "layout-id",
                       Buffer (0x04)
                       {
                           /* 883 */	0x73, 0x03, 0x00, 0x00
                       },

                      "PinConfigurations",
                      Buffer (Zero)
                      {
                      }

                   }, Local0)
                   MCDP (Arg2, RefOf (Local0))
                   Return (Local0)
               }

Exactly the same as before, but using my new Method (less arguments), but it might change even more in the (near) future. However, this is how it works right now.

Thanks, it works great! (I've finally banished DTGP from my DSDT.)

Origininally posted this in the wrong place.

 

It occurred to me people may be having firewire problems with their Gigabyte boards.

FireWire runtime power conservation disabled. (2)

 

This is how to fix that.

		Method (_L1A, 0, NotSerialized) // <-- Added for firewire
	{
		Notify (\_SB.PCI0.PCIB.FRWR, 0x00)
		Notify (\_SB.PWRB, 0x02)
	}

 

Within the Device (PCIB) I added another device:

				Device (FRWR) // <--Firewire (check to be sure the _GPE value is OK)
			{
				Name (_ADR, 0x00070000)
				Name (_GPE, 0x1A)
				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x02)
						{
							"fwhub", 
							Buffer (0x04)
							{
								0x00, 0x00, 0x00, 0x00
							}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}
			}

 

Let me know what kind of results people get.

 

dsdt_GA_EP45_UD3P.dsl.zip

How do I know which GPE values can I use for the firewire device?

Link to comment
Share on other sites

Didn't take. PowerOptions still at 0. I wonder, is it possible to inject properties for USB devices via DSDT?

post-16858-1257602388_thumb.png

 

MEAT & POTATOES - Intel Core 2 Quad Q9450 Yorkfield 2.66GHz (Clocked@ 3.55GHz) LGA 775 95W | Arctic Cooling Freezer 7 Pro 92mm CPU Cooler | GIGABYTE GA-EP45-UD3P (REV 1.6) | G.SKILL 8GB DDR2 1066 (PC2 8500) F2-8500CL5D-4GBPK | eVGA GeForce 8800 GT 512MB GDDR3 (512-P3-N801-AR) | MSI GeForce 8500 GT 256MB GDDR2 (NX8500GT-MTD256EH)

CASE - Antec Nine Hundred Black Steel ATX Mid Tower Case | Antec TPQ-850 850W Power Supply (TPQ-850)

OTHER GOODIES - Dual Sony Optiarc 22X SATA DVD Burners | D-Link DBT-120 B4 USB Bluetooth | Rosewill RCR-FD200 All-in-one USB 2.0 Black 3.5" Card Reader with 1.44MB Floppy Drive

 

 

 

 

 

-

-

-

-

 

 

 

I noticed you are using the same kind of RAM I am.

 

I had a really diffucult time getting the ram to work at 1066mhz. I finally got it working but i'm curious what bios settings you used to get it to post at 1066.

My biggest issue is that the system wouldn't post with the MCH set to 1.4 which is what gskill suggested

 

If you have a minute would you mind pming me with your bios settings so i can compare?

 

 

Thanks in advance.

Link to comment
Share on other sites

Thanks, it works great! (I've finally banished DTGP from my DSDT.)

 

How do I know which GPE values can I use for the firewire device?

 

I'm not sure it's so vital what value is as long as the two values match.

 

		Method (_L1A, 0, NotSerialized) // <--this 1A should match
	{
		Notify (\_SB.PCI0.PCIB.FRWR, 0x00)
		Notify (\_SB.PWRB, 0x02)
	}

 

				Device (FRWR)
			{
				Name (_ADR, 0x00070000)
				Name (_GPE, 0x1A) // <--this 1A

Link to comment
Share on other sites

I'm not sure it's so vital what value is as long as the two values match.

 

		Method (_L1A, 0, NotSerialized) // <--this 1A should match
	{
		Notify (\_SB.PCI0.PCIB.FRWR, 0x00)
		Notify (\_SB.PWRB, 0x02)
	}

 

				Device (FRWR)
			{
				Name (_ADR, 0x00070000)
				Name (_GPE, 0x1A) // <--this 1A

Well, yeah, I've noticed this similarity in all of the devices that are part of the GPE scope, but I wasn't sure you can just grab any unused value and use it. Thanks! :D

 

[...] this is most likely due to changes to Method _WAK so please check this method once more, and step by step [...]

Original _WAK method:

    Method (\_WAK, 1, NotSerialized)
   {
       Store (0xFF, DBG1)
       If (LEqual (Arg0, 0x03))
       {
           Store (0x8F, SCP)
       }

       If (LEqual (Arg0, 0x04))
       {
           If (LEqual (OSFL, 0x00))
           {
               If (LEqual (OSFX, 0x03))
               {
                   Store (0x59, SMIP)
               }
               Else
               {
                   Store (0x58, SMIP)
               }
           }

           If (LEqual (OSFL, 0x01))
           {
               Store (0x56, SMIP)
           }

           If (LEqual (OSFL, 0x02))
           {
               Store (0x57, SMIP)
           }

           If (LEqual (OSFX, 0x03))
           {
               Store (0x59, SMIP)
           }
       }

       If (LEqual (Arg0, 0x01)) {}
       If (OSFL)
       {
           Notify (\_SB.PWRB, 0x02)
       }
       Else
       {
           If (LEqual (RTCW, 0x00))
           {
               Notify (\_SB.PWRB, 0x02)
           }
       }

       Notify (\_SB.PCI0.USB0, 0x00)
       Notify (\_SB.PCI0.USB1, 0x00)
       Notify (\_SB.PCI0.USB2, 0x00)
       Notify (\_SB.PCI0.USB3, 0x00)
       Notify (\_SB.PCI0.USB4, 0x00)
       Notify (\_SB.PCI0.USB5, 0x00)
   }

Current method:

    Method (_WAK, 1, NotSerialized)
   {
       Store (Zero, \_SB.PCI0.LPCB.EC.ECSS)
       \_SB.PCI0.SBUS.ENAB ()
       Store (0xFF, DBG1)
       Notify (\_SB.PWRB, 0x02)
       PNOT ()
       Notify (\_SB.PCI0.UHC1, Zero)
       Notify (\_SB.PCI0.UHC2, Zero)
       Notify (\_SB.PCI0.UHC3, Zero)
       Notify (\_SB.PCI0.UHC4, Zero)
       Notify (\_SB.PCI0.UHC5, Zero)
       Notify (\_SB.PCI0.UHC6, Zero)
       Notify (\_SB.PCI0.POP2, Zero)
       Return (Package (0x02)
       {
           Zero, 
           Zero
       })
   }

As I see there shouldn't be anything that does anything like this. (SCP is about thermal policy and SMIP is about the SMBus controller's interrupt pin.)

So are there any users whose keyboards/mice LEDs light up as they press a key after the computer has been shut down by Snow Leo? (Negatives are important too, so please, report, but in a non-polluting way, so make your posts have something else in them.)

 

@ FormerlyKnownAs: You've been trying dropssdt=no and enabling c-states + EIST in your bios while your model was MacPro3,1 right? Then if that's the case, the only (maybe) relevant differences in our DSDTs are the PNOT method and the defined PDCns, nothing else (except the defined frequencies and power). You may need a wizard to help you, because it really should work. :rolleyes: (BTW, how was it working earlier?)

Link to comment
Share on other sites

try this below, it works on mine but hey even without the dsdt patch my USB are all built-in except for the flashdisk wake-up issue.

Thanks sk1nhd33t.

You have just helped me realise how far behind I am with this as your code contains 'Method (_S3D...' which I have never seen before :D

 

You are using two and the same device-id's – for both EHCI and UHCI – but some boards want property "AAPL,clock-id" or they won't show up as internal. And thus you'll need to use MCDP instead, but you can use MCID to change the device-id of Device (SATA) for which you now use MCDP.

 

p.s. There are updated Methods available in the P5K PRO Snow Leopard thread!

I see my problem now, thanks.

 

I had been keeping one eye on the P5K Pro thread and had added the MCID and MCDP stuff but then I noticed sk1nhd33t had 'Method (_S3D...' in his USB section which I hadn't see before. So looking at your DSDT v3.0 I have realised just how much yours has changed and how different it is from mine.. I have spent so much of my time trying to understand P & C-states that I now need to re-focus my efforts on to keeping the rest of my DSDT up to date. :rolleyes:

Link to comment
Share on other sites

MEAT & POTATOES - Intel Core 2 Quad Q9450 Yorkfield 2.66GHz (Clocked@ 3.55GHz) LGA 775 95W | Arctic Cooling Freezer 7 Pro 92mm CPU Cooler | GIGABYTE GA-EP45-UD3P (REV 1.6) | G.SKILL 8GB DDR2 1066 (PC2 8500) F2-8500CL5D-4GBPK | eVGA GeForce 8800 GT 512MB GDDR3 (512-P3-N801-AR) | MSI GeForce 8500 GT 256MB GDDR2 (NX8500GT-MTD256EH)

CASE - Antec Nine Hundred Black Steel ATX Mid Tower Case | Antec TPQ-850 850W Power Supply (TPQ-850)

OTHER GOODIES - Dual Sony Optiarc 22X SATA DVD Burners | D-Link DBT-120 B4 USB Bluetooth | Rosewill RCR-FD200 All-in-one USB 2.0 Black 3.5" Card Reader with 1.44MB Floppy Drive

 

 

I noticed you are using the same kind of RAM I am.

 

I had a really diffucult time getting the ram to work at 1066mhz. I finally got it working but i'm curious what bios settings you used to get it to post at 1066.

My biggest issue is that the system wouldn't post with the MCH set to 1.4 which is what gskill suggested

 

If you have a minute would you mind pming me with your bios settings so i can compare?

 

Thanks in advance.

 

 

Here you go. Be sure to juice the RAM at the correct voltage. 2.1v - 2.2v Gigabyte MOBOs want to undervolt at the default settings. Also make sure the timings are right. The board sets those wrong sometimes too 5,5,5,15

post-16858-1257632096_thumb.jpgpost-16858-1257632103_thumb.jpgpost-16858-1257632108_thumb.jpg

Link to comment
Share on other sites

So are there any users whose keyboards/mice LEDs light up as they press a key after the computer has been shut down by Snow Leo?

 

I have had a similar issue with 10.5.8 but I can't remember for the life of me how I fixed it!

 

I shut down my hack one night and turned the light off, turned around to say "goodnight" to my hack, and noticed my caps lock LED was on. So I rebooted and shutdown and the light stayed on.

 

I seem to remember tinkering at the time with OHR and Sleep enabler kexts to fix the USB device removal error.

 

Since I checked to make sure all my kexts were up-to-date and after getting my USB ports to sleep properly it has been fixed.

 

never noticed this though since running SL

Link to comment
Share on other sites

I'm starting to lose the will with this ~

I'm not going to move on and start changing anything else until I get CPU PM working again!

I've tried everything - currently using MP4,1 no Legacy AGPM or SMC! Sorry to be a bore :)

D

How about: "I cut off both of my legs and now I can't walk?".

 

I would reconsider using the provided kexts. Have a look at the Info.plist and note what they are doing.

 

...

 

As I see there shouldn't be anything that does anything like this. (SCP is about thermal policy and SMIP is about the SMBus controller's interrupt pin.)...

Uhm no. SCP (0xb2) is about Advanced Power Management. There is your problem ;)

 

Edit: I had a quick look at a few of your older DSDT's and there SMIP pointed to 0xB2 which I presume is removed now. Please add this:

Name (SMIP, 0xB2)
   OperationRegion (APMP, SystemIO, SMIP, 0x02) // Advanced Power Management Control/Status Port (ICH9R-316972.pdf / 13.8.2 / page 500)
   Field (APMP, ByteAcc, NoLock, Preserve)
   {
       APMC,   8, 
       APMS,   8
   }

Simply because then you know what it is used for (might want to update the reference to ICH9 documentation). And make sure Method _PTS has something like this:

    If (LEqual (Arg0, 0x05))
   {
        Store (ESMI, Local0)
        And (Local0, 0xFB, Local0)
        Store (Local0, ESMI)
        [color="#FF0000"]Store (0x99, APMC)[/color]
   }

and Method _WAK something like this:

Store (0x57, APMC)

But I can't recall the right value, and if you need this value for all wake states! Let me check that for you.

 

0x56 is used for "Microsoft Windows".

0x57 is either used for "Linux" or the one you need (Darwin).

0x58 is used for other "Windows" versions.

0x59 is used for "Windows 2001".

 

And thus it is most likely something like this for method _WAK:

If (LEqual (Arg0, 0x03))
{
Store (0x8F, APMC)
}

If (LEqual (Arg0, 0x04))
{
Store (0x57, APMC)
}

Please note that we went on removing this because I don't need this (neither did mm67) though your board seems to need it.

 

Didn't take. PowerOptions still at 0. I wonder, is it possible to inject properties for USB devices via DSDT?

Too bad, but it was just a test. I am getting mine next week so that might help. That is if I can get to the bottom of it ;)

Link to comment
Share on other sites

I'm starting to lose the will with this ~

 

post-275122-1257625250_thumb.png

post-275122-1257625263_thumb.png

post-275122-1257625273_thumb.png

post-275122-1257625282_thumb.png

 

I'm not going to move on and start changing anything else until I get CPU PM working again!

 

I've tried everything - currently using MP4,1 no Legacy AGPM or SMC!

 

Sorry to be a bore :D

 

DSDT07_11_09.dsl.zip

 

D

 

If you are using MP4,1 and no Legacy SMC_PlatformPlugin, you will certainly lost speedstep.

There is no Step2_0 data in your ioreg, as what i said before,

"I dont know if the new macpro4,1 is using variable speeds on power demand or if it can be enable/disable in someway, i dont see the StepData in the macpro4.1 ioreg."

So i need to add MacPro4,1 to PLimitDict=0 and StepDataDict=SP1 to enable speedstep,

Here is my own made LegacyACPI_SMC_PlatformPlugin.kext.

LegacyACPI_SMC_PlatformPlugin.kext.zip

 

I just noticed something very strange!!

I have lost sleep for a few weeks, and i can confirm it works before.

After tried everything here and there, no good.

The computer can go to sleep if you call that sleep,

it just cant wake up, fan ran loudly, monitor was still off,

what i can do is press power or restart button.

Yesterday, i suddenly remembered i used x86_64 mode before,

Now it runs in i386 mode course my 8111D ethernet didn't have a proper 64 bit driver.

So i start SL in x86_64 mode, this time sleep works.

It's wired, why sleep works in x86_64 mode but not in i386 mode?

Link to comment
Share on other sites

I have that , with Ep35 (ICH9):

 

  OperationRegion ([b]SMIC[/b], SystemIO, [b]0xB2[/b], One) [size=1]// <= Reactivated (some boards seem to need it).[/size]
   Field (SMIC, ByteAcc, NoLock, Preserve)
   {
       SCP,    8
   }

   Name ([b]SMIP[/b], 0x80000000)
   OperationRegion ([b]SMOD[/b], SystemMemory, 0x000FF840, One)
   Field (SMOD, ByteAcc, NoLock, Preserve)
   {
           ,   7, 
       [b]SUSF[/b],   1
   }

 

looks complete different to that:

Name ([b]SMIP[/b], [b]0xB2[/b])
   OperationRegion ([b]APMP[/b], SystemIO, SMIP, 0x02) [size=1]// Advanced Power Management Control/Status Port (ICH9R-316972.pdf [/size]
   Field (APMP, ByteAcc, NoLock, Preserve)
   {
       APMC,   8, 
       APMS,   8
   }

 

Also in that part below i have SCP not APMP names.

Thanks for that 0x5y list of what kind the os is (win, linux,...) !

Link to comment
Share on other sites

I have that , with Ep35 (ICH9):

  OperationRegion ([b]SMIC[/b], SystemIO, [b]0xB2[/b], One) [size=1]// <= Reactivated (some boards seem to need it).[/size]
   Field (SMIC, ByteAcc, NoLock, Preserve)
   {
       SCP,    8
   }

   Name ([b]SMIP[/b], 0x80000000)
   OperationRegion ([b]SMOD[/b], SystemMemory, 0x000FF840, One)
   Field (SMOD, ByteAcc, NoLock, Preserve)
   {
           ,   7, 
       [b]SUSF[/b],   1
   }

Everything below the line with Name (SMIP, 0x80000000) has nothing to do with it. And yes I used different names – to inform me what they are used for – but that doesn't change anything. And adding the first part is only useful, when you actually use it. With something like this for example: Store (0x57, SCP) otherwise it is just a filler.

Link to comment
Share on other sites

I just noticed something very strange!!

I have lost sleep for a few weeks, and i can confirm it works before.

After tried everything here and there, no good.

The computer can go to sleep if you call that sleep,

it just cant wake up, fan ran loudly, monitor was still off,

what i can do is press power or restart button.

Yesterday, i suddenly remembered i used x86_64 mode before,

Now it runs in i386 mode course my 8111D ethernet didn't have a proper 64 bit driver.

So i start SL in x86_64 mode, this time sleep works.

It's wired, why sleep works in x86_64 mode but not in i386 mode?

 

Got it!

I use RTGMac_v2.0.3 to drive my 8111D,

However it's writen and complied for 10.5 leopard and broken 10.6 SL's Power Management.

I return to use RealtekR1000 which i recomplied in SL's Xcode, voilla, sleep works in 32 bit again.

In spite of NIC going to sleep sometime, everything looks fine now!

Link to comment
Share on other sites

[...] Please note that we went on removing this because I don't need this (neither did mm67) though your board seems to need it. [...]

Hmm... Unfortunately power still doesn't go off when going to S5. As I've been reading some info in the ACPI spec and the ICH9 datasheet I've found that _PRW and _PSW are responsible per device for choosing the correct device state depending on global state. It looks like that OS X thinks USB devices should wake up the sleeping (S5) system, therefore it doesn't cut power and leaves the USB in D2 (or D1? and it stays like this till the next power on's USB re-init by the BIOS), even if the corresponding function in the BIOS is off. It should be the USBW's value that does this, shouldn't it?

P.S: I have the Wake for Ethernet network access option turned off in Energy Saver, does that really wake the PC occasionally, and can it make a difference in this kind of problem?

Link to comment
Share on other sites

How about: "I cut off both of my legs and now I can't walk?".

 

I would reconsider using the provided kexts. Have a look at the Info.plist and note what they are doing.

 

As previously reported, I've tried every combination with MacPro3,1 - using your legacy kexts and not!

 

I'm currently adding/removing one change at a time to find out what's bricking it - currently have SBUS, LPCB, UHC*, PNOT and all seems OK so far ...

 

D.

Link to comment
Share on other sites

Just had to install Snow Leopard again thanks to great Seagate quality... (2nd 1 Tb unit that dies in 6 months).

Anyway, tried to run installer using my normal dsdt but every time installation stopped about halfway with Installation failed message. Then I started cutting down the additions we have made to dsdt and finally I was able to narrow down the reason for failure to SBUS.ENABLE method. Removing calls to that method was enough to make installer work again.

 

So if anyone else is running into installation problems then it might be better to comment out those 2 calls.

Link to comment
Share on other sites

Thanks sk1nhd33t.

You have just helped me realise how far behind I am with this as your code contains 'Method (_S3D...' which I have never seen before :)

 

hhhm it's not new, dont know about your mobo but my dsdt has them originally.. here's my original USB0 - just dont ask me what the lines means :D

 

   Device (USB0)
           {
               Name (_ADR, 0x001D0000)
               Method (_S3D, 0, NotSerialized)
               {
                   If (LEqual (OSFL, 0x02))
                   {
                       Return (0x02)
                   }

                   Return (0x03)
               }

               Name (_PRW, Package (0x02)
               {
                   0x03, 
                   0x03
               })
           }

 

question, any gigabyte user using Apple aluminum keyboard who has successfully waken their system from sleep? this is my problem since i changed my old white apple KB to aluminum one? regular USB mouse, PC keyboard and my white apple KB wakes my system fine except this pesky aluminum one hehe.. also how do you enter your bios? i have the slim keyboard w/o numpad and it doesnt have a delete key (only backspace) so i switch keyboard whenever i wanna enter my bios which is really a pain sometime.. also my boards dsdt has only USB0-USB3 (now UHC1-UHC4) and USBE (now UHCI), could that be the reason maybe?

 

anyone? :(

Link to comment
Share on other sites

hhhm it's not new, dont know about your mobo but my dsdt has them originally.. here's my original USB0 - just dont ask me what the lines means :)

 

   Device (USB0)
           {
               Name (_ADR, 0x001D0000)
               Method (_S3D, 0, NotSerialized)
               {
                   If (LEqual (OSFL, 0x02))
                   {
                       Return (0x02)
                   }

                   Return (0x03)
               }

               Name (_PRW, Package (0x02)
               {
                   0x03, 
                   0x03
               })
           }

 

 

 

anyone? :(

 

 

Here are some ideas. I'm currently trying to diagnose some Bluetooth USB problems. These are some of the things I did to try and track down the problem.

 

1. Take a ioreg dump of both the white keyboard then one with the aluminum keyboard and compare the two.

2. Also have you tried to see if the aluminum keyboard will wake your system in 10.5.8? If it does take a ioreg dump and compare Leopard with Snow Leopard.

 

Some other things to think about:

Is it one of the newer keyboards? Do all aluminum keyboards have this problem?

When comparing files my favorite tool is called a piece of freeware DiffMerge

 

 

I'll bring my aluminum keyboard home from work and try it out on my machine. I have a half dozen white ones but not a single aluminum one.

Link to comment
Share on other sites

Here are some ideas. I'm currently trying to diagnose some Bluetooth USB problems. These are some of the things I did to try and track down the problem.

 

1. Take a ioreg dump of both the white keyboard then one with the aluminum keyboard and compare the two.

2. Also have you tried to see if the aluminum keyboard will wake your system in 10.5.8? If it does take a ioreg dump and compare Leopard with Snow Leopard.

 

Some other things to think about:

Is it one of the newer keyboards? Do all aluminum keyboards have this problem?

When comparing files my favorite tool is called a piece of freeware DiffMerge

 

1: i dont know if i did the right thing but i choose save in ioregistryexplorer, now what to look for? sorry im new to this

2: NO, even in leopard it's not working.

 

MC's aluminum keyboard is working on his asus board, the aluminum slim one's and and the longer version (w/ numpad) could be different but im not sure? but read at infinitemac that some users are having the same wake-up problems as mine, could be Gigabyte specific maybe?

 

i've taken a screenshot for a comparison (dont know if it helps), the one on the right is the aluminum keyboard (slim w/o numpad) while on the left is the clear and white keyboard.

 

screenshot20091109at717.th.png

Link to comment
Share on other sites

1: i dont know if i did the right thing but i choose save in ioregistryexplorer, now what to look for? sorry im new to this

2: NO, even in leopard it's not working.

 

MC's aluminum keyboard is working on his asus board, the aluminum slim one's and and the longer version (w/ numpad) could be different but im not sure? but read at infinitemac that some users are having the same wake-up problems as mine, could be Gigabyte specific maybe?

 

i've taken a screenshot for a comparison (dont know if it helps), the one on the right is the aluminum keyboard (slim w/o numpad) while on the left is the clear and white keyboard.

 

screenshot20091109at717.th.png

Make a picture of your USB settings screen in the BIOS and start fixing the USB devices, because I don't think these are right (keyboard shows up on the wrong/slow speed port). You may also want to attach a DSDT combo ZIP with the before/after patching versions.

Link to comment
Share on other sites

I have the aluminum keyboard with numeric keypad and it does not wake the system from sleep. The mouse does ( el cheapo M$ USB mouse I had laying around ). Moving the mouse does not wake the system, but clicking it does.

 

I have a Gigabyte EP43-UD3L using the DSDT fixes in this thread with an E6750 CPU. These DSDT mods have fixed every issue on my system other than this one, and I can live with it as is.

Keyboard.tiff

Link to comment
Share on other sites

question, any gigabyte user using Apple aluminum keyboard who has successfully waken their system from sleep? this is my problem since i changed my old white apple KB to aluminum one? regular USB mouse, PC keyboard and my white apple KB wakes my system fine except this pesky aluminum one hehe.. also how do you enter your bios? i have the slim keyboard w/o numpad and it doesnt have a delete key (only backspace) so i switch keyboard whenever i wanna enter my bios which is really a pain sometime.. also my boards dsdt has only USB0-USB3 (now UHC1-UHC4) and USBE (now UHCI), could that be the reason maybe?

 

Make a picture of your USB settings screen in the BIOS and start fixing the USB devices, because I don't think these are right (keyboard shows up on the wrong/slow speed port). You may also want to attach a DSDT combo ZIP with the before/after patching versions.

 

hi chief, yes USB devices in dsdt are already fixed.. my board only has USB0-USB3 and USBE.. will upload the orig and modified dsdt when im back on my hack a bit later.

 

edit: dsl zip file uploaded

 

original

 

Device (USB0)
           {
               Name (_ADR, 0x001D0000)
               Method (_S3D, 0, NotSerialized)
               {
                   If (LEqual (OSFL, 0x02))
                   {
                       Return (0x02)
                   }

                   Return (0x03)
               }

               Name (_PRW, Package (0x02)
               {
                   0x03, 
                   0x03
               })
           }

           Device (USB1)
           {
               Name (_ADR, 0x001D0001)
               Method (_S3D, 0, NotSerialized)
               {
                   If (LEqual (OSFL, 0x02))
                   {
                       Return (0x02)
                   }

                   Return (0x03)
               }

               Name (_PRW, Package (0x02)
               {
                   0x04, 
                   0x03
               })
           }

           Device (USB2)
           {
               Name (_ADR, 0x001D0002)
               Method (_S3D, 0, NotSerialized)
               {
                   If (LEqual (OSFL, 0x02))
                   {
                       Return (0x02)
                   }

                   Return (0x03)
               }

               Name (_PRW, Package (0x02)
               {
                   0x0C, 
                   0x03
               })
           }

           Device (USB3)
           {
               Name (_ADR, 0x001D0003)
               Method (_S3D, 0, NotSerialized)
               {
                   If (LEqual (OSFL, 0x02))
                   {
                       Return (0x02)
                   }

                   Return (0x03)
               }

               Name (_PRW, Package (0x02)
               {
                   0x0E, 
                   0x03
               })
           }

           Device (USBE)
           {
               Name (_ADR, 0x001D0007)
               Method (_S3D, 0, NotSerialized)
               {
                   If (LEqual (OSFL, 0x02))
                   {
                       Return (0x02)
                   }

                   Return (0x03)
               }

               Name (_PRW, Package (0x02)
               {
                   0x0D, 
                   0x03
               })
           }

 

 

to this

 

Device (UHC1)    			// changed from USB0
           {
               Name (_ADR, 0x001D0000)
               OperationRegion (BAR0, PCI_Config, 0xC4, One)
               Field (BAR0, ByteAcc, NoLock, Preserve)
               {
                   USBW,   2, Offset (0x01)  
               }

               Method (_PSW, 1, NotSerialized)
               {
                   If (Arg0)
                   {
                       Store (0x03, USBW)
                   }
                   Else
                   {
                       Store (Zero, USBW)
                   }
               }

               Name (_PRW, Package (0x02)
               {
                   0x03, 
                   0x04
               })
           Method (_DSM, 4, NotSerialized)
               {
                   Return (MCID (Arg2, 0x3A34))
               }
           }						

           Device (UHC2)				// changed from USB1
           {
               Name (_ADR, 0x001D0001)
               OperationRegion (BAR0, PCI_Config, 0xC4, One)
               Field (BAR0, ByteAcc, NoLock, Preserve)
               {
                   USBW,   2, Offset (0x01)
               }

               Method (_PSW, 1, NotSerialized)
               {
                   If (Arg0)
                   {
                       Store (0x03, USBW)
                   }
                   Else
                   {
                       Store (Zero, USBW)
                   }
               }

               Name (_PRW, Package (0x02)
               {
                   0x04, 
                   0x04
               })
           Method (_DSM, 4, NotSerialized)
               {
                   Return (MCID (Arg2, 0x3A35))
               }
           }

           Device (UHC3)					// changed from USB2
           {
               Name (_ADR, 0x001D0002)
               OperationRegion (BAR0, PCI_Config, 0xC4, One)
               Field (BAR0, ByteAcc, NoLock, Preserve)
               {
                   USBW,   2, Offset (0x01)
               }

               Method (_PSW, 1, NotSerialized)
               {
                   If (Arg0)
                   {
                       Store (0x03, USBW)
                   }
                   Else
                   {
                       Store (Zero, USBW)
                   }
               }

               Name (_PRW, Package (0x02)
               {
                   0x0C, 
                   0x04
               })
           Method (_DSM, 4, NotSerialized)
               {
                   Return (MCID (Arg2, 0x3A36))
               }
           }

           Device (UHC4)			// changed from USB3
           {
               Name (_ADR, 0x001D0003)
               OperationRegion (BAR0, PCI_Config, 0xC4, One)
               Field (BAR0, ByteAcc, NoLock, Preserve)
               {
                   USBW,   2, Offset (0x01)
               }

               Method (_PSW, 1, NotSerialized)
               {
                   If (Arg0)
                   {
                       Store (0x03, USBW)
                   }
                   Else
                   {
                       Store (Zero, USBW)
                   }
               }

               Name (_PRW, Package (0x02)
               {
                   0x0E, 
                   0x04
               })
           Method (_DSM, 4, NotSerialized)
               {
                   Return (MCID (Arg2, 0x3A37))
               }
           }

           Device (UHCI)			// changed from USBE
           {
               Name (_ADR, 0x001D0007)
               OperationRegion (PMCS, PCI_Config, 0x54, 0x02)
               Field (PMCS, WordAcc, NoLock, Preserve)
               {
                       ,   15, 
                   PMES,   1
               }

               OperationRegion (PWCR, PCI_Config, 0x62, 0x02)
               Field (PWCR, AnyAcc, NoLock, Preserve)
               {
                   URE2,   9
               }

               Method (_PSW, 1, NotSerialized)
               {
                   If (LEqual (Arg0, Zero))
                   {
                       Store (Zero, URE2)
                   }

                   If (LEqual (Arg0, One))
                   {
                       Store (0x01FF, URE2)
                   }
               }

               Name (_PRW, Package (0x02)
               {
                   0x0D, 
                   0x03
               })
               Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x04)
                       {
                           "device-id", 
                           Buffer (0x04)
                           {
                               0x3A, 0x29, 0x00, 0x00
                           }, 

                           "AAPL,clock-id", 
                           Buffer (One)
                           {
                               0x01
                           }
                       }, Local0)
                   MCDP (Arg2, RefOf (Local0))
                   Return (Local0)
               }
           }

 

please take a look at the screenshot below, my aluminum keyboard is showing under high speed while the extended white keyboard is on the usb bus.

 

aluminum kb

 

slimalkb.th.png

 

extended kb

 

wiredextendedkb.th.png

dsdt_mod.zip

Link to comment
Share on other sites

 Share

×
×
  • Create New...