{"action":"created","issue":{"url":"https://api.github.com/repos/RehabMan/EAPD-Codec-Commander/issues/6","labels_url":"https://api.github.com/repos/RehabMan/EAPD-Codec-Commander/issues/6/labels{/name}","comments_url":"https://api.github.com/repos/RehabMan/EAPD-Codec-Commander/issues/6/comments","events_url":"https://api.github.com/repos/RehabMan/EAPD-Codec-Commander/issues/6/events","html_url":"https://github.com/RehabMan/EAPD-Codec-Commander/issues/6","id":77001173,"number":6,"title":"Reset + Config troubled","user":{"login":"Dolnor","id":3316197,"avatar_url":"https://avatars.githubusercontent.com/u/3316197?v=3","gravatar_id":"","url":"https://api.github.com/users/Dolnor","html_url":"https://github.com/Dolnor","followers_url":"https://api.github.com/users/Dolnor/followers","following_url":"https://api.github.com/users/Dolnor/following{/other_user}","gists_url":"https://api.github.com/users/Dolnor/gists{/gist_id}","starred_url":"https://api.github.com/users/Dolnor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Dolnor/subscriptions","organizations_url":"https://api.github.com/users/Dolnor/orgs","repos_url":"https://api.github.com/users/Dolnor/repos","events_url":"https://api.github.com/users/Dolnor/events{/privacy}","received_events_url":"https://api.github.com/users/Dolnor/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-05-16T10:13:26Z","updated_at":"2015-05-16T10:47:22Z","closed_at":null,"body":"Hey,\r\nthanks for picking up my work, both you and @darkvoid. Don't have too much free time on my hands lately. I've been syncing your master with my repo and it seems like something broke down the road, badly. I'm seeing all sorts of things that are wrong with the kext now past version 2.2.1\r\n\r\n1. The reason I used OEM board ids and not codec ids for configuration is that there will be times where same codec will have absolutely different node setup, which most of the normal users won't be able to figure out how they differ from what's defined in the config. Say, my ALC269 requires unsolicited to be set on node 0x21, whereas your default config of 0x15 breaks jack detection altogether. \r\n\r\n2. There's something going on with picking up config data at the time handlingStateChange because when the kext starts it clearly reads the config saying:\r\n\t\tCodecCommander: Configuration\r\n\t\tCodecCommander: ...Check Infinite: false\r\n\t\tCodecCommander: ...Perform Reset: true\r\n\t\tCodecCommander: ...Perform Reset on EAPD Fail: true\r\n\t\tCodecCommander: ...Send Delay: 3000\r\n\t\tCodecCommander: ...Update Interval: 1000\r\n\t\tCodecCommander: ...Update Nodes: false\r\n\t\tCodecCommander: ...Sleep Nodes: false\r\n\r\nWhich it doesn't sleep the nodes upon entering sleep, though somehow send the verbs to update EAPDs when machine is awoken:\r\n\r\n\t\tCodecCommander: Intel TCSEL: 0x61 -> 0x60\r\n\t\tCodecCommander: SendCommand: node 0x14, verb 0x00070c, payload 0x02.\r\n\t\tCodecCommander: SendCommand: (w) --> 0x21470c02\r\n\t\tCodecCommander: SendCommand: (r) <-- 0x00000000\r\n\t\tCodecCommander: SendCommand: node 0x1b, verb 0x00070c, payload 0x02.\r\n\t\tCodecCommander: SendCommand: (w) --> 0x21b70c02\r\n\t\tCodecCommander: SendCommand: (r) <-- 0x00000000\r\nBy the way, Perform Reset on EAPD Fail is set to NO in Default config and explicitly set to NO in my profile, yet when parsing the config the value default to true according to the debug above. \r\n\r\n3. Reset seems to be partially broken and I couldn't wrap my head around where it pulls up this garbage commands, unless they are looping somewhere while PIDs are sent.\r\n\r\n\t\tCodecCommander:setPowerState2\r\n\t\tCodecCommander:-->awake(2)\r\n\t\tCodecCommander:-->resettingcodec\r\n\t\tCodecCommander:SendCommand:node0x01,verb0x0007ff,payload0x00.\r\n\t\tCodecCommander:SendCommand:(w)-->0x0017ff00\r\n\t\tCodecCommander:SendCommand:(r)<--0x00000000\r\n\t\tCodecCommander:SendCommand:node0x01,verb0x0007ff,payload0x00.\r\n\t\tCodecCommander:SendCommand:(w)-->0x0017ff00\r\n\t\tCodecCommander:SendCommand:(r)<--0x00000000\r\n\t\tCodecCommander:SendCommand:node0x01,verb0x000705,payload0x03.\r\n\t\tCodecCommander:SendCommand:(w)-->0x20170503\r\n\t\tCodecCommander:SendCommand:(r)<--0x00000000\r\n\t\tCodecCommander:-->hdacodecpowerrestored\r\n\t\tCodecCommander:SendCommand:node0x01,verb0x000705,payload0x03.\r\n\t\tCodecCommander:SendCommand:(w)-->0x00170503\r\n\t\tCodecCommander:SendCommand:(r)<--0x00000000\r\n\t\tCodecCommander:-->hdacodecpowerrestored\r\n\r\nThis results in no sound right at wake if sound was playing when the machine was put to sleep. On 2.2.1 it used to issue only these 3, which did reset the codec perfectly:\r\n\r\n\t\tCodecCommander: cc: --> resetting codec\r\n\t\tCodecCommander:  w: ICW stored set command 0x2017ff00\r\n\t\tCodecCommander:  w: ICW stored set command 0x2017ff00\r\n\t\tCodecCommander:  w: ICW stored set command 0x20170503\r\n\t\tCodecCommander: cc: --> hda codec power restored\r\n"},"comment":{"url":"https://api.github.com/repos/RehabMan/EAPD-Codec-Commander/issues/comments/102607382","html_url":"https://github.com/RehabMan/EAPD-Codec-Commander/issues/6#issuecomment-102607382","issue_url":"https://api.github.com/repos/RehabMan/EAPD-Codec-Commander/issues/6","id":102607382,"user":{"login":"Dolnor","id":3316197,"avatar_url":"https://avatars.githubusercontent.com/u/3316197?v=3","gravatar_id":"","url":"https://api.github.com/users/Dolnor","html_url":"https://github.com/Dolnor","followers_url":"https://api.github.com/users/Dolnor/followers","following_url":"https://api.github.com/users/Dolnor/following{/other_user}","gists_url":"https://api.github.com/users/Dolnor/gists{/gist_id}","starred_url":"https://api.github.com/users/Dolnor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Dolnor/subscriptions","organizations_url":"https://api.github.com/users/Dolnor/orgs","repos_url":"https://api.github.com/users/Dolnor/repos","events_url":"https://api.github.com/users/Dolnor/events{/privacy}","received_events_url":"https://api.github.com/users/Dolnor/received_events","type":"User","site_admin":false},"created_at":"2015-05-16T10:47:22Z","updated_at":"2015-05-16T10:47:22Z","body":"Edit ..\r\nI think I may have found the culprit why these settings are set like that and why all this mysterious commands are sent. It reads the data from HDAU HDMI audio codec and default the setting to that..\r\n\r\n\t\tCodecCommander: Evaluating device \"IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/HDAU@3\" [0c0c:8086].\r\n\t\tCodecCommander: --> resetting codec\r\n\t\tCodecCommander: SendCommand: node 0x01, verb 0x0007ff, payload 0x00.\r\n\t\tCodecCommander: SendCommand: (w) --> 0x0017ff00\r\n\t\tCodecCommander: SendCommand: (r) <-- 0x00000000\r\n\t\tCodecCommander: SendCommand: node 0x01, verb 0x0007ff, payload 0x00.\r\n\t\tCodecCommander: SendCommand: (w) --> 0x0017ff00\r\n\t\tCodecCommander: SendCommand: (r) <-- 0x00000000\r\n\t\tCodecCommander: SendCommand: node 0x01, verb 0x000705, payload 0x03.\r\n\t\tCodecCommander: SendCommand: (w) --> 0x00170503\r\n\t\tCodecCommander: SendCommand: (r) <-- 0x00000000\r\n\t\tCodecCommander: --> hda codec power restored\r\n\t\tCodecCommander: SendCommand: node 0x00, verb 0x000f00, payload 0x00.\r\n\t\tCodecCommander: SendCommand: (w) --> 0x000f0000\r\n\t\tCodecCommander: SendCommand: (r) <-- 0x80862807\r\n\t\tCodecCommander: ....Codec Address: 0\r\n\t\tCodecCommander: ....Output Streams: 1\r\n\t\tCodecCommander: ....Input Streams: 0\r\n\t\tCodecCommander: ....Bidi Streams: 0\r\n\t\tCodecCommander: ....Serial Data: 1\r\n\t\tCodecCommander: ....x64 Support: 0\r\n\t\tCodecCommander: ....Codec Version: 1.0\r\n\t\tCodecCommander: ....Vendor Id: 0x8086\r\n\t\tCodecCommander: ....Device Id: 0x2807\r\n\t\tCodecCommander: ....CodecVendor Id: 0x80862807\r\n\t\tCodecCommander: Configuration\r\n\t\tCodecCommander: ...Check Infinite: false\r\n\t\tCodecCommander: ...Perform Reset: true\r\n\t\tCodecCommander: ...Perform Reset on EAPD Fail: true\r\n\t\tCodecCommander: ...Send Delay: 3000\r\n\t\tCodecCommander: ...Update Interval: 1000\r\n\t\tCodecCommander: ...Update Nodes: true\r\n\t\tCodecCommander: ...Sleep Nodes: true\r\n\t\tCodecCommander: Initializing\r\n\r\nI think if it finds a codec with Vendor Id: 0x8086 it should just disregard it altogether and pick up only those related to ALC make.  "}}