Contribute
Register

[GUIDE] Alienware M17xR3 : It's almost there!

Status
Not open for further replies.
Joined
Nov 4, 2011
Messages
126
Mac
  1. 0
Classic Mac
  1. 0
Mobile Phone
  1. 0
WARNING: You attempt any of these suggestions at your own risk!

This assumes you already have Retail Snow Leopard installed (viewtopic.php?f=34&t=44907) and have purchased Lion (10.7.2) from the app store.

1) Setup an installer partition as per xmove instructions : http://tonymacx86.blogspot.com/2011/07/ ... -lion.html
2) Make a DSDT file.
3) Patch DSDT with DUALLINK (See DSDT patches further down)
4) Create Extra/ folder on the //Installer/ partition
5) Unzip Extensions into //Installer/Extra/ Folder
6) Place modded DSDT file into //Installer/Extra/
7) Copy your existing "smbios.plist" and "org.chameleon.Boot.org" from SnowLeopard to //Installer/Extra/ Ensure they contain the details shown below.
8) Reboot into //Installer/ and install Lion to another partition (Do not install Lion over Snow Leopard - This will save your bacon!)
9) When installed, reboot into Snow Leopard.
10) Copy the //Installer/Extra/ folder to //Lion/Extra/
11) Open Disk Util, select //Lion/ and click "Repair permissions"
12) Reboot into //Lion/
13) You will need a USB keyboard, just to press Enter. Put it into the eSATA port as it doubles as a USB3.0 port.
14) Get rid of the bluetooth & mouse nag screens. "System Preferences" -> "Bluetooth" -> "Advanced"
15) Apply extra DSDT patches/etc below for more compatibility.
16) Now help me to make it better :)

--- Got Boot0 errors? ---
Check out this thread for a fix: http://tonymacx86.com/viewtopic.php?t=42881&p=283088

--- 10.7.3 ---
Running combo update from Apple site worked without any problems.

--- 10.7.4 ---
For SpeedStep problems, please read this post : viewtopic.php?p=375832#p375832
Experimental AppleHDA Audio Patch for 10.7.4, to replace VoodooHDA : viewtopic.php?p=377384#p377384

--- smbios.plist ---
Make sure you have these!
Code:
	<key>SMfamily</key>
	<string>MacBook Pro</string>
	<key>SMproductname</key>
	<string>MacBookPro8,n</string>
Set n to 1/2/3 depending on CPU match.
I have a i7 2670QM so using MacBookPro8,2

--- org.chameleon.Boot.plist ---
Make sure you have these...
Code:
	<key>Boot Banner</key>
	<string>No</string>
	<key>Graphics Mode</key>
	<string>1920x1080x32</string>
	<key>GraphicsEnabler</key>
	<string>No</string>
	<key>Kernel Flags</key>
	<string>npci=0x2000 PCIRootUID=0 DSDT=/Extra/dsdt.aml</string>
	<key>Legacy Logo</key>
	<string>Yes</string>
	<key>Instant Menu</key>
	<string>Yes</string>
	<key>SMBIOS</key>
	<string>/Extra/smbios.plist</string>

--- BIOS ---
I recommend using ALIENWARE 17XR3 UNLOCKED A08 BIOS. If you look hard enough I am sure you will find the RAR ;)
This will allow you to turn off the HD3000 or the PCI-Express (Descrete graphics) card.

--- Getting DSDT file ---
Download Ubuntu CD or USB : http://www.ubuntu.com/download/ubuntu/download
Burn/Setup the CD/USB.
Reboot and start the CD/USB device.
Select "Try Ubuntu"
In Application, select Terminal and type
Code:
sudo cat /proc/acpi/dsdt > dsdt.aml
If that does not work then try.. (Thanks to brycv)
Code:
sudo cat /sys/firmware/acpi/tables/DSDT > dsdt.aml
Open file manager, go to the home directory and copy the dsdt.aml onto a USB stick or move to a shared partition.
Then use a DSDT Editor to decompile the dsdt.aml to dsdt.dsl.

--- SpeedStep : SSDT files ---
NOTE: You might need to make sure HPET has been fixed first!
Extract SSDT tables using Aida64 or Everest in Windows. This post shows where to right click : viewtopic.php?p=284038#p284038
Save all ACPI-SSDT files as..
ssdt.aml
ssdt-1.aml
ssdt-2.aml
ssdt-3.aml, etc, etc.
Put all those above files into //Lion/Extra/

In org.chameleon.Boot.plist add these items
Code:
        <key>GeneratePStates</key>
        <string>Yes</string>
        <key>GenerateCStates</key>
        <string>Yes</string>
        <key>DropSSDT</key>
        <string>Yes</string>
Replace AppleIntelPowermanagerment.kext in //Lion/System/Library/Extensions/ with the attached file.
Remove EvOreboot.kext & NullCPUPowerManagerment.kext from //Lion/Extra/Extensions/
Use Disk Util and Fix Permissions on //Lion/ install.
Go into //Lion/System/Library/Cache/ and DELETE all files there.
Reboot.
Install kexts found in "CPU-Monitor".
Reboot and run HWMonitor, you should now see that speedstep is working and temps :)

--- Wireless ---
If you have a DW1501 wireless card, replace it with a DW1510 because that works OOB!

--- Trackpad ---
To prevent the Trackpad showing as a Mouse in the IORegistry (It gets duplicated) then apply the DSDT Mod below. This is not required, but keeps things tidy.
To get 2 finger scrolling: First ensure that kext files have been moved to S/L/E, you have UseKernelCache=Yes and then install the kexts in the attached file called "Updated_PS2Controller".
Thanks to : chrisjohnharden & Montspy for initial findings. I have now combined it with a previous kext that I had so that brightness keys are working :)

--- USB 2.0 ports ---
HPET takes over the IRQ for the Intel USB devices. You can fix this with a replacement IOPCIFamily.kext, but it's cleaner to make the DSDT mod below. The replacement kext stopped my WiFi from working. For me adding 0x0A and 0x0B IRQ numbers worked, but you might need to go through the IORegistryExplorer and check which IRQ numbers are free. They are called "IOInterruptSpecifiers" and you take the first 2 digits from the Data field. It's in HEX so will go from 00 to 0F.
Note: Allows webcam to work but not USB ports, so I need to fix this when I get more time.
Update: I am really sure that the USB port details in the DSDT need to changed to get them to work, because the webcam needs the USB device to be working so it can be detected. It's next on my list to solve.
Update2: Not sure when or why (Perhaps related to SpeedStep fix), but the right side 2.0 USB ports work! Left side 3.0 USB ports do not.

--- Backlight ---
Using the DSDT patch below you can get backlight adjustment. But you can only control this from the "System Preferences" -> "Display"

--- Brightness Up & Down : FN+F4 & FN+F5 ---
This works with PS2Controller found in both Extensions.zip & PS2Controller_Updated.zip

--- Sound ---
To get sound working, use MultiBeast 4.2.1 and install VoodooHDA 0.2.7.3 (Drivers & Bootloaders -> Kexts & Enablers -> Audio -> Universal)
Note: Enabling SpeedStep seems to stop pops and crackles.
2nd Note: If you get kernel panics for VoodooHDA then put the attached AppleHDADisabler.kext into //Lion/Extra/Extensions/

--- HDMI Audio ---
Added DSDT edit to the list to enable HDMI Audio, but this is not tested.

-- Ethernet --
Ethernet was working once, but since I am now using wireless I have not tried to reinstall. I have attached the kext I had working before if someone else needs it.
TODO: Check it still works, maybe possible via DSDT?

--- Battery Monitor ---
-Non DSDT Method-
Use BatteryVoodoo.zip & install kexts.

-DSDT Methos-
Apply the DSDT mods below and then adjust the BAT1 part of the DSDT (http://www.insanelymac.com/forum/index. ... 72459&st=0). It's pretty complex but worth it. Battery details then show in the "About This Mac".
Install kexts found in BatteryDSDT.zip

--- CPU Temps ---
Use CPU-Monitor.zip, also mentioned in SpeedStep part.

--- Webcam ---
Once HPET is fixed, internal webcam is recognised OOB. Just remember that you can turn the webcam on and off with FN+F9! So if it is not found by FaceTime try FN+F9 before doing a reinstall ;)

--- Alienware Lights ---
The controller for the lights shows as a USB device called M17XR3. It should now be possible to get the Python AlienFX to work in OSX to control the lights. I have not had time to give this a go yet.
PyAlienFX : http://code.google.com/p/pyalienfx/
LibUSB 1.0 compiled OSX package : http://www.dm9.se/?p=659
(You use the linked files at your own risk!)

--- Move Kext Files to System/Library/Extensions/ ---
Run "Kext Utility 2.5.1", found on osx86.net, let it initially run. It will rebuild all kernel caches. Then drag & drop all kext found in //Lion/Extra/Extensions/ to it. Once complete, now delete the folder //Lion/Extra/Extensions/
In "org.chameleon.Boot.plist" add this...
Code:
        <key>UseKernelCache</key>
        <string>Yes</string>

--- Installing Extra Kext Files ---
Use "Kext Utility 2.5.1", found on osx86.net. This will rebuild the cache files and install the kext to S/L/E.

--- What works ---
Correct CPU (i7) showing.
Correct Memory showing.
Both HD bays (If containing HD) showing.
Intel HD3000 with QE/CI.
Trackpad with buttons as a PS2 mouse. Now with 2 finger scrolling!
Keyboard.
Power button activates shutdown menu.
Volume Controls for Master Up, Master Down & Mute.
Play/Pause, Previous & Next buttons work in iTunes.
LCD detection works with maximum resolution selection.
DW1510 Wireless.
Sound works but with small crackles towards loud volume. (Seems to be ok when SpeedStep setup)
Microphone.
2 x 2.0 USB ports on right side.
USB 3.0 via the eSata port.
Battery Meter : Shows %, Time-Remaining, AC-Connected, etc.
CPU Temps in iStat.
Closing lid will turn off backlight. Opening again turns it back on.
Screen sleep after x mins also works. Press key to wakeup.
Webcam
AlienWare Light controller shows under USB devices.
LCD brightness slider using "System Preferences" -> Display, also keyboard : FN+F4/FN+F5
SpeedStep
Sleep works, once SpeedStep enabled.
FN+F1 sends laptop into sleep mode :headbang:
eSata : Thanks go to Montspy for checking.
Bluetooth : Thanks go to techsupportnerd for checking.

-- Can be made to work --
GTX 560M. Have had basic workings with kext mod, but not elegant enough for me, so will come back to it.
Ethernet. Did have working, but not rechecked.

-- Not Working --
2 x 3.0 USB ports on left side. Freeze on device insert.
True Multitouch.
Card Reader.
Disc Eject button.
HDMI Audio

WARNING: Wireless on/off button does not work correctly. It disables Bluetooth & Wireless but when enabled wireless does not come back on.

------- List of DSDT Edits ---------
DTGP
Place this as a global function. After OSMI is where I have it.
Code:
Method (DTGP, 5, NotSerialized)
{
  If (LEqual (Arg0, Buffer (0x10)
  {
    /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
    /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
  }))
  {
    If (LEqual (Arg1, One))
    {
      If (LEqual (Arg2, Zero))
      {
        Store (Buffer (One)
        {
          0x03
        }, Arg4)
        Return (One)
      }
      If (LEqual (Arg2, One))
      {
        Return (One)
      }
    }
  }

  Store (Buffer (One)
  {
    0x00
  }, Arg4)
  Return (Zero)
}

DUALLINK
Find the GFX0 Device and then after the line "Name (_ADR, 0x00020000)" paste this code...
Code:
Method (_DSM, 4, NotSerialized)
{
  Store (Package ( )
  {
    "AAPL00,DualLink",
    Buffer (0x04)
    {
      0x01, 0x00, 0x00, 0x00
    }
  }, Local0)
  DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  Return (Local0)
}

TRACKPAD - WIP
Replace
Code:
Name (_HID, EisaId ("DLL0490"))
with
Code:
Name (_HID, EisaId ("SYN0100"))

BATTERY
Add these functions as global.
Code:
    Method (B1B2, 2, NotSerialized)
    {
        Or (ShiftLeft(Arg1,0x08), Arg0, Local0)
        Return (Local0)
    } //for 16bit
  Method (B1B4, 4, NotSerialized)      
  {
                Or (ShiftLeft(Arg1,0x08), Arg0, Local0)
                Or (ShiftLeft(Arg2,0x10), Local0, Local0)
                Or (ShiftLeft(Arg3,0x18), Local0, Local0)
                Return (Local0)
   } //for 32bit
  Method (L1L4, 4, NotSerialized)//32*4=128
  {
                Or (ShiftLeft(Arg1,0x20), Arg0, Local0)
                Or (ShiftLeft(Arg2,0x40), Local0, Local0)
                Or (ShiftLeft(Arg3,0x60), Local0, Local0)
                Return (Local0)
   }//for 128bit

BACKLIGHT
I added this before the line "Device (PWRB)"
Code:
                    Device (PNLF)
                    {
                        Name (_HID, EisaId ("APP0002"))
                        Name (_CID, "backlight")
                        Name (_UID, 0x0A)
                        Name (_STA, 0x0B)
                    }
Before the DUALLINK "AAPL00,DualLink," line in Device (GFX0) add the following
Code:
                            "AAPL,Haslid", 
                            Buffer (0x04)
                            {
                                0x01, 0x00, 0x00, 0x00
                            }, 
                            "AAPL,backlight-control", 
                            Buffer (0x04)
                            {
                                0x01, 0x00, 0x00, 0x00
                            }, 
                            "AAPL,BacklightRestore", 
                            Buffer (0x04)
                            {
                                0x01, 0x00, 0x00, 0x00
                            }, 
                            "AAPL,HasPanel", 
                            Buffer (0x04)
                            {
                                0x01, 0x00, 0x00, 0x00
                            },

HPET
After the lines "Name (BUF0, ResourceTemplate ()" + "{"
Code:
                        IRQNoFlags ()
                            { 0x0A }
                        IRQNoFlags ()
                            { 0x0B }

HDMI-AUDIO
In section HDEF, add this method...
Code:
            Method (_DSM, 4, NotSerialized)
            {
                Store (Package (0x02)
                {
                    "hda-gfx", 
                    Buffer (0x0A)
                    {
                        "onboard-1"
                    }
                }, Local0)
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }

and in Device (GFX0) add the following to "Method (_DSM..." after "Store (Package ( ) {"
Code:
                    "hda-gfx", 
                    Buffer (0x0A)
                    {
                        "onboard-1"
                    },

-- Changes --
18th Feb : Changed the Store (Package( ) line in DualLink.
27th Feb : SpeedStep added.
28th Feb : Note that FN+F1 works for suspend and F4/F5 for brightness.
3rd Mar : Updated details about webcam and brightness buttons.
15th Mar : Possible alternative DSDT location in Ubuntu added.
14th Apr : Added AppleHDADisabler for those who get VoodooHDA kernel panics.
15th Apr : eSata moved to working list.
29th Apr : Added "Move Kext Files to System/Library/Extensions/", updated "Adding Extra Kext Files" and updated mouse info. Bluetooth moved to working.
29th Apr Extra : Added Updated_PS2Controller.zip with working brightness keys for keyboard.
1st May : Updated Extensions.zip with latest FakeSMC & removed a couple kexts. Replaced Battery.zip with BatteryDSDT.zip & BatteryVoodoo.zip. Added CPU-Monitor.zip
20 May : Added links to Boot0 error fix, 10.7.4 SpeedStep fix and experimental patched AppleHDA.

--- Other ---
Cinebench : OpenGL : HD3000 : 2670QM : 11.61FPS

-- Things to do someday --
Mod trackpad source code to allow it to recognise our Synaptic version.
Mod AppleHDA for specific IDT hardware version in this laptop.
Attempt to get both cards working and use card switching. I heard this might work in ML?!?
 

Attachments

  • Ethernet.zip
    68.4 KB · Views: 154
  • AppleIntelCPUPowerManagement.kext.zip
    140.7 KB · Views: 183
  • AppleHDADisabler.kext.zip
    14.1 KB · Views: 179
  • Updated_PS2Controller.zip
    376.4 KB · Views: 210
  • Extensions.zip
    358.5 KB · Views: 164
  • BatteryDSDT.zip
    36.3 KB · Views: 158
  • BatteryVoodoo.zip
    473.8 KB · Views: 153
  • CPU-Monitor.zip
    354.6 KB · Views: 162
Re: Alienware M17xR3: 10.7.2 Installed, and boots :)

/ redundant post /
 
Re: Alienware M17xR3: 10.7.2 Installed, and boots :)

Hello

I search the A08 mod bios for my new alienware m17xr3
but i can't download the firmware on mediafire, ( links is dead)

I find the A09 unlocked bios but sata III is slow down to Sata II
do you have A08 unlocked bios file ?
do you send me A08 unlocked bios ?

Tank's
Best Regards

AkArien
 
Re: Alienware M17xR3: 10.7.2 Installed, and boots :)

ryanp333 said:
FIX FOR NVIDIA
Yes, I know it does work. But I want to make everything else work first ;)

akarien said:
Hello

I search the A08 mod bios for my new alienware m17xr3 but i can't download the firmware on mediafire, ( links is dead)

Hello and welcome to the forum!

I think sharing BIOS is probably not allowed on this forum. I am sure if you look hard enough you will be able to find the A08 Unlocked bios still about. ;)
 
Re: Alienware M17xR3: Vanilla Install.. It keeps getting better!

Do you get scrolling by touching down the side of the trackpad??

Thanks

Ryan
 
Re: Alienware M17xR3: Vanilla Install.. It keeps getting better!

Hi !
I have an Alienware M17X R3 and I'm trying to install Lion on it following your method.
(Sorry for my english, I'm italian.)
Anyway, I have problems with DSDT Editor, because when I do "IASL" - "Compile" I have always have errors and I can't fix them.

What should I do?

The errors that I have (even if I don't patch anything) are:

21 Error Name already exists in scope (\TNOT)
3492 Error syntax error, unexpected ')', expecting ','
3506 Error syntax error, unexpected PARSEOP_ARG0, expecting '('
 
Re: Alienware M17xR3: Vanilla Install.. It keeps getting better!

ryanp333 said:
Do you get scrolling by touching down the side of the trackpad??

Hi ryanp333,

No scrolling in Lion but I did get 2 finger scrolling in 10.6.8. I have tried many things in Lion now, but not managed to get the TrackPad to work for scrolling.

I am starting to think there is something special with the later Synaptic TrackPads (Perhaps multitouch windows support) which is messing things up in Lion.


Niko09 said:
21 Error Name already exists in scope (\TNOT)
3492 Error syntax error, unexpected ')', expecting ','
3506 Error syntax error, unexpected PARSEOP_ARG0, expecting '('

Hello Niko, which BIOS version?
For the error "21 Error Name", you delete line :)
For other errors I need to see DSDT code. If you attach dsdt I can have quick look.
 
Re: Alienware M17xR3: Vanilla Install.. It keeps getting better!

Niko09 said:
Bios, I think it is A08, but Unlocked.

Attached dsdt with fixed errors, added DualLink & DTGP. Minimum for Lion install.
You have 2 warnings on compile, these you can ignore. It still compiles.

Anything else you need you can add from 1st post.

Have Fun!
 

Attachments

  • DSDT.dsl.zip
    28.5 KB · Views: 158
Status
Not open for further replies.
Back
Top