Patch to fix the sound on this machine.
It requires sending the speaker and the headphone jack to the same nid.
Details
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Please confirm Philippe Michaud-Boudreault <pitwuu@gmail.com> as the correct author info for Git.
For my ASUS ROG GL553VE the following device hint fixed headset detection:
hint.hdaa.0.nid33.config="as=1 seq=15"
What information should I obtain to make it hardcoded, so other users wouldn't need to play with device.hints?
hostb0@pci0:0:0:0: class=0x060000 rev=0x05 hdr=0x00 vendor=0x8086 device=0x5910 subvendor=0x1043 subdevice=0x15e0 vendor = 'Intel Corporation' device = 'Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers' class = bridge subclass = HOST-PCI pcib1@pci0:0:1:0: class=0x060400 rev=0x05 hdr=0x01 vendor=0x8086 device=0x1901 subvendor=0x1043 subdevice=0x15e0 vendor = 'Intel Corporation' device = '6th-10th Gen Core Processor PCIe Controller (x16)' class = bridge subclass = PCI-PCI vgapci1@pci0:0:2:0: class=0x030000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x591b subvendor=0x1043 subdevice=0x15e0 vendor = 'Intel Corporation' device = 'HD Graphics 630' class = display subclass = VGA none0@pci0:0:8:0: class=0x088000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x1911 subvendor=0x1043 subdevice=0x15e0 vendor = 'Intel Corporation' device = 'Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model' class = base peripheral xhci0@pci0:0:20:0: class=0x0c0330 rev=0x31 hdr=0x00 vendor=0x8086 device=0xa12f subvendor=0x1043 subdevice=0x201f vendor = 'Intel Corporation' device = '100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller' class = serial bus subclass = USB pchtherm0@pci0:0:20:2: class=0x118000 rev=0x31 hdr=0x00 vendor=0x8086 device=0xa131 subvendor=0x1043 subdevice=0x15e0 vendor = 'Intel Corporation' device = '100 Series/C230 Series Chipset Family Thermal Subsystem' class = dasp ig4iic0@pci0:0:21:0: class=0x118000 rev=0x31 hdr=0x00 vendor=0x8086 device=0xa160 subvendor=0x1043 subdevice=0x15e0 vendor = 'Intel Corporation' device = '100 Series/C230 Series Chipset Family Serial IO I2C Controller' class = dasp none1@pci0:0:22:0: class=0x078000 rev=0x31 hdr=0x00 vendor=0x8086 device=0xa13a subvendor=0x1043 subdevice=0x15e0 vendor = 'Intel Corporation' device = '100 Series/C230 Series Chipset Family MEI Controller' class = simple comms ahci0@pci0:0:23:0: class=0x010601 rev=0x31 hdr=0x00 vendor=0x8086 device=0xa103 subvendor=0x1043 subdevice=0x15e0 vendor = 'Intel Corporation' device = 'HM170/QM170 Chipset SATA Controller [AHCI Mode]' class = mass storage subclass = SATA pcib2@pci0:0:28:0: class=0x060400 rev=0xf1 hdr=0x01 vendor=0x8086 device=0xa112 subvendor=0x1043 subdevice=0x15e0 vendor = 'Intel Corporation' device = '100 Series/C230 Series Chipset Family PCI Express Root Port' class = bridge subclass = PCI-PCI pcib3@pci0:0:28:3: class=0x060400 rev=0xf1 hdr=0x01 vendor=0x8086 device=0xa113 subvendor=0x1043 subdevice=0x15e0 vendor = 'Intel Corporation' device = '100 Series/C230 Series Chipset Family PCI Express Root Port' class = bridge subclass = PCI-PCI pcib4@pci0:0:28:6: class=0x060400 rev=0xf1 hdr=0x01 vendor=0x8086 device=0xa116 subvendor=0x1043 subdevice=0x15e0 vendor = 'Intel Corporation' device = '100 Series/C230 Series Chipset Family PCI Express Root Port' class = bridge subclass = PCI-PCI isab0@pci0:0:31:0: class=0x060100 rev=0x31 hdr=0x00 vendor=0x8086 device=0xa152 subvendor=0x1043 subdevice=0x15e0 vendor = 'Intel Corporation' device = 'HM175 Chipset LPC/eSPI Controller' class = bridge subclass = PCI-ISA none2@pci0:0:31:2: class=0x058000 rev=0x31 hdr=0x00 vendor=0x8086 device=0xa121 subvendor=0x1043 subdevice=0x15e0 vendor = 'Intel Corporation' device = '100 Series/C230 Series Chipset Family Power Management Controller' class = memory hdac0@pci0:0:31:3: class=0x040380 rev=0x31 hdr=0x00 vendor=0x8086 device=0xa171 subvendor=0x1043 subdevice=0x15e0 vendor = 'Intel Corporation' device = 'CM238 HD Audio Controller' class = multimedia subclass = HDA ichsmb0@pci0:0:31:4: class=0x0c0500 rev=0x31 hdr=0x00 vendor=0x8086 device=0xa123 subvendor=0x1043 subdevice=0x15e0 vendor = 'Intel Corporation' device = '100 Series/C230 Series Chipset Family SMBus' class = serial bus subclass = SMBus vgapci0@pci0:1:0:0: class=0x030200 rev=0xa1 hdr=0x00 vendor=0x10de device=0x1c8c subvendor=0x1043 subdevice=0x15e0 vendor = 'NVIDIA Corporation' device = 'GP107M [GeForce GTX 1050 Ti Mobile]' class = display subclass = 3D iwm0@pci0:2:0:0: class=0x028000 rev=0x59 hdr=0x00 vendor=0x8086 device=0x095a subvendor=0x8086 subdevice=0x5010 vendor = 'Intel Corporation' device = 'Wireless 7265' class = network re0@pci0:3:0:0: class=0x020000 rev=0x15 hdr=0x00 vendor=0x10ec device=0x8168 subvendor=0x1043 subdevice=0x200f vendor = 'Realtek Semiconductor Co., Ltd.' device = 'RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller' class = network subclass = ethernet rtsx0@pci0:4:0:0: class=0xff0000 rev=0x01 hdr=0x00 vendor=0x10ec device=0x5229 subvendor=0x1043 subdevice=0x202f vendor = 'Realtek Semiconductor Co., Ltd.' device = 'RTS5229 PCI Express Card Reader'
Hello,
I'm trying to get sound from my speakers on a Lenovo 5 (intel i7), headphones works ok.
Could you take a look at my logs to help me getting a sysctl value to try it?
https://people.freebsd.org/~eduardo/logs/speakers/
Thanks,
Nuno Teixeira
it works same way for a legion 5 intel version:
hint.hdaa.1.nid20.config="as=1 seq=0" hint.hdaa.1.nid33.config="as=1 seq=15"
How can I find device id for this legion like
#define LENOVO_L5AMD_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x381b)
Thanks
In my case I ran pciconf -lv and found a device with multimedia class:
hdac0@pci0:0:31:3: class=0x040380 rev=0x31 hdr=0x00 vendor=0x8086 device=0xa171 subvendor=0x1043 subdevice=0x15e0 vendor = 'Intel Corporation' device = 'CM238 HD Audio Controller' class = multimedia subclass = HDA
The subdevice=0x15e0 part turned out to be the correct value for that switch.
Hi,
Thanks, I've got some help on current mailing. Tomorrow I will add same patch above with:
#define LENOVO_L5INTEL_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x380f)
hdac1@pci0:0:31:3: class=0x040380 rev=0x00 hdr=0x00 vendor=0x8086 device=0x06c8 subvendor=0x17aa subdevice=0x380f vendor = 'Intel Corporation' device = 'Comet Lake PCH cAVS' class = multimedia subclass = HDA
And see if it works.
Just a question: is there naming rules for: LENOVO_L5AMD_SUBVENDOR, LENOVO_L5INTEL_SUBVENDOR defines? I follow L5AMD example and create my own L5INTEL. Is this correct?
Thanks