InfiniteMac OSx86  


Reply
 
Thread tools Display modes
  #1  
Old 04-28-2009, 02:18 PM
andyvand's Avatar
andyvand andyvand is offline
 
Join Date: Apr 2009
Location: Tienen
Posts: 515
New ALC861-VD AppleHDA driver

I was so annoyed by the fact that hdapatcher couldn't make a driver mod out of my codec dump that I created a custom one myself...
The new driver supports:
- Internal (built-in) microphone
- External microphone
- Internal (built-in) speakers
- External speakers
It should work for all ALC861-VD cards... (matches to class rather than vendor...)
You can get the new driver from:
http://rapidshare.com/files/22671863...C861VD_Leo.zip

I've also devised a solution which doesn't require HDAEnabler for allow AppleHDA to attach properly...
It involves modding the DSDT (renaming "AZLA" or "AZAL" to "HDEF" for enabling it to be shown in System Profiler) and a little EFI string...
Code:
<?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">
<plist version="1.0">
<dict>
    <key>PciRoot(0x1)/Pci(0x14,0x2)</key>
    <dict>
        <key>PinConfigurations</key>
        <string></string>
        <key>built-in</key>
        <string>0x01</string>
        <key>layout-id</key>
        <string>0x0000000c</string>
    </dict>
</dict>
</plist>
Replace Pci(0x14,0x2) with the numbers listed in IORegistryExplorer behind the device name (@X).
If it is on a bridge, change it like this: Pci(0x2,0x0)/Pci(0x1,0x2)...
If there is only one number listed, the second is 0x0.
Reply With Quote
  #2  
Old 04-28-2009, 02:25 PM
andyvand's Avatar
andyvand andyvand is offline
 
Join Date: Apr 2009
Location: Tienen
Posts: 515
Little piece of proof...

Reply With Quote
  #3  
Old 04-29-2009, 01:11 AM
ouija's Avatar
ouija ouija is offline
Cheetah
 
Join Date: Apr 2009
Posts: 10
Does this work with just the regular old ALC861 in my Toshiba laptop?

I tried installing the AppleHDA.kext file, and my sound still works (which is a plus) but it's no different that what I had before (basic sound out without any volume control or inputs)

However, I am a bit of a newb (and chicken shit) when it comes to messing around with my OSX setup, and I had no idea what you meant by:
Quote:
I've also devised a solution which doesn't require HDAEnabler for allow AppleHDA to attach properly...
It involves modding the DSDT (renaming "AZLA" or "AZAL" to "HDEF" for enabling it to be shown in System Profiler) and a little EFI string.
So I haven't done this -- How do I do that exactly? Would this solve my issue (of not having any volume control and/or inputs?) or is that because I have the ALC861 (and not the ALC861-VD)?

Because I didn't know how to do the above, I tried using a copy of an HDAEnabler.kext file that I found but it failed to load any sound driver when present, so I deleted it and am now back to square one.

If you could please elaborate on how to do the second step of the instructions quoted above it would be greatly appreciated. As in how to I mod the DSDT? (no idea what your reffering to) and how do I add the EFI string? (using EFIStudio or something?)

Thanks for your help!!
Reply With Quote
  #4  
Old 04-29-2009, 04:40 PM
josefka josefka is offline
Cheetah
 
Join Date: Apr 2009
Posts: 5
hello andyvand and thank you for the driver.

I've tested in my Asus F3JC and doesn't work.

regards
Reply With Quote
  #5  
Old 04-30-2009, 12:15 AM
andyvand's Avatar
andyvand andyvand is offline
 
Join Date: Apr 2009
Location: Tienen
Posts: 515
Quote:
Originally Posted by ouija View Post
Does this work with just the regular old ALC861 in my Toshiba laptop?

I tried installing the AppleHDA.kext file, and my sound still works (which is a plus) but it's no different that what I had before (basic sound out without any volume control or inputs)

However, I am a bit of a newb (and chicken shit) when it comes to messing around with my OSX setup, and I had no idea what you meant by:


So I haven't done this -- How do I do that exactly? Would this solve my issue (of not having any volume control and/or inputs?) or is that because I have the ALC861 (and not the ALC861-VD)?

Because I didn't know how to do the above, I tried using a copy of an HDAEnabler.kext file that I found but it failed to load any sound driver when present, so I deleted it and am now back to square one.

If you could please elaborate on how to do the second step of the instructions quoted above it would be greatly appreciated. As in how to I mod the DSDT? (no idea what your reffering to) and how do I add the EFI string? (using EFIStudio or something?)

Thanks for your help!!
A Linux codec dump should show you which kind of HDEF audio controller it is...
If you have DSDT patcher just use it and next edit the device AZAL or AZLA to HDEF in the dsdt_fixed.txt and run ./Tools/iasl -tc dsdt_fixed.txt and install the .aml file to /DSDT.aml (Cham V1 with DSDT override or Cham V2 needed)
Next use IORegistryExplorer to look up PCI paths (or use EFI studio / OSX86Tools) after reboot for the EFI patch... add the options as shown in the codebox and write it to com.apple.Boot.plist
after reboot the AppleHDA device should be attached to the HDEF device and the sound should work...
Reply With Quote
  #6  
Old 04-30-2009, 03:14 PM
ouija's Avatar
ouija ouija is offline
Cheetah
 
Join Date: Apr 2009
Posts: 10
Quote:
Originally Posted by andyvand View Post
A Linux codec dump should show you which kind of HDEF audio controller it is...
Do you mean runninng something like the "lspci" command? How do you get a "codec dump" under linux? sorry to be a pain, just not quite sure what you are referring to..

Quote:
Originally Posted by andyvand View Post
If you have DSDT patcher just use it and next edit the device AZAL or AZLA to HDEF in the dsdt_fixed.txt and run ./Tools/iasl -tc dsdt_fixed.txt and install the .aml file to /DSDT.aml (Cham V1 with DSDT override or Cham V2 needed)
I've only ran the DSDT patcher once or twice before on another laptop I was installing OSX to and am not too familiar with it, but will it generate this "dsdt_fixed.txt" file that you mention?

I will try out this solution tonight and see how I fair. Thanks for all your help!
Reply With Quote
  #7  
Old 04-30-2009, 06:56 PM
andyvand's Avatar
andyvand andyvand is offline
 
Join Date: Apr 2009
Location: Tienen
Posts: 515
Quote:
Originally Posted by ouija View Post
Do you mean runninng something like the "lspci" command? How do you get a "codec dump" under linux? sorry to be a pain, just not quite sure what you are referring to..



I've only ran the DSDT patcher once or twice before on another laptop I was installing OSX to and am not too familiar with it, but will it generate this "dsdt_fixed.txt" file that you mention?

I will try out this solution tonight and see how I fair. Thanks for all your help!
under /proc/asound/.../codec...
do a cat /proc/asound/.../codec... > codecdump.txt
upload me that...
Reply With Quote
  #8  
Old 05-29-2009, 07:33 AM
ouija's Avatar
ouija ouija is offline
Cheetah
 
Join Date: Apr 2009
Posts: 10
Okay, attached is the linux codec dump.

I also ran DSDT Patcher, then edited the dsdt_fixed.txt file, however there was no "ALZA" or "AZLA" entry, but rather an "HDEF" one instead. So I'm a little stuck on what I should do next. Therefore, I have also attached the dsdt_patched.txt file.

Let me know if you can aid me with this, I'd love to get it working!

I also loaded up IORegistryExplorer but have no idea what I am looking for. Which thing is it under? "IOService", "ACIPIPlane", "IODeviceTree" or something else? Which entry is it that I am looking for? HDEF@1B? No clue what the hell I am doing here

Thanks again for your help, and sorry for my delayed response.
Attached Files
File Type: txt Linux Codec Dump.txt (7.4 KB, 18 views)
File Type: zip dsdt_fixed.txt.zip (24.7 KB, 18 views)

Last edited by ouija; 05-29-2009 at 08:16 AM.
Reply With Quote
  #9  
Old 07-03-2009, 01:10 AM
andyvand's Avatar
andyvand andyvand is offline
 
Join Date: Apr 2009
Location: Tienen
Posts: 515
Thus Pci values are 0x1B,0x0
Greetz,
Andy
Reply With Quote
  #10  
Old 05-22-2010, 06:50 AM
m28ew m28ew is offline
Jaguar
 
Join Date: Jul 2009
Posts: 47
Quote:
Originally Posted by andyvand View Post
Replace Pci(0x14,0x2) with the numbers listed in IORegistryExplorer behind the device name (@X).
If it is on a bridge, change it like this: Pci(0x2,0x0)/Pci(0x1,0x2)...
If there is only one number listed, the second is 0x0.
How about the number (0x1) of <key>PciRoot (0x1) / Pci(0x14,0x2)</key>
Could you please tell us how did you get it ?

Fyi, my soundcard (alc888 | pci1002,4383 | codec: 0x10ec0888 | Address: 0) has these settings :
Code:
    | |   |                     
    | |   +-o SBAZ@14,2  <class IOPCIDevice, id 0x0, registered, matched, activ$
    | |   |   {
    | |   |     "built-in" = <00>
    | |   |     "IODeviceMemory" = (({"address"=18446744073639231488,"length"=1$
    | |   |     "acpi-pmcap-offset" = 80
    | |   |     "layout-id" = <79030000>
    | |   |     "PinConfigurations" = <>
    | |   |     "device-id" = <83430000>
    | |   |     "name" = "pci1002,4383"
    | |   |     "acpi-path" = "IOACPIPlane:/_SB/PCI0@180000/SBAZ@140002"
    | |   |     "IOName" = "pci1002,4383"
    | |   |     "vendor-id" = <02100000>
    | |   |     "revision-id" = <00000000>
    | |   |     "IOPCIResourced" = Yes
    | |   |     "acpi-device" = "IOACPIPlatformDevice is not serializable"
    | |   |     "subsystem-vendor-id" = <65150000>
    | |   |     "IOInterruptControllers" = ("io-apic-0")
    | |   |     "IOPowerManagement" = {"CurrentPowerState"=2}
    | |   |     "class-code" = <00030400>
    | |   |     "compatible" = <"pci1565,821b","pci1002,4383","pciclass,040300"$
    | |   |     "subsystem-id" = <1b820000>
    | |   |     "assigned-addresses" = <10a20082000000000000cffb000000000040000$
    | |   |     "reg" = <00a200000000000000000000000000000000000010a20002000000$
    | |   |     "IOInterruptSpecifiers" = (<1000000007000000>)
    | |   |   }
    | |   |
Thanks in advance



UPDATE :


LOL... what a stupid question

I've found the answer :
Quote:
Originally Posted by andyvand
Next use IORegistryExplorer to look up PCI paths (or use EFI studio / OSX86Tools) after reboot for the EFI patch... add the options as shown in the codebox and write it to com.apple.Boot.plist



💡 Deploy cloud instances seamlessly on DigitalOcean. Free credits ($100) for InfMac readers.


Last edited by m28ew; 05-29-2010 at 07:29 AM.
Reply With Quote
Reply