@gannon1 I am tracking what your saying concept wise. Here is a summary of what I did today, in part just to help me clarify my thoughts and in part so you can maybe correct any gaps and save me troubleshooting time :).
- I have gone through all the documents in the wiki for QemuHDADump and as far as I can tell it is running as expected on my PC and creating good logs. I am able to see the logging happening in real-time and I get the frame binary files. I am also able to use his extract and format programs to "see" the data as text. As an example, the attached file named CORB has the final formatted output from disabling and re- enabling the realtek device in windows.... - Looking at the HDA spec, this seems to be the only detailed description of the CORB entries : HDA Spec CORB 32 bit format The controller generated (outbound) Verb format Bits 31:28 Codec Address Bits 27:20 Node ID Bits 19:0 Verb Payload It is not currently clear to me how to parse the "verb payload" or how to map these CORB values into anything useful. - Several of the documents you listed and your comments mention playing back or using the values to turn on the sound. I assume (maybe incorrectly), that we are trying to a) produce a list of HDA Verb commands that match each CORB entry to prove the sound turns on and then B) work to whittle down the list to the minimum required ones. Part B will be effort, but I think that will just be applied time once we achieve Part A. For Part A, again my assumption, we are trying to convert CORB values into the HDA Verb format : HDA Verb format The hwdep device name The widget NID The verb The parameter - Since I was stuck on what to do with the output from QemuHDADump, I went back and read the other articles more, specifically the BSD article. That author took a different approach and instead of using the QemuHDADump program, he just altered Qemu to give him more info in the output. His source code was available so I worked with that to try and replicate his results. I couldn't just use his common.c file directly because we are on different version of qemu, but I was able to modify the common.c file on my version of qemu, and then remake qemu successfully. So now, instead of just getting lines like this : 15469@1598294292.270884:vfio_region_write (0000:00:1f.3:region0+0x48, 0xad, 2) 15469@1598294292.270975:vfio_region_write (0000:00:1f.3:region0+0x20, 0x40000000, 4) 15469@1598294292.270983:vfio_region_write (0000:00:1f.3:region0+0x5d, 0x1, 1) I get more information, like this : 15469@1598294292.272359:vfio_region_write (0000:00:1f.3:region0+0x5d, 0x1, 1) RIRBWP advance to 185, last WP 183 CORB caddr:0x9 nid:0x47 control:0x407 param:0x20 response:0x64756c63 (ex 0x6f466465) CORB caddr:0x0 nid:0x0 control:0x1 param:0xe6 response:0x65735572 (ex 0x544e4900) RIRBWP advance to 185, last WP 185 RIRBWP advance to 185, last WP 185 RIRBWP advance to 185, last WP 185 15469@1598294292.272436:vfio_region_write (0000:00:1f.3:region0+0x20, 0xc0000000, 4) CORBWP advance to 187, last WP 185 CORB[186] = 0x0 (caddr:0x0 nid:0x0 control:0x0 param:0x0) CORB[187] = 0x0 (caddr:0x0 nid:0x0 control:0x0 param:0x0) 15469@1598294292.272522:vfio_region_write (0000:00:1f.3:region0+0x48, 0xbb, 2) I think the most useful parts here are the CORB[] lines (for example) : CORB[218] = 0x9cac8480 (caddr:0x9 nid:0x4a control:0xc84 param:0x80) This would at least seem like it could be mapped to an HDA verbs, maybe like so sudo hda-verb /dev/snd/hwC0D0 0x4a 0xc84 0x80 - So with that change, I then recorded all the traffic during a re- enable of the realtek devices in windows (I will attach files named Enable and Disable). I then wrote a script to pull out the CORB[x] lines from the log and to produce a new script with all the mapped HDA Verbs. This generated 2034 HDA Verb commands (just on the re-enable of the windows realtek device... yikes... ) - Anyway, I ran the script of 2034 HDA Verb commands on my PC. No errors, but unfortunately no sounds came out of the speakers. Very likely I just mapped the values to my HDA verbs incorrectly, I am just guessing on how to do that, or possibly the specific action we need does not happen on a re-enable. Anyway, thoughts? Do you have any more clarity on how to replay the CORB commands? I can try this all again with a suspend and resume, but suspect that will be a lot of CORB values.... ** Attachment added: "CORB" https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1851518/+attachment/5404231/+files/CORB -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1851518 Title: [950SBE/951SBE, Realtek ALC298, Speaker, Internal] No sound on internal speakers, very very quiet on headphones Status in linux package in Ubuntu: Confirmed Bug description: I've been googling this issue for 10's of hours and tried many things. Relase of Ubuntu: 19.10 Expected outcome: Music plays on the internal speakers and headphones. Actual outcome: I can barely hear audio using headphones with volume turned up to 150%. Absolutely nothing comes out of the speakers. (The speakers sound great under Windows 10.) Complete alsa-info output is attached, but here are some snippets: !!DMI Information !!--------------- Manufacturer: SAMSUNG ELECTRONICS CO., LTD. Product Name: 950SBE/951SBE Product Version: P06RES Firmware Version: P06RES.075.190529.SP Board Vendor: SAMSUNG ELECTRONICS CO., LTD. Board Name: NP950SBE-K01US !!Kernel Information !!------------------ Kernel release: 5.3.0-19-generic Operating System: GNU/Linux Architecture: x86_64 Processor: x86_64 SMP Enabled: Yes !!ALSA Version !!------------ Driver version: k5.3.0-19-generic Library version: 1.1.9 Utilities version: 1.1.9 !!Loaded ALSA modules !!------------------- snd_hda_intel !!Sound Servers on this system !!---------------------------- Pulseaudio: Installed - Yes (/usr/bin/pulseaudio) Running - Yes !!Soundcards recognised by ALSA !!----------------------------- 0 [PCH ]: HDA-Intel - HDA Intel PCH HDA Intel PCH at 0x604b118000 irq 177 !!PCI Soundcards installed in the system !!-------------------------------------- 00:1f.3 Multimedia audio controller: Intel Corporation Cannon Point-LP High Definition Audio Controller (rev 11) !!Advanced information - PCI Vendor/Device/Subsystem ID's !!------------------------------------------------------- 00:1f.3 0401: 8086:9dc8 (rev 11) DeviceName: Onboard - Sound !!HDA-Intel Codec information !!--------------------------- --startcollapse-- Codec: Realtek ALC298 Address: 0 AFG Function Id: 0x1 (unsol 1) Vendor Id: 0x10ec0298 Subsystem Id: 0x144dc812 Revision Id: 0x100103 No Modem Function Group found Default PCM: rates [0x60]: 44100 48000 bits [0xe]: 16 20 24 formats [0x1]: PCM Default Amp-In caps: N/A Default Amp-Out caps: N/A State of AFG node 0x01: Power states: D0 D1 D2 D3 D3cold CLKSTOP EPSS Power: setting=D0, actual=D0 GPIO: io=8, o=0, i=0, unsolicited=1, wake=0 IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[4]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[5]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[6]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 IO[7]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0 Node 0x02 [Audio Output] wcaps 0x41d: Stereo Amp-Out Control: name="Headphone Playback Volume", index=0, device=0 ControlAmp: chs=3, dir=Out, idx=0, ofs=0 Device: name="ALC298 Analog", type="Audio", device=0 Amp-Out caps: ofs=0x7f, nsteps=0x7f, stepsize=0x01, mute=0 Amp-Out vals: [0x00 0x00] Converter: stream=1, channel=0 PCM: rates [0x60]: 44100 48000 bits [0xe]: 16 20 24 formats [0x1]: PCM Power states: D0 D1 D2 D3 EPSS Power: setting=D0, actual=D0 Node 0x03 [Audio Output] wcaps 0x41d: Stereo Amp-Out Control: name="Speaker Playback Volume", index=0, device=0 ControlAmp: chs=3, dir=Out, idx=0, ofs=0 Amp-Out caps: ofs=0x7f, nsteps=0x7f, stepsize=0x01, mute=0 Amp-Out vals: [0x7f 0x7f] Converter: stream=1, channel=0 ProblemType: Bug DistroRelease: Ubuntu 19.10 Package: alsa-base 1.0.25+dfsg-0ubuntu5 ProcVersionSignature: Ubuntu 5.3.0-19.20-generic 5.3.1 Uname: Linux 5.3.0-19-generic x86_64 ApportVersion: 2.20.11-0ubuntu8.2 Architecture: amd64 AudioDevicesInUse: USER PID ACCESS COMMAND /dev/snd/controlC0: martin 1383 F.... pulseaudio CurrentDesktop: ubuntu:GNOME Date: Wed Nov 6 06:20:08 2019 InstallationDate: Installed on 2019-11-03 (3 days ago) InstallationMedia: Ubuntu 19.10 "Eoan Ermine" - Release amd64 (20191017) PackageArchitecture: all ProcEnviron: TERM=xterm-256color PATH=(custom, no user) XDG_RUNTIME_DIR=<set> LANG=en_US.UTF-8 SHELL=/bin/bash SourcePackage: alsa-driver Symptom: audio Symptom_AlsaPlaybackTest: ALSA playback test through plughw:PCH failed Symptom_Card: Built-in Audio - HDA Intel PCH Symptom_DevicesInUse: USER PID ACCESS COMMAND /dev/snd/controlC0: martin 1383 F.... pulseaudio Symptom_Jack: Speaker, Internal Symptom_Type: No sound at all Title: [950SBE/951SBE, Realtek ALC298, Speaker, Internal] No sound at all UpgradeStatus: No upgrade log present (probably fresh install) dmi.bios.date: 05/29/2019 dmi.bios.vendor: American Megatrends Inc. dmi.bios.version: P06RES.075.190529.SP dmi.board.asset.tag: No Asset Tag dmi.board.name: NP950SBE-K01US dmi.board.vendor: SAMSUNG ELECTRONICS CO., LTD. dmi.board.version: SGL9849A0Q-C01-G003-S0001+10.0.17763 dmi.chassis.asset.tag: No Asset Tag dmi.chassis.type: 31 dmi.chassis.vendor: SAMSUNG ELECTRONICS CO., LTD. dmi.chassis.version: N/A dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvrP06RES.075.190529.SP:bd05/29/2019:svnSAMSUNGELECTRONICSCO.,LTD.:pn950SBE/951SBE:pvrP06RES:rvnSAMSUNGELECTRONICSCO.,LTD.:rnNP950SBE-K01US:rvrSGL9849A0Q-C01-G003-S0001+10.0.17763:cvnSAMSUNGELECTRONICSCO.,LTD.:ct31:cvrN/A: dmi.product.family: Notebook 9 Series dmi.product.name: 950SBE/951SBE dmi.product.sku: SCAI-A5A5-A5A5-A5A5-PRES dmi.product.version: P06RES dmi.sys.vendor: SAMSUNG ELECTRONICS CO., LTD. mtime.conffile..etc.modprobe.d.alsa-base.conf: 2019-11-05T23:13:55.854413 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1851518/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp