-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
iMac19,2 No Audio #66
Comments
The fixups are a known issue (#63) because of changes to base linux kernel (curious as early as sub version 43). |
Yep! I just wanted to make it clear what I was doing. It's possible that the sources I downloaded were different than the running kernel. I was on an Ubuntu LiveUSB. I did have the same behaviour on my NixOS install, but wanted to confirm using the install script.
<key>IOHDACodecVendorID</key>
<integer>269714441</integer> |
well that confirms you have an 8409 system (269714441 is 0x10138409 which is the 8409 codec id the base kernel module is looking for - see bottom of original kernel module file patch_cs8409.c in HDA_CODEC_ENTRY line) Not sure what goes on on LiveUSBs - maybe it limits logging - altho dmesg should work - as that just dumps current kernel log buffer - there should be some snd_hda messages. |
Even on my NixOS install (not live), I don't see any logs on If I run
So it looks like logging works, at least... I've probably messed something up while patching? |
You should get some snd_hda messages - snd_hda is a generic prefix for HDA style audio codec messages |
I'm getting an error from
|
I even tried to manually patch it in |
Also worth mentioning that occasionally after reboot, the patch works (no mic), and I'm able to adjust volume just fine. Didn't manage to get the |
Unfortunately the subsystem id is completely different from the device id (0x10138409) - you need to revert those changes. |
I reverted the changes, and this is what I get:
I did figure out a fix, albeit temporary. It resets after any sort of power off (shutdown, suspend, sleep, NOT reboot). Also, it depends on the fact that I'm using rEFInd as my bootloader. Possibly using GRUB would fix this issue completely; however, I haven't been able to get it to work.
|
Not sure theres much I can say here - you just should not be getting 0x10138409 as the core.subsystem_id - but all the code that sets that is from base linux kernel code (nothing in the routines Ive updated sets this just reads it - neither the original code nor my updates) so have no idea what is going on. |
Very interesting. I think I have an idea why it's reporting a different subsystem_id--I just found a permanent fix for my solution:
Either way, it might have been some odd EFI vars configuration that caused this issue. Audio still doesn't work after suspend/sleep, but at least this time a simple reboot fixes it. |
Suspend/sleep is a known problem - Ive not attempted to fix that in the current driver - there were (likely still are) lots of problems with suspend/sleep in general for linux when I started. Its clear that these boot glitches are caused by some corruption occurring which we know is cleared by a full power off/on - Im guessing maybe some of these boot drivers/boot data may be loaded into some memory which gets corrupted under certain conditions (sleep? kernel crash?). One guess for your issue is that maybe the linux boot process isnt detecting the subcodec chip (ie the cs42l83 chip) and sets the subsystem id to the main device id in that case - because eg the subcodec chip is powered off. The new base kernel cs8409 module (for Dell laptops) does have some sleep handling with some specific code for the subcodec chip (in that case a cs42l42 - the non-proprietary version of the cs42l83). |
I'm running into the same problem on a When I reset the NVRAM, audio works for the first boot. Thereafter, it's dead again, until I reset the NVRAM again. @eado does your fix permanently fix it? I'd like to avoid having to install MacOS just for this. |
Hey! Thanks a ton for maintaining this driver. I've been trying to get it to work with an iMac19,2 (I think), but unfortunately I get no sound output. After loading the module, I do get an output device which wasn't there before, but nothing actually plays.
I had to make a few changes to get everything to compile:
sub_codec
:snd_hda_macbookpro/patch_cirrus/patch_cirrus_apple.h
Line 158 in 18f0201
snd_hda_macbookpro/patch_patch_cs8409.h.diff
Lines 427 to 429 in bcc755a
uname -a
:The only output in
dmesg
after loading the compiled module is:Let me know if there's anything else you need!
The text was updated successfully, but these errors were encountered: