Re: [alsa-devel] Swissonic TS22PCI / Teratec Phase 22 / driver problems with ice1724
At Thu, 14 Aug 2008 15:59:06 +0200, Manuel Schneider wrote:
Takashi Iwai schrieb, Am 14.08.2008 15:47:
Pass model=phase22 module option to snd-ice1724 driver. Then it handles the card as if it's phase22.
Thanks for this hin. Unfortunately it changes nothing - still kernel error message, still no usable sound device.
Are you sure? With the proper model name, at least you won't get EEPROM version error any more.
I also tried the following kernel patch, which gives me an accessible sound device and usable mixer (and no kernel error), but recording does not work (just noise).
Likely an incompatible hardware design for the recording...
Takashi
The patch is quite simple - it just adds the subvendor ID of the Swissonic card and adds all phase22 functionality to it.
Manuel
-:[/usr/src/linux/sound/pci/ice1712]#> diff -uN phase.h.bak phase.h --- phase.h.bak 2008-08-12 10:13:49.000000000 +0200 +++ phase.h 2008-08-12 09:49:23.000000000 +0200 @@ -25,9 +25,11 @@ */
#define PHASE_DEVICE_DESC "{Terratec,Phase 22},"\
"{Swissonic,TS22PCI},"\ "{Terratec,Phase 28},"
#define VT1724_SUBDEVICE_PHASE22 0x3b155011
+#define VT1724_SUBDEVICE_TS22PCI 0x3b157b11 #define VT1724_SUBDEVICE_PHASE28 0x3b154911
/* entry point */
-:[/usr/src/linux/sound/pci/ice1712]#> diff -uN phase.c.bak phase.c --- phase.c.bak 2008-08-12 09:51:28.000000000 +0200 +++ phase.c 2008-08-12 09:51:28.000000000 +0200 @@ -124,6 +124,11 @@ ice->num_total_adcs = 2; ice->vt1720 = 1; // Envy24HT-S have 16 bit wide GPIO break;
case VT1724_SUBDEVICE_TS22PCI:
ice->num_total_dacs = 2;
ice->num_total_adcs = 2;
ice->vt1720 = 1; // Envy24HT-S have 16 bit wide GPIO
break; default: snd_BUG(); return -EINVAL;
@@ -139,6 +144,10 @@ if ((err = snd_ice1712_akm4xxx_init(ak, &akm_phase22, &akm_phase22_priv, ice)) < 0) return err; break;
case VT1724_SUBDEVICE_TS22PCI:
if ((err = snd_ice1712_akm4xxx_init(ak, &akm_phase22,
&akm_phase22_priv, ice)) < 0)
return err;
break; } return 0;
@@ -153,6 +162,10 @@ err = snd_ice1712_akm4xxx_build_controls(ice); if (err < 0) return err;
case VT1724_SUBDEVICE_TS22PCI:
err = snd_ice1712_akm4xxx_build_controls(ice);
if (err < 0)
}return err; } return 0;
@@ -896,6 +909,15 @@ .eeprom_data = phase22_eeprom, }, {
.subvendor = VT1724_SUBDEVICE_TS22PCI,
.name = "Swissonic TS22PCI",
.model = "phase22",
.chip_init = phase22_init,
.build_controls = phase22_add_controls,
.eeprom_size = sizeof(phase22_eeprom),
.eeprom_data = phase22_eeprom,
},
{ .subvendor = VT1724_SUBDEVICE_PHASE28, .name = "Terratec PHASE 28", .model = "phase28",
-- Kanal Ratte 104,5 MHz ...das Freie Radio im Wiesental
Hauptstrasse 82 79650 Schopfheim
Tel: +49 7622 6692-53 Fax: +49 7622 6692-54
Takashi Iwai schrieb, Am 14.08.2008 16:03:
At Thu, 14 Aug 2008 15:59:06 +0200, Manuel Schneider wrote:
Takashi Iwai schrieb, Am 14.08.2008 15:47:
Pass model=phase22 module option to snd-ice1724 driver. Then it handles the card as if it's phase22.
Thanks for this hin. Unfortunately it changes nothing - still kernel error message, still no usable sound device.
Are you sure? With the proper model name, at least you won't get EEPROM version error any more.
yes, pretty sure. I just reverted my patch and recompiled the driver to check it out:
ice1712: cannot initialize pro ac97, skipped ice1724: No matching model found for ID 0x3b157b11 ice1724: Invalid EEPROM version 0 AC'97 0 does not respond - RESET AC'97 0 access is not valid [0xffffffff], removing mixer. ice1712: cannot initialize pro ac97, skipped
I also tried the following kernel patch, which gives me an accessible sound device and usable mixer (and no kernel error), but recording does not work (just noise).
Likely an incompatible hardware design for the recording...
I guess it's another firmware... I can't test playback as I only have remote access to the server and it is only used for recording (streaming) but I assume it does also not work. I admit that this patch was just a hack to try it out.
Manuel
participants (2)
-
Manuel Schneider
-
Takashi Iwai