Jump to content

DSDT: trick retail drivers by changing "device-id" (e.g USB)


  • Please log in to reply
365 replies to this topic

#301
kidamnesiac

kidamnesiac

    InsanelyMac Protégé

  • Members
  • Pip
  • 29 posts
  • Gender:Male
  • Location:Rome, IT

Hi all,
first thanks for this amazing dsdt device id injection thing
now the question:
i'm on a laptop with ich9-M intel chipset [8086:2929]
currently using
AHCIPortInjector.kext
IOAHCIBlockStorageInjector.kext

I'm planning to inject 2929 through SAT0 device with DSDT
but my point is
i've got an external serial ata port in which i'd like the hot plug capability to work (orange icon)
is this even possible?
removing the blockstorage kext just puts all drives on "orange icons"
instead i'd like to have only the e-sata plugged drives with that icon
thank you
kind regards

kidA

addendum

tried to add my ich9-m device id 2929 through dsdt in the Device (SAT0) section,
all works without AHCIPortInjector.kext but now system profiler reports
Unknown AHCI Standard Controller
how do i fix that, is this a bad sign?

thank you all



sorry to bump this
just to add that this is the code i added to my device sat0 part

Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x08)
						{
							"device-id",
							Buffer (0x04)
							{
								0x29, 0x29, 0x00, 0x00
							},
							
							"device_type", 
							Buffer (0x10)
							{
								"AHCI Controller"
							}, 
														
							"model", 
							Buffer (0x1C)
							{
								"ICH9-M SATA/AHCI Controller"
							}, 
		
							"name", 
							Buffer (0x1C)
							{
								"ICH9-M SATA/AHCI Controller"
							}							
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}


but the vendor product in system profiler still shows as
"Unknown AHCI Standard Controller"
Is this bad sign?
thank you all

kind regards

kidA

#302
MacKonsti

MacKonsti

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 233 posts
  • Gender:Male
  • Location:Muppet Show

addendum

tried to add my ich9-m device id 2929 through dsdt in the Device (SAT0) section,
all works without AHCIPortInjector.kext but now system profiler reports
Unknown AHCI Standard Controller
how do i fix that, is this a bad sign?

Hey kidamnesiac, you are lucky! I still get nothing (a blank line) in System Profiler with the two SATA devices I have, despite adding a Method in the device (IDE1) with address 0x001F0002 (that's how my DSDT reports the device).

My board has controller id 0x27C0 which is ICH7. This id is present in AppleIntelPIIXATA.kext too (Info.plist) but it's still not detected.

So please tell us, what code you've included and where?

                // Added method for AppleIntelPIIXATA.kext detection
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x02)
{
"device-id",
Buffer (0x04)
{
0xC0, 0x27, 0x00, 0x00 // Needed device ID is [27C0]
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}

Device (PRIM)
{
(code continues here...) _linenums:0'>Device (SATA) // Intel 82801GB/GR/GH (ICH7 Family) SATA IDE Controller { Name (_ADR, 0x001F0002) OperationRegion (PCI, PCI_Config, 0x40, 0x20) Field (PCI, DWordAcc, NoLock, Preserve) { blah-blah }<strong class='bbc'> // Added method for AppleIntelPIIXATA.kext detection Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0xC0, 0x27, 0x00, 0x00 // Needed device ID is [27C0] } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) }</strong> Device (PRIM) { (code continues here...)

Many thanks.

#303
Marius21

Marius21

    InsanelyMac Protégé

  • Members
  • Pip
  • 18 posts
Thanks for the tutorial. For me this fixed just part of the job. I have an ASUS P5K(P35 chipset with ICH9). Before patching my DSDT it would go halfway to sleep, the power LED on my case was still on, and I could hear the fans. Now the same happens, just that the power LED is blinking, like it already was in S3 sleep and the reset button has no effect. There is a similar behavior when shutting down ( the LED is off, fans rolling, reset not working ) but not when restarting. Also the power button does nothing in Mac OS (on my macbook it would bring a sleep/restart/shut down prompt). I don't think this is even related to USB.

EDIT: my hack: ASUS P5K , E8400, 4GB DDR2-800, 8600GT, 2 SATA WD 500GB HDDs ( one trough SATA, one in a eSATA enclosure through the JMicron on my board), 2 SATA optical drives and some random stuff: (a PCI TV tuner, an old and unused modem, an old and unused floppy)

#304
zoltankr

zoltankr

    zoliky

  • Members
  • PipPipPipPipPipPip
  • 427 posts
  • Gender:Male
Which method is better for EP35-DS3L (ich9) ? I need to patch Device (SATA) as ICH10 or ESB2?
I have used ESB2 without problems... But I don't know much about ICH10.

#305
zoltankr

zoltankr

    zoliky

  • Members
  • PipPipPipPipPipPip
  • 427 posts
  • Gender:Male
I'm using the device ID of ICH10 for ICH9 motherboard (EP35-DS3L):

Device (SATA) // =Renamed from IDE1 (removed IDE2)
{
   Name (_ADR, 0x001F0002)
   Method (_DSM, 4, NotSerialized)
   {
	   Store (Package (0x02)
	   {
			 "device-id", Buffer (0x04){0x22, 0x3A, 0x00, 0x00}
	   }, Local0)
	   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
	   Return (Local0)
   }
}

Unfortunately, this code requires IOAHCIBlockStorageInjector. On the other side, ESB2 doesn't require IOAHCIBlockStorageInjector.

Which one is better ICH10 or ESB2 ? I would be grateful for any help! Thanks!

#306
byally

byally

    InsanelyMac Protégé

  • Members
  • Pip
  • 6 posts
Cheers!

oldnapalm

I have the no-name notebook Admiral.
C2D 1.6, Sata, 2 Gb RAM.
I am using iDeneb 10.5.8
Everything is working!

When I try to put it in sleep, screen is turning off,
hdd probably also, but fans are moving and this is all.
Then I can only hold power button to shut it off.
I applyed DSDT patcher to new installed system,
and got AML file, but before this I did not have dsdt.aml
file in my /

Anyone can help with this?
Thanks.

Attached Files



#307
rohan-04

rohan-04

    InsanelyMac Protégé

  • Members
  • PipPip
  • 50 posts
  • Gender:Male
  • Location:Bangalore,India
I tried this on a ICH9-M chipset and i dont think it worked, Can you tell me if you have any info on the M version?

Also do any of you know a HP dv4 usb fix

#308
darky25

darky25

    InsanelyMac Protégé

  • Members
  • Pip
  • 16 posts
Anyone here knows how to edit the FN Keys in dsdt? I want to disable my FN-F2, the switch display, because it cause hang on my system.

Thanks

#309
manmal

manmal

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 441 posts
hi,
does this method work with snow leopard version 10.6.2 too?
Thanks!
Mal

#310
darky25

darky25

    InsanelyMac Protégé

  • Members
  • Pip
  • 16 posts

hi,
does this method work with snow leopard version 10.6.2 too?
Thanks!
Mal


Yes. Perfectly running on my laptop except for the FN-F2 {censored}.

Anyone here knows how to edit the FN Keys in dsdt? I want to disable my FN-F2, the switch display, because it cause hang on my system.

Thanks


Anyone please answer this? Disabling FN-F2 would be better because pressing the detect display in preference is working.

#311
s.goten

s.goten

    InsanelyMac Protégé

  • Members
  • PipPip
  • 81 posts
before applying this patch on dsdt my system freezes when it went to sleep
now sleep seems to work but the system awakes immediately as if there is something that cause resume from sleep.
if i delete iousbfamily.kext sleep works fine. with that kext i have the issue that i mentioned before.
also with no peripheral plugged into usb ports the problem remains.

any suggestions?

thanks

#312
zhell

zhell

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 125 posts
  • Gender:Male

Which method is better for EP35-DS3L (ich9) ? I need to patch Device (SATA) as ICH10 or ESB2?
I have used ESB2 without problems... But I don't know much about ICH10.

Stay with ESB2... because it is roughly the same as ICH9R, whereas ICH10 is slightly different. In my case, only ESB2 fixes the "orange icon" problem.

#313
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts

before applying this patch on dsdt my system freezes when it went to sleep
now sleep seems to work but the system awakes immediately as if there is something that cause resume from sleep.
if i delete iousbfamily.kext sleep works fine. with that kext i have the issue that i mentioned before.
also with no peripheral plugged into usb ports the problem remains.

any suggestions?

thanks

Determine in the log what was causing it to wake immidiately. Then, look in your DSDT for the device which preventing it to sleep. If it have Power State Wake (_PSW) control method, you can modify it to disable that device capability to wake a sleeping system. For more information, please refer to ACPI Specification doc.

e.g.:-
Method (_PSW, 1, NotSerialized)
				{
					If (Arg0)
					{
						// Store (0x03, U4EN)
						// Disable USB4 capability to wake a sleeping system
						Store (0x00, U4EN)
					}
					Else
					{
						Store (0x00, U4EN)
					}
				}


kizwan

#314
s.goten

s.goten

    InsanelyMac Protégé

  • Members
  • PipPip
  • 81 posts

Determine in the log what was causing it to wake immidiately. Then, look in your DSDT for the device which preventing it to sleep. If it have Power State Wake (_PSW) control method, you can modify it to disable that device capability to wake a sleeping system. For more information, please refer to ACPI Specification doc.

e.g.:-

Method (_PSW, 1, NotSerialized)
				{
					If (Arg0)
					{
						// Store (0x03, U4EN)
						// Disable USB4 capability to wake a sleeping system
						Store (0x00, U4EN)
					}
					Else
					{
						Store (0x00, U4EN)
					}
				}


kizwan



thank you very much for your support.
looking at log I got "Wake Reason = LANC EHC1"
do you know what is this
how can I disable them to avoid automatic resume from sleep?

thanks again

#315
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts
Please PM me with dsdt.dsl file & I will take a look. Please include your system specification (CPU, graphic card, motherboard, etc).

thank you very much for your support.
looking at log I got "Wake Reason = LANC EHC1"
do you know what is this
how can I disable them to avoid automatic resume from sleep?

thanks again



#316
s.goten

s.goten

    InsanelyMac Protégé

  • Members
  • PipPip
  • 81 posts

Please PM me with dsdt.dsl file & I will take a look. Please include your system specification (CPU, graphic card, motherboard, etc).


sorry but in PM I can't insert any attachment. I send my file here

thank you again for you help

Attached Files

  • Attached File  File.zip   35.89KB   7 downloads


#317
s.goten

s.goten

    InsanelyMac Protégé

  • Members
  • PipPip
  • 81 posts

sorry but in PM I can't insert any attachment. I send my file here

thank you again for you help



WORKS!!!!! I did it!
i've just erase the lines in dsdt into "device LANC" section and now works!
thank you for all

just a thing: my notebook seems to go only in sleep state. when i set the sleep mode to hibernation only (i use smartsleep prefpane) the system goes to sleep yet.
there is something wrong? or i don't understand the mac hibernation mode ?
i thought that mac hibernation shutdown completely system as in windows vista/7
is it right or not?

#318
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts
Removing it from DSDT should only be the last resort.

As for sleep mode in Mac OS X:-
0 - Old style sleep mode, with RAM powered on while sleeping, safe sleep disabled, and super-fast wake.
1 - Hibernation mode, with RAM contents written to disk, system totally shut down while “sleeping,” and slower wake up, due to
reading the contents of RAM off the hard drive.
3 - The default mode on machines introduced since about fall 2005. RAM is powered on while sleeping, but RAM contents are also
written to disk before sleeping. In the event of total power loss, the system enters hibernation mode automatically.
5 - This is the same as mode 1, but it’s for those using secure virtual memory (in System Preferences -> Security).
7 - This is the same as mode 3, but it’s for those using secure virtual memory.

For more infos:
http://www.macworld.com/article/53471/2006/10/sleepmode.html


kizwan

WORKS!!!!! I did it!
i've just erase the lines in dsdt into "device LANC" section and now works!
thank you for all

just a thing: my notebook seems to go only in sleep state. when i set the sleep mode to hibernation only (i use smartsleep prefpane) the system goes to sleep yet.
there is something wrong? or i don't understand the mac hibernation mode ?
i thought that mac hibernation shutdown completely system as in windows vista/7
is it right or not?



#319
s.goten

s.goten

    InsanelyMac Protégé

  • Members
  • PipPip
  • 81 posts

Removing it from DSDT should only be the last resort.

As for sleep mode in Mac OS X:-
0 - Old style sleep mode, with RAM powered on while sleeping, safe sleep disabled, and super-fast wake.
1 - Hibernation mode, with RAM contents written to disk, system totally shut down while “sleeping,” and slower wake up, due to
reading the contents of RAM off the hard drive.
3 - The default mode on machines introduced since about fall 2005. RAM is powered on while sleeping, but RAM contents are also
written to disk before sleeping. In the event of total power loss, the system enters hibernation mode automatically.
5 - This is the same as mode 1, but it’s for those using secure virtual memory (in System Preferences -> Security).
7 - This is the same as mode 3, but it’s for those using secure virtual memory.

For more infos:

http://www.macworld.com/article/53471/2006/10/sleepmode.html


kizwan


ok. when i set to hibernate only, system goes to sleep and create sleepimage, but don't shutdown totally (i don't understand why). after reboot appears (before the logo) a message that says "hibernate image is too old of xxxxx sec. forcewake to override". if I add forcewake flag in com.apple.boot.plist this message disappear but appear a new message "incorrect image signature". i read somewhere that it could depend by chameleon that can't read in 32bit mode files greater than 4gb.
someone says that the solution is pc efi9 with chameleon 1, but i can't return back to cham 1 now that system is very stable.

thanks again for all

#320
artimess

artimess

    InsanelyMac Protégé

  • Members
  • PipPip
  • 97 posts
Hi zhell,
I am wondering if there are more than six UHCI device ids? My situation is I have 7, see lspci listing.
Even if I comment USBR 0x001D0003 it shows up in the mac as an expansion slot and therefore no sleep.
If I use a duplicate id I get initialization error lose of one of my USB ports but get sleep back.
So I was wondering if either there are other device ids besides theones that you posted that I could use to declare 1d3 with or you may have another sugestion that I can get my port back and have sleep work. My mob is Intel M45
I do appreciate and looking forward for your comments and advise.
Artimess
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)00:1d.3 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 [8086:2939] (rev 03)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 trick was to give the same device id of UHC6 to USBR. It downed to me when reading ICH9 manual noticing that it says UHC6 and USBR for me or any name having (0x001D0003) have the same device ID, so I used the same device id of UHC6 for USBR and it worked without any problem and I have now all my USB ports functioning correctly.
Artimess





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy