We have had a Macbook Air (A1466) laying around for years after it became useless due to not getting any more updates so modern browsers wouldn't run, etc. etc.

Today I decided to dust it off and install Ubuntu - that all went great. No issues with wifi drivers or anything. The only issues I am having are that I have no audio input or output (only device available is "dummy output") and no webcam.

I'm not really sure where to start. I have used linux before, but it has been years (Ubuntu 11 or 12 was the latest I ever touched).

Any suggestions?

EDIT:

This is what I get from running lspci -V

00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 09)
	Subsystem: Apple Inc. Haswell-ULT HD Audio Controller
	Flags: bus master, fast devsel, latency 0, IRQ 73
	Memory at b0a10000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [50] Power Management version 2
	Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit-
	Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel

00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 09)
	Subsystem: Apple Inc. Haswell-ULT HD Audio Controller
	Flags: bus master, fast devsel, latency 0, IRQ 73
	Memory at b0a10000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [50] Power Management version 2
	Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit-
	Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel

  • Jtskywalker@lemm.eeOP
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    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