Hey,
This is based on pseudo-random playing around with the capabilities. With ca0102 this card gives no output atall, ca0108 appears to work fine, so it rather looks similar to the EMU1010b/EMU1010 changes.
Some other people seem to have succeeded in using this aswell: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3496
diff -u -r alsa-driver-hg20071222/alsa-kernel/pci/emu10k1/emu10k1_main.c alsa-driver-hg20071222-0404b/alsa-kernel/pci/emu10k1/emu10k1_main.c --- alsa-driver-hg20071222/alsa-kernel/pci/emu10k1/emu10k1_main.c 2007-12-22 03:00:09.000000000 +0200 +++ alsa-driver-hg20071222-0404b/alsa-kernel/pci/emu10k1/emu10k1_main.c 2007-12-23 23:01:12.807047391 +0200 @@ -1419,6 +1419,14 @@ .ca0102_chip = 1, .spk71 = 1, .emu_model = EMU_MODEL_EMU1010}, /* Emu 1010 */ + /* EMU0404b */ + {.vendor = 0x1102, .device = 0x0008, .subsystem = 0x40021102, + .driver = "Audigy2", .name = "E-mu 0404b [4002]", + .id = "EMU0404", + .emu10k2_chip = 1, + .ca0108_chip = 1, + .spk71 = 1, + .emu_model = EMU_MODEL_EMU0404}, /* EMU 0404 */ /* Tested by James@superbug.co.uk 20-3-2007. */ {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x40021102, .driver = "Audigy2", .name = "E-mu 0404 [4002]",