Code: Select all
** Set $SOUND_CARD_IRQ to the IRQ of your soundcard to enable more checks.
Moderators: MattKingUSA, khz
Code: Select all
** Set $SOUND_CARD_IRQ to the IRQ of your soundcard to enable more checks.
Code: Select all
$ SOUND_CARD_IRQ=12 ./realTimeConfigQuickScan.pl
Code: Select all
$ SOUND_CARD_IRQ=129 ./realTimeConfigQuickScan.pl
Code: Select all
Can't locate QuickScanEngine.pm in @INC (you may need to install the QuickScanEngine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/x86_64-linux-gnu/perl5/5.28 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at ./realTimeConfigQuickScan.pl line 23.
BEGIN failed--compilation aborted at ./realTimeConfigQuickScan.pl line 23.
Code: Select all
$ SOUND_CARD_IRQ=129 perl -I ./ ./realTimeConfigQuickScan.pl
That sounds like https://github.com/raboof/realtimeconfi ... n/issues/8 which should be fixed in https://github.com/raboof/realtimeconfi ... an/pull/23 since december - are you on the latest version of the script?Nachei wrote:I tried raboof's command:
and I get:Code: Select all
$ SOUND_CARD_IRQ=129 ./realTimeConfigQuickScan.pl
Code: Select all
Can't locate QuickScanEngine.pm...
Great!Nachei wrote:Then I modified it, using the way to start the script that appears in the readme file:
And then it worksCode: Select all
$ SOUND_CARD_IRQ=129 perl -I ./ ./realTimeConfigQuickScan.pl
This just means it didn't find any problems. I agree this could be clearer. Do you think https://github.com/raboof/realtimeconfi ... an/pull/29 would help?Nachei wrote:all it does is suppressing the message "** Set $SOUND_CARD_IRQ ..." at the bottom. Does it mean there are no more tests available for my machine, or should I do something else?
Aw no! I will perhaps make a better one in the future.Nachei wrote:Thank you for the responses. The video is unfortunately unwatchable, at least for my eyes/screen I can't distinguish what the terminal says.
Aaah, nope, sorry, just noticed. I found that script a long time ago, and kept it in my computer; I didn't know that it was an "alive" project, and was afraid of not finding it later when I needed it, as I use it only the times I have to reinstall my audio distro (which I do as seldom as possible). I've tested the latest version now, and it works with both versions of the perl command (with or without the -I option). Other than that, the outputs are the same as in the older version.raboof wrote:are you on the latest version of the script?
Thank you for the addition, I haven't used GitHub in my life, but I finally figured out that I had to copy that piece of code and paste it in the script from line 73 (correct me if I'm wrong). The script says "did not find multiple, ok", so great on that side...raboof wrote:Do you think https://github.com/raboof/realtimeconfi ... an/pull/29 would help?
That would be great, I understand that you gods of Terminal only need an approximation to the thing, you can skip steps... But we poor power users sometimes thank being taken by the hand, command by command...CrockoDuck wrote:Aw no! I will perhaps make a better one in the future.
thetotalchaos wrote: just out of curiosity - What are those extra checks, that appear if you give the IRQ value properly?
----------Nachei wrote:...it works, but all it does is suppressing the message "** Set $SOUND_CARD_IRQ ..." at the bottom. Does it mean there are no more tests available for my machine, or should I do something else?
Code: Select all
GRUB_CMDLINE_LINUX_DEFAULT="threadirqs quiet elevator=noop"
As far as I am aware, the IRQ checks are still included in the latest version (me from the future: yep, they are, just checked). The IRQ check will check whether there is some hardware that shares the same IRQ as your audio device. IRQ is used by the OS to prioritize access to hardware, so ideally you do not want your sound device to have the same IRQ as other things, or these other things might steal priority away from the soundcard. In my experience, this IRQ tuning is not really that important, but mileage varies by system.thetotalchaos wrote:This seems to be removed in the latest versions of QuickScan. But just out of curiosity - What are those extra checks, that appear if you give the IRQ value properly?
Code: Select all
dmesg -wH
Code: Select all
[ +4.176360] usb 2-2: new high-speed USB device number 5 using xhci_hcd
[ +0.140814] usb 2-2: New USB device found, idVendor=1397, idProduct=0507, bcdDevice= 1.12
[ +0.000006] usb 2-2: New USB device strings: Mfr=1, Product=3, SerialNumber=0
[ +0.000004] usb 2-2: Product: UMC202HD 192k
[ +0.000003] usb 2-2: Manufacturer: BEHRINGER
Code: Select all
cat /proc/interrupts
Code: Select all
CPU0 CPU1 CPU2 CPU3
0: 6 0 0 0 IR-IO-APIC 2-edge timer
1: 0 9 0 0 IR-IO-APIC 1-edge i8042
8: 0 0 1 0 IR-IO-APIC 8-edge rtc0
9: 0 1231 0 0 IR-IO-APIC 9-fasteoi acpi
12: 0 0 0 159 IR-IO-APIC 12-edge i8042
18: 0 0 0 0 IR-IO-APIC 18-fasteoi i801_smbus
23: 0 0 33 0 IR-IO-APIC 23-fasteoi ehci_hcd:usb1
40: 0 0 0 0 DMAR-MSI 0-edge dmar0
41: 0 0 0 0 DMAR-MSI 1-edge dmar1
42: 0 0 0 0 IR-PCI-MSI 458752-edge PCIe PME, pciehp
43: 0 0 0 0 IR-PCI-MSI 462848-edge PCIe PME
44: 0 0 0 0 IR-PCI-MSI 464896-edge PCIe PME
45: 0 0 0 99655 IR-PCI-MSI 327680-edge xhci_hcd
46: 176862 0 0 0 IR-PCI-MSI 512000-edge ahci[0000:00:1f.2]
47: 0 0 21 0 IR-PCI-MSI 360448-edge mei_me
48: 0 0 0 0 IR-PCI-MSI 1048576-edge enp2s0
49: 0 0 0 373 IR-PCI-MSI 442368-edge snd_hda_intel:card1
50: 85238 0 0 0 IR-PCI-MSI 32768-edge i915
51: 0 14993 0 0 IR-PCI-MSI 1572864-edge iwlwifi
52: 0 0 211 0 IR-PCI-MSI 49152-edge snd_hda_intel:card0
NMI: 0 0 0 0 Non-maskable interrupts
LOC: 188824 175136 193560 176545 Local timer interrupts
SPU: 0 0 0 0 Spurious interrupts
PMI: 0 0 0 0 Performance monitoring interrupts
IWI: 8417 60 186 50 IRQ work interrupts
RTR: 2 0 0 0 APIC ICR read retries
RES: 27161 43382 41311 31474 Rescheduling interrupts
CAL: 20740 21841 22411 22860 Function call interrupts
TLB: 40764 39825 38169 35888 TLB shootdowns
TRM: 0 0 0 0 Thermal event interrupts
THR: 0 0 0 0 Threshold APIC interrupts
DFR: 0 0 0 0 Deferred Error APIC interrupts
MCE: 0 0 0 0 Machine check exceptions
MCP: 4 5 5 5 Machine check polls
HYP: 0 0 0 0 Hypervisor callback interrupts
HRE: 0 0 0 0 Hyper-V reenlightenment interrupts
HVS: 0 0 0 0 Hyper-V stimer0 interrupts
ERR: 0
MIS: 0
PIN: 0 0 0 0 Posted-interrupt notification event
NPI: 0 0 0 0 Nested posted-interrupt event
PIW: 0 0 0 0 Posted-interrupt wakeup event
Code: Select all
env SOUND_CARD_IRQ=45 perl realTimeConfigQuickScan.pl
There haven't been many updates - I'm not actively tuning my system at the moment so there's not many lessons to encode. I'd be happy to accept contributions though!Nachei wrote:I didn't know that it was an "alive" projectraboof wrote:are you on the latest version of the script?
Thanks for reviewing, merged!Nachei wrote:Thank you for the addition, I haven't used GitHub in my life, but I finally figured out that I had to copy that piece of code and paste it in the script from line 73 (correct me if I'm wrong). The script says "did not find multiple, ok", so great on that side...raboof wrote:Do you think https://github.com/raboof/realtimeconfi ... an/pull/29 would help?
The output is now clearer with https://github.com/raboof/realtimeconfi ... l/29/files : when the IRQ is specified, the script checks there's no other modules using the same IRQ.Nachei wrote:thetotalchaos wrote: just out of curiosity - What are those extra checks, that appear if you give the IRQ value properly?
other than removing the "**set $SOUND_CARD_IRQ..." message, the script shows no change
It's certainly way less essential than it used to be, though it may still help. Perhaps add a note to https://wiki.linuxaudio.org/wiki/system ... ime_kernel ?Nachei wrote:the whole QuickScan script and everything shows "good", except "Kernel with Real-Time Preemption", which, if I'm correct, is no longer needed
Cool! Would be nice if someone could add that to the script?Nachei wrote:In addition to this, as my computer has SSD, I applied this optimization for SSD viewtopic.php?t=14970 by Crocoduck I found via his site (https://thecrocoduckspond.wordpress.com ... dio-16-04/. Great article, by the way):
Stability has been greatly improvedCode: Select all
GRUB_CMDLINE_LINUX_DEFAULT="threadirqs quiet elevator=noop"
It's hard to say - better monitoring tools for this would be so nice!Nachei wrote:I still get occasional pops and Xruns, which I don't know where they come from.
I had a problem like this with a video and solved it by changing the quality setting at the bottom.Nachei wrote:Thank you for the responses. The video is unfortunately unwatchable, at least for my eyes/screen I can't distinguish what the terminal says. So I tried raboof's command:
and I get:Code: Select all
$ SOUND_CARD_IRQ=129 ./realTimeConfigQuickScan.pl
Then I modified it, using the way to start the script that appears in the readme file:Code: Select all
Can't locate QuickScanEngine.pm in @INC (you may need to install the QuickScanEngine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/x86_64-linux-gnu/perl5/5.28 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at ./realTimeConfigQuickScan.pl line 23. BEGIN failed--compilation aborted at ./realTimeConfigQuickScan.pl line 23.
And then it works, but all it does is suppressing the message "** Set $SOUND_CARD_IRQ ..." at the bottom. Does it mean there are no more tests available for my machine, or should I do something else? Thank you.Code: Select all
$ SOUND_CARD_IRQ=129 perl -I ./ ./realTimeConfigQuickScan.pl
Code: Select all
cat /proc/interrupts
Code: Select all
snd_hda_intel:card0
Code: Select all
[ago 4 05:24] usb 1-1: new high-speed USB device number 6 using xhci_hcd
[ +0,126641] usb 1-1: New USB device found, idVendor=17cc, idProduct=1001, bcdDevice= 0.32
[ +0,000002] usb 1-1: New USB device strings: Mfr=12, Product=7, SerialNumber=13
[ +0,000001] usb 1-1: Product: Komplete Audio 6
[ +0,000000] usb 1-1: Manufacturer: Native Instruments
[ +0,000001] usb 1-1: SerialNumber: 18A7AB36
Code: Select all
[ +0,017013] usb 1-1: cannot get ctl value: req = 0x83, wValue = 0x806, wIndex = 0xd00, type = 4
[ +0,000003] usb 1-1: 13:0: cannot get min/max values for control 8 (id 13)
[ +0,000154] usb 1-1: cannot get ctl value: req = 0x83, wValue = 0xb01, wIndex = 0xd00, type = 4
[ +0,000001] usb 1-1: 13:0: cannot get min/max values for control 11 (id 13)
[ +0,000191] usb 1-1: cannot get ctl value: req = 0x83, wValue = 0xc01, wIndex = 0xd00, type = 4
[ +0,000002] usb 1-1: 13:0: cannot get min/max values for control 12 (id 13)
I have no idea about what that means, to be honest. If you have no trouble, just leave it. My guess is that your interface has some hardware control that the Kernel doesn't know how to handle properly. If you do not experience reduction in functionality or performance, just leave it.Nachei wrote:Code: Select all
[ +0,017013] usb 1-1: cannot get ctl value: req = 0x83, wValue = 0x806, wIndex = 0xd00, type = 4 [ +0,000003] usb 1-1: 13:0: cannot get min/max values for control 8 (id 13) [ +0,000154] usb 1-1: cannot get ctl value: req = 0x83, wValue = 0xb01, wIndex = 0xd00, type = 4 [ +0,000001] usb 1-1: 13:0: cannot get min/max values for control 11 (id 13) [ +0,000191] usb 1-1: cannot get ctl value: req = 0x83, wValue = 0xc01, wIndex = 0xd00, type = 4 [ +0,000002] usb 1-1: 13:0: cannot get min/max values for control 12 (id 13)
Ha! Oldest trick in the book.Nachei wrote:you're welcome, and I'm happy that now I can add GitHub and perl to my resume, just because I copy-pasted some stuff...