@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 :
[email protected]:vfio_region_write (0000:00:1f.3:region0+0x48, 0xad, 2)
[email protected]:vfio_region_write (0000:00:1f.3:region0+0x20,
0x40000000, 4)
[email protected]:vfio_region_write (0000:00:1f.3:region0+0x5d, 0x1, 1)
I get more information, like this :
[email protected]: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
[email protected]: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)
[email protected]: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 : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp