Jump to content

Lenovo ThinkPad T420 with UEFI Only


K0gen
 Share

5,271 posts in this topic

Recommended Posts

Wow, I've have installed successfully Yosemite dual boot with Windows 10 on my T420, :D. But the sound doesn't work, I've installed AppleHDA_20672.kext both in S/L/E and L/E but no luck. And I also don't know how to run _install-hda.bash files in Utilities/HDA to patch HDA (I've tried to open Terminal then drag that file to terminal's window but nothing happend, can any one show me?

Thanks!

Link to comment
Share on other sites

@polishapple - i renamed the devices EHC1 and EHC2 to EHCD and EHCA ( D denotes the 0x1d address and A for 0x1a address) this allows the DSDT to provide the device definitions for the USB ports in support of El Capitan. this is instead of wrestling with yet another custom kext to define the ports.

 

@winning0308 - the AppleHDA_20672.kext can be in /S/L/E or /L/E but either way it expects to find the original AppleHDA.kext in /S/L/E as it links to the binary AppleHDA. Clover patches the original binary on the fly for the Conexant codec.  in the guide under the section of Known issues and Random Tips, there are some commands (and copied below) to fix the links to remake the links for the custom kexts (that you put /L/E) and rebuild the caches. (and make sure root:wheel is the user/group for the kexts in /L/E)

cd /Library/Extensions/AppleHDA_20672.kext/Contents/MacOS
sudo rm AppleHDA
sudo ln -s /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDA

cd /Library/Extensions/BroadcomBluetooth_T420.kext/Contents/MacOS
sudo rm BroadcomBluetoothHostControllerUSBTransport
sudo ln -s /System/Library/Extensions/IOBluetoothFamily.kext/Contents/PlugIns/BroadcomBluetoothHostControllerUSBTransport.kext/Contents/MacOS/BroadcomBluetoothHostControllerUSBTransport

cd /Library/Extensions
sudo chown -R root:wheel *.kext

sudo touch /System/Library/Extensions
Link to comment
Share on other sites

 

@polishapple - i renamed the devices EHC1 and EHC2 to EHCD and EHCA ( D denotes the 0x1d address and A for 0x1a address) this allows the DSDT to provide the device definitions for the USB ports in support of El Capitan. this is instead of wrestling with yet another custom kext to define the ports.

 

@winning0308 - the AppleHDA_20672.kext can be in /S/L/E or /L/E but either way it expects to find the original AppleHDA.kext in /S/L/E as it links to the binary AppleHDA. Clover patches the original binary on the fly for the Conexant codec.  in the guide under the section of Known issues and Random Tips, there are some commands (and copied below) to fix the links to remake the links for the custom kexts (that you put /L/E) and rebuild the caches. (and make sure root:wheel is the user/group for the kexts in /L/E)

cd /Library/Extensions/AppleHDA_20672.kext/Contents/MacOS
sudo rm AppleHDA
sudo ln -s /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDA

cd /Library/Extensions/BroadcomBluetooth_T420.kext/Contents/MacOS
sudo rm BroadcomBluetoothHostControllerUSBTransport
sudo ln -s /System/Library/Extensions/IOBluetoothFamily.kext/Contents/PlugIns/BroadcomBluetoothHostControllerUSBTransport.kext/Contents/MacOS/BroadcomBluetoothHostControllerUSBTransport

cd /Library/Extensions
sudo chown -R root:wheel *.kext

sudo touch /System/Library/Extensions

 

Thanks for your reply, I tried all command in Terminal, reboot (without kext caches) but the sound still doesn't work

Link to comment
Share on other sites

@winning0308 - well is there any info in /var/log/system.log that may help you debug this? what happens if you manually try to load the kext?

 

sudo kextload /Library/Extensions/AppleHDA_20672.kext

 

what is the output of:

 

kextstat|grep HDA

Link to comment
Share on other sites

@winning0308 - well is there any info in /var/log/system.log that may help you debug this? what happens if you manually try to load the kext?

 

sudo kextload /Library/Extensions/AppleHDA_20672.kext

 

what is the output of:

 

kextstat|grep HDA

nothing happened when I manually try to load kext by command.

 

here is information with 

minhnts-MacBook-Pro:~ minhnt$ kextstat|grep HDA
   80    2 0xffffff7f81e32000 0xf000     0xf000     com.apple.iokit.IOHDAFamily (266.5) <5 4 3 1>
   81    1 0xffffff7f81e41000 0x1a000    0x1a000    com.apple.driver.AppleHDAController (266.5) <80 68 12 7 6 5 4 3 1>
  106    0 0xffffff7f820a4000 0xa7000    0xa7000    com.apple.driver.AppleHDA (999.99) <105 103 82 81 80 68 42 6 5 4 3 1>

system.log.zip

Link to comment
Share on other sites

your log shows sound assertions from AppleHDA which usually means that the binary is not patched correctly.  

the log showed different problems with the kext before you fixed the links. 

the kext out put above is right. 

 

do you have the clover config.plist from my zip in place which will patch the AppleHDA kext? 

reboot again. you might have sound if clover patches the binary now.

Link to comment
Share on other sites

your log shows sound assertions from AppleHDA which usually means that the binary is not patched correctly.  

the log showed different problems with the kext before you fixed the links. 

the kext out put above is right. 

 

do you have the clover config.plist from my zip in place which will patch the AppleHDA kext? 

reboot again. you might have sound if clover patches the binary now.

I have already coppied the config.plist from your attached's zip and pasted in EFI's Clover partition, but in Utilities folder there is a folder named HDA and I donno how to run _install-hda.bash file to patched HDA

Link to comment
Share on other sites

you should need to run  _install-hda.bash - which modifies the original AppleHDA.kext to be a custom kext. 

Clover should be patching the standard original AppleHDA.kext for you. 

 

also if you install the full clover package. then you can install the logging tools etc on your system.

 

 

so try this:

 

sudo rm /var/log/system.log

sudo kextload /Library/Extensions/AppleHDA_20672.kext

sudo touch /System/Library/Extensions

sudo reboot

 

and then attach your system.log if you don't have sound.

Link to comment
Share on other sites

you should need to run  _install-hda.bash - which modifies the original AppleHDA.kext to be a custom kext. 

Clover should be patching the standard original AppleHDA.kext for you. 

 

also if you install the full clover package. then you can install the logging tools etc on your system.

 

 

so try this:

 

sudo rm /var/log/system.log

sudo kextload /Library/Extensions/AppleHDA_20672.kext

sudo touch /System/Library/Extensions

sudo reboot

 

and then attach your system.log if you don't have sound.

Here is system.log file, still don't have sound. Thank you very much for helping me!

system.log.zip

Link to comment
Share on other sites

well it looks like clover is not patching the binary of AppleHDA.kext. you could turn on the kext patch debug and watch what the screen shows. if you have the clover scripts on hard drive, the clover logs may show if its patching AppleHDA etc.

Link to comment
Share on other sites

 

@polishapple - i renamed the devices EHC1 and EHC2 to EHCD and EHCA ( D denotes the 0x1d address and A for 0x1a address) this allows the DSDT to provide the device definitions for the USB ports in support of El Capitan. this is instead of wrestling with yet another custom kext to define the ports.

 

@winning0308 - the AppleHDA_20672.kext can be in /S/L/E or /L/E but either way it expects to find the original AppleHDA.kext in /S/L/E as it links to the binary AppleHDA. Clover patches the original binary on the fly for the Conexant codec.  in the guide under the section of Known issues and Random Tips, there are some commands (and copied below) to fix the links to remake the links for the custom kexts (that you put /L/E) and rebuild the caches. (and make sure root:wheel is the user/group for the kexts in /L/E)

cd /Library/Extensions/AppleHDA_20672.kext/Contents/MacOS
sudo rm AppleHDA
sudo ln -s /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDA

cd /Library/Extensions/BroadcomBluetooth_T420.kext/Contents/MacOS
sudo rm BroadcomBluetoothHostControllerUSBTransport
sudo ln -s /System/Library/Extensions/IOBluetoothFamily.kext/Contents/PlugIns/BroadcomBluetoothHostControllerUSBTransport.kext/Contents/MacOS/BroadcomBluetoothHostControllerUSBTransport

cd /Library/Extensions
sudo chown -R root:wheel *.kext

sudo touch /System/Library/Extensions

I renamed back to EHC1 and in 10.11 works fine. Also i created the fan controll for DSDT so i can share:>

Link to comment
Share on other sites

well it looks like clover is not patching the binary of AppleHDA.kext. you could turn on the kext patch debug and watch what the screen shows. if you have the clover scripts on hard drive, the clover logs may show if its patching AppleHDA etc.

I've installed Clover Configurator and in Kernel and Kexts Patches it show only Apple RTC patched.

Link to comment
Share on other sites

@polishapple - glad to have your input and interest.

 

3 things

 

Trackpad:

well i tested this kext out 3 or 4 years ago. this one seems to be derived from an old kext from fang. it is missing a bunch of new features that RehabMan implemented - like momentum scrolling  etc - not to mention stability etc.

 

anyway, i am not sure what you mean by dragging not working? which of these modes is not? all 3 work for me. (the last 2 require settings in sys prefs to turn on)

 

 

Click and Drag

Press the physical button, then drag. While the button is depressed, you can reposition your "dragging" finger without letting go of what you're dragging.

One-Finger Tap & Drag

With Dragging enabled, tap the trackpad twice and start dragging on the second tap (instead of lifting your finger from the trackpad). There is a short delay from when you lift your finger from the trackpad and when the drag actually ends, during which, you can reposition your finger on the trackpad to continue dragging. To end a drag immediately (without the delay) you can tap the trackpad again.

Drag Lock

Drag Lock works with both the "one-finger tap & drag" and the "three-finger drag". When enabled, the drag does not end after lifting your finger(s) from the trackpad. Rather you have to tap/click the trackpad to end the drag.

 

so i wonder, perhaps there is something in old settings for the Pad Info.plist that you prefer? for me i saw nothing smoother with this old kext, but then again the current is already smooth since it is implemented with settings to override  some of defaults that did make it jumpy. anyway, you can look at the Trackpad plugin and copy the same default settings into VoodooPS plugin to implement a similar feel.

tluck@Toms-Mac ~
$ cd Downloads/ThinkpadUltraNaviBundle.kext/Contents/Plugins/ThinkpadUltraNav.kext/Contents/

tluck@Toms-Mac ~/Downloads/ThinkpadUltraNaviBundle.kext/Contents/Plugins/ThinkpadUltraNav.kext/Contents
$ cat Info.plist 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
...
<string>ThinkpadUltraNav</string>
<key>CFBundleGetInfoString</key>
<string>1.1.0, Copyright Apple Computer, Inc. 2002-2003, Copyright mackerintel 2008, Wencheng FANG 2010</string>
<key>CFBundleIdentifier</key>
<string>cn.sh.fang.ThinkpadUltraNav</string>
...
<key>Configuration</key>
<dict>
<key>BottomEdge</key>
<integer>1700</integer>
<key>CenterX</key>
<integer>3000</integer>
<key>CenterY</key>
<integer>3000</integer>
<key>CircularScrollDivisor</key>
<integer>0</integer>
<key>CircularScrollTrigger</key>
<integer>0</integer>
<key>Divisor</key>
<integer>23</integer>
<key>FingerZ</key>
<integer>30</integer>
<key>HorizontalScrollDivisor</key>
<integer>30</integer>
<key>LeftEdge</key>
<integer>1700</integer>
<key>MaxTapTime</key>
<integer>100000000</integer>
<key>MultiFingerHorizontalDivisor</key>
<integer>30</integer>
<key>MultiFingerVerticalDivisor</key>
<integer>25</integer>
<key>MultiFingerWLimit</key>
<integer>9</integer>
<key>RightEdge</key>
<integer>5200</integer>
<key>StabilizeTapping</key>
<true/>
<key>StickyHorizontalScrolling</key>
<false/>
<key>StickyMultiFingerScrolling</key>
<true/>
<key>StickyVerticalScrolling</key>
<false/>
<key>TopEdge</key>
<integer>4200</integer>
<key>UseHighRate</key>
<true/>
<key>VerticalScrollDivisor</key>
<integer>30</integer>
</dict>
...

</plist>

tluck@Toms-Mac ~/Downloads/ThinkpadUltraNaviBundle.kext/Contents/Plugins/ThinkpadUltraNav.kext/Contents
 

 

El Capitan:

and not sure why it is important to you  to have your devices named EHC1/EHC2 - the new (re) name scheme will allow sleep/wake to work on El Capitan.

 

Fan Speed:

The blue ThinkVantage button when pressed turns on the Fan to the max (and push again for system controlled). (i take no credit for this, but it is implemented in the DSDT i posted)

 

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

@winning0308 

sorry not talking about Clover Configurator. mean for your to install the full clover pkg (attached) to turn on the preferences to get the boot logs in /Library/Logs/Clover. well the config.plist (renamed from config.1600x900.list) has 3 kext patches. do you have that file in /EFI/CLOVER?

Clover_v2.3k_r3261.pkg.zip

  • Like 1
Link to comment
Share on other sites

EHCI1 is like in real mac's and modding DSDT is to make it similar to those in MAC's 

 

By fan controll i mean when it's like 60 degree the an starts workin at 1 when it's 65 fan works at.... It's automatic rether than two speeds before editing (i'm not counting 0 state)

 

And for kext to PS2 i'm only looking at trackpoint (the best "mouse" ever), and on t420(not as big compare to x220, it's almost no problem) and x220 there is a problem with dragging using trackpoint, also the bundle i uploaded makes trackpoint works much smoother on x220)

 

moving settings from old thinkpadultranavi to Voodoops2trackpad not work

 

At the end if you think i'm rude or somethink... i'm not, i'm just trying to solve a problem :> Also great work on t420 tutorial

Link to comment
Share on other sites

@polishapple - as i already mentioned - glad to have your input on this thread. i just have a T420 so can only test and validate what works on T420. i was suggesting that there maybe a way to tune the setting in VoodooPS2Trackpad to make the trackpoint behave better for you. For example,  changing resolution and divisor settings will change the behavior quite a bit - perhaps not cut/paste from the old version but selectively changing key items. i am not totally certain what some of the values mean or even if the ones in there are the best for the T420. 

 

please post your fan control stuff. sounds interesting.

 

in El Capitan, having the same devices names for USB as a Mac i.e. EHC1/EHC2 may not be all that desirable based on what i have been reading in thread by Pokenguyen with plenty of good work and thought leadership from RehabMan on this topic.  

Link to comment
Share on other sites

...

in El Capitan, having the same devices names for USB as a Mac i.e. EHC1/EHC2 may not be all that desirable based on what i have been reading in thread by Pokenguyen with plenty of good work and thought leadership from RehabMan on this topic.

Correct 100%. The chances of your USB topology matching an existing Mac model are not high.

Link to comment
Share on other sites

@winning0308

sorry not talking about Clover Configurator. mean for your to install the full clover pkg (attached) to turn on the preferences to get the boot logs in /Library/Logs/Clover. well the config.plist (renamed from config.1600x900.list) has 3 kext patches. do you have that file in /EFI/CLOVER?

My current Clover is v2.3k_r3259, I installed Clover on my OS X partition and then copy EFI folder to EFI partition (mounted by Clover Configurator), I also renamed config.1366x768.list (my LCD is 1366x768) and coppied it to 2 above EFI/CLOVER folders. Do I need to reinstall Clover_v2.3k_r3261.pkg.zip?

Link to comment
Share on other sites

Yes :>

Nothing change after I installed new Clover bootloader, the sound still no working. I tried to replace all files in AppleHDA.kext content with appropriate files in Utilities/HDA folder (attached by @tluck), then install new AppleHDA kext files with Kext Utility app but no result. :(

Link to comment
Share on other sites

@winning0308 -- HDA keys

 

install the clover pkg tools to get bdmesg installed.

 

1) have untouched original AppleHDA.kext in /S/L/E

2) have untouched/unmodified config.1368x768.list renamed to config.plist in /EFI/CLOVER

3) validate Clover is patching HDA

 

Before installing AppleHDA_20672.kext, check that your output looks like this when you run these 3 commands. i highlighted key things to look for.

 

$ bdmesg |grep HDA

0:104  0:000  KextToPatch 0: AppleHDA (change AD198B for Conexant 20672) Kext bin patch, data len: 4

7:944  0:000    KextPatch[0]: 4 bytes, AppleHDA

7:998  0:000  Audio HDA (addr:0x1B0000) setting specified layout-id=12 (0xC)

8:001  0:000  Start HDA Fix

8:001  0:000  found HDA device NAME(_ADR,0x001B0000) And Name is HDEF

8:001  0:000  _DSM already exists, patch HDA will not be applied

8:005  0:000  HDA Controller [8086:1C20] :: PciRoot(0x0)\Pci(0x1B,0x0) => setting specified layout-id=12 (0xC)

8:023  0:001    Extra kext: EFI\CLOVER\kexts\Other\AppleHDA_20672.kext

8:023  0:000  Thinning failed: EFI\CLOVER\kexts\Other\AppleHDA_20672.kext

 

$ kextstat |grep HDA

   81    2 0xffffff7f8232b000 0xf000     0xf000     com.apple.iokit.IOHDAFamily (272.18.1) <5 4 3 1>

   82    1 0xffffff7f8233e000 0x1c000    0x1c000    com.apple.driver.AppleHDAController (272.18.1) <81 80 75 12 7 6 5 4 3 1>

  115    0 0xffffff7f824b8000 0xab000    0xab000    com.apple.driver.AppleHDA (272.18.1) <114 97 82 81 80 75 6 5 4 3 1>

  119    0 0xffffff7f8233a000 0x2000     0x2000     com.apple.driver.AppleHDAHardwareConfigDriver (272.18.1) <4 3>

 

$ cat /var/log/system.log|grep HDA

...

Aug 27 13:03:26 Toms-Mac kernel[0]: Sound assertion in AppleHDADriver at line 1540

Aug 27 13:03:26 Toms-Mac kernel[0]: Sound assertion in AppleHDADriver at line 2200

Aug 27 13:03:26 Toms-Mac kernel[0]: Sound assertion in AppleHDADriver at line 199

Aug 27 13:03:36 Toms-Mac kernel[0]: Sound assertion in AppleHDADriver at line 3575

Aug 27 13:03:36 Toms-Mac kernel[0]: Sound assertion in AppleHDADriver at line 1084

 

 

Then when you install AppleHDA_20672.kext in /S/L/E or /L/E 

check that the file AppleHDA in MacOS folder is a proper link pointing to the original file

 

$ cd /Library/Extensions/AppleHDA_20672.kext/Contents/MacOS/

 

$ ls -l

total 8

lrwxr-xr-x  1 root  wheel  64 Aug 23 10:11 AppleHDA -> /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDA

 

$ ls -lL

total 2192

-rwxr-xr-x  1 root  wheel  1119632 Jul 29 05:01 AppleHDA

 

 

run this:

sudo rm /var/log/system.log

sudo reboot

 

1) NOW if all is working, you will NOT see any more sound assertions when you grep  HDA /var/log/system.log

2) and kextstat shows version 999.99 for AppleHDA

3) bdmesg will show Clover patching AppleHDA like before

 

tluck@Toms-Mac ~

$ kextstat |grep HDA

   94    2 0xffffff7f8142e000 0xf000     0xf000     com.apple.iokit.IOHDAFamily (272.18.1) <5 4 3 1>

   95    1 0xffffff7f81484000 0x1c000    0x1c000    com.apple.driver.AppleHDAController (272.18.1) <94 93 75 12 7 6 5 4 3 1>

  116    0 0xffffff7f8160e000 0xab000    0xab000    com.apple.driver.AppleHDA (999.99) <115 95 94 93 79 75 42 6 5 4 3 1>

  118    0 0xffffff7f825a6000 0x2000     0x2000     com.apple.driver.AppleHDAHardwareConfigDriver (272.18.1) <4 3>

 

  • Like 1
Link to comment
Share on other sites

@tluck: wow, now the sound work perfectly after I reinstall Yosemite and do all your guides step-by-step. I really appreciated your help :) Have a nice weekend!

 

P/S:

 

This is my result :D

minhnts-MacBook-Pro:MacOS minhnt$ kextstat |grep HDA
   90    2 0xffffff7f81dad000 0xf000     0xf000     com.apple.iokit.IOHDAFamily (266.5) <5 4 3 1>
   91    1 0xffffff7f81dbc000 0x1a000    0x1a000    com.apple.driver.AppleHDAController (266.5) <90 68 12 7 6 5 4 3 1>
  103    0 0xffffff7f81ede000 0xa7000    0xa7000    com.apple.driver.AppleHDA (999.99) <102 100 91 90 70 68 42 6 5 4 3 1>
Link to comment
Share on other sites

 Share

×
×
  • Create New...