Asus Zenbook Q326FA Audio Line-in Issue

Hi, I am new to Manjaro and am currently dual-booting it alongside windows 10 on my laptop.

I want to listen to the audio from another device via line-in from a trs 3.5mm aux cable, however my system cannot detect any input. Windows is capable of doing this by configuring the jack as a microphone input then ticking “listen to this device”.

My audio device is using the realtek ALC294 codec. I have tried modifying the alsa-base config file in modprobe.d to include “options snd_hda_intel index=0 model=asus-zenbook”, but listening to the microphone input with the loopback module also yields no results.

I have also tried using hdajackretask to manually configure the disabled pins, and this did sort-of work by overriding pin 0x1a to a line-in configuration, but the audio output from this pin also includes the microphone channel, which introduces a loud buzzing sound alongside the input audio. configuring this pin as a microphone produces no audio at all.

I would appreciate any suggestions or workarounds.

Welcome to Manjaro Forum

The modprobe option model=asus-zenbook is for audio codec ALC269VB
ALC269VB_FIXUP_ASUS_ZENBOOK - patch_realtek.c - Linux source code (v5.10.26)
For ALC294 codec you probably want a different option

Please post response to this command to show system information

inxi -Faz

If you just want to hear audio capture inputs in headphones or speakers there should be audio playback controls in alsamixer to monitor audio from Line or Mic.
They are usually muted and level set to 0 by default
But the controls may not be available if the audio codec is retasked incorrectly

1 Like

I went ahead and changed my configurations back to normal and removed model=asus-zenbook.
the output of inxi -Faz is as follows:

System:
  Kernel: 5.11.6-1-MANJARO x86_64 bits: 64 compiler: gcc v: 10.2.0 
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.11-x86_64 
  root=UUID=615226c1-35c2-4d33-b320-44d201adaab2 rw quiet apparmor=1 
  security=apparmor udev.log_priority=3 
  Desktop: KDE Plasma 5.21.3 tk: Qt 5.15.2 wm: kwin_x11 vt: 1 dm: SDDM 
  Distro: Manjaro Linux base: Arch Linux 
Machine:
  Type: Convertible System: ASUSTeK product: ZenBook Q326FA_Q326FA v: 1.0 
  serial: <filter> 
  Mobo: ASUSTeK model: Q326FA v: 1.0 serial: <filter> 
  UEFI: American Megatrends v: Q326FA.305 date: 10/14/2019 
Battery:
  ID-1: BAT0 charge: 42.0 Wh (97.9%) condition: 42.9/50.0 Wh (85.7%) 
  volts: 11.9 min: 11.9 model: ASUSTeK ASUS Battery type: Li-ion 
  serial: N/A status: Not charging cycles: 56 
  Device-1: hid-0018:04F3:284E.0001-battery model: ELAN9008:00 04F3:284E 
  serial: N/A charge: N/A status: N/A 
CPU:
  Info: Quad Core model: Intel Core i7-8565U bits: 64 type: MT MCP 
  arch: Kaby Lake note: check family: 6 model-id: 8E (142) stepping: B (11) 
  microcode: DE cache: L2: 8 MiB 
  flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx 
  bogomips: 32012 
  Speed: 800 MHz min/max: 400/4600 MHz Core speeds (MHz): 1: 800 2: 800 
  3: 800 4: 800 5: 800 6: 800 7: 800 8: 800 
  Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled 
  Type: l1tf status: Not affected 
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable 
  Type: meltdown status: Not affected 
  Type: spec_store_bypass 
  mitigation: Speculative Store Bypass disabled via prctl and seccomp 
  Type: spectre_v1 
  mitigation: usercopy/swapgs barriers and __user pointer sanitization 
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, 
  IBRS_FW, STIBP: conditional, RSB filling 
  Type: srbds mitigation: Microcode 
  Type: tsx_async_abort status: Not affected 
Graphics:
  Device-1: Intel UHD Graphics 620 vendor: ASUSTeK driver: i915 v: kernel 
  bus-ID: 00:02.0 chip-ID: 8086:3ea0 class-ID: 0300 
  Device-2: IMC Networks USB2.0 HD IR UVC WebCam type: USB driver: uvcvideo 
  bus-ID: 1-5:4 chip-ID: 13d3:56cb class-ID: 0e02 serial: <filter> 
  Display: x11 server: X.Org 1.20.10 compositor: kwin_x11 driver: 
  loaded: intel unloaded: modesetting alternate: fbdev,vesa display-ID: :0 
  screens: 1 
  Screen-1: 0 s-res: 3840x1080 s-dpi: 96 s-size: 1013x285mm (39.9x11.2") 
  s-diag: 1052mm (41.4") 
  Monitor-1: eDP1 res: 1920x1080 hz: 60 
  Monitor-2: DP2 res: 1920x1080 dpi: 92 size: 530x300mm (20.9x11.8") 
  diag: 609mm (24") 
  OpenGL: renderer: Mesa Intel UHD Graphics 620 (WHL GT2) 
  v: 4.6 Mesa 20.3.4 direct render: Yes 
Audio:
  Device-1: Intel Cannon Point-LP High Definition Audio vendor: ASUSTeK 
  driver: snd_hda_intel v: kernel alternate: snd_soc_skl,snd_sof_pci 
  bus-ID: 00:1f.3 chip-ID: 8086:9dc8 class-ID: 0403 
  Device-2: Corsair VOID Surround USB Sound Adapter type: USB 
  driver: hid-generic,snd-usb-audio,usbhid bus-ID: 1-1:13 
  chip-ID: 1b1c:0a30 class-ID: 0300 serial: <filter> 
  Sound Server-1: ALSA v: k5.11.6-1-MANJARO running: yes 
  Sound Server-2: JACK v: 0.125.0 running: no 
  Sound Server-3: PulseAudio v: 14.2 running: yes 
  Sound Server-4: PipeWire v: 0.3.23 running: no 
Network:
  Device-1: Intel Cannon Point-LP CNVi [Wireless-AC] driver: iwlwifi 
  v: kernel port: 3000 bus-ID: 00:14.3 chip-ID: 8086:9df0 class-ID: 0280 
  IF: wlo1 state: up mac: <filter> 
Bluetooth:
  Device-1: Intel Bluetooth 9460/9560 Jefferson Peak (JfP) type: USB 
  driver: btusb v: 0.8 bus-ID: 1-10:5 chip-ID: 8087:0aaa class-ID: e001 
  Report: This feature requires one of these tools: hciconfig/bt-adapter 
Drives:
  Local Storage: total: 238.47 GiB used: 12.41 GiB (5.2%) 
  SMART Message: Unable to run smartctl. Root privileges required. 
  ID-1: /dev/sda maj-min: 8:0 vendor: Micron model: 1100 MTFDDAV256TBN 
  size: 238.47 GiB block-size: physical: 512 B logical: 512 B 
  speed: 6.0 Gb/s rotation: SSD serial: <filter> rev: A031 scheme: GPT 
Partition:
  ID-1: / raw-size: 20 GiB size: 19.52 GiB (97.59%) used: 9.01 GiB (46.2%) 
  fs: ext4 dev: /dev/sda6 maj-min: 8:6 
  ID-2: /boot/efi raw-size: 513 MiB size: 512 MiB (99.80%) 
  used: 300 KiB (0.1%) fs: vfat dev: /dev/sda5 maj-min: 8:5 
  ID-3: /home raw-size: 85.98 GiB size: 84.07 GiB (97.79%) 
  used: 3.39 GiB (4.0%) fs: ext4 dev: /dev/sda8 maj-min: 8:8 
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default) 
  ID-1: swap-1 type: partition size: 6 GiB used: 0 KiB (0.0%) priority: -2 
  dev: /dev/sda7 maj-min: 8:7 
Sensors:
  System Temperatures: cpu: 58.0 C mobo: N/A 
  Fan Speeds (RPM): cpu: 0 
Info:
  Processes: 237 Uptime: 8h 56m wakeups: 544 Memory: 15.42 GiB 
  used: 6.37 GiB (41.3%) Init: systemd v: 247 tool: systemctl Compilers: 
  gcc: 10.2.0 Packages: pacman: 1310 lib: 410 flatpak: 0 Shell: Bash 
  v: 5.1.0 running-in: konsole inxi: 3.3.03 

alsamixer controls to monitor Line are not available by default, and monitoring Mic produces no sound.

I have been using “The Linux Kernel” documentation for the patch options (linked in the arch wiki page for alsa), but is there a more detailed list of these patches I could use to find which use the ALC294 codec?

Can you please post ALSA information for this base state

sudo alsa-info.sh --upload

I could not find a model option for ALC294, but a modprobe option might conflict with retasking the jack so I would suggest trying to get the audio codec working with hdajackretask

I suggest you use tool to check if the jack connections are detected and working
(run this with jack plugged in and again with jack unplugged)

sudo hdajacksensetest --card=0

That will show pin numbers for working audio connections and should also show if the jack socket detects the jack plugged in

From that data, you should be able to retask the Headphone connection to Line In

1 Like

My alsa-info.sh file was uploaded here: http://alsa-project.org/db/?f=d5e53d4e97ccf485ded10f8b4a996338188e1fe7.

the output of “sudo hdajacksensetest --card=0” with the jack plugged in is as follows:

Pin 0x19 (Black Mic, Rear side): present = Yes
Pin 0x21 (Black Headphone, Left side): present = Yes

and the output without the jack plugged in:

Pin 0x19 (Black Mic, Rear side): present = Yes
Pin 0x21 (Black Headphone, Left side): present = No

in hdajackretask with the jack connected pin 0x19 does not appear in the gui as connected and pin 0x21 cannot be overridden to line-in unless “advanced override” is ticked.

Using advanced override to set pin 0x21 to line-in does not add any sources to alsamixer.

The data from alsa-info is showing pin 0x21 is shown as Amp-Out

Node 0x21: Stereo Amp-Out
Node 0x21 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0001001c: OUT HP EAPD Detect
  EAPD 0x2: EAPD
  Pin Default 0x03211020: [Jack] HP Out at Ext Left
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=01, enabled=1
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 2
     0x02* 0x03

This pin would support retasking to Line In if it was shown as Stereo Amp-In Amp-Out

I suggest you retask this pin as Not connected and retask pin 0x19 to Line In

Node 0x19: Stereo Amp-In
Node 0x19 [Pin Complex] wcaps 0x40048b: Stereo Amp-In
  Control: name="Headset Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00003724: IN Detect
    Vref caps: HIZ 50 GRD 80 100
  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=02, enabled=1
  Power states:  D0 D1 D2 D3 EPSS
  Power: setting=D0, actual=D0

Pin 0x19 can support a stereo input connection, but in default mode would only be capturing audio from a mono microphone, pin 0x20 would need to be deactivated to allow a stereo jack connection

If hdajackretask works to retask the jack connection the ALSA controls for headset audio playback and capture should be replaced with controls for Line-In

You can check for yourself in alsamixer

But if it does not appear as expected, post text information about ALSA controls

amixer --card=0
1 Like

I set pin 0x21 to disconnected and was able to set pin 0x19 to line-in, but pin 0x20 does not appear in hdajackretask when showing all devices.

The controls in alsamixer were properly updated to line-in related controls, but the output of 0x19 is just static, probably because of 0x20.

I tried setting all pins shown in the hdajackretask gui other than 0x19 as disconnected but I still only got static.