Slice Posted July 4, 2014 Share Posted July 4, 2014 I have the via 1802p in my laptop and the subwoofer links to an out of range widget (3e). As a result, the subwoofer doesn't work. I noticed that it works in ubuntu though and soon found this post: https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1045981 Which explains how the ubuntu developers just skipped over that widget entirely and got the subwoofer to work. I've tried patching AppleHDA but it still doesn't work. How can I patch voodoohda so it will skip over this widget? If you make getdump then we can see what to discuss. Link to comment Share on other sites More sharing options...
Zackptg5 Posted July 7, 2014 Share Posted July 7, 2014 Here's a zip with my appleHDA stuff progress, codec dump/graph, voodoo dump, and info/progress file: http://www.4shared.com/zip/3XVXPycbba/via1802-g75vw.html (P.S. How do I attach files here?) Link to comment Share on other sites More sharing options...
Slice Posted July 7, 2014 Share Posted July 7, 2014 Here's a zip with my appleHDA stuff progress, codec dump/graph, voodoo dump, and info/progress file: http://www.4shared.com/zip/3XVXPycbba/via1802-g75vw.html (P.S. How do I attach files here?) Can't find what to download from your link. Attach here, please. Choose "More reply options" and see... Link to comment Share on other sites More sharing options...
Zackptg5 Posted July 7, 2014 Share Posted July 7, 2014 Here it is via1802-g75vw.zip Link to comment Share on other sites More sharing options...
Slice Posted July 8, 2014 Share Posted July 8, 2014 Here it is See what you have Patched pins configuration: nid 36 0x901701f0 as 15 seq 0 Speaker Fixed Analog N/A Internal Unknown misc 0 NoPresenceDetect nid 37 0x022140f0 as 15 seq 0 Headphones Jack 1/8 Front External Green misc 0 nid 40 0x422140f0 as 15 seq 0 Headphones None 1/8 Front External Green misc 0 [DISABLED] nid 41 0x90a70137 as 3 seq 7 Microphone Fixed Analog N/A Internal Unknown misc 0 NoPresenceDetect nid 42 0x418130f0 as 15 seq 0 Line-in None 1/8 Rear External Blue misc 0 [DISABLED] nid 43 0x01a1903e as 3 seq 14 Microphone Jack 1/8 Rear External Pink misc 0 nid 45 0x074411f0 as 15 seq 0 SPDIF-out Jack RCA Special External Black misc 0 NoPresenceDetect nid 48 0x50a601f0 as 15 seq 0 Microphone None Digital N/A Internal Unknown misc 0 NoPresenceDetect [DISABLED] nid 51 0x90170080 as 8 seq 0 Speaker Fixed Analog N/A Internal Unknown misc 0 What 3e widget did you tell if there is no such nid? You have: - two internal speakers at nodes 36 and 51 but node 36 may not work because its association is F. - two headphones, also as=15 - one internal microphone at node 41. Must work - one external rear pink jack for microphone at node 43. Must work. - digital SPDIF-out. Not sure if it really exists. So, if you want some output then you should correct your info.plist This is an example and you have to think about other values to make it better <key>NodesToPatch</key> <array> <dict> <key>Codec</key> <integer>0</integer> <key>Node</key> <integer>36</integer> <key>Config</key> <string>0x90170110</string> </dict> <dict> <key>Codec</key> <integer>0</integer> <key>Node</key> <integer>37</integer> <key>Config</key> <string>0x02214020</string> </dict> </array> Link to comment Share on other sites More sharing options...
Zackptg5 Posted July 9, 2014 Share Posted July 9, 2014 That stuffs not the issue. Voodoohda fixed all of that. The voodoodump shows that all of it is fine but the subwoofer, node 51. Widget 3E (62 in dec) is out of range and a dead end so voodoohda traces node 51 to 62 and stops and doesn't detect it. The ubuntu workaround is to skip this widget and use the following path map in dec: 51-28-60-9 The codecdump and codecgraph show the widgets best Link to comment Share on other sites More sharing options...
Slice Posted July 9, 2014 Share Posted July 9, 2014 That stuffs not the issue. Voodoohda fixed all of that. The voodoodump shows that all of it is fine but the subwoofer, node 51. Widget 3E (62 in dec) is out of range and a dead end so voodoohda traces node 51 to 62 and stops and doesn't detect it. The ubuntu workaround is to skip this widget and use the following path map in dec: 51-28-60-9 The codecdump and codecgraph show the widgets best See you. You seems have to use one forgotten feature of the VoodooHDA <dict> <key>Codec</key> <integer>0</integer> <key>Node</key> <integer>51</integer> <key>Conns</key> <string>28</string> </dict> I am not sure how it works so it is for your investigations. I can rebuild Voodoo with some debugs or changes. Link to comment Share on other sites More sharing options...
Zackptg5 Posted July 9, 2014 Share Posted July 9, 2014 See you. You seems have to use one forgotten feature of the VoodooHDA <dict> <key>Codec</key> <integer>0</integer> <key>Node</key> <integer>51</integer> <key>Conns</key> <string>28</string> </dict> I am not sure how it works so it is for your investigations. I can rebuild Voodoo with some debugs or changes. That's what I was looking for! I'll give it a go and keep my fingers crossed. Where is the documentation for the full list of features for voodoohda? Sourceforge has next to nothing. Also, this will tell voodoohda to go to node 51 from 28 but then how do I tell it to then go the rest of the way (60-9)? Edit: I tried it and it didn't work. How do I do the getdump command? Link to comment Share on other sites More sharing options...
Slice Posted July 10, 2014 Share Posted July 10, 2014 A way from 28 to 60-9 is already defined. The problem was only with 51-62 instead of 51-28. To see how it works or not you should make getdump ./getdump >voodoo_dump_1.txt getdump.zip Link to comment Share on other sites More sharing options...
Zackptg5 Posted July 10, 2014 Share Posted July 10, 2014 Ok, I looked at the dump before and after this change. Before: VHDevice NID=51 Config=501701f0 (pin: Speaker () Cap=00000010 Ctrl=00000000 -- Conns: 0=62 After: VHDevice NID=51 Config=501701f0 (pin: Speaker () Cap=00000010 Ctrl=00000000 -- Conns: The connections just disappear instead of having 28 replace 62 **Edit: fixed this issue, the conns flag should be number/integer, not string Ok, I think I found the issue. I put what you had with conns 28 (but as a number, not string) and then added Config flag to fix the pin config. The issue now is that I have multiple devices using the same node. Based on the data I gathered from linux, the speaker node 36 should ultimately end at node 8, which voodoo correctly traces. The issue comes when voodoo traces the headphone node 37 incorrectly, ending it at node 9. Node 37 should ultimately end at node 8 as well which voodoo changes to 9 because it says that "nid 8 busy by association…)". The subwoofer node 51 (which is a speaker), should then trace to node 9 in the end. Since voodoo already used node 9 for the headphones, it says that both nid 8 and 9 are busy by association so the subwoofer is disabled. How can I get voodoohda to use the same output nid for two different devices? Both 36 and 37 should end at node 8 dump-before.txt dump-after.txt Link to comment Share on other sites More sharing options...
crusher Posted July 10, 2014 Share Posted July 10, 2014 Thanks you very mutch AnV ! working Great testing on Z87X-UD5H I have create cool Installer For VoodooHDA Tribute With the binaries EDIT new package with AnV change log whether working at Yosemite? Link to comment Share on other sites More sharing options...
Slice Posted July 11, 2014 Share Posted July 11, 2014 Ok, I looked at the dump before and after this change. Before: VHDevice NID=51 Config=501701f0 (pin: Speaker () Cap=00000010 Ctrl=00000000 -- Conns: 0=62 After: VHDevice NID=51 Config=501701f0 (pin: Speaker () Cap=00000010 Ctrl=00000000 -- Conns: The connections just disappear instead of having 28 replace 62 **Edit: fixed this issue, the conns flag should be number/integer, not string Ok, I think I found the issue. I put what you had with conns 28 (but as a number, not string) and then added Config flag to fix the pin config. The issue now is that I have multiple devices using the same node. Based on the data I gathered from linux, the speaker node 36 should ultimately end at node 8, which voodoo correctly traces. The issue comes when voodoo traces the headphone node 37 incorrectly, ending it at node 9. Node 37 should ultimately end at node 8 as well which voodoo changes to 9 because it says that "nid 8 busy by association…)". The subwoofer node 51 (which is a speaker), should then trace to node 9 in the end. Since voodoo already used node 9 for the headphones, it says that both nid 8 and 9 are busy by association so the subwoofer is disabled. How can I get voodoohda to use the same output nid for two different devices? Both 36 and 37 should end at node 8 I think you should set configs: 36 = 0x90170110 37 = 0x0221401f Understand the idea - change association and pin. Link to comment Share on other sites More sharing options...
Zackptg5 Posted July 12, 2014 Share Posted July 12, 2014 That's it! Finally, after 5 months I've finally got this subwoofer working. The only issue left is that when I group the speaker and subwoofer together under the same association, only the speakers work. When they're not associated, they each work separately yet when I group them together into an aggregate device, the same thing happens as when they're under the same association: no subwoofer. dumpbefore.txt dumpafter.txt Link to comment Share on other sites More sharing options...
TimeWalker75a Posted July 13, 2014 Share Posted July 13, 2014 See here bool VoodooHDADevice::suspend() { .... bool VoodooHDADevice::resume() { I've uncommented debug lines and it seems like it's not even getting to the point of calling suspend() properly... because the last thing I see in the log is debug coming from "VoodooHDADevice[%p]::performPowerStateChange(%d, %d)\n", this, oldPowerState, newPowerState It changes the state multiple times in a course of 10 seconds: 18:33:55: performPowerStateChange(1,2) 18:33:56: performPowerStateChange(2,1) 18:33:59: performPowerStateChange(1,2) 18:34:01: performPowerStateChange(2,1) 18:34:05: performPowerStateChange(1,2) 18:34:06: performPowerStateChange(2,1) Which means it suspends and resumes the codec 6 times in 10 seconds and probably causes it to stall the sleep process? What kind debug can I provide? Link to comment Share on other sites More sharing options...
Slice Posted July 14, 2014 Share Posted July 14, 2014 I've uncommented debug lines and it seems like it's not even getting to the point of calling suspend() properly... because the last thing I see in the log is debug coming from "VoodooHDADevice[%p]::performPowerStateChange(%d, %d)\n", this, oldPowerState, newPowerState It changes the state multiple times in a course of 10 seconds: 18:33:55: performPowerStateChange(1,2) 18:33:56: performPowerStateChange(2,1) 18:33:59: performPowerStateChange(1,2) 18:34:01: performPowerStateChange(2,1) 18:34:05: performPowerStateChange(1,2) 18:34:06: performPowerStateChange(2,1) Which means it suspends and resumes the codec 6 times in 10 seconds and probably causes it to stall the sleep process? What kind debug can I provide? I don't know how did you do but I tested and corrected sleep problem namely in these procedures: Suspend/Resume and you may see my comments inside. Link to comment Share on other sites More sharing options...
TimeWalker75a Posted July 15, 2014 Share Posted July 15, 2014 I don't know how did you do but I tested and corrected sleep problem namely in these procedures: Suspend/Resume and you may see my comments inside.I indeed saw your comments, but what I'm seeing here is that suspend is not being called properly and it loops at performPowerStateChange constantly changing between states. So when the entire system gets suspended the codec is still being supplied current and prevents laptop from entering sleep. I'm not exactly sure how can I debug this more thoroughly? Link to comment Share on other sites More sharing options...
dwray Posted July 17, 2014 Share Posted July 17, 2014 Thanks you very mutch AnV ! working Great testing on Z87X-UD5H I have create cool Installer For VoodooHDA Tribute With the binaries EDIT new package with AnV change log I tried using this and didn't get my USB audio working until after I installed the NVidia HDMI Audio kext. After a fresh reinstall of OSX, I tried the Nvidia HDMI Audio kext first, but still couldn't get my USB audio to work until after I installed this! For me, they have to be used in conjunction I guess, but it works! Good job. Edit - Just tried it on the onboard audio ( Creative Sound Blaster Recon 3Di ) and that works now too. No more USB! whether working at Yosemite? works for me 1 Link to comment Share on other sites More sharing options...
crusher Posted July 17, 2014 Share Posted July 17, 2014 I tried using this and didn't get my USB audio working until after I installed the NVidia HDMI Audio kext. After a fresh reinstall of OSX, I tried the Nvidia HDMI Audio kext first, but still couldn't get my USB audio to work until after I installed this! For me, they have to be used in conjunction I guess, but it works! Good job. Edit - Just tried it on the onboard audio ( Creative Sound Blaster Recon 3Di ) and that works now too. No more USB! works for me Ok.Thank you for answer!!!! Link to comment Share on other sites More sharing options...
Zackptg5 Posted July 18, 2014 Share Posted July 18, 2014 Thanks for the help Slice! The only issue remaining is that when I try to associate the speakers and subwoofer together, the subwoofer doesn't work. When they're separate and I create an aggregate device, only the stereo option in it works, the multichannel is seemingly ignored. The only way I can get them both working together is by creating a multi-output device when they're separate. Any ideas? Link to comment Share on other sites More sharing options...
Slice Posted July 18, 2014 Share Posted July 18, 2014 Thanks for the help Slice! The only issue remaining is that when I try to associate the speakers and subwoofer together, the subwoofer doesn't work. When they're separate and I create an aggregate device, only the stereo option in it works, the multichannel is seemingly ignored. The only way I can get them both working together is by creating a multi-output device when they're separate. Any ideas? It is not a driver problem. A music player must provide multistream sound (one stereo stream and one stream for subwoofer) and a sound source must be multichannel (not MP3). Else send same sound to main speakers and to subwoofer. Link to comment Share on other sites More sharing options...
Slice Posted July 18, 2014 Share Posted July 18, 2014 I updated VoodooHDA to next version. Some warning eliminating and making InhibitCache really conditional. Tested with Realtek ALC887 codec. Clear and loud sound! VoodooHDA.kext-v286.zip Latest sources at https://sourceforge.net/projects/voodoohda/ Link to comment Share on other sites More sharing options...
Zackptg5 Posted July 18, 2014 Share Posted July 18, 2014 Sweet! Updated to 2.8.6 and it works fine with VIA 1802. It is not a driver problem. A music player must provide multistream sound (one stereo stream and one stream for subwoofer) and a sound source must be multichannel (not MP3). Else send same sound to main speakers and to subwoofer. That makes sense. I've been attempting to take the multichannel output and turn it into stereo output through all of the speakers/subwoofer with soundflower/au lab with moderate success. When I have the speaker and subwoofer as separate devices: 1) I get full sound out of both with a multi-output device setup for them in all applications. 2) Get sound only out of speakers with an aggregate device in all applications. However, this is remedied by plugging it in to au lab/soundflower so it works like the multi-output device except that I now have volume control for them all. This is the best I got so far. However, there is pretty high latency with this setup. Probably because the I have the sound running through au lab, then the aggregate device, and then the speakers/sub. So this isn't the ideal setup. Also, there's some kind of bug in AU Lab that when an aggregate device or multi-output device is set as the output device, it won't save my configuration. I've found no answers online, just unanswered questions. When I have the speaker and sub under the same association, it appears that the subwoofer just doesn't even show up (maybe a driver issue?). When setting the speakers as the output with a multichannel setup in au lab, sound only comes out of the speakers and it only shows up as a two channel device. The sub is seemingly non-existent when it's associated with the speakers. Everything looks fine in the dump though. Is the sub getting disabled somehow? *Edit* According to this thread: http://olarila.com/forum/viewtopic.php?f=18&t=604 this issue may be a voodoohda code limitation which would explain why only the first output device in the association (speakers) is enabled. I tried setting the sub as the first sequence in the association and sure enough, only it worked. Can this be fixed? dump.txt Link to comment Share on other sites More sharing options...
Slice Posted July 19, 2014 Share Posted July 19, 2014 No, VoodooHDA enables all devices. Switching is provided by Sound.PrefPane in OSX. If two or more devices in the same association then only one of them will work because there is "Audio Selector" in the chip. If devices are in different associations then they may work simultaneously if OSX player may provide sound on several devices at the same time. As I see from your dump there are such chains: 36-20-52-8 (Speaker) 51-28-60-9 (Subwoofer) 37-21-53-8 (headphones) So Speaker/Headphones are switchable depending on jack inserted. If we enable 36 and 37 at the same time then one Stereo sound will go on both pins provided by the stereo stream at output 8. Link to comment Share on other sites More sharing options...
shazeal Posted July 19, 2014 Share Posted July 19, 2014 I updated VoodooHDA to next version. Some warning eliminating and making InhibitCache really conditional. Tested with Realtek ALC887 codec. Clear and loud sound! VoodooHDA.kext-v286.zip Latest sources at https://sourceforge.net/projects/voodoohda/ Works great, just had to edit the igain and set to 0 Link to comment Share on other sites More sharing options...
Vampirexx Posted July 19, 2014 Share Posted July 19, 2014 Thanx Slice, Anv and Chris you rock buddies!! Link to comment Share on other sites More sharing options...
Recommended Posts