Have you read this? https://wiki.debian.org/InstallingDebianOn/Apple/MacBookAir/6-2
There is a link to the webcam kernel module there: https://github.com/patjak/facetimehd/wiki
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
Have you read this? https://wiki.debian.org/InstallingDebianOn/Apple/MacBookAir/6-2
There is a link to the webcam kernel module there: https://github.com/patjak/facetimehd/wiki
Thank you! The webcam is working fine now. still can't figure out the audio but I'll keep messing with it
Thank you for the help @infeeeee@lemm.ee @BaumGeist@lemmy.ml - I believe the issue with the audio is hardware related. I reinstalled Mac OSX using the built in recovery tool and that does not detect the sound card either. So sometime in between it being used last and me installing Ubuntu on it the hardware failed. I don't think I will bother replacing the logic board as it is a 10 year old laptop and is otherwise working just fine.
Regardless, it's good to be using Linux again!
Does alsamixer
allow you to change to the correct soundcard? What does pacmd list-cards
output?
I was able to get alsamixer to show the HDMI audio output by adding options snd-hda-intel model=generic
to the alsa-base.conf file, but that is all it can see, and that doesn't utilize the speakers on the laptop.
pacmd list-cards gives this - it looks like it is only the HDMI audio
1 card(s) available.
index: 0
name:
driver:
owner module: 22
properties:
alsa.card = "0"
alsa.card_name = "HDA Intel HDMI"
alsa.long_card_name = "HDA Intel HDMI at 0xb0a10000 irq 74"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:00:03.0"
sysfs.path = "/devices/pci0000:00/0000:00:03.0/sound/card0"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "0a0c"
device.product.name = "Haswell-ULT HD Audio Controller"
device.form_factor = "internal"
device.string = "0"
device.description = "Built-in Audio"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
profiles:
output:hdmi-stereo: Digital Stereo (HDMI) Output (priority 5900, available: unknown)
off: Off (priority 0, available: unknown)
active profile:
sinks:
alsa_output.pci-0000_00_03.0.hdmi-stereo/#1: Built-in Audio Digital Stereo (HDMI)
sources:
alsa_output.pci-0000_00_03.0.hdmi-stereo.monitor/#1: Monitor of Built-in Audio Digital Stereo (HDMI)
ports:
hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: unknown)
properties:
device.icon_name = "video-display"
Looks like some people had success setting their specific model (auto detection failed for whatever reason), try changing to options snd-hda-intel model=mba42
(or model=mba6
)—per kernel docs—in alsa-base.conf
. This may (read: "probably will") require a reboot for each model.
Should this not work: we may have to dig into dmesg
to figure out where it's erroring. This is currently beyond my remote troubleshooting ability (I don't know what I'm looking for, but might know it when I see it)... Also, will you please take note of the output from lsmod | grep 'snd'
during each attempt, and share what you find if they both fail?
Also per the docs: do headphones still work?
Thank you! I will try that out and read through those pages. I never had sound through speakers or headphones.
I also changed to regular Debian desktop to see if that would fix the issue per the post about someone getting the same model working on plain Debian with no audio issues, but the behavior is the same. The post was a few years old so I'm guessing it's a version difference.
I will reply back with those outputs when I have a chance to try this. Currently the laptop is kind of unwieldy to use as I accidentally broke the teackpad (or track pad cable) while replacing the keyboard so I'm waiting on parts. External inputs work I just need to clear space to set it up for troubleshooting
Didn't have any luck setting the model - I read through those doc pages you linked and a lot of it is over my head but I think I was able to learn a few things.
At this point - I am not seeing any of the errors mentioned anywhere - I only see HDMI audio as the only card and that is displaying no errors (this laptop doesn't have an HDMI port, only thunderbolt, and I don't have a cable or adapter to even test if that audio is working on an external monitor) I'm not sure if Linux is incorrectly reading the internal sound card as the HDMI output, if it's all on the same card and the internal output is not being read, or if the internal sound card is just totally not working (hardware issue) - To my knowledge there was no issue with audio on Mac OSX but this laptop hasn't been used in a while.
I really appreciate your time and if you want to continue helping I will put more info below, but I also understand if you don't want to think about it anymore 😄
I didn't see any of the errors mentioned on those pages when checking dmesg (assuming that is where they would be) - I read through all the errors, nothing related to sound that I could tell, and used grep to pull out the messages containing references to snd or audio, etc:
[ 10.711044] snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 12.579602] input: HDA Intel HDMI HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:03.0/sound/card0/input14
[ 12.605430] input: HDA Intel HDMI HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:03.0/sound/card0/input15
[ 12.605925] input: HDA Intel HDMI HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:03.0/sound/card0/input16
If you want I can put the whole dmesg here but it is a lot of text.
I also ran lsmod |grep 'snd'
after the changes and the result is exactly the same before any changes and after each change:
snd_hda_codec_hdmi 94208 1
snd_hda_intel 61440 1
snd_intel_dspcfg 36864 1 snd_hda_intel
snd_intel_sdw_acpi 20480 1 snd_intel_dspcfg
snd_hda_codec 204800 2 snd_hda_codec_hdmi,snd_hda_intel
snd_hda_core 135168 3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_hwdep 20480 1 snd_hda_codec
snd_pcm 192512 4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
snd_seq_midi 20480 0
snd_seq_midi_event 16384 1 snd_seq_midi
snd_rawmidi 53248 1 snd_seq_midi
snd_seq 94208 2 snd_seq_midi,snd_seq_midi_event
snd_seq_device 16384 3 snd_seq,snd_seq_midi,snd_rawmidi
snd_timer 49152 2 snd_seq,snd_pcm
snd 135168 11 snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_timer,snd_pcm,snd_rawmidi
soundcore 16384 1 snd
And here is the most recent pacmd list-cards
output:
1 card(s) available.
index: 0
name:
driver:
owner module: 7
properties:
alsa.card = "0"
alsa.card_name = "HDA Intel HDMI"
alsa.long_card_name = "HDA Intel HDMI at 0xb0a10000 irq 73"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:00:03.0"
sysfs.path = "/devices/pci0000:00/0000:00:03.0/sound/card0"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "0a0c"
device.product.name = "Haswell-ULT HD Audio Controller"
device.form_factor = "internal"
device.string = "0"
device.description = "Built-in Audio"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
profiles:
output:hdmi-stereo: Digital Stereo (HDMI) Output (priority 5900, available: no)
output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (priority 800, available: no)
output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (priority 800, available: no)
output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (priority 5700, available: no)
output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (priority 600, available: no)
output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (priority 600, available: no)
output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (priority 5700, available: no)
output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (priority 600, available: no)
output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (priority 600, available: no)
off: Off (priority 0, available: unknown)
active profile:
ports:
hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
hdmi-output-1: HDMI / DisplayPort 2 (priority 5800, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
hdmi-output-2: HDMI / DisplayPort 3 (priority 5700, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
Here are some screenshots of pavucontrol and alsamixer: https://imgur.com/a/W4mURaW
Also FWIW here is the alsa-base.conf:
# autoloader aliases
install sound-slot-0 /sbin/modprobe snd-card-0
install sound-slot-1 /sbin/modprobe snd-card-1
install sound-slot-2 /sbin/modprobe snd-card-2
install sound-slot-3 /sbin/modprobe snd-card-3
install sound-slot-4 /sbin/modprobe snd-card-4
install sound-slot-5 /sbin/modprobe snd-card-5
install sound-slot-6 /sbin/modprobe snd-card-6
install sound-slot-7 /sbin/modprobe snd-card-7
# Cause optional modules to be loaded above generic modules
install snd /sbin/modprobe --ignore-install snd $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-ioctl32 ; /sbin/modprobe --quiet --use-blacklist snd-seq ; }
#
# Workaround at bug #499695 (reverted in Ubuntu see LP #319505)
install snd-pcm /sbin/modprobe --ignore-install snd-pcm $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-pcm-oss ; : ; }
install snd-mixer /sbin/modprobe --ignore-install snd-mixer $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-mixer-oss ; : ; }
install snd-seq /sbin/modprobe --ignore-install snd-seq $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; /sbin/modprobe --quiet --use-blacklist snd-seq-oss ; : ; }
#
install snd-rawmidi /sbin/modprobe --ignore-install snd-rawmidi $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; : ; }
# Cause optional modules to be loaded above sound card driver modules
install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-emu10k1-synth ; }
install snd-via82xx /sbin/modprobe --ignore-install snd-via82xx $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq ; }
# Load saa7134-alsa instead of saa7134 (which gets dragged in by it anyway)
install saa7134 /sbin/modprobe --ignore-install saa7134 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist saa7134-alsa ; : ; }
# Prevent abnormal drivers from grabbing index 0
options bt87x index=-2
options cx88_alsa index=-2
options saa7134-alsa index=-2
options snd-atiixp-modem index=-2
options snd-intel8x0m index=-2
options snd-via82xx-modem index=-2
options snd-usb-audio index=-2
options snd-usb-caiaq index=-2
options snd-usb-ua101 index=-2
options snd-usb-us122l index=-2
options snd-usb-usx2y index=-2
# Ubuntu #62691, enable MPU for snd-cmipci
options snd-cmipci mpu_port=0x330 fm_port=0x388
# Keep snd-pcsp from being loaded as first soundcard
options snd-pcsp index=-2
# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=-2
# Troubleshooting
options snd-hda-intel model=mba6