[Gelöst] Fehlermeldung durch DAC (Qudelix 5k) /Arch Linux

Miyamoto

Enthusiast
Thread Starter
Mitglied seit
29.03.2005
Beiträge
154
Ich setze gerade ein Arch Linux auf einem Alder Lake-System auf und habe dabei einige Kernel-Warnungen (also Fehler-Level 4, warning), wenn ich das journal befrage:

ENERGY_PERF _BIAS: Set to 'normal', was 'performance'
pnp 00:03: disabling [mem 0x0000000-0xcfffffff] because it overlaps 0000:00:02.0 BAR 9 [mem 0x0000000-0xcfffffff 64bit pref]
usb: port power management may be unreliable
nvme nvme1: missing or invalid SUBNQN field.
memfd_create() without MFD_EXEC nor MFD_NOEXEC_SEAL, pid=1 'systemd"
platform regulatory. 0: Direct firmware load for regulatory.db failed with error -2
perf uncore: Cannot find matched IMC device (4 x nacheinander)


Bei diesen Warnungen weiß ich inzwischen (aus der leidvollen Erfahrung heraus, einen Weg finden zu wollen, sie verschwinden zu lassen), dass ich sie getrost ignorieren kann.
(Ich hab sie Euch dennoch mal hin kopiert - vielleicht hat ja der Eine oder Andere doch ne Idee, wie ich die Warnungen weg kriege ... hihi)

Jetzt habe ich allerdings eine Hardware, die einen Fehler (Level 3, error) erzeugt, nämlich einen Qudelix 5k-Dac:
Herstellerseite
Auf diesen DAC bin ich, mehr oder minder angewiesen, weil er die einzige bezahlbare DAC-Hardware ist (die ich kenne), die einen integrierten EQ hat (den brauch ich u.a., weil ich schon ein alter Mann bin, der ab 4khz nicht mehr viel hört...
:LOL:)
Die Fehlermeldung: cannot set freq 96000 to ep 0x3 (legt mich nicht auf die "3" fest; hab das gerade aus dem Gedächtnis geschrieben)
Stecke ich den DAC aus, ist die Fehlermeldung verschwunden. Das gleiche Spiel, wenn ich USB-Lautsprecher (Audioengine A2+) direkt anschließe (dann ist der Wert hinter "to ep" nur anders).
Bei einem IBasso-DAC und einem Bluetooth-DAC von Fiio habe ich keine Fehlermeldung (obwohl die auch die 96 Khz unterstützen)... komisch.

Hat jemand ne Idee, was da schief läuft? Und weiß jemand, unter welchen Umständen ich die Fehlermeldung auch ignorieren kann? (ja, ich weiß... wenn sonst alles rund läuft :ROFLMAO:; aber ich würde gern auf Nummer Sicher gehen.)

Dankeschön im Voraus!
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Hat jemand ne Idee, was da schief läuft? Und weiß jemand, unter welchen Umständen ich die Fehlermeldung auch ignorieren kann?
Möglicherweise die gleiche Geschichte wie hier: https://lkml.org/lkml/2023/6/1/669
Kannst ja mal schauen, ob du die Meldung mit dem Patch immer noch bekommst.
Allerdings wird der dann ggf. auf anderen Geräten mit verbuggter Firmware zu Problemen führen, siehe die letzte Mail in dem Thread.
Solange das Teil einwandfrei funktioniert ist ignorieren also vermutlich die beste Option.

Ansonsten wäre der USB Descriptor (lsusb -vd <vid>:<pid>) wohl mal ein Anlaufpunkt, um rauszufinden, ob auf dem spezifischen Endpoint tatsächlich 96 kHz unterstützt werden (sollten).
vielleicht hat ja der Eine oder Andere doch ne Idee, wie ich die Warnungen weg kriege
platform regulatory. 0: Direct firmware load for regulatory.db failed with error -2 sollte eigentlich mit aktuell-ish-em (so die letzten 5 Jahre) wireless-regdb Paket nicht vorkommen. Sind usr/lib/firmware/regulatory.db und usr/lib/firmware/regulatory.db.p7s vorhanden?
 
Dankeschön schon mal! :-)
platform regulatory. 0: Direct firmware load for regulatory.db failed with error -2 sollte eigentlich mit aktuell-ish-em (so die letzten 5 Jahre) wireless-regdb Paket nicht vorkommen. Sind usr/lib/firmware/regulatory.db und usr/lib/firmware/regulatory.db.p7s vorhanden?
Das war's tatsächlich... wireless-regdb war noch nicht installiert... das kommt halt davon, wenn man mit (gefährlichem) Halbwissen Arch "händisch" installiert.
Ansonsten wäre der USB Descriptor (lsusb -vd <vid>:<pid>) wohl mal ein Anlaufpunkt, um rauszufinden, ob auf dem spezifischen Endpoint tatsächlich 96 kHz unterstützt werden (sollten).
Bus 001 Device 010: ID 0a12:4003 Cambridge Silicon Radio, Ltd Qudelix-5K USB DAC 96KHz
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0a12 Cambridge Silicon Radio, Ltd
idProduct 0x4003
bcdDevice 19.70
iManufacturer 1 QTIL
iProduct 8 Qudelix-5K USB DAC 96KHz
iSerial 3 ABCDEF0123456789
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x00a0
bNumInterfaces 4
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 0
iInterface 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 0x0028
bInCollection 1
baInterfaceNr(0) 1
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 10
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 2
bSourceID 1
bControlSize 1
bmaControls(0) 0x03
Mute Control
Volume Control
bmaControls(1) 0x00
bmaControls(2) 0x00
iFeature 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 3
wTerminalType 0x0301 Speaker
bAssocTerminal 0
bSourceID 2
iTerminal 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 7 Qudelix-5K USB DAC 96KHz
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 7 Qudelix-5K USB DAC 96KHz
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 1
bDelay 0 frames
wFormatTag 0x0001 PCM
AudioStreaming Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 3
bBitResolution 24
bSamFreqType 1 Discrete
tSamFreq[ 0] 96000
AudioStreaming Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
Sampling Frequency
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 0x0000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 9
Transfer Type Isochronous
Synch Type Adaptive
Usage Type Data
wMaxPacketSize 0x0240 1x 576 bytes
bInterval 1
bRefresh 0
bSynchAddress 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 69
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 8
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 91
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x89 EP 9 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Device Status: 0x0001
Self Powered
/SPOILER]

Da kann ich, als Laie, zwar Einiges rauslesen... wüsste aber nicht, wo genau man die Info zu den Frequenzen findet
;)
Aber der Qudelix müsste 96Khz unterstützen (steht ja schon im Namen).
Da ich allerdings noch nie in Arch etwas gepatcht habe und mich dazu erstmal ordentlich einlesen muss, bleibe ich lieber beim Status Quo und zieh die Scheuklappen an. Ich brauche ja nur eine saubere Stereo-Ausgabe mit EQ; und die habe ich ja...
Dennoch ein großes Dankeschön an Dich, lieber YCbCr![
 
Das war's tatsächlich... wireless-regdb war noch nicht installiert...
In dem Fall willst du dir ggf. auch nochmal https://wiki.archlinux.org/title/Network_configuration/Wireless#Respecting_the_regulatory_domain anschauen, um das ganze auch korrekt zu konfigurieren.
Und mach dir keinen Kopf, dass du davon bisher noch nichts wusstest. Sich mit solchen Dingen auseinandersetzten und dabei was dazu zu lernen ist ja irgendwie auch ein Grund warum man Arch benutzt.
Da kann ich, als Laie, zwar Einiges rauslesen... wüsste aber nicht, wo genau man die Info zu den Frequenzen findet
Erstmal als kleiner Tipp: Wenn du solche Ausgaben hier im Forum als Code formatierst (das </> Symbol in der Werkzeugleiste) behältst du die Formatierung das Ergebnis ist besser lesbar.
Der USB Deskriptor sieht erstaunlich gut aus. Bei meinen DACs anderen USB-Audiogeräten sind die deutlich unvollständiger und teilweise auch fehlerhaft.
24 bit 96 kHz (tSamFreq[ 0] 96000) ist dort auch als einzige nativ unterstützte Sample Rate angegeben. Und EP 3 ist der einzige iso out Endpoint, das sollte also auch passen.
Da ich allerdings noch nie in Arch etwas gepatcht habe und mich dazu erstmal ordentlich einlesen muss, bleibe ich lieber beim Status Quo und zieh die Scheuklappen an.
Das ist unter Arch eigentlich gar nicht so schwierig, speziell wenn man schon mal das AUR verwendet hat.

Als Abhängigkeiten brauchst du base-devel und git.

Wenn du dann z.B. das Standard-Kernelpaket (linux) in der Version 6.4.2.arch1-1 patchen willst musst du nur (in einem Arbeitsverzeichnis)

Das Git-Repository mit den Paketquellen Klonen:
git clone --branch=6.4.2.arch1-1 https://gitlab.archlinux.org/archlinux/packaging/packages/linux.git
in das lokale repo wechseln:
cd linux
Den Patch aus der Email oben in linux abspeichern, z.B. als usb_init_sample_rate_after_interface.patch
In der PKGBUILD Datei die Patchdatei als Zeile unter source hinzufügen:
Bash:
source=(
  "$_srcname::git+https://github.com/archlinux/linux?signed#tag=$_srctag"
  config  # the main kernel config file
  "usb_init_sample_rate_after_interface.patch"
)
Die Prüfsummen inkl. Patch neu berechnen lassen:
updpkgsums
Und schließlich wie ein AUR Paket bauen:
makepkg -src
(siehe makepkg --help was die Optionen machen)
Das liefert dann 3 Pakete (linux, linux-headers & linux-docs), die man mit pacman -U installieren kann. In dem Fall wird eigentlich nur linux benötigt. Deshalb kann man noch etwas Zeit und Speicherplatz sparen, wenn man die -docs und -headers Zeilen unter pkgname im PKGBUILD auskommentiert / löscht.

Einfacher 7-Schritt Prozess:fresse:

Tipp: Falls noch nicht passiert in /etc/makepkg.conf die auskommentierte MAKEFLAGS= Zeile durch MAKEFLAGS="-j$(nproc)" ersetzen, sonst dauert das ewig.

Nach dem Testen solltest du dann aber wieder den normalen Kernel installieren.
Im Prinzip erfähst du eh nur, dass du die Meldung einfach ignorieren kannst, wenn sie mit dem gepatcheten Kernel verschwindet. Das ändert ja nichts am Status Quo
 
Zuletzt bearbeitet:
Wow! Tausend Dank für die ausführliche Anleitung und für Deine netten Worte!
Ich werde das Ganze bald ausprobieren... kann aber noch eine Weile dauern. Sei mir also bitte nicht böse, wenn erst mal kein Feedback von mir kommt - allerdings gilt hier: Keine Nachrichten sind gute Nachrichten.
Dankeschön ! :)
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh