moin,

i did some hacking on the emu10k1 driver, and now need it tested on a variety of hardware. the cards still have a market value, so *someone* must be still using them, or at least have some in the basement ...

the driver targets SoundBlaster Live! / 512PCI / Audigy and the E-MU 0404/1010/1212/1616m/1820 PCI/PCIe/CardBus series. the exact labeling of the relevant cards can be found in the table at https://github.com/torvalds/linux/blob/master/sound/pci/emu10k1/emu10k1_main.c#L1273

the primary objective of the patch series was adding support for 96/192 khz sample rates on the e-mu cards, but a variety of other (mostly minor) improvements and bugfixes is included as well. i have only an e-mu 0404 card, so my own testing is obviously limited.

to fully unleash the driver, emu_das=1 needs to be added to the module options. this switches the driver to a mode which is incompatible with existing configuration files and saved mixer states (the cost/benefit ratio of extending the legacy mode in a compatible way is unreasonable). only the multi-channel device is available in this mode (it's still usable as a regular sound card, but you won't have much fun with it without a sound server - but most people have that nowadays anyway).

things that need testing in particular:
- the source & destination routing in the mixer; the internals were pretty much completely rewritten. test at different settings of the clock multiplier, as that massively affects the routing. - capture on 2nd generation e-mu 1010 and 1616m cardbus cards: 8 channels at 192 khz and 16 channels at 96 khz (whether the upper half of the channels actually records something, and whether these channels aren't delayed by a single sample or otherwise distorted)

then there are a few things that don't need testing as such, but rather help me with understanding the hardware in the first place: - inspect the contents of /proc/sound/card?/spdif-in with various digital sources - adat and s/pdif, both on the card and the dock, and bnc sync. what are the lock status and the displayed rates with no signal, good signal async to internal clock, and synced signal? test s/pdif at least with 48 & 96 khz (192 works on 1010b & 1616m cards on the RCA port). use the mixer to switch around the clock source between internal and the connected external one.
- if you have a second e-mu card:
1. if it's in a different machine, make sure it's also running my patched kernel
  2. connect its s/pdif output to the 1st card's s/pdif input
  3. make sure the clock multiplier is the same on both cards
  4. select s/pdif as the 1st card's clock source
  5. switch the 2nd card's word clock between 48 and 44.1 khz
6. see if the kernel journal (dmesg) for the 1st card reports "emu1010: External clock rate changed" 7. if it reports "emu1010: External clock lost" instead, go back to point 4. retry a few times. 8. if it (occasionally) doesn't report anything, that's valuable info, too. but switch either card's clock multiplier to make sure that a clock loss is actually reported at all.

for soundblasters barely anything changed, so it's only necessary to test whether i didn't break anything - playback and the mixer in particular. /proc/sound/card?/emu10k1 should be somewhat more useful than before. on cards with an additional CA0151 chip (various audigy 2/4 cards), playback over hw:?,4 should be tested.

the code is available from https://github.com/ossilator/linux/tree/ossis-alsa and is supposed to work out of the box (like any rc kernel ...).

if someone wants to provide me with hardware (temporarily or
permanently), go ahead (i'm in berlin, germany).

please send responses directly to me. you can cc the list if you have questions relevant to a wider audience.

regards

Reply via email to