Kyklops Posted August 25, 2006 Share Posted August 25, 2006 After much searching, reading and trying I finally figured out that there appears to be a dependancy between AppleAC97Audio.kext and in my case, AppleAC97CodecAD198x.kext. It seems you need to have the Vendor and Device IDs set correctly in both. I started in just trying to change AppleAC97CodecAD198x.kext. It would load with kextload but nothing worked. First find the Vendor and Device ID by doing Start>Run> DXdiag in Windows. Now boot into OS X and then modify the Info.plist file here: /System/Library/Extensions/AppleAC97Audio.kext/Contents/PlugIns/AppleAC97AudioIntelICH.kext/Contents/Info.plist Remember your Vendor and Device ID most likely will be different. <key>ICH6 AC97 Audio</key> <dict> <key>CFBundleIdentifier</key> <string>com.apple.driver.AppleAC97AudioIntelICH</string> <key>ICH Type</key> <integer>6</integer> <key>IOClass</key> <string>AppleAC97AudioIntelICH</string> <key>IOPCIPrimaryMatch</key> <string>0x25A68086</string> <--------Added Correct Dev=25A6 Ven=8086 <key>IOProbeScore</key> <integer>10000</integer> <key>IOProviderClass</key> <string>IOPCIDevice</string> </dict> Also, I first changed AppleAC97CodecAD198x.kext Info.plist but didn't have any effect. After I made the changes above sound starting working immediately. Below are the changes made to AppleAC97CodecAD198x.kext Info.plist: <dict> <key>CFBundleIdentifier</key> <string>com.apple.driver.AppleAC97CodecAD198x</string> <key>IOClass</key> <string>AppleAC97CodecAD198x</string> <key>IOProbeScore</key> <integer>10000</integer> <key>IOProviderClass</key> <string>IOAC97CodecDevice</string> <key>PNPVendorID</key> <string>ADS70 ADS75 ADS74 ADS73 ADS72</string> <-------- Added ADS70 </dict> Got the ADS70 code from looking at the mother board manual ADI AD1980 AC'97 codec and searched for the chip data sheet on line. I found this near the end of the chip data sheet: 7Ch Vendor ID1 F7 F6 F5 F4 F3 F2 F1 F0 S7 S6 S5 S4 S3 S2 S1 S0 4144h <--41=ascii A, 44= D 7Eh Vendor ID2T7 T6 T5 T4 T3 T2 T1 T0 REV7REV6 REV5 REV4 REV3 REV2 5370h b]<--53=S[/b] It looks like both Plist files were needed to be modified with the right codes, funny thing is that the Vendor code from the DXdiag in Windows says it's an Intel = 8086 and the data sheet and MB manual says ADS = Analog Devices. I needed to add the Intel Device/Vendor ID for AppleAC97AudioIntelICH.kext Info.plist and the Analog Devices Vendor/Device ID for AppleAC97CodecAD198x.kext Info.plist. After doing a ioreg -l in terminal window I found this in the listing that confirms that both might be needed to make this work. AppleAC97AudioIntelICH <class AppleAC97AudioIntelICH, !registered, !matched, active, busy 0, r$ | | | { | | | "Power Management protected data" = "{ theNumberOfPowerStates = 3, version 1, power state 0 =$ | | | "ICH Type" = 6 | | | "CFBundleIdentifier" = "com.apple.driver.AppleAC97AudioIntelICH" | | | "IOClass" = "AppleAC97AudioIntelICH" | | | "IOPCIPrimaryMatch" = "0x25A68086" <------Found the change I made here | | | "IOProbeScore" = 10000 | | | "Power Management private data" = "{ this object = 03a06c00, interested driver = 03a06c00, dr$ | | | "IOMatchCategory" = "IODefaultMatchCategory" | | | "IOProviderClass" = "IOPCIDevice" | | | "Hardware Name" = "Intel ICH6" | | | } | | | | | +-o IOAC97CodecDevice@0 <class IOAC97CodecDevice, registered, matched, active, busy 0, retain co$ | | | { | | | "PNPVendorID" = "ADS70" | | | } | | | | | +-o AppleAC97CodecAD198x <class AppleAC97CodecAD198x, registered, matched, active, busy 0, ret$ | | | { | | | "IOMatchCategory" = "IODefaultMatchCategory" | | | "Hardware Name" = "ADS70" <-----Found the change I made here | | | "IOClass" = "AppleAC97CodecAD198x" | | | "PNPVendorID" = "ADS70 ADS75 ADS74 ADS73 ADS72" | | | "IOProviderClass" = "IOAC97CodecDevice" | | | "CFBundleIdentifier" = "com.apple.driver.AppleAC97CodecAD198x" | | | "IOProbeScore" = 10000 Needed to kextload /path to .kext to load/AppleAC97AudioIntelICH.kext and after that audio was working great! Might be that some of us have been doing one or the other just happened to have the right Vendor/Device ID in the other file and got it to work without realizing that both were needed... Hope this helps someone, Kyklops @-) Link to comment Share on other sites More sharing options...
Suhail Posted August 25, 2006 Share Posted August 25, 2006 Yeh Thx Alot for this Now where can I find those kexts Link to comment Share on other sites More sharing options...
Kyklops Posted August 26, 2006 Author Share Posted August 26, 2006 Yeh Thx Alot for thisNow where can I find those kexts Use Terminal in Utilities and cd to: /System/Library/Extensions/AppleAC97Audio.kext/Contents/PlugIns/AppleAC97AudioIntelICH.kext/Contents/Info.plist /System/Library/Extensions/AppleAC97Audio.kext/Contents/PlugIns/AppleAC97CodecAD198x.kext/Contents/Info.plist There are other posts here that have more detail on how to go about making these changes... Search for AppleAC97CodecAD198x.kext... Link to comment Share on other sites More sharing options...
Suhail Posted August 26, 2006 Share Posted August 26, 2006 i get a 20AppleAC97AudioEngine is not compatible with its superclass, 13IOAudioEngine superclass changed? kextload: a link/load error occured for kernel extension AppleAC97Audio.kext load failed for extension AppleAC97Audio.kext (run kextload with -t for diagnostic output) error Any Fixes Link to comment Share on other sites More sharing options...
Rammjet Posted August 26, 2006 Share Posted August 26, 2006 Try running Disk Utility and repair permissions on your OSX partition. Link to comment Share on other sites More sharing options...
Suhail Posted August 26, 2006 Share Posted August 26, 2006 I have Rammjet Already tried that. Link to comment Share on other sites More sharing options...
Kyklops Posted August 26, 2006 Author Share Posted August 26, 2006 I have RammjetAlready tried that. Post your Vendor and Device ID by doing Start>Run> DXdiag in Windows and what is your MB CODEC? Link to comment Share on other sites More sharing options...
Suhail Posted August 26, 2006 Share Posted August 26, 2006 Analog Devices AD1986A @ VIA VT8237A/8251 High Definition Audio Controller Soundmax Interegated Digital HD Audio: Dev ID : 1986 Vendor ID : 11D4 Microsoft UHH Bus Driver for HD Audio Vendor ID: 1106 Dev ID : 3288 Rammjet Told me we needed both so posted both Link to comment Share on other sites More sharing options...
Rammjet Posted August 26, 2006 Share Posted August 26, 2006 Vendor ID 1106 = VIA instead of Vendor ID 8086 = Intel, so rather than modify the AppleAC97AudioIntelICH.kext, I believe you should modify the AppleAC97AudioVIA.kext with your device id. And pulling the specs on AD1968a, the ADS number is 78 so ADS78 should go into AppleAC97CodecAD198x.kext Link to comment Share on other sites More sharing options...
Suhail Posted August 26, 2006 Share Posted August 26, 2006 ok Listen The Kext loaded fine but Still No Audio When I got to sound settings it says no output devices found The Kext is loaded fine Here is the bit of kextstat command 55 1 0x1b479000 0xd000 0xc000 com.apple.driver.AppleAC97Audio (1.0.0) 56 0 0x1b486000 0x3000 0x2000 com.apple.driver.AppleAC97AudioVIA (1.0.0) Can anyone help me I have a Analog Digital AD1986a Soundcard Please tell me if there is a fix Link to comment Share on other sites More sharing options...
Kyklops Posted August 27, 2006 Author Share Posted August 27, 2006 ok Listen The Kext loaded fine but Still No AudioWhen I got to sound settings it says no output devices found The Kext is loaded fine Here is the bit of kextstat command 55 1 0x1b479000 0xd000 0xc000 com.apple.driver.AppleAC97Audio (1.0.0) <54 11> 56 0 0x1b486000 0x3000 0x2000 com.apple.driver.AppleAC97AudioVIA (1.0.0) <55 16 11> Can anyone help me I have a Analog Digital AD1986a Soundcard Please tell me if there is a fix I goota ask... Did you do: cd /System/Library rm Extensions.kextcache rm Extensions.mkext kextcache -k Extensions reboot? Vendor ID 1106 = VIA instead of Vendor ID 8086 = Intel, so rather than modify the AppleAC97AudioIntelICH.kext, I believe you should modify the AppleAC97AudioVIA.kext with your device id. And pulling the specs on AD1968a, the ADS number is 78 so ADS78 should go into AppleAC97CodecAD198x.kext Thanks Rammjet!!! You are, of course right on! If you have a VIA go with AppleAC97AudioVIA.kext... Link to comment Share on other sites More sharing options...
Suhail Posted August 27, 2006 Share Posted August 27, 2006 yeh i did do that Link to comment Share on other sites More sharing options...
Kyklops Posted August 27, 2006 Author Share Posted August 27, 2006 yeh i did do that Can you do a ioreg -l in terminal window and post the same part that I did in my write up above? Of course you need to make sure you have both .kext loaded first. Link to comment Share on other sites More sharing options...
Suhail Posted August 27, 2006 Share Posted August 27, 2006 hope this helps If not then I have attached the whole thing copyed and pasted from terminal onto textedit | | | +-o AppleVIAATARoot | | | | { | | | | "ISA Bridge Matching" = {"IOPCIClassMatch"="0x06010000&0xffff$ | | | | "Serial ATA" = No | | | | "CFBundleIdentifier" = "com.apple.driver.AppleVIAATA" | | | | "IOClass" = "AppleVIAATARoot" | | | | "IOPCIPrimaryMatch" = "0x05711106" | | | | "IOProbeScore" = 1000 | | | | "IOMatchCategory" = "IODefaultMatchCategory" | | | | "IOProviderClass" = "IOPCIDevice" | | | | "Hardware Name" = "UNKNOWN" | | | | } | | | | | | | +-o CHN0@0 | | | | | { | | | | | "acpi-path" = "IOACPIPlane:/_SB/PCI0@0/PATA@f0001/CHN0@0" | | | | | "Control Block Address" = 1012 | | | | | "Interrupt Vector" = 14 | | | | | "Channel Number" = 0 | | | | | "acpi-reg" = | | | | | "IOInterruptControllers" = ("io-apic-0") | | | | | "IOInterruptSpecifiers" = () | | | | | "Command Block Address" = 496 | | | | | } | | | | | | | | | +-o AppleVIAATADriver | | | | | { | | | | | "Power Management protected data" = "{ theNumberOfPowerSt$ | | | | | "CFBundleIdentifier" = "com.apple.driver.AppleVIAATA" | | | | | "IOClass" = "AppleVIAATADriver" | | | | | "Drive 0 PIO Mode" = 4 | | | | | "Drive 0 DMA Mode" = 2 | | | | | "IOProbeScore" = 0 | | | | | "Power Management private data" = "{ this object = 01baa2$ | | | | | "IOMatchCategory" = "IODefaultMatchCategory" | | | | | "Physical Interconnect" = "ATA" | | | | | "IOProviderClass" = "AppleVIAATAChannel" | | | | | ioreg__l.rtf Link to comment Share on other sites More sharing options...
Kyklops Posted August 27, 2006 Author Share Posted August 27, 2006 OK, I can't find AppleAC97Audio.kext or AppleAC97AudioVIA.kext loaded in the file you attached. Go back and review and make sure you have the correct Vendor and Device codes in your kext. It seems that you must have kextload them at least once cause you showed them loaded in one of your posts... You can also post snips of your Info.kext for both of the above files... Link to comment Share on other sites More sharing options...
Suhail Posted August 28, 2006 Share Posted August 28, 2006 Ok Here it is. Kextloaded what you said. It kextloaded successfully ioreg__l.rtf Enjoy Also here is the Kext. This kext was actually modified and checked by Rammjet AppleAC97Audio.kext.zip Enjoy Link to comment Share on other sites More sharing options...
Kyklops Posted August 28, 2006 Author Share Posted August 28, 2006 Suhail, The files mod'd by Ramjet look right I still can't find AppleAC97Audio.kext or AppleAC97AudioVIA.kext loaded in the ioreg -l output file you attached. You say it loads without errors? If so right after it loads do ioreg -l and you should see something like this in the output. If you don't it didn't load... AppleAC97AudioVIA.kex <class AppleAC97AudioIntelICH, !registered, !matched, active, busy 0, r$ | | | { | | | "Power Management protected data" = "{ theNumberOfPowerStates = 3, version 1, power state 0 =$ | | | "ICH Type" = 6 | | | "CFBundleIdentifier" = "com.apple.driver.AppleAC97AudioIntelICH" | | | "IOClass" = "AppleAC97AudioIntelICH" | | | "IOPCIPrimaryMatch" = "0x32881106" <------your via id here | | | "IOProbeScore" = 10000 | | | "Power Management private data" = "{ this object = 03a06c00, interested driver = 03a06c00, dr$ | | | "IOMatchCategory" = "IODefaultMatchCategory" | | | "IOProviderClass" = "IOPCIDevice" | | | "Hardware Name" = "Intel ICH6" | | | } | | | | | +-o IOAC97CodecDevice@0 <class IOAC97CodecDevice, registered, matched, active, busy 0, retain co$ | | | { | | | "PNPVendorID" = "ADS70" | | | } | | | | | +-o AppleAC97CodecAD198x <class AppleAC97CodecAD198x, registered, matched, active, busy 0, ret$ | | | { | | | "IOMatchCategory" = "IODefaultMatchCategory" | | | "Hardware Name" = "ADS78" <-----your id here | | | "IOClass" = "AppleAC97CodecAD198x" | | | "PNPVendorID" = "ADS78 ADS75 ADS74 ADS73 ADS72" | | | "IOProviderClass" = "IOAC97CodecDevice" | | | "CFBundleIdentifier" = "com.apple.driver.AppleAC97CodecAD198x" | | | "IOProbeScore" = 10000 Link to comment Share on other sites More sharing options...
Stellair Posted September 13, 2006 Share Posted September 13, 2006 This is what I saved in DxDiag. I couldn't find the hardware name The soundcard is a Soundmax AD1981 I think ------------- Sound Devices ------------- Description: SoundMAX HD Audio Default Sound Playback: Yes Default Voice Playback: Yes Hardware ID: HDAUDIO\FUNC_01&VEN_11D4&DEV_1981&SUBSYS_101402F9&REV_1002 Manufacturer ID: 65535 Product ID: 65535 Type: WDM Driver Name: ADIHdAud.sys Driver Version: 5.10.0001.4220 (English) Driver Attributes: Final Retail WHQL Logo'd: Yes Date and Size: 7/19/2005 13:57:18, 163840 bytes Other Files: Driver Provider: AnalogDevices HW Accel Level: Full Cap Flags: 0xF5F Min/Max Sample Rate: 100, 192000 Static/Strm HW Mix Bufs: 33, 32 Static/Strm HW 3D Bufs: 33, 32 HW Memory: 0 Voice Management: Yes EAX(tm) 2.0 Listen/Src: Yes, Yes I3DL2(tm) Listen/Src: Yes, Yes Sensaura(tm) ZoomFX(tm): Yes Registry: OK Sound Test Result: Not run --------------------- Sound Capture Devices --------------------- Description: SoundMAX HD Audio Default Sound Capture: Yes Default Voice Capture: Yes Driver Name: ADIHdAud.sys Driver Version: 5.10.0001.4220 (English) Driver Attributes: Final Retail Date and Size: 7/19/2005 13:57:18, 163840 bytes Cap Flags: 0x41 Format Flags: 0xCCC ----------- DirectMusic ----------- DLS Path: C:\WINDOWS\SYSTEM32\drivers\GM.DLS DLS Version: 1.00.0016.0002 Acceleration: n/a Ports: Microsoft Synthesizer, Software (Not Kernel Mode), Output, DLS, Internal, Default Port Microsoft MIDI Mapper [Emulated], Hardware (Not Kernel Mode), Output, No DLS, Internal Microsoft GS Wavetable SW Synth [Emulated], Hardware (Not Kernel Mode), Output, No DLS, Internal Registry: OK Test Result: Not run ------------------- DirectInput Devices ------------------- Device Name: Mouse Attached: 1 Controller ID: n/a Vendor/Product ID: n/a FF Driver: n/a Device Name: Keyboard Attached: 1 Controller ID: n/a Vendor/Product ID: n/a FF Driver: n/a Poll w/ Interrupt: No Registry: OK Link to comment Share on other sites More sharing options...
Stellair Posted September 14, 2006 Share Posted September 14, 2006 After searching a while I found out the info Soundmax AD1981HD (Vendor ID 11d4 and Device ID 1981) ICH7 (Vendor ID 8086 and Device ID 27d8) This what I did; <key>ICH6 AC97 Audio</key> <dict> <key>CFBundleIdentifier</key> <string>com.apple.driver.AppleAC97AudioIntelICH</string> <key>ICH Type</key> <integer>6</integer> <key>IOClass</key> <string>AppleAC97AudioIntelICH</string> <key>IOPCIPrimaryMatch</key> <string>0x27d88086</string> <--------Added Correct Dev=27d8 Ven=8086 <key>IOProbeScore</key> <integer>10000</integer> <key>IOProviderClass</key> <string>IOPCIDevice</string> </dict> <key>ICH7 AC97 Audio</key> <dict> <key>CFBundleIdentifier</key> <string>com.apple.driver.AppleAC97AudioIntelICH</string> <key>ICH Type</key> <integer>7</integer> <key>IOClass</key> <string>AppleAC97AudioIntelICH</string> <key>IOPCIPrimaryMatch</key> <string>0x27d88086</string> <--------[b]Added Correct Dev=27d8 Ven=8086[/b] <key>IOProbeScore</key> <integer>10000</integer> <key>IOProviderClass</key> <string>IOPCIDevice</string> </dict> The sound didn't worked for now Below are the changes made to AppleAC97CodecAD198x.kext Info.plist: <dict> <key>CFBundleIdentifier</key> <string>com.apple.driver.AppleAC97CodecAD198x</string> <key>IOClass</key> <string>AppleAC97CodecAD198x</string> <key>IOProbeScore</key> <integer>10000</integer> <key>IOProviderClass</key> <string>IOAC97CodecDevice</string> <key>PNPVendorID</key> <string>ADS75 ADS74 ADS73 ADS72</string> <-------- [b]Notting added because it's the ADS74 I use[/b] </dict> I've got an IBM Thinkcentre 8215-CTO P4 ht 3.2Ghz in test Link to comment Share on other sites More sharing options...
Kyklops Posted September 16, 2006 Author Share Posted September 16, 2006 After searching a while I found out the info Soundmax AD1981HD (Vendor ID 11d4 and Device ID 1981) ICH7 (Vendor ID 8086 and Device ID 27d8) I spent some time and couldn't find how you came up with ADS74 for the AD1981HD... I couldn't find a good referrence... What was your source? Link to comment Share on other sites More sharing options...
Stellair Posted September 16, 2006 Share Posted September 16, 2006 I based my finding on the AD1981B and AD1981BL that uses the same ID that is ADS74 so I concluded that it may work for the AD1981HD...but it didn't Otherwise I couldn't find any related info on this AD1981HD and nobody seems to have it on the forum...I'm the only one....I feel lonely Link to comment Share on other sites More sharing options...
Kyklops Posted September 17, 2006 Author Share Posted September 17, 2006 Below are the changes made to AppleAC97CodecAD198x.kext Info.plist: <dict> <key>CFBundleIdentifier</key> <string>com.apple.driver.AppleAC97CodecAD198x</string> <key>IOClass</key> <string>AppleAC97CodecAD198x</string> <key>IOProbeScore</key> <integer>10000</integer> <key>IOProviderClass</key> <string>IOAC97CodecDevice</string> <key>PNPVendorID</key> <string>ADS75 ADS74 ADS73 ADS72</string> <-------- Notting added because it's the ADS74 I use </dict> [/code] I've got an IBM Thinkcentre 8215-CTO P4 ht 3.2Ghz in test Try adding ADS70 here, like I did in my first post... Let me know how that goes @-) Link to comment Share on other sites More sharing options...
Nofences Posted September 22, 2006 Share Posted September 22, 2006 I also have the AD1981HD sound card and I adjusted the kext files as described above. I added the ADS70 but I was unable to get sound. Here is a link to the PDF from ADI about theis specific chip. http://www.analog.com/UploadedFiles/Data_S...9AD1981HD_0.pdf I honestly dont know what I am looking for, so maybe you can clue us in as to how to set this correctly. Nofences Link to comment Share on other sites More sharing options...
Kyklops Posted September 23, 2006 Author Share Posted September 23, 2006 I had found that pdf as well and looked for similar hex codes like I found for my sound card spec sheet: 4144h breaks down into 41=ascii A, 44= D and 5370h breaks down into 53=S, 70 or ADS70 I didn't see anything like this in the spec sheet for AD1981HD. I was hoping that since my audio codec was a AD1980 that it might be similar. I got the feeling that the info is in the spec sheet, just haven't figured it out yet... Link to comment Share on other sites More sharing options...
pixelpainter Posted October 9, 2006 Share Posted October 9, 2006 my driver seems to be loading fine as below | | | +-o AppleAC97AudioVIA <class AppleAC97AudioVIA, !registered, !matc$ | | | | { | | | | "Power Management protected data" = "{ theNumberOfPowerStates$ | | | | "CFBundleIdentifier" = "com.apple.driver.AppleAC97AudioVIA" | | | | "IOClass" = "AppleAC97AudioVIA" | | | | "IOPCIPrimaryMatch" = "0x30591106" ..................This is correct | | | | "IOProbeScore" = 0 | | | | "Power Management private data" = "{ this object = 04ef0500, $ | | | | "IOMatchCategory" = "IODefaultMatchCategory" | | | | "IOProviderClass" = "IOPCIDevice" | | | | "Hardware Name" = "VIA 8237" | | | | } | | | | | | | +-o IOAC97CodecDevice@0 <class IOAC97CodecDevice, registered, ma$ | | | | { | | | | "PNPVendorID" = "ADS70"........................this is also correct | | | | } | | | | | | | +-o AppleAC97CodecAD198x <class AppleAC97CodecAD198x, register$ | | | | { | | | | "IOMatchCategory" = "IODefaultMatchCategory" | | | | "Hardware Name" = "ADS70" | | | | "IOClass" = "AppleAC97CodecAD198x" | | | | "PNPVendorID" = "ADS75 ADS74 ADS73 ADS70" | | | | "IOProviderClass" = "IOAC97CodecDevice" | | | | "CFBundleIdentifier" = "com.apple.driver.AppleAC97CodecAD$ | | | | "IOProbeScore" = 10000 | | | | } I have an a7v8x se deluxe asus mb soundmax ad1980 ac97 VIA chipset I have tried plugging the sound into every available socket to no avail.... any suggestions would be really great... Thanks Link to comment Share on other sites More sharing options...
Recommended Posts