gibsonic Posted July 14, 2011 Share Posted July 14, 2011 Hi all, Been fishing around in my DSDT.dsl file to get the USB2 ports on my Optiplex 780 to appear as Built-in rather than Expansion Slot. The problem is that there seems to be no information regarding the controllers in the DSDT at all! In IORegistryExplorer the controllers appear as 'pci8086,3a6a@1D,7' and 'pci8086,3a6c@1A,7' rather than the more usual names like 'USB0@1D' for the UHCI controllers. Searching the DSDT.dsl for the full addresses (e.g. 0x001D0007) finds nothing, while I can find the USB1.1 controllers immediately. I've been able to get the UHCI controllers to appear Built-in, but I have no idea what's going on with EHCI. Because of this I also get the 'unloaded across sleep' errors on startup for the two controllers and waking from sleep is broken. I've attached the output from IORegistryExplorer and the vanilla DSDT.dsl from the Optiplex 780 (A09 BIOS) - if anybody has time to compare the two or tell me where else I should be looking, I'd really appreciate it! Optiplex780_IORegEx.ioreg.txt Optiplex780_A09_Clean.dsl.txt Link to comment Share on other sites More sharing options...
MaLd0n Posted July 14, 2011 Share Posted July 14, 2011 try it EHCIacquire=Yes EHCI in SSDT? Link to comment Share on other sites More sharing options...
gibsonic Posted July 18, 2011 Author Share Posted July 18, 2011 try it EHCIacquire=Yes No change with that, I'm afraid. Still 'expansion slot' and still no sign in DSDT. EHCI in SSDT? I'll investigate how to read that out and post back. Thanks for the suggestions! Link to comment Share on other sites More sharing options...
gibsonic Posted July 18, 2011 Author Share Posted July 18, 2011 Okay, I've read out the SSDT tables with DSDTSE, but again can't see any mention of EHCI or USBE, or even those addresses... I've attached the .dsl files (in a .zip this time) - any more suggestions would be great. Optiplex780_A09_DSDT_SSDT.zip Link to comment Share on other sites More sharing options...
dropkickwalker Posted August 7, 2011 Share Posted August 7, 2011 Hi All, Has Anyone found a way to add USB2 EHCI to an extracted Dell Optiplex DSDT? I have the same problem with my 755. Perhaps it was b/c I extracted A09 BIOS? I have recently upgraded to A19 - should I re-extract DSDT? Thanks in advance! Link to comment Share on other sites More sharing options...
MaLd0n Posted August 7, 2011 Share Posted August 7, 2011 hey gibsonic try it dsdt.gibsonic.zip into_all all code_regex _T_0 replaceall_matched begin T_0 end; into_all all code_regex _T_1 replaceall_matched begin T_1 end; into_all all code_regex _T_2 replaceall_matched begin T_2 end; into_all all code_regex _T_3 replaceall_matched begin T_3 end; into_all all code_regex _T_4 replaceall_matched begin T_4 end; into_all all code_regex _T_5 replaceall_matched begin T_5 end; into_all all code_regex _T_6 replaceall_matched begin T_6 end; into_all scope label _PR code_regex Alias\s\([^\n]+\n removeall_matched; into_all scope label \_PR code_regex Alias\s\([^\n]+\n removeall_matched; into method label DTGP remove_entry; into definitionblock code_regex . insert begin Method (DTGP, 5, NotSerialized)\n {\n If (LEqual (Arg0, Buffer (0x10)\n {\n /* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, \n /* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B\n }))\n {\n If (LEqual (Arg1, One))\n {\n If (LEqual (Arg2, Zero))\n {\n Store (Buffer (One)\n {\n 0x03\n }, Arg4)\n Return (One)\n }\n If (LEqual (Arg2, One))\n {\n Return (One)\n }\n }\n }\n Store (Buffer (One)\n {\n 0x00\n }, Arg4)\n Return (Zero)\n } end; into device name_adr 0x001B0000 parent_label PCI0 remove_entry; into device label PCI0 insert begin Device (HDEF)\n {\n Name (_ADR, 0x001B0000)\n Method (_DSM, 4, NotSerialized)\n {\n Store (Package (0x04)\n {\n "layout-id", \n Buffer (0x04)\n {\n 0x0C, 0x00, 0x00, 0x00\n }, \n "PinConfigurations", \n Buffer (Zero) {}\n }, Local0)\n DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n Return (Local0)\n }\n } end; into device label PWRB code_regex (Name\s\()_HID(\,\sEisaId\s\(\"PNP0C0C\"\)\)) replace_matched begin %1_CID%2 end; into method label _STA parent_hid PNP0103 remove_entry; into device name_hid PNP0103 insert begin Method (_STA, 0, NotSerialized)\n {\n Return (0x0F)\n } end; into method label _CRS parent_hid PNP0000 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched; into method label _CRS parent_hid PNP0100 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched; into method label _CRS parent_hid PNP0B00 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched; into method label _CRS parent_hid PNP0103 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} removeall_matched; into method label _CRS parent_hid PNP0103 code_regex Name\s\(([^,]+),\sResourceTemplate\s\(\)\n\s+\{((?:.|\n)*)\}\) replace_matched begin Name (%1, ResourceTemplate ()\n {\n IRQNoFlags ()\n {0}\n IRQNoFlags ()\n {8}\n IRQNoFlags ()\n {11}\n IRQNoFlags ()\n {15}\n %2 }) end; into method label _DSM parent_adr 0x001F0000 remove_entry; into device name_adr 0x001F0000 insert begin Method (_DSM, 4, NotSerialized)\n {\n Store (Package (0x02)\n {\n "device-id", \n Buffer (0x04)\n {\n 0x18, 0x3A, 0x00, 0x00\n }\n }, Local0)\n DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n Return (Local0)\n } end; into_all all code_regex (Acquire\s\(MUTE,\s0x)....\) replace_matched begin %1FFFF) end; into_all scope label _SB.PCI0.PCI5 code_regex Name\s\(PIC5,\sPackage\s\(0x00\) replaceall_matched begin Name (PIC5, Package (Zero) end; into_all scope label _SB.PCI0.PCI5 code_regex Name\s\(API5,\sPackage\s\(0x00\) replaceall_matched begin Name (API5, Package (Zero) end; into_all scope label _SB.PCI0.PCI6 code_regex Name\s\(PIC6,\sPackage\s\(0x00\) replaceall_matched begin Name (PIC6, Package (Zero) end; into_all scope label _SB.PCI0.PCI6 code_regex Name\s\(API6,\sPackage\s\(0x00\) replaceall_matched begin Name (API6, Package (Zero) end; into DefinitionBlock code_regex_not PBIF code_regex Package\s\(0x0D\) replaceall_matched begin Package () end; into device label SPKR remove_entry; into device label FDC remove_entry; into device label FDC0 remove_entry; into device label LPT1 remove_entry; into device label LPTE remove_entry; into device label LPT remove_entry; into device label ECP1 remove_entry; into device label MEM remove_entry; into device label ^^RMEM remove_entry; into method label _CRS parent_hid PNP0B00 code_regex (IO\s\((?:\s*[^,]+,\s*(?:\/\/\s.*)?\s*\n)+\s*)(\dx\d+)(,\s*(?:\/\/\s.*)?\s*\n\s*\)) replace_matched begin %10x02%3 end; into device name_adr 0x001F0003 parent_label PCI0 remove_entry; into device label PCI0 insert begin Device (SBUS)\n {\n Name (_ADR, 0x001F0003)\n Device (BUS0)\n {\n Name (_CID, "smbus")\n Name (_ADR, Zero)\n Device (DVL0)\n {\n Name (_ADR, 0x57)\n Name (_CID, "diagsvault")\n }\n }\n Method (_DSM, 4, NotSerialized)\n {\n Store (Package (0x02)\n {\n "device-id", \n Buffer (0x04)\n {\n 0x30, 0x3A, 0x00, 0x00\n }\n }, Local0)\n DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n Return (Local0)\n }\n } end; into method label _PTS code_regex_not If\s*\(LEqual\s*\(Arg0,\s*0x05\)\) code_regex ^((?:.|\n)*)$ replace_matched begin If (LEqual (Arg0, 0x05))\n {\n Store (Zero, SLPE)\n Sleep (0x10)\n }\n Else\n {\n %1 } end; into definitionblock code_regex . code_regex_not OperationRegion\s*\(PMRS insert begin OperationRegion (PMRS, SystemIO, 0x0430, One)\n Field (PMRS, ByteAcc, NoLock, Preserve)\n {\n , 4, \n SLPE, 1\n } end; into method label _DSM parent_adr 0x001D0000 remove_entry; into device name_adr 0x001D0000 insert begin Method (_DSM, 4, NotSerialized)\n {\n Store (Package (0x02)\n {\n "device-id", \n Buffer (0x04)\n {\n 0x34, 0x3A, 0x00, 0x00\n }\n }, Local0)\n DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n Return (Local0)\n } end; into method label _DSM parent_adr 0x001D0001 remove_entry; into device name_adr 0x001D0001 insert begin Method (_DSM, 4, NotSerialized)\n {\n Store (Package (0x02)\n {\n "device-id", \n Buffer (0x04)\n {\n 0x35, 0x3A, 0x00, 0x00\n }\n }, Local0)\n DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n Return (Local0)\n } end; into method label _DSM parent_adr 0x001D0002 remove_entry; into device name_adr 0x001D0002 insert begin Method (_DSM, 4, NotSerialized)\n {\n Store (Package (0x02)\n {\n "device-id", \n Buffer (0x04)\n {\n 0x36, 0x3A, 0x00, 0x00\n }\n }, Local0)\n DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n Return (Local0)\n } end; into method label _DSM parent_adr 0x001A0000 remove_entry; into device name_adr 0x001A0000 insert begin Method (_DSM, 4, NotSerialized)\n {\n Store (Package (0x02)\n {\n "device-id", \n Buffer (0x04)\n {\n 0x37, 0x3A, 0x00, 0x00\n }\n }, Local0)\n DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n Return (Local0)\n } end; into method label _DSM parent_adr 0x001A0001 remove_entry; into device name_adr 0x001A0001 insert begin Method (_DSM, 4, NotSerialized)\n {\n Store (Package (0x02)\n {\n "device-id", \n Buffer (0x04)\n {\n 0x38, 0x3A, 0x00, 0x00\n }\n }, Local0)\n DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n Return (Local0)\n } end; into method label _DSM parent_adr 0x001A0002 remove_entry; into device name_adr 0x001A0002 insert begin Method (_DSM, 4, NotSerialized)\n {\n Store (Package (0x02)\n {\n "device-id", \n Buffer (0x04)\n {\n 0x39, 0x3A, 0x00, 0x00\n }\n }, Local0)\n DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n Return (Local0)\n } end; into method label _DSM parent_adr 0x001D0003 remove_entry; into device name_adr 0x001D0003 insert begin Method (_DSM, 4, NotSerialized)\n {\n Store (Package (0x02)\n {\n "device-id", \n Buffer (0x04)\n {\n 0x37, 0x3A, 0x00, 0x00\n }\n }, Local0)\n DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n Return (Local0)\n } end; into device label PCI0 insert begin Device (EHC1)\n {\n Name (_ADR, 0x001D0007)\n Name (_PRW, Package (0x02)\n {\n 0x0D, \n 0x03\n })\n Method (_DSM, 4, NotSerialized)\n {\n Store (Package (0x04)\n {\n "device-id", \n Buffer (0x04)\n {\n 0x3C, 0x3A, 0x00, 0x00\n }, \n "AAPL,clock-id", \n Buffer (One)\n {\n 0x01\n }\n }, Local0)\n DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n Return (Local0)\n }\n } end; into device label PCI0 insert begin Device (EHC2)\n {\n Name (_ADR, 0x001A0007)\n Name (_PRW, Package (0x02)\n {\n 0x0D, \n 0x03\n })\n Method (_DSM, 4, NotSerialized)\n {\n Store (Package (0x04)\n {\n "device-id", \n Buffer (0x04)\n {\n 0x3C, 0x3A, 0x00, 0x00\n }, \n "AAPL,clock-id", \n Buffer (One)\n {\n 0x01\n }\n }, Local0)\n DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n Return (Local0)\n }\n } end Hi All, Has Anyone found a way to add USB2 EHCI to an extracted Dell Optiplex DSDT? I have the same problem with my 755. Perhaps it was b/c I extracted A09 BIOS? I have recently upgraded to A19 - should I re-extract DSDT? Thanks in advance! send me DSDT what is the chipset? ICH9? 1 Link to comment Share on other sites More sharing options...
gibsonic Posted August 27, 2011 Author Share Posted August 27, 2011 hey gibsonictry it That's it! Fantastic! Thank you for your help on this - both 'USB Bus' and 'USB High-Speed Bus' show properly using this DSDT. I'll try apply the patch alongside the others I use now. Link to comment Share on other sites More sharing options...
gibsonic Posted August 28, 2011 Author Share Posted August 28, 2011 I'll try apply the patch alongside the others I use now. The only other change I needed after applying the patch was to change 'Name (_UID, 0x4)' to 'Name (_UID, Zero)' under 'Device (PCI0)'. After that, App Store began working correctly and HD5450 graphics card is detected. Perfect! Not tried sleep support as yet, but that would just be a bonus; I never actually use it. Link to comment Share on other sites More sharing options...
Maroc-OS Posted January 26, 2012 Share Posted January 26, 2012 Try This : it's my perfect worked One, and change your device name to EHC1 or EHCI and do not foget to change all related names in the rest of your dsdt. Method (_DSM, 4, NotSerialized) { Store (Package (0x0C) { "AAPL,current-available", 0x05DC, "AAPL,current-extra", 0x04B0, "AAPL,current-in-sleep", 0x09C4, "AAPL,clock-id", Buffer (One) { 0x01 }, "device-id", Buffer (0x04) { 0xCC, 0x27, 0x00, 0x00 }, "device_type", Buffer (0x05) { "EHCI" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } YOU CAN ADD THIS IF YOU WANT : "built-in", Buffer (One) { 0x00 }, Link to comment Share on other sites More sharing options...
Recommended Posts