LinuxQuestions.org
Visit Jeremy's Blog.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 08-19-2022, 11:31 AM   #1
bigfoot
LQ Newbie
 
Registered: Aug 2022
Posts: 3

Rep: Reputation: 0
ASUS ROG Maximus Z690 - ALC4082 (sound codec)


Hello,

I am desperately trying to solve the following issue without finding any answers on the net.

First of all I am using pulseaudio and I have two speakers plugged in my rear through analog (jack - not s/pdif, usb or bluetooth).

The problem was that with the "actual" (without any modification) alsa-ucm saw as if I had a 7.1 setup. As a result the sound was really akward. I could not hear some of the sounds (depending on the context).

Thanks to this I was able to choose a setup with only two channels.

Another problem is that it seems that my analog port is not detected.

This is what lspci -nn returns:
Code:
00:00.0 Host bridge [0600]: Intel Corporation 12th Gen Core Processor Host Bridge/DRAM Registers [8086:4660] (rev 02)
00:01.0 PCI bridge [0604]: Intel Corporation 12th Gen Core Processor PCI Express x16 Controller #1 [8086:460d] (rev 02)
00:01.1 PCI bridge [0604]: Intel Corporation Device [8086:462d] (rev 02)
00:0a.0 Signal processing controller [1180]: Intel Corporation Platform Monitoring Technology [8086:467d] (rev 01)
00:0e.0 RAID bus controller [0104]: Intel Corporation Volume Management Device NVMe RAID Controller [8086:467f]
00:14.0 USB controller [0c03]: Intel Corporation Alder Lake-S PCH USB 3.2 Gen 2x2 XHCI Controller [8086:7ae0] (rev 11)
00:14.2 RAM memory [0500]: Intel Corporation Alder Lake-S PCH Shared SRAM [8086:7aa7] (rev 11)
00:15.0 Serial bus controller [0c80]: Intel Corporation Alder Lake-S PCH Serial IO I2C Controller #0 [8086:7acc] (rev 11)
00:15.1 Serial bus controller [0c80]: Intel Corporation Alder Lake-S PCH Serial IO I2C Controller #1 [8086:7acd] (rev 11)
00:15.2 Serial bus controller [0c80]: Intel Corporation Alder Lake-S PCH Serial IO I2C Controller #2 [8086:7ace] (rev 11)
00:16.0 Communication controller [0780]: Intel Corporation Alder Lake-S PCH HECI Controller #1 [8086:7ae8] (rev 11)
00:17.0 SATA controller [0106]: Intel Corporation Alder Lake-S PCH SATA Controller [AHCI Mode] [8086:7ae2] (rev 11)
00:1b.0 PCI bridge [0604]: Intel Corporation Device [8086:7ac0] (rev 11)
00:1c.0 PCI bridge [0604]: Intel Corporation Alder Lake-S PCH PCI Express Root Port #1 [8086:7ab8] (rev 11)
00:1c.1 PCI bridge [0604]: Intel Corporation Alder Lake-S PCH PCI Express Root Port #2 [8086:7ab9] (rev 11)
00:1c.3 PCI bridge [0604]: Intel Corporation Device [8086:7abb] (rev 11)
00:1c.4 PCI bridge [0604]: Intel Corporation Alder Lake-S PCH PCI Express Root Port #5 [8086:7abc] (rev 11)
00:1d.0 PCI bridge [0604]: Intel Corporation Alder Lake-S PCH PCI Express Root Port #9 [8086:7ab0] (rev 11)
00:1d.4 PCI bridge [0604]: Intel Corporation Alder Lake-S PCH PCI Express Root Port #13 [8086:7ab4] (rev 11)
00:1f.0 ISA bridge [0601]: Intel Corporation Z690 Chipset LPC/eSPI Controller [8086:7a84] (rev 11)
00:1f.3 Audio device [0403]: Intel Corporation Alder Lake-S HD Audio Controller [8086:7ad0] (rev 11)
00:1f.4 SMBus [0c05]: Intel Corporation Alder Lake-S PCH SMBus Controller [8086:7aa3] (rev 11)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Alder Lake-S PCH SPI Controller [8086:7aa4] (rev 11)
02:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Upstream Port of PCI Express Switch [1002:1478] (rev c1)
03:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Downstream Port of PCI Express Switch [1002:1479]
04:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M] [1002:73df] (rev c1)
04:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller [1002:ab28]
06:00.0 Network controller [0280]: Intel Corporation Wi-Fi 6 AX210/AX211/AX411 160MHz [8086:2725] (rev 1a)
07:00.0 SATA controller [0106]: ASMedia Technology Inc. ASM1062 Serial ATA Controller [1b21:0612] (rev 02)
08:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller I225-V [8086:15f3] (rev 03)
09:00.0 PCI bridge [0604]: Intel Corporation Thunderbolt 4 Bridge [Maple Ridge 4C 2020] [8086:1136] (rev 02)
0a:00.0 PCI bridge [0604]: Intel Corporation Thunderbolt 4 Bridge [Maple Ridge 4C 2020] [8086:1136] (rev 02)
0a:01.0 PCI bridge [0604]: Intel Corporation Thunderbolt 4 Bridge [Maple Ridge 4C 2020] [8086:1136] (rev 02)
0a:02.0 PCI bridge [0604]: Intel Corporation Thunderbolt 4 Bridge [Maple Ridge 4C 2020] [8086:1136] (rev 02)
0a:03.0 PCI bridge [0604]: Intel Corporation Thunderbolt 4 Bridge [Maple Ridge 4C 2020] [8086:1136] (rev 02)
0b:00.0 USB controller [0c03]: Intel Corporation Thunderbolt 4 NHI [Maple Ridge 4C 2020] [8086:1137]
3f:00.0 USB controller [0c03]: Intel Corporation Thunderbolt 4 USB Controller [Maple Ridge 4C 2020] [8086:1138]
74:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller PM9A1/PM9A3/980PRO [144d:a80a]
This is what aplay returns:
Code:
**** List of PLAYBACK Hardware Devices ****
card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 8: HDMI 2 [DELL U2515H]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 11: HDMI 5 [HDMI 5]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: Audio [USB Audio], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: Audio [USB Audio], device 1: USB Audio [USB Audio #1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: Audio [USB Audio], device 2: USB Audio [USB Audio #2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: Audio [USB Audio], device 3: USB Audio [USB Audio #3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
This is what pacmd list-sinks returns:
Code:
4 sink(s) available.
    index: 1
	name: <alsa_output.pci-0000_04_00.1.hdmi-stereo-extra2>
	driver: <module-alsa-card.c>
	flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: SUSPENDED
	suspend cause: IDLE
	priority: 9030
	volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
	        balance 0.00
	base volume: 65536 / 100% / 0.00 dB
	volume steps: 65537
	muted: no
	current latency: 0.00 ms
	max request: 0 KiB
	max rewind: 0 KiB
	monitor source: 1
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             Stéréo
	used by: 0
	linked by: 0
	configured latency: 0.00 ms; range is 0.50 .. 1999.82 ms
	card: 0 <alsa_card.pci-0000_04_00.1>
	module: 23
	properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "DELL U2515H"
		alsa.id = "HDMI 2"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "8"
		alsa.card = "1"
		alsa.card_name = "HDA ATI HDMI"
		alsa.long_card_name = "HDA ATI HDMI at 0x86b20000 irq 208"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:04:00.1"
		sysfs.path = "/devices/pci0000:00/0000:00:01.1/0000:02:00.0/0000:03:00.0/0000:04:00.1/sound/card1"
		device.bus = "pci"
		device.vendor.id = "1002"
		device.vendor.name = "Advanced Micro Devices, Inc. [AMD/ATI]"
		device.product.id = "ab28"
		device.product.name = "Navi 21/23 HDMI/DP Audio Controller"
		device.string = "hdmi:1,2"
		device.buffering.buffer_size = "352768"
		device.buffering.fragment_size = "176384"
		device.access_mode = "mmap+timer"
		device.profile.name = "hdmi-stereo-extra2"
		device.profile.description = "Digital Stereo (HDMI 3)"
		device.description = "Navi 21/23 HDMI/DP Audio Controller Digital Stereo (HDMI 3)"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	ports:
		hdmi-output-2: HDMI / DisplayPort 3 (priority 5700, latency offset 0 usec, available: yes)
			properties:
				device.icon_name = "video-display"
				device.product.name = "DELL U2515H"
	active port: <hdmi-output-2>
  * index: 2
	name: <alsa_output.usb-Generic_USB_Audio-00.HiFi__hw_Audio_3__sink>
	driver: <module-alsa-card.c>
	flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: SUSPENDED
	suspend cause: IDLE
	priority: 9041
	volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
	        balance 0.00
	base volume: 65536 / 100% / 0.00 dB
	volume steps: 65537
	muted: no
	current latency: 0.00 ms
	max request: 0 KiB
	max rewind: 0 KiB
	monitor source: 2
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             Stéréo
	used by: 0
	linked by: 0
	configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
	card: 1 <alsa_card.usb-Generic_USB_Audio-00>
	module: 24
	properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "USB Audio #3"
		alsa.id = "USB Audio"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "3"
		alsa.card = "2"
		alsa.card_name = "USB Audio"
		alsa.long_card_name = "Generic USB Audio at usb-0000:00:14.0-7, high speed"
		alsa.driver_name = "snd_usb_audio"
		device.bus_path = "pci-0000:00:14.0-usb-0:7:1.0"
		sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/sound/card2"
		udev.id = "usb-Generic_USB_Audio-00"
		device.bus = "usb"
		device.vendor.id = "0b05"
		device.vendor.name = "ASUSTek Computer, Inc."
		device.product.id = "1a27"
		device.product.name = "USB Audio"
		device.serial = "Generic_USB_Audio"
		device.string = "_ucm0008.hw:Audio,3"
		device.buffering.buffer_size = "352800"
		device.buffering.fragment_size = "176400"
		device.access_mode = "mmap+timer"
		device.profile.name = "HiFi: hw:Audio,3: sink"
		device.profile.description = "S/PDIF Out"
		alsa.mixer_device = "_ucm0008.hw:Audio"
		device.description = "USB Audio S/PDIF Out"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-usb"
	ports:
		[Out] SPDIF: S/PDIF Out (priority 100, latency offset 0 usec, available: unknown)
			properties:
				
	active port: <[Out] SPDIF>
    index: 3
	name: <alsa_output.usb-Generic_USB_Audio-00.HiFi__hw_Audio_1__sink>
	driver: <module-alsa-card.c>
	flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: SUSPENDED
	suspend cause: IDLE
	priority: 9043
	volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
	        balance 0.00
	base volume: 65536 / 100% / 0.00 dB
	volume steps: 65537
	muted: no
	current latency: 0.00 ms
	max request: 0 KiB
	max rewind: 0 KiB
	monitor source: 3
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             Stéréo
	used by: 0
	linked by: 0
	configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
	card: 1 <alsa_card.usb-Generic_USB_Audio-00>
	module: 24
	properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "USB Audio #1"
		alsa.id = "USB Audio"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "1"
		alsa.card = "2"
		alsa.card_name = "USB Audio"
		alsa.long_card_name = "Generic USB Audio at usb-0000:00:14.0-7, high speed"
		alsa.driver_name = "snd_usb_audio"
		device.bus_path = "pci-0000:00:14.0-usb-0:7:1.0"
		sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/sound/card2"
		udev.id = "usb-Generic_USB_Audio-00"
		device.bus = "usb"
		device.vendor.id = "0b05"
		device.vendor.name = "ASUSTek Computer, Inc."
		device.product.id = "1a27"
		device.product.name = "USB Audio"
		device.serial = "Generic_USB_Audio"
		device.string = "_ucm0008.hw:Audio,1"
		device.buffering.buffer_size = "352800"
		device.buffering.fragment_size = "176400"
		device.access_mode = "mmap+timer"
		device.profile.name = "HiFi: hw:Audio,1: sink"
		device.profile.description = "Front Headphones"
		alsa.mixer_device = "_ucm0008.hw:Audio"
		device.description = "USB Audio Front Headphones"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-usb"
	ports:
		[Out] Headphones: Front Headphones (priority 300, latency offset 0 usec, available: no)
			properties:
				
	active port: <[Out] Headphones>
    index: 4
	name: <alsa_output.usb-Generic_USB_Audio-00.HiFi__hw_Audio__sink>
	driver: <module-alsa-card.c>
	flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: SUSPENDED
	suspend cause: IDLE
	priority: 9042
	volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
	        balance 0.00
	base volume: 65536 / 100% / 0.00 dB
	volume steps: 65537
	muted: no
	current latency: 0.00 ms
	max request: 0 KiB
	max rewind: 0 KiB
	monitor source: 4
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             Stéréo
	used by: 0
	linked by: 0
	configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
	card: 1 <alsa_card.usb-Generic_USB_Audio-00>
	module: 24
	properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "USB Audio"
		alsa.id = "USB Audio"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "0"
		alsa.card = "2"
		alsa.card_name = "USB Audio"
		alsa.long_card_name = "Generic USB Audio at usb-0000:00:14.0-7, high speed"
		alsa.driver_name = "snd_usb_audio"
		device.bus_path = "pci-0000:00:14.0-usb-0:7:1.0"
		sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/sound/card2"
		udev.id = "usb-Generic_USB_Audio-00"
		device.bus = "usb"
		device.vendor.id = "0b05"
		device.vendor.name = "ASUSTek Computer, Inc."
		device.product.id = "1a27"
		device.product.name = "USB Audio"
		device.serial = "Generic_USB_Audio"
		device.string = "_ucm0008.hw:Audio"
		device.buffering.buffer_size = "352800"
		device.buffering.fragment_size = "176400"
		device.access_mode = "mmap+timer"
		device.profile.name = "HiFi: hw:Audio: sink"
		device.profile.description = "Speakers"
		alsa.mixer_device = "_ucm0008.hw:Audio"
		device.description = "USB Audio Speakers"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-usb"
	ports:
		[Out] Speaker: Speakers (priority 200, latency offset 0 usec, available: no)
			properties:
				
	active port: <[Out] Speaker>
Now I also noticed that dmesg | grep snd returns:
Code:
[    3.977455] snd_hda_intel 0000:00:1f.3: enabling device (0000 -> 0002)
[    3.977670] snd_hda_intel 0000:04:00.1: enabling device (0000 -> 0002)
[    3.977750] snd_hda_intel 0000:04:00.1: Force to non-snoop mode
[    3.982201] snd_hda_intel 0000:00:1f.3: no codecs found!
[    3.985863] snd_hda_intel 0000:04:00.1: bound 0000:04:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])
[   14.109966] usbcore: registered new interface driver snd-usb-audio
I wonder why it can't find any codecs ?

Thank you very much in advance for any help.
 
Old 08-21-2022, 09:18 AM   #2
Arnulf
Member
 
Registered: Jan 2022
Location: Hanover, Germany
Distribution: Slackware
Posts: 309

Rep: Reputation: 112Reputation: 112
Realtek ALC408x audio codecs are USB devices: https://www.igorslab.de/en/the-old-a...c1220-insider/

Check whether your kernel supports these new Realtek ALC408x audio codecs. Which kernel is in use? A recent 5.x kernel may be required.

Last edited by Arnulf; 08-21-2022 at 01:36 PM.
 
Old 08-21-2022, 01:18 PM   #3
bigfoot
LQ Newbie
 
Registered: Aug 2022
Posts: 3

Original Poster
Rep: Reputation: 0
Thank you for your answer.

I am using Debian testing and Linux 5.18.0-4-amd64.

Quote:
Check if your kernel supports these new Realtek ALC408x audio codecs
That is really something that I am trying to figure out for some time to which I really would like an answer.
Do I need to wait for a patch/release ? Or am I missing a component (driver, firmware, ...) ? Or is it another problem ?

Thank you very much in advance for all your help and time.
 
Old 08-21-2022, 01:45 PM   #4
Arnulf
Member
 
Registered: Jan 2022
Location: Hanover, Germany
Distribution: Slackware
Posts: 309

Rep: Reputation: 112Reputation: 112
Kernel 5.18.0 is quite old for recent hardware. Try 5.18.19 or 5.19.3.

Another problem may be, that the ALC 4082 is card 2 and HDMI is card 1. Check sound settings in pulseaudio.
 
Old 08-21-2022, 01:59 PM   #5
bigfoot
LQ Newbie
 
Registered: Aug 2022
Posts: 3

Original Poster
Rep: Reputation: 0
Quote:
Kernel 5.18.0 is quite old for recent hardware. Try 5.18.19 or 5.19.3.
The problem is that I'm dependent on Debian testing's linux release. And as of today, it's the most recent it has to offer.

Quote:
Another problem may be, that the ALC 4082 is card 2 and HDMI is card 1. Check sound settings in pulseaudio.
I'm not sure it's going to be the answer you expected, but I'm using gnome to configure my sound devices (which uses pulseaudio).

I've added two screenshots concerning my available settings (with gui - Pavucontrol + gnome settings).

If you need some more information don't hesitate to ask.

Thank you very much for all your help and time.
Attached Thumbnails
Click image for larger version

Name:	Capture d’écran du 2022-08-21 20-55-15.png
Views:	30
Size:	22.6 KB
ID:	39470   Click image for larger version

Name:	Capture d’écran du 2022-08-21 20-57-00.png
Views:	28
Size:	72.3 KB
ID:	39471  
 
Old 08-21-2022, 02:47 PM   #6
Arnulf
Member
 
Registered: Jan 2022
Location: Hanover, Germany
Distribution: Slackware
Posts: 309

Rep: Reputation: 112Reputation: 112
Quote:
Originally Posted by bigfoot View Post
The problem is that I'm dependent on Debian testing's linux release. And as of today, it's the most recent it has to offer.
If you want to use recent hardware sometimes you have to compile a recent kernel from www.kernel.org for this hardware.

pavucontrol is a common GUI interface for pulseaudio.
Turn all outputs off, then turn only one output on. This output should be "USB Audio Speakers" in your pavucontrol panel.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Microphone and Front Panel Headphone Jack Issues (Modmic 3, MAG Z690 motherboard) jchapman32 Linux - Hardware 8 04-03-2022 05:53 AM
No sound card detected - Intel 7320 CPU + Asus Rog Strix Z270 Varsuuk Linux - Hardware 50 05-16-2017 02:25 PM
Running Mint on ASUS ROG G771JM-DH71-CA? FiReSTaRT Linux - Laptop and Netbook 21 01-30-2016 11:57 AM
Asus Phoebus ROG MoonChild_IT Linux - Hardware 1 12-04-2015 11:53 AM
LXer: Gain Space By Removing The Maximized Windows Titlebar [With Compiz or Maximus] LXer Syndicated Linux News 0 11-07-2009 05:41 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 11:53 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration