Code Monkey home page Code Monkey logo

eapd-codec-commander's People

Contributors

dolnor avatar goodwin avatar rehabman avatar robvanoostenrijk avatar the-darkvoid avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eapd-codec-commander's Issues

How to customize the SSDT for your own codec

Dear RehabMan,
Your CodecCommander works great most of the time.
However, sometimes the voice disordered after reboot.
I guess something is wrong with the default codec value, and I want to customize it for my own codec value.
I have dumped the related codec information from ubuntu. However, I have no idea what to do next. Would you mind give me some suggestions/clues?
Thank you for your help.

CodecCommander does work ONLY if darkwake=0

hi there,

GA Z170X-Gaming5 with ALC1150 here ... CodecCommander v. 2.40 is effective is giving audio back after wakeup ONLY IF darkwake is set to 0. Otherwise if it's not set, it does NOT work.

The last version - v. 2.51 - is totally ineffective no matter how the darkwake parameter is set.

Let me know if you need any particular log.

Why it must use with ALCPlugFIx can work with my XPS

Hello Rehabman.

My XPS has a combojack with RealtekALC3266(298) and have 2 problem.
1.HP OUT Distort
2.ExtMic can't be detected

So I want to find a way to solve this problem.
I found Codec-Commander can solve this problem so i turned to use this kext.

I have looked into my code with my ALC298 is
0x18 SET_PIN_WIDGET_CONTROL 0x24
0x21 SET_UNSOLICITED_ENABLE 0x82

and i create a ssdt or just edit it in the kext but have no use.
However,When wake up from sleep the audio works fine but still cant detecte the extmic.

So i have no idea until i found ALCPlugFix
https://github.com/goodwin/ALCPlugFix

I try to edit 0x18 SET_PIN_WIDGET_CONTROL 0x24 and 0x21 SET_UNSOLICITED_ENABLE 0x82 into this binary and mod it into ALCPlugFix and installed into my osx and works fine with no problem.
With ALCPLugFix,I can get these works.
1.HP OUT is fine with no distort.
2.The ExitMic can be detected automatically when plugin the extmic.

But i still dont know why the Codec-Commander cant solve this probelm and must use Codec-Commander and ALCPlusFix can solve this problem.

So i want to help to inprove this kext to work with these combojack audio devices.

Thanks.
And Forgive My Poor English.

ACPI configuration parsing issue

Trying to configure via ACPI, there seems to be an issue with custom commands parsing. The contents of the first custom command in the ssdt is repeated for all custom command entries in the configuration.

Debug log excerpt below - the corresponding ssdt has 4 different custom commands with the first one being 0x01970725:

CodecCommander: Version 2.5.0 starting on OS X Darwin 15.3.
[...]
CodecCommander: Custom Command
CodecCommander: ...Command: 0x01970725
CodecCommander: ...OnInit: true
CodecCommander: ...OnWake: true
CodecCommander: ...OnSleep: false
CodecCommander: Custom Command
CodecCommander: ...Command: 0x01970725
CodecCommander: ...OnInit: true
CodecCommander: ...OnWake: true
CodecCommander: ...OnSleep: false
CodecCommander: Custom Command
CodecCommander: ...Command: 0x01970725
CodecCommander: ...OnInit: true
CodecCommander: ...OnWake: true
CodecCommander: ...OnSleep: false
CodecCommander: Custom Command
CodecCommander: ...Command: 0x01970725
CodecCommander: ...OnInit: true
CodecCommander: ...OnWake: true
CodecCommander: ...OnSleep: false
CodecCommander: Getting EAPD supported node list.

Debug log: https://github.com/vbourachot/XPS13-9350-OSX/blob/master/misc/codec_commander-1.log
SSDT source: https://github.com/vbourachot/XPS13-9350-OSX/blob/fcb674b0244f6e85ceb5498250041e07dac2aafd/ssdt/SSDT-ALC256.dsl

Not working with 1150 on GA-H170N-WIFI and GA-Z170N-WIFI

Not sure about desktop boards but there are definitely using EAPD

Those who struggle with getting it working, can get it fixed with updating Info.plist in 1150 section, "Update Nodes" from false to true

Unlike the other version of Codec-Commander, that works with 1150 out of the box, but only works from S/L/E, this version, once patched, works from Clover/kext/Others

Reset + Config troubled

Hey,
thanks for picking up my work, both you and @the-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

  1. 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.
  2. 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:
    CodecCommander: Configuration
    CodecCommander: ...Check Infinite: false
    CodecCommander: ...Perform Reset: true
    CodecCommander: ...Perform Reset on EAPD Fail: true
    CodecCommander: ...Send Delay: 3000
    CodecCommander: ...Update Interval: 1000
    CodecCommander: ...Update Nodes: false
    CodecCommander: ...Sleep Nodes: false

Which it doesn't sleep the nodes upon entering sleep, though somehow send the verbs to update EAPDs when machine is awoken:

    CodecCommander: Intel TCSEL: 0x61 -> 0x60
    CodecCommander: SendCommand: node 0x14, verb 0x00070c, payload 0x02.
    CodecCommander: SendCommand: (w) --> 0x21470c02
    CodecCommander: SendCommand: (r) <-- 0x00000000
    CodecCommander: SendCommand: node 0x1b, verb 0x00070c, payload 0x02.
    CodecCommander: SendCommand: (w) --> 0x21b70c02
    CodecCommander: SendCommand: (r) <-- 0x00000000

By 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.

  1. 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.

    CodecCommander: setPowerState2
    CodecCommander: --> awake(2)
    CodecCommander: --> resetting codec
    CodecCommander: SendCommand: node 0x01, verb 0x0007ff, payload 0x00.
    CodecCommander: SendCommand: (w)--> 0x0017ff00
    CodecCommander: SendCommand: (r) <-- 0x00000000
    CodecCommander: SendCommand: node 0x01, verb 0x0007ff, payload 0x00.
    CodecCommander: SendCommand: (w) --> 0x0017ff00
    CodecCommander: SendCommand: (r) <-- 0x00000000
    CodecCommander: SendCommand: node 0x01, verb 0x000705, payload 0x03.
    CodecCommander: SendCommand: (w)--> 0x20170503
    CodecCommander: SendCommand: (r) <-- 0x00000000
    CodecCommander: -->hda codec power restored
    CodecCommander: SendCommand: node 0x01, verb 0x000705, payload 0x03.
    CodecCommander: SendCommand: (w) --> 0x00170503
    CodecCommander: SendCommand: (r) <-- 0x00000000
    CodecCommander:- ->hda codec power restored
    

This 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:

    CodecCommander: cc: --> resetting codec
    CodecCommander:  w: ICW stored set command 0x2017ff00
    CodecCommander:  w: ICW stored set command 0x2017ff00
    CodecCommander:  w: ICW stored set command 0x20170503
    CodecCommander: cc: --> hda codec power restored

Binary patch

Hello Rehabman, kudos for all of your hardworks!

Did you try binary patch solution to wake the sound after sleep instead with kext? (i blogged months ago with original link attached). I know this not an issue / completely unrelated with this repo, sorry. Hope you found it working / useful for your next project ๐Ÿ˜„ (Tried without afail with smbios macpro6)

ALC255 Awaken silence

Hi๏ผŒ
My voice if I don't use Codecommander only single track with bad tone quality.
But sleep after awakening will not be able to play a sound only I pull out and insert the Earphone plug agiain,Can you tell me how should I do, my codec sense has something worng:
Codec.txt
ALC 255
thank you !

Description of HDA-Verbs, info.plist command & ACPI command

I've been looking for HDA Verbs description without success. Can you point me some useful documentation ?

I also don't understand how to create the info.plist / ACPI commands. Can you explain this :
0x21 SET_UNSOLICITED_ENABLE 0x83 > 02170883 / Buffer (0x04) {0x02, 0x17, 0x08, 0x83 },

Usage confusion

Hello, I've read over the Readme, especially the instructions on enabling this kext, but am still stuck with no audio upon wake (from sleep). What I've tried so far is simply downloading the latest build and placing it in EFI (also tried S/L/E and L/E, but I see in the commits that the kext should work in EFI now). Please correct me if I'm wrong, but it seemed to me that creating a Profile in Info.plist isn't required.

I'm currently running OSX 10.11.3, with ALC1150. I'd be glad to provide any logs or other info. Thanks!

ALC1150 Problem

AppleHDAEngineOutput: https://gist.github.com/korzhyk/5d9bd5500fe45181315db475b3a1084a#file-applehdaengineoutput-log

Problem after version 2.4.0.

By default in version 2.4.0 did't contains section for ALC1150. So I added this config https://github.com/korzhyk/Clover_GA-H97-D3H/blob/master/H97-D3H-CF/misc/CodecCommander.kext/Contents/Info.plist#L109-L148

After sleep in 2.4.0 in debug CC send commands:

SendCommand: node 0x01, verb 0x0007ff, payload 0x00.
SendCommand: (w) --> 0x2017ff00
SendCommand: node 0x01, verb 0x0007ff, payload 0x00.
SendCommand: (w) --> 0x2017ff00
SendCommand: node 0x01, verb 0x000705, payload 0x03.
SendCommand: (w) --> 0x20170503
SendCommand: node 0x14, verb 0x00070c, payload 0x02.
SendCommand: (w) --> 0x21470c02
SendCommand: node 0x1b, verb 0x00070c, payload 0x02. <- nodeID same as in AppleHDAEngineOutput
SendCommand: (w) --> 0x21b70c02

But after 2.4.0 CC not sending this command to this nodeID:

SendCommand: node 0x00, verb 0x000f00, payload 0x04.
SendCommand: (w) --> 0x200f0004
SendCommand: (r) <-- 0x00010001
SendCommand: node 0x01, verb 0x000f00, payload 0x05.
SendCommand: (w) --> 0x201f0005
SendCommand: (r) <-- 0x00000101
getAudioRoot found audio root = 0x01
SendCommand: node 0x01, verb 0x0007ff, payload 0x00.
SendCommand: (w) --> 0x2017ff00
SendCommand: (r) <-- 0x00000000
SendCommand: node 0x01, verb 0x0007ff, payload 0x00.
SendCommand: (w) --> 0x2017ff00
SendCommand: (r) <-- 0x00000000
SendCommand: node 0x01, verb 0x000705, payload 0x03.
SendCommand: (w) --> 0x20170503

And after sleep (my audio is 5.1) the main speakers provide only noise. โ„น But if select in System Preferences.app a rear or center speakers I hear a normal sound without noises.

So I add new CustomCommand to the list: https://gist.github.com/korzhyk/5d9bd5500fe45181315db475b3a1084a#file-customcommand-plist
But I'm not sure if it's the right decision, because I don`t know how CC works.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.