Jump to content

[Guide] Thinkpad T410 Lion and Optional Windows 7


Framton
 Share

8 posts in this topic

Recommended Posts

Now that I finally have my T410 working with OS X, I thought it would be nice to document what I did for other people. And myself, since I'll inevitably have to reinstall and forget everything I did. Below I've included instructions on installation, kexts that I used, instructions to modify your DSDT (as well as my DSDT for reference), and a few random thoughts along the way. Feedback is always welcome, particularly if you have a solution to any of the problems I've encountered. I suggest reading through this post in its entirety to make sure that you're prepared and to consider any potential pitfalls ahead of time. Of course that's just a suggestion. This isn't going to be like those things they did in elementary school where it would say "READ EVERYTHING FIRST" and follow with a bunch of crazy instructions ('stand up and moo like a cow') and, at the end, inform you to disregard everything it said and hand in the paper. I promise I won't do that to you. You should end up with Mac OS 10.7 (or whatever you have handy) and, if you want it, Windows (7).

 

Note about dual booting: I didn't have to do anything special to accomplish this. I used a Windows 7 SP 1 disc image to install Windows and an xMoved Lion installer from another partition on the drive. Both OSes installed on the GPT table with no problems. Your results may vary, of course. I've seen many threads asking about this topic, but for me it just worked. Having said that, you may want to take a look into this MBR patch if it doesn't "just work" for you.

 

Preparation:

  • If you want bluetooth, enable it before you begin installing OS X.
     
  • A USB flash drive (or DVD) containing the following: (Might want to have the drive plugged in ahead of time. You may get a kernel panic when you plug USB devices in while booting from rBoot)
    * T410 Kexts
    * DSDT.aml [if you need to create your own, skip to the bottom for instructions.]
    * [url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url]
     
  • If you need wifi, you'll either need to replace your wifi card or get a USB dongle.
     
  • An rBoot LE CD.
     
  • A USB keyboard and mouse. Lion is kind of a jerk like that and doesn't accept our keyboard and mouse as being good enough. You'll only need it for installation.
     
  • In the BIOS (hit F1 during boot), make sure the following settings are correct:
    	* Config > Display
       * Graphics Device: Discrete Graphics
       * OS Detection for NVIDIA Optimus: Disabled
    * Config > Serial ATA (SATA)
       * SATA Controller Mode Option: AHCI


Installation:

1. Boot from the install partition/disc/flash drive with rBoot LE.

2. Partition the drive with a GUID partition table.

  • Optionally, create a FAT partition for Windows. I recommend naming it something painfully obvious. Like WINDOWS.

3. Follow the prompts to install OS X.

4a. If you're going to install Windows, now is the time to do it. Select your previously created FAT partition when it comes time to choose the disk. Windows will complain that it's not NTFS. Fortunately that's not a problem. Just click on the format option below the table of disks. (Please be absolutely sure you select the right partition. I'd hate for you to delete something important.)

4b. Boot from rBoot LE and select your OS X partition.

5. Move DSDT.aml to the desktop.

6. Launch [url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url] and select the following options:

   
  * UserDSDT Install
  * System Utilities (check everything)
  * > Drivers & Bootloaders
 * > Kexts & Enablers
	 * > Network > hnak's AppleIntelE1000e Ethernet
 * > Customization
	 * > Boot Options > Use KernelCache
 * > System Definitions > MacBook Pro > MacBookPro 6,1
 * > OSx86 Software > Kext Utility

If you feel compelled to and know what it does, feel free to choose other things. The FakeSMC monitors can be useful, for instance.

7. Assuming nothing exploded, copy the following files to /System/Library/Extensions:

  • VoodooPS2Controller.kext
     
  • ThinkpadUltraNav.kext
     
  • VoodooBattery.kext
     
  • AppleACPIPlatform.kext (Replaces the existing one for battery functionality)

You may get warnings about the kexts being unable to be used. Never fear!

8. Open the file /Extra/org.chameleon.Boot.plist and make the following alterations:

  • Find the key 'GraphicsEnabler' and change the string to 'No'.
     
  • I had issues with the app store letting me do anything without adding this:

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

9. Run Kext Helper and reboot.

10. Go back to [url=&quot;http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/&quot;]#####[/url]: Drivers & Bootloaders, Kexts & Enablers, Audio, Universal. Check VoodooHDA 0.2.7.3. Also check System Utilities. This has to be done last because, in my experience, there's a 50% chance that VoodooHDA will cause a kernel panic during installation. It's always nicer if that happens after you've installed everything else.

 

That should be it! Now you can update and do whatever. Hopefully everything worked out for you. And now for the oddities...

 

Things I can't get to work:

  • Card reader
     
  • Internal wifi. I use an Airlink dongle to excellent effect.
     
  • Optimus graphics. I'm fine with using the NVidia card, though.
     
  • The accelerometer that locks the drive head when it detects motion. Ah well. We lived without it for years anyway, right?!

 

Things that are flaky:

  • Bluetooth can't be toggled on or off from OS X. I've also never tested it to see if it actually works, but the icon appears!
     
  • Shutting down seems to be... incomplete. The OS goes through shutdown fine, but the hardware doesn't seem to completely shutdown. The fan keeps going until the power button is held down.
     
  • Brightness can't be adjusted with FN + Home/End. You have to use the Scroll Lock + Pause keys. (Also, just in case you're like me and think I mean FN + Pause, I don't. Just pause or scroll lock.)
     
  • Every random reboot, the VoodooHDA kext will panic the kernel. Just reboot and it works just fine. If that makes you rage as much as it makes me rage, I suggest moving the kext to somewhere (we'll say the desktop) and only loading it on demand. From a terminal: sudo kextload /users/<your username>/voodoohda*.kext

 

Things I never use and didn't test:

  • Firewire (or whatever it's called these days)
     
  • DisplayPort
     
  • Camera (Though I'm told it works natively. I have it disabled in the BIOS because it creeps me out.)

 

Spammy DSDT modifications:

I'm going to assume that you know how to extract your DSDT and make modifications. I recommend using DSDT Editor simply because it displays a device tree on the left that will make it much easier to find the things I talk about below. Anyway! I'm only going to provide the three alterations that are necessary to get brightness controls working:

 

1. Navigate through the labyrinth of devices to: _SB\PCI0\Peg\Vid

2. Locate the _DSM method and replace it thusly:

	Name (_SUN, One)
				Method (_DSM, 4, NotSerialized)
				{
				   Store (Package (0x22)
						{
							"AAPL,backlight-control",
							Buffer (0x04)
							{
							0x01, 0x00, 0x00, 0x00
							},
							"@0,backlight-control",
							Buffer (0x04)
							{
								0x01, 0x00, 0x00, 0x00
							},
							"@0,compatible",
							Buffer (0x0B)
							{
								"NVDA,NVMac"
							},
							"@0,device_type",
							Buffer (0x08)
							{
								"display"
							},
							"@0,display_cfg",
							Buffer (0x08)
							{
								0x03, 0x01, 0x00, 0x00
							},
							"@0,name",
							Buffer (0x0F)
							{
								"NVDA,Display-A"
							},
							"@1,compatible",
							Buffer (0x0B)
							{
								"NVDA,NVMac"
							},
							"@1,device_type",
							Buffer (0x08)
							{
								"display"
							},
							"@1,display_cfg",
							Buffer (0x08)
							{
								0xFF, 0xFF, 0x00, 0x01
							},
							"@1,name",
							Buffer (0x0F)
							{
								"NVDA,Display-B"
							},
							"@0,built-in",
							Buffer (One)
							{
								0x01
							},
							"@0,pwm-info",
							Buffer (0x14)
							{
								/* 0000 */	0x01, 0x14, 0x00, 0x64, 0xA8, 0x61, 0x00, 0x00,
								/* 0008 */	0x08, 0x52, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
								/* 0010 */	0x00, 0x04, 0x00, 0x00
							},
							"NVCAP",
							Buffer (0x14)
							{
								/* 0000 */	0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
								/* 0008 */	0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a,
								/* 0010 */	0x00, 0x00, 0x00, 0x00
							},
							"VRAM,totalsize",
							Buffer (0x04)
							{
								0x00, 0x00, 0x00, 0x20
							},
							"device_type",
							Buffer (0x0D)
							{
								"NVDA,GeForce"
							},
							"model",
							Buffer (0x17)
							{
								"nVidia GeForce NVS 3100M"
							},
							"rom-revision",
							Buffer (0x25)
							{
								"nVidia GeForce NVS 3100M OpenGL Engine"
							}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}

3. Skip to the very bottom and stick this right before that final }

   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)
}

4. Locate the line 'Scope (_SB.PCI0.LPC.UART)' and paste the following right above the } that's above the scope I just mentioned:

   Device (PNLF)
	{
		Name (_HID, EisaId ("APP0002"))
		Name (_CID, "backlight")
		Name (_UID, 0x0A)
		Name (_STA, 0x0B)
	}

 

The DTGP method and PNLF device can go other places, I'm sure, but these just happen to be the locations I have them at. Now you can compile and save your DSDT.aml file! My DSDT has some other changes, but you can download it and discover them for yourself if you're interested. Please note that I have a Core i7-620M with NVIDIA NVS 3100M (512 MB) video. If your hardware differs you probably won't be able to use my DSDT exactly as is and would be better up applying the changes above to your own.

 

Whew. That was a bit more long-winded than intended. Sorry! Hopefully somebody got something out of it, though.

t410_kexts.zip

DSDT.zip

  • Like 1
Link to comment
Share on other sites

I did a little investigating into the VoodooHDA issue, as it was quite annoying, and so far this solution has seemed to work:

 

1. Remove AppleHDA from the extensions folder and reboot.

2. Install VoodooHDA

3. Edit the Info.plist in VoodooHDA.

Replace this:

<key>IOPCIClassMatch</key>
<string>0x04030000&0xffff0000</string>

with this:

<key>IOPCIPrimaryMatch</key>
<string>0x3b568086</string>

4. Also, I don't know about you, but the volume is pretty wussbagish on my laptop. So I also changed this in the Info.plist:

<key>VoodooHDAEnableHalfVolumeFix</key>
<true/>

 

Everything VoodooHDA-wise seems to be working great now. No random kernel panics or anything so far. Hopefully that can help someone else who wanted to smash their face in with their laptop.

  • Like 1
Link to comment
Share on other sites

  • 3 months later...

this guide seems to work. however, everytime i turn on the laptop, i always get the notice that there is no keyboard and mouse. and that bluetooth keyboard setup screen always come up. although my keyboard and mouse do work, i feel it quiet troublesome.

Link to comment
Share on other sites

  • 2 months later...

Hey guys,

 

I've also got T410 with i7-620 and nvidia graphics, however I don't have such graphics settings in bios [ability to choose between graphic chips] - i've got the latest bios.

Anyway... I can install Lion just fine - after installation I don't have sound nor I cannot control screen brightness.

However... after copying the DSDT file to desktop, running ###### and rebooting I get a blank screen.

Well I get the white apple loading screen and then the screen goes blank.

I think I can log in, because after typing my password there is a lot of hdd activity, but that's it.

I've tried connecting external monitor - no use.

 

Any tips on how to proceed? The only things I need is the brightness control and sound :/

 

Thanks.

Link to comment
Share on other sites

  • 7 months later...

Quite late, but anyway some anwers ...

 

I've also got T410 with i7-620 and nvidia graphics, however I don't have such graphics settings in bios [ability to choose between graphic chips] - i've got the latest bios.
This setting exists only if you have "optimus", means Intel and NVidia-graphics, what will switch automaticly when using Windows.

 

The "normal" T410 only have Intel or NVidia, with Intel it's not working at all, with NVidia out of the box.

 

Anyway... I can install Lion just fine - after installation I don't have sound nor I cannot control screen brightness.
You tried connecting a headphone and getting sound there? So the same issue I have with my T410 i7/NVidia.

 

Brightness-control only works in the monitor-settings, not with the hardware-keys. I had this already with my X60s/T60, depending on the settings in the DSDT I could use either the slider in the monitor-settings or the hardware-keys, never both.

Link to comment
Share on other sites

  • 2 years later...
  • 11 months later...
 Share

×
×
  • Create New...