Jump to content

ATI AC 97 Sounds (SB400) effort


  • This topic is locked This topic is locked
695 replies to this topic

#21
Gooly

Gooly

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 248 posts
  • Gender:Male
  • Location:India
I will be happy if my ati realtek ac97 card works fine..

#22
digicide

digicide

    InsanelyMac Protégé

  • Members
  • PipPip
  • 53 posts
Brandon... That kext has been around since november, lots of people have tried it... I've tried it.... unfortunately the ati ac97 is different enough that it doesn't work for us. That's why Mr. EdFlyer here is working so hard trying to build one.

#23
EdFlyer

EdFlyer

    Computer Lackey

  • Members
  • PipPipPip
  • 159 posts
Im using the AC97Audio Framework in an attempt to get the audio to load, but the process is slow, as this is the first non-education (done in school for class) c++ project I've worked on. I just got back at college, so the development will slow down once school work picks up. I'll have a website up soon, so hopefully there can be more information sharing there. Out of curiosity, can anyone find a page with information about the sb400, like its registers and stuff; a technical document from ati. Any and all information I have will be useful in this endeavor.

#24
EdFlyer

EdFlyer

    Computer Lackey

  • Members
  • PipPipPip
  • 159 posts
Does any one have this card working in linux or bsd? If so, the output log would be extremely useful.

#25
EdFlyer

EdFlyer

    Computer Lackey

  • Members
  • PipPipPip
  • 159 posts
http://www.realtek.c...?keyword=ALC655

this seems to contain some information about the hardware that would be useful in implementing a driver.

Scousi: can you send me the code you had done for this? Maybe I can finish it. Let me know.

#26
Brandon2004

Brandon2004

    InsanelyMac Protégé

  • Members
  • PipPip
  • 62 posts
Ok...so...this is wierd, can some body tell me if the ati sound cards are the same in the x200 chipsets how come some people have a realtek and some people have conexant does it have to do with like desktop or laptop or...is the problem how the southbridge adresses the sound card I am a little confused as to how a fix for realtek cards is gonna help those with conexant cards or vice versa...or am i just like a complete retard and totally off base...sorry if this sounds noobish...

#27
EdFlyer

EdFlyer

    Computer Lackey

  • Members
  • PipPipPip
  • 159 posts
actually brandon, ur right on, and that seems to be the problem i just ran into. It appears the desktop chips use and realtek ALC655 codec, and the notebooks use something else, but both have vendor id as 1002 4370, which is from ATI. It would also seem that at least some of the Intel ICH series use the same codec chip.

This leads to an interesting problem about developing the driver, the key is to figure out exactly what system is similar to the SB400 chip, and see how that driver developed in other OS's like linux or *bsd and then develop in the same way for MAC OS.

That's the research that has been occupying me for the last couple hours. I have some def specs and pdf's to leaf through to see if there are similarities that can be exploited, otherwise this driver is going to have to come from total scratch.

Since I am on a laptop there's only certain things I can test, so when the time comes, we're gonna need some people with the desktop versions to test the driver, and yeah, that's what Im to up to right now.

Its possible code started by scousi may be able to be finished by me, but I still need to get his source code that he started to finish it. Hopefully this can be a nice collaborative effort.

#28
fireshark

fireshark

    Your Mom

  • Members
  • PipPipPipPipPipPip
  • 489 posts
if anyoes needs to know, I have a laptop (HP) and its 4370 with the ATI, and its Conexant audio.

#29
EdFlyer

EdFlyer

    Computer Lackey

  • Members
  • PipPipPip
  • 159 posts
fireshark, can u figure out if its an actual conexant codec chip, or a realtek chip being loaded by the Conexant AMC Audio driver.

also i've noticed the x64 windows driver is supplied by ATI.

Does anyone know a way of determining exactly what codec chip the computer uses, possibly from windows or linux?

#30
scousi

scousi

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 308 posts

fireshark, can u figure out if its an actual conexant codec chip, or a realtek chip being loaded by the Conexant AMC Audio driver.

also i've noticed the x64 windows driver is supplied by ATI.

Does anyone know a way of determining exactly what codec chip the computer uses, possibly from windows or linux?


Mine is the Realtek 255.

EdFlyer, I'm still looking for the code I had. I has lost my HD but i know that the I have a backup. The question is where did I put the backup!

Duhh!

:D

BTW, did you ever manage to get the Interrupts captured?

Are you using IO mapping or Memory mapping? I only have BAR0 availiable on my device. Do you have any other BARS on yours?

#31
Nick Jacholson

Nick Jacholson

    InsanelyMac Protégé

  • Members
  • Pip
  • 13 posts
Hi Ed, I dont know ive it would help you, but when I load the konoppix 4.0.2 my sound works well. But im not so into linux to post you the log you need.
Ive u would give me a little bit advice I would look it up for you. Or you just DL the Knoppix by your self.

Hope it helped.

#32
EdFlyer

EdFlyer

    Computer Lackey

  • Members
  • PipPipPip
  • 159 posts
i'm not 100% sure what's going with my driver.....i think my problem may be in the interrupts, but i don't know. I'd like to get a working log of the linux driver to see what's done in what order and compare that. Unfortunately college classes are getting in the way of the driver development, but I'll have free time later.

#33
dimbulb

dimbulb

    InsanelyMac Protégé

  • Members
  • Pip
  • 19 posts
Ed:

What sort of data do you need? Just a dmesg and lspci? Or do you need something from /proc?

If necessary, I can put my laptop with the x200 board somewhere you can get at it via ssh.

#34
EdFlyer

EdFlyer

    Computer Lackey

  • Members
  • PipPipPip
  • 159 posts
the boot log from when the driver loads in linux is what i'm looking for. I would like to trace what happens, and in what order, so that I can make sure the driver's loading the right stuff in the correct order.

oh scousi, im not sure what you meant with the interrupts, but it seems to attach correctly to irq 17 with an io of 3400, but I'm not sure entirely the meaning of the io number.

alright, im off to more debugging and coding.

#35
scousi

scousi

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 308 posts

the boot log from when the driver loads in linux is what i'm looking for. I would like to trace what happens, and in what order, so that I can make sure the driver's loading the right stuff in the correct order.

oh scousi, im not sure what you meant with the interrupts, but it seems to attach correctly to irq 17 with an io of 3400, but I'm not sure entirely the meaning of the io number.

alright, im off to more debugging and coding.


Your best bet is to look at the linux atiixp source code (attached) and the ALSA documentation. There is a lot of similarities between Linux and Macs initialize PCI card drivers.

With the IXP, you need the interrupt to detect the 3 codec devices. You will have to learn on how the read and write to the ATI registers. The atiixp.c module has all the register offsets defined. You will need these since there is no public ATI documentation. The driver will never work unless you set up the proper framework to read and write to the proper registers. You have to service the interrups that the card generates. The trick is to set up your DMA or IO access correctly. You absolutely need the proper offsets and status bits. That's why you will find the values defined in the atiixp module quite usefull.

Also get this:

ftp://ftp.apple.com/developer/Tool_Chest/.../CHUD_4.3.2.dmg

CHUD tools. There is a utility in there called Regie SE that allows you to view all the low level stuff. You can read and write the registers if you know the proper offsets.

Good luck.

the atiixp.txt is actually atiixp.c but they won't let me upload a .c file for some reason.

Attached Files



#36
EdFlyer

EdFlyer

    Computer Lackey

  • Members
  • PipPipPip
  • 159 posts
yeah, i've been working off that for a while, my problem is there is an access timeout that occurs when the code checks to see if the ac-link is not busy. i was hoping for a boot log from linux to see if I had loaded something the wrong or at the wrong time or in the wrong order.

i shall continue testing this evening.

#37
EdFlyer

EdFlyer

    Computer Lackey

  • Members
  • PipPipPip
  • 159 posts
the chud tools just caused a kernel panic
so..yeah, i won't be able to use that.

#38
scousi

scousi

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 308 posts

the chud tools just caused a kernel panic
so..yeah, i won't be able to use that.


Was it the installation itself or the Reggie SE application?

It works OK on 2 computers.

#39
EdFlyer

EdFlyer

    Computer Lackey

  • Members
  • PipPipPip
  • 159 posts
it was the kext files it loaded that crashed the system

#40
dimbulb

dimbulb

    InsanelyMac Protégé

  • Members
  • Pip
  • 19 posts
Here's the part of the dmesg which seams to correspond to sound initialization:

Advanced Linux Sound Architecture Driver Version 1.0.10rc3 (Mon Nov 07 13:30:21 2005 UTC).
ACPI: PCI Interrupt 0000:00:14.5[B] -> GSI 17 (level, low) -> IRQ 209
ACPI: PCI Interrupt 0000:00:14.6[B] -> GSI 17 (level, low) -> IRQ 209
MC'97 0 converters and GPIO not ready (0x1)
ALSA device list:
  #0: ATI IXP rev 1 with unknown codec at 0xb0003400, irq 209
  #1: ATI IXP Modem rev 1 at 0xb0003800, irq 209

I'm not sure if there's more to it, so I'm including the full dmesg in case there's something else. I installed this kernel late last week, and sound is working on it.

Attached Files







0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy