Intel High Definition Audio problem. [SOLVED]

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
User avatar
DavidCooper
Member
Member
Posts: 1150
Joined: Wed Oct 27, 2010 4:53 pm
Location: Scotland

Re: Intel High Definition Audio problem.

Post by DavidCooper »

Asper wrote:The problem is probably in a wrong widgets configuration or settings for the stream.
I have written HD audio driver for KolibriOS. You can try to test it on your hardware and if it works for it, we can get full driver/codec conversation log for your hardware for the proper configuration.

Latest KolibriOS builds
http://builds.kolibrios.org/eng/latest-img.7z
http://builds.kolibrios.org/eng/latest-iso.7z
Thanks. If it's possible to download an image of kolibrios and boot it from something that doesn't touch the internal hard drive, I could certainly give that a go, but now that it sounds as if there's unlikely to be any trouble caused by the speakers being switched out in some way by the BIOS, it looks as if I'm just missing something (or doing something the wrong way) and I just need to keep exploring the widgets.

And I now think I've been going about it the wrong way, using verb F1C to try to find out what's connected to the pin widgets instead of the parameter 0Ch with verb F00h. It worked for three things out of four (built-in microphone and mic & headphone jacks), but maybe only by luck. It looked from that as if the speaker must be in widget 14h (a pin widget called "Front"), while the other pin widgets indicated no connection, but that may have been misleading. I'll keep interrogating the widgets for now without being held back by the feeling that what I'm looking for may have been switched out by the BIOS and that I'm maybe on a fool's errand.
Help the people of Laos by liking - https://www.facebook.com/TheSBInitiative/?ref=py_c

MSB-OS: http://www.magicschoolbook.com/computing/os-project - direct machine code programming
User avatar
DavidCooper
Member
Member
Posts: 1150
Joined: Wed Oct 27, 2010 4:53 pm
Location: Scotland

Re: Intel High Definition Audio problem.

Post by DavidCooper »

Thanks to everyone else as well - there are quite a few points in there which will be helpful. I will now tackle parsing the tree/network of connections - I had to start out by making sure I understood what it was I was trying to parse first as it was initially just a jungle of stuff which I could make little sense of. Having worked with it for a while though, it's now looking relatively straightforward and it's hard now to see what the trouble was. The main thing I'm still not sure about is the function of a mixer widget that appears to be able to send things round in circles, unless I'm misunderstanding something. There are actually two questions I should ask:-

(1) When you send sound through a DAC and on to a pin widget, is it able to come back in from that pin widget to the mixer widget or is it only able to go out of the port? I'm not clear as to whether it's possible to use the complex mixer widget (which is in the middle of the map I'm using) to mix output from different streams or if it can only mix inputs (and optionally add them to existing output streams for such purposes as karaoke).

(2) If you're using a sound file with more than two channels (e.g. 5-channel surround sound), are you supposed to set up more than one DAC to read the same output stream and to set up each DAC to filter out just one or two channels from it to send on to one or two speakers?

[Edited to change "input stream" to "output stream" in question (2).]
Help the people of Laos by liking - https://www.facebook.com/TheSBInitiative/?ref=py_c

MSB-OS: http://www.magicschoolbook.com/computing/os-project - direct machine code programming
User avatar
Asper
Member
Member
Posts: 43
Joined: Fri Jan 22, 2010 7:37 am
Location: Kyrgyzstan, Bishkek

Re: Intel High Definition Audio problem.

Post by Asper »

rdos
rdos wrote:This means it is device 16h that has both Port Conn = 2 and Device = 1. That computer should work with my algorithm.
Ok, you are right EliteBook should work by your algorithm. If you can provide an image of your OS I can test the sound on EliteBook for you.

Another mobo for example
Pin configurations:
Q: 019F1C00
A: 410110F2
Q: 01AF1C00
A: 01A19038
Q: 01BF1C00
A: 418130F9
Q: 01CF1C00
A: 90070110
Q: 01DF1C00
A: 0121401F
Q: 01EF1C00
A: 90A7013E
Q: 01DF1C00
A: 0121401F
Q: 01EF1C00
A: 90A7013E
Q: 01FF1C00
A: 593701F7
Q: 020F1C00
A: 474411F0
Q: 021F1C00
A: 474411F0
Q: 022F1C00
A: 410160F1
Q: 023F1C00
A: 410120F4
Q: 004F2000
VIA VT17085_0
Qemu
Pin configurations:
Q: 003F1C00
A: 00004010
Q: 005F1C00
A: 00805020
Qumranet HDA-DUPLEX
The same goes for VirtualBox and VMWare.
rdos wrote:The computers you have listed that doesn't support my algorithm both has non-zero codec addresses. Are you really sure that this is correct? I have one computer which has two codecs, one of which is non-functional (built-into the chipset), and it required a little pecularities to detect that it was not functional, despite reporting codec configurations.
Yes CAd!=0 is correct

eBox 3300MX
HDA test version 018d
detect hardware...
RDC R3010
PCI command 00000106
PCI status 00000200
lower mmio base FEBDC000
upper mmio base 00000000
GCAP = 00004400
codec_mask = 00000002
create primary buffer ...done
codec probed OK
CAd = 1
Zotac NM 10-ITX
HDA test version 017fd
detect hardware...
Intel 82801G
PCI command 00000006
PCI status 00000010
lower mmio base FE478004
upper mmio base 00000000
CORB/RIRB buffer allocated
PCI TCSEL 00000000
codec_mask = 00000004
create primary buffer ...done
codec probed OK
CAd = 2
User avatar
Asper
Member
Member
Posts: 43
Joined: Fri Jan 22, 2010 7:37 am
Location: Kyrgyzstan, Bishkek

Re: Intel High Definition Audio problem.

Post by Asper »

DavidCooper
DavidCooper wrote:Thanks. If it's possible to download an image of kolibrios and boot it from something that doesn't touch the internal hard drive, I could certainly give that a go, but now that it sounds as if there's unlikely to be any trouble caused by the speakers being switched out in some way by the BIOS, it looks as if I'm just missing something (or doing something the wrong way) and I just need to keep exploring the widgets.
Yes you can use your USB flash drive/card, read HD_Load/USB_Boot/ReadMe.txt from http://builds.kolibrios.org/eng/latest-distr.7z
or burn latest-iso to a CD.

(1) Don't think you can use two different output path for one widget at the same, but not sure.

(2) Yes and you have to setup output streams for each DAC.
User avatar
dozniak
Member
Member
Posts: 723
Joined: Thu Jul 12, 2012 7:29 am
Location: Tallinn, Estonia

Re: Intel High Definition Audio problem.

Post by dozniak »

DavidCooper wrote:The main thing I'm still not sure about is the function of a mixer widget that appears to be able to send things round in circles, unless I'm misunderstanding something.
Random mixer diagram (Wolfson WM8753) to whet your appetite:

Image
Learn to read.
User avatar
DavidCooper
Member
Member
Posts: 1150
Joined: Wed Oct 27, 2010 4:53 pm
Location: Scotland

Re: Intel High Definition Audio problem.

Post by DavidCooper »

It looks as if I was doing it the right way after all, and it still isn't working. Here are the replies from the nine pin complexes:-

Code: Select all

14h: 99138110 - speaker (front)
15h: 411111F0 - no connection (surr)
16h: 411111F0 - no connection (CEN/LFE)
18h: 10A19830 - mic. jack (Mic1)
19h: 99A38920 - fixed mic. (Mic2)
1Ah: 411111F0 - no connection (LINE1)
1Bh: 0121401F - HP jack (LINE2)
1Ch: 411111F0 - no connection (CD-IN)
1Dh: 40168A2D - no connection (BEEP-IN)
I've tried sending sound to all nine of them now with all three DACs in action, just in case the speakers are connected to the wrong port, but there's still nothing (except that it proved that it's possible to get sound out via the mic. jack). Resetting widget 14h and setting it up again doesn't help either. Maybe there's something in the PCI configuration space that I should be setting, but at the moment I'm just leaving it as it is.
Asper wrote: Yes you can use your USB flash drive/card, read HD_Load/USB_Boot/ReadMe.txt from http://builds.kolibrios.org/eng/latest-distr.7z
or burn latest-iso to a CD.
Can you recommend some safe software to open that (7z) with? Also, how easy is it to play a sound file with KolibriOS (or to get it to make any sound with the speakers)?
Help the people of Laos by liking - https://www.facebook.com/TheSBInitiative/?ref=py_c

MSB-OS: http://www.magicschoolbook.com/computing/os-project - direct machine code programming
Mikemk
Member
Member
Posts: 409
Joined: Sat Oct 22, 2011 12:27 pm

Re: Intel High Definition Audio problem.

Post by Mikemk »

DavidCooper wrote:Can you recommend some safe software to open that (7z) with?
Perhaps the open source project 7-zip can open files in it's own format?
Programming is 80% Math, 20% Grammar, and 10% Creativity <--- Do not make fun of my joke!
If you're new, check this out.
User avatar
DavidCooper
Member
Member
Posts: 1150
Joined: Wed Oct 27, 2010 4:53 pm
Location: Scotland

Re: Intel High Definition Audio problem.

Post by DavidCooper »

dozniak wrote:Random mixer diagram (Wolfson WM8753) to whet your appetite:...
Nice diagram - gives me a better idea of what I need to program for when trying to parse the tree. It does look as if there's no way to mix outputs other than in software before you send it out - again it's providing a route to mix input into the output. I've just found the thing in a datasheet that made me think it could mix outputs, but I'd misread it - it was talking specifically about mixing analogue input with analogue output.
Help the people of Laos by liking - https://www.facebook.com/TheSBInitiative/?ref=py_c

MSB-OS: http://www.magicschoolbook.com/computing/os-project - direct machine code programming
User avatar
DavidCooper
Member
Member
Posts: 1150
Joined: Wed Oct 27, 2010 4:53 pm
Location: Scotland

Re: Intel High Definition Audio problem.

Post by DavidCooper »

m12 wrote:
DavidCooper wrote:Can you recommend some safe software to open that (7z) with?
Perhaps the open source project 7-zip can open files in it's own format?
Maybe it can - I've just never had to open anything of the 7z variety before. Windows took me to a list of programs costing $25 to do the job, while a list of free sponsored ones looked dodgy and I can't afford to run anything that might mess up my machine.
Help the people of Laos by liking - https://www.facebook.com/TheSBInitiative/?ref=py_c

MSB-OS: http://www.magicschoolbook.com/computing/os-project - direct machine code programming
Mikemk
Member
Member
Posts: 409
Joined: Sat Oct 22, 2011 12:27 pm

Re: Intel High Definition Audio problem.

Post by Mikemk »

It's a fairly common format. RAR is probably more common, and 7zip can open that too as long as it's not encrypted. It also opens .zip, .tar.whatever, and several obscure ones, and it has a feature most compression programs don't have. In windows, if you right click on a file and click 7-zip>Open Archive, it'll analyze the file to figure out its format (This even works on some executables)

EDIT: 300th post, yay! <-\
EDIT 2: I have no life ----/
Programming is 80% Math, 20% Grammar, and 10% Creativity <--- Do not make fun of my joke!
If you're new, check this out.
User avatar
DavidCooper
Member
Member
Posts: 1150
Joined: Wed Oct 27, 2010 4:53 pm
Location: Scotland

Re: Intel High Definition Audio problem.

Post by DavidCooper »

m12 wrote:It's a fairly common format. RAR is probably more common, and 7zip can open that too as long as it's not encrypted. It also opens .zip, .tar.whatever, and several obscure ones, and it has a feature most compression programs don't have. In windows, if you right click on a file and click 7-zip>Open Archive, it'll analyze the file to figure out its format (This even works on some executables)
Thanks for pointing me in the right direction - I've downloaded it now.
EDIT: 300th post, yay! <-\
EDIT 2: I have no life ----/
Have none of your posts ever been in auto-delete threads?
Help the people of Laos by liking - https://www.facebook.com/TheSBInitiative/?ref=py_c

MSB-OS: http://www.magicschoolbook.com/computing/os-project - direct machine code programming
User avatar
Asper
Member
Member
Posts: 43
Joined: Fri Jan 22, 2010 7:37 am
Location: Kyrgyzstan, Bishkek

Re: Intel High Definition Audio problem.

Post by Asper »

I've tried sending sound to all nine of them now with all three DACs in action, just in case the speakers are connected to the wrong port, but there's still nothing (except that it proved that it's possible to get sound out via the mic. jack). Resetting widget 14h and setting it up again doesn't help either. Maybe there's something in the PCI configuration space that I should be setting, but at the moment I'm just leaving it as it is.
There are many options that could be the reason, i.e. you have to enable EAPD for every widget that has it and which you connect to output path. I need full log of KolibriOS driver to help you better.
Can you recommend some safe software to open that (7z) with? Also, how easy is it to play a sound file with KolibriOS (or to get it to make any sound with the speakers)?
I use 7-Zip in Windows, but there are also versions for Linux. KolibriOS KFar application can also read 7z files. ;)
7-Zip is a file archiver with a high compression ration. LZMA is one of the best algorithms (if not the best one) for lossless data compression. That's why we use it.

To try the sound output just open any wav or mp3 file in any Kolibri file manager.
Mikemk
Member
Member
Posts: 409
Joined: Sat Oct 22, 2011 12:27 pm

Re: Intel High Definition Audio problem.

Post by Mikemk »

DavidCooper wrote:
EDIT: 300th post, yay! <-\
EDIT 2: I have no life ----/
Have none of your posts ever been in auto-delete threads?
I don't know, I'd check but that might be difficult.

lol 8)
Programming is 80% Math, 20% Grammar, and 10% Creativity <--- Do not make fun of my joke!
If you're new, check this out.
User avatar
DavidCooper
Member
Member
Posts: 1150
Joined: Wed Oct 27, 2010 4:53 pm
Location: Scotland

Re: Intel High Definition Audio problem.

Post by DavidCooper »

I've just run KolibriOS in Bochs. I couldn't find any way to shut it down other than using Ctrl+shift+Esc to get the Windows task manager to close Bochs, so what is the normal way of shutting KolibriOS down? Also, will it make any difference if I run it from a floppy disk on real hardware rather than a flash drive - it would certainly be far more convenient for me to set it up and boot it from a floppy disk.
Asper wrote:There are many options that could be the reason, i.e. you have to enable EAPD for every widget that has it and which you connect to output path.
Ah ha! That's something I haven't done - I was hoping all the power down stuff was only relevant if you set it up to save power, but I hadn't taken in the significance of the word "external" in External Amplifier Power Down. I'll read up on that first and see if it helps to fix it.
I need full log of KolibriOS driver to help you better.
I'd really prefer to fix it without running KolibriOS, but I would be happy to run KolibirOS in addition just to give it a test run for you on a machine it might not otherwise meet. I may yet have to run it though anyway to solve the problem, in which case I'll need instructions on how to find the KolibriOS driver log, and how to save it without having to photograph it off the screen.
To try the sound output just open any wav or mp3 file in any Kolibri file manager.
If it doesn't touch the internal hard drive (and you said it wouldn't), is there enough room left to save a small .wav or .mp3 file on the floppy disk? Or alternatively, can it access one from a flash drive? Of course, if it can find one on the internal hard drive and play that, I don't mind - I simply want a guarantee that it won't write to the internal hard drive or interfere with the way the BIOS boots up the machine (it's already set up to boot from floppy disks and flash drives if they're present while booting Windows XP if they aren't).
Help the people of Laos by liking - https://www.facebook.com/TheSBInitiative/?ref=py_c

MSB-OS: http://www.magicschoolbook.com/computing/os-project - direct machine code programming
User avatar
Asper
Member
Member
Posts: 43
Joined: Fri Jan 22, 2010 7:37 am
Location: Kyrgyzstan, Bishkek

Re: Intel High Definition Audio problem.

Post by Asper »

I've just run KolibriOS in Bochs. I couldn't find any way to shut it down other than using Ctrl+shift+Esc to get the Windows task manager to close Bochs, so what is the normal way of shutting KolibriOS down?
Win key -> Shutdown or Ctrl+Alt+F12
Also, will it make any difference if I run it from a floppy disk on real hardware rather than a flash drive - it would certainly be far more convenient for me to set it up and boot it from a floppy disk.
The only reason is that the floppy is slower for reading and not so reliable as a flash drive, but if you want and have the HW you can try it.
Ah ha! That's something I haven't done - I was hoping all the power down stuff was only relevant if you set it up to save power, but I hadn't taken in the significance of the word "external" in External Amplifier Power Down. I'll read up on that first and see if it helps to fix it.
High Definition Audio Specification Revision 1.0a June 17, 2010 wrote:Strongly recommend the default value for EAPD to be „1‟ in “EAPD/BTL Enable” section.
I came to this by myself after probing different ways to enable sound output on several computers.
I'd really prefer to fix it without running KolibriOS, but I would be happy to run KolibirOS in addition just to give it a test run for you on a machine it might not otherwise meet. I may yet have to run it though anyway to solve the problem, in which case I'll need instructions on how to find the KolibriOS driver log, and how to save it without having to photograph it off the screen.
...
If it doesn't touch the internal hard drive (and you said it wouldn't), is there enough room left to save a small .wav or .mp3 file on the floppy disk? Or alternatively, can it access one from a flash drive? Of course, if it can find one on the internal hard drive and play that, I don't mind - I simply want a guarantee that it won't write to the internal hard drive or interfere with the way the BIOS boots up the machine (it's already set up to boot from floppy disks and flash drives if they're present while booting Windows XP if they aren't).
Kolibri now supports FAT12,FAT16,FAT32 for reading and writing, and NTFS,ISO9660,Ext2,Ext3,Ext4 for reading only.
The system application "board" (which icon you can find on the desktop) writes the log to /rd/1/boardlog.txt by default, but you have to run it to get the file of course.
There are two possibilities to see your flash drive inside Kolibri:
1. If USB legacy support is enabled in the BIOS and you have inserted flash drive to a USB port before BIOS POST, you would see it as one of /bd disks.
2. There is a working USB stack, which requires special kernel and drivers. It works on the most tested hardware, but still under development and is not part of the trunk yet. If the first option won't work I can make special image with USB stack for you.
Also you can copy wav or mp3 from your filesystem to /tmp disk and run it from there if you want to.
Btw I can sure you that Kolibri will not make any harm to your hardware or the data on it, I have used it as my main OS for about half a year. ;)
Post Reply