Jump to content

ATI AC 97 Sounds (SB400) effort


Andras Kenez
 Share

696 posts in this topic

Recommended Posts

I love you guys... I use Tariq Firoz release (Post #402 page 21) on my acer travelmate with ATI sb200 AC 97 codec... The sound works great! it's clear and crisp! Tariz you'll be my god from today! My god, I'm crying a little... It's wonderful hear a sound thinking that I'm hear at it thanks a group af people like you are! GREAT GREAT WORK! 10+!

Edited by Overdrive
Link to comment
Share on other sites

  • 2 weeks later...

I can confirm this works beautifully on my MSI RS480M2 with OSX 10.4.6. I tried just dumping this file into /System/Library/Extensions. but the system would just reboot while updating the kextcache - wouldn't even get to the login screen. Surprisingly I could get in from VMWare. Make sure you do the following if you're on 10.4.6 (or higher?):

 

1. AppleAC97Audio.kext (the original) is in /System/Library/Extensions/. Delete (or rename so that it doesn't have a kext extension).

 

2. Dump the downloaded AppleAC97Audio.kext into /System/Library/Extensions. Do this from Finder, or in a root shell:

 

>cd (wherever-you-downloaded-it)
>mv AppleAC97Audio.kext /System/Library/Extensions/AppleAC97Audio.kext

 

The kext needs to be recognized as authentic (root:wheel, 0644; or so the manpage for kextcache said) so do this in a terminal as root:

 

>cd /System/Library/Extensions/
>chown -R root AppleAC97Audio.kext
>chgrp -R wheel AppleAC97Audio.kext
>chmod -R 0644 AppleAC97Audio.kext

 

In case you can't get su to work, sudo each of these commands. If this step is skipped, kextcache skips the kext because it is "not authentic" (try kextcache -m to see what I mean). Next:

 

>kextcache -k /System/Library/Extensions/
>kextcache -m /System/Library/Extensions.mkext /System/Library/Extensions/

 

kextcache probably would have run on bootup, but I did it in the shell itself because I was too impatient. Now things work like a charm. Amazing work, guys. :)

 

EDIT: I did not bootup natively immediately after this, I booted up in VMWare from the physical hard disk (just for fun). The system would keep on rebooting during startup (native) when kextcache ran (why?). In VMWare I got past that, and then when I booted natively I had sound and super-fast disk read/writes thanks to the guys at the SB400 ATA effort group.

Link to comment
Share on other sites

  • 4 weeks later...

I'm one of the devs on this project. I'm going to get back into development on my 200M machine here shortly, and I might take a look at what's needed to get microphone input working. I will try my best, but as usual, I cannot make any guarantees. I am sorry for you MSI users who are unable to get sound output, but I don't have a board that I can replicate the issue on so I can't test it.

Link to comment
Share on other sites

I'm one of the devs on this project. I'm going to get back into development on my 200M machine here shortly, and I might take a look at what's needed to get microphone input working. I will try my best, but as usual, I cannot make any guarantees. I am sorry for you MSI users who are unable to get sound output, but I don't have a board that I can replicate the issue on so I can't test it.

 

THANKS if you can get the microphone I can (rather hapily) remove my winblows :) .

Link to comment
Share on other sites

Alright, I took a look at the ALSA driver as of Linux kernel 2.6.20, and here's a list of features that I should be able to get working that weren't:

 

* Multi-channel sound. I'm not sure WHAT causes this not to work, but I'm going to try to get it to do so.

* S/PDIF output. I don't know if anyone has this or uses it, or its relation to multi-channel sound, but it should also be working.

* Input. It appears that some things were incorrect in the way I set up input. I'm going to try to fix these.

 

Here is a list of features that do not work and will NOT be worked on:

 

* MSI motherboard support. I do not have the money to purchase and set up a board, and remote testing is infeasible. You are welcome to research the issue and attempt it yourself.

Link to comment
Share on other sites

Dear God,

 

I have a HP NC 4000, the only problem is sound.

It uses ali corporation on board chipset with device id =5451 and vendor ID 10b9

On these forum some has said it doesn't work because of the southbridge problem.

Some said use ALSA / Trident drivers, but no-one seems to have got it to work

 

Will your project be any use here ?

 

Alan

 

Alright, I took a look at the ALSA driver as of Linux kernel 2.6.20, and here's a list of features that I should be able to get working that weren't:

 

* Multi-channel sound. I'm not sure WHAT causes this not to work, but I'm going to try to get it to do so.

* S/PDIF output. I don't know if anyone has this or uses it, or its relation to multi-channel sound, but it should also be working.

* Input. It appears that some things were incorrect in the way I set up input. I'm going to try to fix these.

 

Here is a list of features that do not work and will NOT be worked on:

 

* MSI motherboard support. I do not have the money to purchase and set up a board, and remote testing is infeasible. You are welcome to research the issue and attempt it yourself.

Link to comment
Share on other sites

Alright, I took a look at the ALSA driver as of Linux kernel 2.6.20, and here's a list of features that I should be able to get working that weren't:

 

* Multi-channel sound. I'm not sure WHAT causes this not to work, but I'm going to try to get it to do so.

* S/PDIF output. I don't know if anyone has this or uses it, or its relation to multi-channel sound, but it should also be working.

* Input. It appears that some things were incorrect in the way I set up input. I'm going to try to fix these.

 

Here is a list of features that do not work and will NOT be worked on:

 

* MSI motherboard support. I do not have the money to purchase and set up a board, and remote testing is infeasible. You are welcome to research the issue and attempt it yourself.

 

Thanks everyone that have taken over my "abandonware" project. I had to stop because of other matters. I realize that the code was a mess. My original goal was to reverse engineer the Linux drivers and map it to OSX. I have managed to get the latest driver working on 10.4.8 on my Toshiba with x200. I do get a kernel panic once in a while but it's stable 95% of the time. I have other expiremental drivers that could be causing that. Good work!

 

Can someone post the source code of the latest so I can take a look at it if I have a chance?

Link to comment
Share on other sites

Quick update. I'm working on the new 1.1.0 build, as I will call it when it is released. The problem, surprisingly enough, does not appear to lie in the ATI driver, but in the AC '97 subsystem. The audio core comes up with some config error and refuses to hand off the configuration to my driver. I am 99.8% certain this is also the same problem as we have with multi-channel sound, so if I can fix this, then there is a hope of being able to fix that as well.

 

EDIT: Actually, although the trace led through the AC '97 drivers, it led right back to a specific spot in my code. I fixed it up, and the software now recognizes the input lines, although I don't seem to be able to actually get data input. I'll keep working on it, but this much was a major breakthrough - at least it shows the devices. As for multi-channel output, that's not something I can test because my laptop is limited to 2-channel sound only. I'll put debug traces into the code path that does multi-channel sound and ask for logs.

 

EDIT 2: I also found the "inverted EAPD" bit in the Linux AC97 subsystem. I have a bit of work to do before I can figure out how to apply inverted EAPD only to computers that need it, though.

Link to comment
Share on other sites

  • 2 weeks later...

Good news, everyone! A quick update - I worked a little bit on this driver, and I finally figured out how to put options in the Info.plist file that gets built with the project. I now have the ability to add an InvertedEAPD flag to the Info.plist entry for those machines that require it. I'm still working on sound capture; all I get is static from the mic, but at least I get that much! On my chipset, I know there is a "mic boost" mixer control under Linux that does not appear under Mac OS. I'm wondering if enabling that will allow me to hear the input on the mic channel. I'll work on getting that enabled, and if I can get real sound coming from my microphone, then I will release version 1.1 beta 1 for those of you who would like to test it.

Link to comment
Share on other sites

Okay, here's beta 1. Mic input does not appear to work; however, the input controls are enabled, and it could just be my setup. Features to test include multi-channel output and inverted EAPD bit. For those who want to test the inverted EAPD bit, you will need to know how to edit the Info.plist file. Find the section appropriate to your PCI ID (mine is 0x43701002) and, under "InvertedEAPD", change <false/> to <true/>. There are three ZIP files:

1) AppleAC97AudioATIIXP-1.1b1-project.zip contains the complete AppleAC97Audio XCode project, with source.

2) AppleAC97AudioATIIXP-1.1b1-code.zip contains ONLY the changed source code for the AppleAC97AudioATIIXP kernel extension.

3) AppleAC97AudioATIIXP-1.1b1-binary.zip contains a compiled kext file.

 

Installation instructions for the binary:

1) Unzip the file

2) As root, copy AppleAC97Audio.kext to /System/Library/Extensions

3) Open a root terminal

4) Run kextcache -k /System/Library/Extensions

5) Run kextcache -a i386 -z -m /System/Library/Extensions.mkext /System/Library/Extensions

6) Reboot

 

Installation instructions for the project (XCode required):

1) Unzip the file

2) Open the project file in the extracted folder

3) Make sure the target is set to AppleAC97Audio

4) Select Build->Clean All, and confirm any dialogs that appear

5) Select Build->Build

6) The compiled kext can be found in <folder>/build/Development

 

EDIT: I discovered, using Audacity, that capture does work after a fashion. I set it to record in 48K stereo, and discovered that the left channel is empty noise and the right channel is real data. I now know that it is capturing real data, now to figure out how to get it to Just Work ...

AppleAC97AudioATIIXP_1.1_b1_binary.zip

AppleAC97AudioATIIXP_1.1_b1_code.zip

AppleAC97AudioATIIXP_1.1_b1_project.zip

Link to comment
Share on other sites

  • 2 weeks later...

Just installing the binary didn't work for me. Trying to build from source. Will update.

 

UPDATE: The driver built from source didn't work for me either. But seeing as how the driver that came installed with the JaS 10.4.8 DVD works as good as this one does (it might even BE this one--I don't know), I think I'm going to stick with that.

 

Also, I tried your Audacity trick for input, and it works great! It would be nice if there was a way to swap the channels in the system settings somehow... :|

 

And I'm not really sure if my hardware situation is even what these drivers are for. I have an HP Pavillion dv5217cl

Link to comment
Share on other sites

Thanks for the feedback - I've always had problems with people installing my code. Could you define what you mean by "didn't work", perchance?

 

Also, I know that this driver is distributed at least with the Tubgirl DVD. I'm not sure about any others. However, that was with non-working input controls, so I dunno.

Link to comment
Share on other sites

I just finished downloading the kext... i'm gonna reboot into OS X and give it a try if there is anything (like logs) that could help please let me know and I will do my best.

 

UPDATE: Well if failed... I actually lost my output devices... Grrr. I backed-up my old one so i'm up and running fine now. Once again if you would like any logs or the such just say so...

Edited by Unkwntech
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...