james2mart Posted June 26, 2006 Share Posted June 26, 2006 Hey guys! Anyone out there with a SigmaTel 9200 codec in their computer need a driver for it? ---- Everyone. This is a project that I will be working on over the summer, so like all other driver developers, I will be very busy... Your support and are welcome here, so you may post as you please. If you happen to have your hands on a datasheet for the Sigmatel 9200, feel free to post that as well! Enjoy! (no goodies yet, so don't bother asking) Link to comment Share on other sites More sharing options...
james2mart Posted June 30, 2006 Author Share Posted June 30, 2006 Hey guys! Just wanted to update you all on the status of my driver writing.... er... porting. So far, it has been pretty easy to simply port the code over from FreeBSD, and its really cool because its not very long. I'm working on initializing the codec and allocating the space for the DMA buffer, which is quite difficult because thats where BSD and Darwin/IOKit differ the most. Since I'm porting this driver from BSD, all im doing is copying and pasting stuff and then changing everything to darwin code, and then compiling to see if it builds without error. of course, this is risky, but in theory as long as I make sure i put the init() code in the right spot, and all the other code in the correct spot in the samplePCIaudioDriver example code, this thing should flow pretty smoothly. Later! Link to comment Share on other sites More sharing options...
bliss Posted June 30, 2006 Share Posted June 30, 2006 very nice! let us know if you need testers then. really great! Link to comment Share on other sites More sharing options...
Swad Posted June 30, 2006 Share Posted June 30, 2006 Great work, keep us posted! Link to comment Share on other sites More sharing options...
macjason Posted July 1, 2006 Share Posted July 1, 2006 Please get some drivers soon, because i was going to by an apple but it is to much so i told myself i won't buy anything until i get sound on this box Link to comment Share on other sites More sharing options...
nev6 Posted July 1, 2006 Share Posted July 1, 2006 ready and willing to test Link to comment Share on other sites More sharing options...
nev6 Posted July 1, 2006 Share Posted July 1, 2006 Please get some drivers soon, because i was going to by an apple but it is to much so i told myself i won't buy anything until i get sound on this box a little pushy aren't we? why not thank the man for his time and efforts. Link to comment Share on other sites More sharing options...
james2mart Posted July 3, 2006 Author Share Posted July 3, 2006 so right now i have gotten the codec pretty much initialized, and the widgets powered. now, i have to initialize the mixer... porting these functions and creating new functions has been somewhat easy so far. Once I am done with the initialization of the codec, i will then need to proceed to the streaming of audio, which is (likely) far more difficult. No promises, but i should have something up for yall to see pretty soon, just no telling when. Here are my for today: According to the Sigmatel 9200 Datasheet that I have, people with device ID 7690 are using a STAC9200. everywhere else, it is referenced as a 9220, but i just found it very interesting that 2 different model numbers have the same devID. I double and triple checked. I think it is very odd. Since i'm having some form of success with this, my next project might be an intel 3945abg driver..... Link to comment Share on other sites More sharing options...
enb14 Posted July 3, 2006 Share Posted July 3, 2006 Excelent news, we are hoping to see your driver finished soon. Link to comment Share on other sites More sharing options...
Arcanis Posted July 3, 2006 Share Posted July 3, 2006 On windows vista i got this output from my Sigmatel 9200: HDAUDIO\FUNC_01&CTLR_VEN_8086&CTLR_DEV_27D8&VEN_8384&DEV_7690&REV_1022 It's interesting that in Vista, they only use generic High Definition Audio drivers, they're not specific of the Sigmatel card. When I was doing experiments with kext editing to the AppleHDA.kext it could detect the card, but i think the layout of the outputs/inputs was messed up. Because I could mess around with the volume control, the system sounds and all those things, but I didn't get sound at all, not from the integrated speakers and not from the line out and microphone. I hope your driver initiative will have results. When I have some spare time I gonna install OSX86 on my Dell 6400 again to mess around a little and see if I can help with something Later! Link to comment Share on other sites More sharing options...
james2mart Posted July 3, 2006 Author Share Posted July 3, 2006 If someone with c++ knowledge could take a look at this, it would be great. this is one of the first bumps that I've hit and it has nothing to do with the IOKit, just general c++ stuff. The compiler gives an error like "expected primary-expression before '.' token" someone please give some tips! You may need to look at the bsd audioio.h file and the bsd azalia.c, azalia.h, and azalia_codec.c files to get an idea of what the macros like AZ_MIXER_CLASSES do. heres the link of my problems: http://www.computer-connexions.com/problems.rtf Link to comment Share on other sites More sharing options...
thursday77 Posted July 3, 2006 Share Posted July 3, 2006 Great. I just bought a laptop and guess which soundcard it uses! However, I'll be interested in testing the driver No need to rush anything though. I'm sure you will help lots of people out when it's finished. Good luck! Link to comment Share on other sites More sharing options...
james2mart Posted July 3, 2006 Author Share Posted July 3, 2006 ok, i figured out where my problem is. Thanks if you tried. The driver from BSD is in c, and while some of the features carry over from c to c++, others dont. One example is the initialization of submembers of unions and typedefined structures. no such luck. If you are a coder, or know anything about C or C++, you can help out in the assistance thread that I'm about to start. Link to comment Share on other sites More sharing options...
james2mart Posted July 3, 2006 Author Share Posted July 3, 2006 I'm starting this thread so I can ask for help here, instead of the Status thread. If I have a question, you can check it out and see if you can help. No questions as of now Link to comment Share on other sites More sharing options...
Arcanis Posted July 4, 2006 Share Posted July 4, 2006 Yeah, unions are exclusive from C++ kexts must be programmed in C++ or there's no problem using C? Link to comment Share on other sites More sharing options...
james2mart Posted July 5, 2006 Author Share Posted July 5, 2006 all the headers are c++ style and the sample code is all c++, so you're forced into it AFAIK. Link to comment Share on other sites More sharing options...
james2mart Posted July 5, 2006 Author Share Posted July 5, 2006 Update. Now that I have the codec initialized, I'm working on learning the interfaces for the Intel HDA specification. This is completely different than the BSD driver because I have to implement the streams from the Azalia Link to the codec. The ICH6/7 simply controls the link and the streams. I have to figure out what to send to the ICH and where to send it, along with what data to packet along with it. :-\ This is not going to be easy, and a whole lot more difficult than I expected. I may not post another update for a few days, but thats because all I will be doing is reading the documentation: Apple's, Intel's, and SigmaTel's. Lots o' fun. I had to do a good bit of reading to interpret the BSD code for initialization of the codec in the first place, and now I have to do more reading so that I can write my OWN code instead of porting someone else's. Yay. Link to comment Share on other sites More sharing options...
iNap Posted July 5, 2006 Share Posted July 5, 2006 Another available tester right here. I really appreciate all the work you're putting into this! Link to comment Share on other sites More sharing options...
thursday77 Posted July 6, 2006 Share Posted July 6, 2006 I had to do a good bit of reading to interpret the BSD code for initialization of the codec in the first place, and now I have to do more reading so that I can write my OWN code instead of porting someone else's. Yay. Dude, if you get this working you will become quite famous on this boards and you'll learn lots of new stuff, making it easier to code something in the future.. You're doing a great job, take the time you need. It will be worth every effort, I'm sure! Link to comment Share on other sites More sharing options...
macjason Posted July 6, 2006 Share Posted July 6, 2006 I'm a beta tester if you need one When you find it you will be a God among the 9200 guys, it gets boring having to boot back into windows just to get sound Thanks Link to comment Share on other sites More sharing options...
waynoworlater Posted July 7, 2006 Share Posted July 7, 2006 I have a Dell Inspiron 6400 with Sigmatel 9200...My only problems with OSX are secure wireless connections and this sound card..I'm here to test whenever. Thanks again for doing this... Link to comment Share on other sites More sharing options...
james2mart Posted July 10, 2006 Author Share Posted July 10, 2006 Unfortunately, when I was working in terminal, I accidentally rm -R'ed my entire source code directory. One file was open, which was the largest, but I still lost alot of code. Fortunately, I needed to rewrite it anyway because it didn't work correctly. Just another bump in the road. Link to comment Share on other sites More sharing options...
thursday77 Posted July 10, 2006 Share Posted July 10, 2006 Unfortunately, when I was working in terminal, I accidentally rm -R'ed my entire source code directory. One file was open, which was the largest, but I still lost alot of code. Fortunately, I needed to rewrite it anyway because it didn't work correctly. Just another bump in the road. Argh, that sucks.. but I guess you're making some progress as you know it wouldn't work correctly before.. Good luck! Link to comment Share on other sites More sharing options...
bliss Posted July 10, 2006 Share Posted July 10, 2006 really great job. wish i could help you, but i cant code. Link to comment Share on other sites More sharing options...
Arcanis Posted July 10, 2006 Share Posted July 10, 2006 I would like to help too but my coding skills are limited to data structures only lol (2nd year of information engineering, and the first year we only took maths/physics).. I'll still take a look to the BSD driver and see if I can do something, I don't like giving only words of support, I actually wanna help to this project. Good luck, I really appreciate your efforts Link to comment Share on other sites More sharing options...
Recommended Posts