your HDMI device is totally distinct from the 1820, and its clocks have nothing at all to do with the 1820 clock situation. ALSA does not use, share or propagate clocking between devices.
there is no project to replace ALSA. you may be thinking of pipewire, which like JACK and all other audio I/O on linux, sits on top of ALSA, and does not replace it.
there is no way to know if alsa intended to handle them as distinct but due to a bug they get mixed up. There is really no way to know.
If alsa is sane it will do as you suggest it does, but from my experience working with alsa, stranger things happen like this spdif issue that is nonsensical, unless there is a bug such that alsa misreads spdif for a different device as intended.
I dont buy that alsa can only read spdif clock from a device it also receives the audio from. Entirely possible to mix clocks up and not report the mixup.
So any other suggestions I can try to see if alsa actually receive the spdif data.
How about a CLI tool to read spdif from alsa ? That will help. I couldnt find such a tool online.
there is a way to know. i know the internal architecture of ALSA, and have written a few device drivers for ALSA.
Drivers for different devices have no connection to each other. ALSA has no concept of a “cross-system clock”. this just doesn’t happen. ALSA doesn’t even “read the clock” from any device. There’s no concept of a clock in ALSA - all you see is the presentation of switches/controls listed by the driver, which mirror capabilities in the hardware. The switches associated with the 1820 are associated with the 1820 hardware - ALSA doesn’t care at all which clock setting you use (though using the wrong one may prevent the PCM streaming from working correctly).
ALSA doesn’t handle s/pdif or ADAT or any other digital format in any particular way. Internally, a device driver presents the device as a PCM stream (read or write). The connector format and/or the data format used beyond the connector are of no consequence to ALSA.
If what you say is true, then there is absolutely no reason for spdif not to work as alsa knows no difference between the spdif channel data and the audio data. There is no other way then as I see it.
Then why the heck doesnt it work?
Then the only culprit must be Ardour or the driver.
It then is most likely the driver.
I have to rule ardour out completely.
I only have Mixbus and Ardour and mixbus is a skin for ardour with a custom processor, so cannot compare with these two.
Any suggestion how I can rule out Ardour ? so I can focus on the driver after that ?
Exactly. If that is true, the driver misses the extra channels for spdif or Ardour is at fault. Cannot see Jack having anything to do with it.
I have to use Jack and prefer it but Ardour could never connect directly to Alsa so I cannot check if jack is at fault, so I dont consider that route. Ardour/Alsa never worked over several distros. With Jack everything just works except spdif.
I have to consider buying a separate spdif/usb mixer box that hopefully can work without alsa and that I can pick up in Ardour.
Probably fastest way I can get rid of this problem.
Yes, JACK has nothing to do with this, but the linked post also mentions the following:
When the UMC1820 is started with nothing connected to its Adat input Alsa sees it as a 12 out 10 in device. When The ADA8200 is connected to UMC1820 Adat input when UMC1820 starts up, then Alsa sees the UMC1820 as a 20 out 18 in device.
I saw that, but could not really decipher the real implications of that.
So you are saying the driver possibly only works correctly regarding spdif if you use the 8200 with the 1820 as adat ?
If so I need to contact the developer of the driver (seemingly the same driver is used for 1818VSL and 1820 as both are compliant.
Yes my keyboards are always connected to the 1820 and switches on the same time as the UMC. They are all on the same remote control power switch. The Linux server is on 24/7. I just have one connected to SPDIF currently to make debug easy.
You mean we are back at late 1990s usb switch-on order issues again ? If booting my server is the solution tghen it isnt a solution.
But it makes sense why it worked initially just when I received the 1820. The 1818VSL worked for about 6 months without trouble and then spdif just died. After that I bought the 1820, which just sounds so much better than the 1818VSL. Worth every cent.
Robin.
I carefully did exactly as requested for all possible clock options in alsa and the two clock options on the 1820.
None works.
Alsa does report the correct clock sources on the 1820 as there are more in adat mode than spdif – as there should be. So the driver is alive and reads the spdif ports.
EDIT: Fixed your formatting on the data and a few typos/misspellings in your post. For the record what you are looking for is pre-formatted data, which can be gotten in this forum (And any discourse forum) by utilizing three back ticks (Typically above the TAB key on US keyboards) before and after the pre-formatted data. – Seablade
Thank you seablade, it is however truncated and the rest of the iterrupts do not show so it is incomplete. i tried the formatting from the icons and highlighted the pasted text and pressed pre-formatted button. Did not work. I will do it manually as you suggest.
i will try and type slower. Not always possible.
Is it possible for you to take that video card out and put the old one in ? This might be worth doing considering how long you’ve been struggling with this problem.
It will be a while before I can do that., but I will try as the server is in use.
Probably this weekend and then I will report back.
Ardour does not have a preference for a specific pair of channels and has no knowledge of spdif clocks AFAIK and as far as I can see only receives the audio data like any other audio data from Alsa,
It just cannot be Ardour as far as I can see, unless there are clocks involved.
Looking at clocks. From what i can see as user, and not developer, there are some clock inputs to both Ardour and Mixbus, but they connect differently with Mixbus and Ardour.
I created two simple configurations with just the tracks needed for SPDIF and a usual Analog in for the same keyboard. I left it out from Ardour as I just use the analog inputs to test that I get sound from the keyboard, it is the spdif I am comparing.
Here is my patchage screenshot of routings to mixbus.
I just did this with Ardour’s derivative, mixbus as with the latter inputs and outputs are shown independently in patchage, but Ardour is shown with inputs and outputs combined into the Ardour object displayed resulting in a tangled mess. It is just a patchage thing.
Why is LTC connected to Capture 1, and why do we need it on Capture 1 in both cases ? If it is a clock, why not connected to spdif trackl ( 9 or 10 ) ?
I didnt write the software so I cannot know, and have to ask. It is most likely the world clock, and if the spdif capture outputs from alsa uses a clock different for spdif than my analog channels then there will be a problem if LTC is connected to Track1. It is most likely connected to Track 1 as all users will start there and you need a world clock and alsa will always have a capture 1.
It seems to me that there are two different clock existing which Ardour cannot differentiate. The clock for Audio analog signals and a separate clock for spdif. Why not have another clock input solely for spdif in Ardour ? You already have separate midi clocks so why not spdif clock inputs that can connect in this case to capture 9 ?
Could this be the problem ?
Is it worthwhile to try and connect LTC to capture_9 from alsa ? or is it somehow a stupid suggestion ?
On the other hand, here is Ardour configured with just the spdif track and Mixbus closed.