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 = HDAThe 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 = HDAAnd 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