• 2 Posts
  • 20 Comments
Joined 1 year ago
cake
Cake day: August 6th, 2023

help-circle
  • Yeah I’ve never had a missing driver problem with a windows install since maybe windows 7. I even moved a hard drive with a windows 8 install from an Asus laptop with an Intel cpu to a custom build desktop with a ryzen cpu without having to change any drivers. I did have to reactivate windows because of the hardware change but that’s it.

    The included drivers are often providing less performance than updated ones from the vendor though, so it is recommended to download those in some cases, specifically nvidia. But most gaming laptops will have a vendor provided update center to manage all of that for you.

    I like Linux over windows for a lot of reasons but this post is a bit silly.


  • Debian on a base model 2013 MacBook air checking in. Runs better than it ever did on Mac OS. Battery life is still fine. I did have to use proprietary drivers for some things (wifi and webcam) but other than that it was pretty much plug and play.

    Lots of replacement parts are on ebay for cheap, and there are a lot of repair tutorials on YouTube (and piped.video) I replaced keyboard and trackpad cheaply, and some of the internal cables.

    As far as drawbacks, if you have to replace the storage or or logic board, those are expensive. I have a sound issue which I haven’t been able to fix and from searching around it looks like a logic board would be required. Bluetooth headphones work fine though so I’m just dealing with it.









  • 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
    



  • 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


  • 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"
    
    







  • Good article. I have worked as a dev for over 10 years and have seen a LOT of really complicated spaghetti code that was only maintained by individuals in silos. Some used to joke about “job security” but I would rather my life not be a living nightmare unable to take vacation without keeping my work phone on me at all times because I’m the single person that knows how to fix a mission critical system. I’ve been there. It sucks for new people but it also sucks for the keepers of the tribal knowledge. It’s exhausting.

    Training, documenting, refactoring and replacing to eliminate that is good for everyone. If you are a good dev you won’t have to keep tribal knowledge to stay employed.