Sziasztok,
nekem sikerült a hang problémát megoldani az alábbiakkal, de senkinek nem ajánlom, ugyanis működött a jack kimeneten a hang, de az összes flash szaggatott utána, valamint a gép is lelassult.
A leírás:
ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.16.tar.bz2
tar -xvjf alsa-driver-1.x.xx.tar.bz2
nyisd meg: alsa-kernel/pci/hda/patch_via.c
Ezt a részt:
"static int patch_vt1708(struct hda_codec *codec)
{
struct via_spec *spec;
int err;
/* create a codec specific record */
spec = kcalloc(1, sizeof(*spec), GFP_KERNEL);
if (spec == NULL)
return -ENOMEM;
codec->spec = spec;
/* automatic parse from the BIOS config */
err = vt1708_parse_auto_config(codec);
if (err < 0) {
via_free(codec);
return err;
} else if (!err) {
printk(KERN_INFO "hda_codec: Cannot set up configuration "
"from BIOS. Using genenic mode...\n");
}
spec->stream_name_analog = "VT1708 Analog";
spec->stream_analog_playback = &vt1708_pcm_analog_playback;
spec->stream_analog_capture = &vt1708_pcm_analog_capture;
spec->stream_name_digital = "VT1708 Digital";
spec->stream_digital_playback = &vt1708_pcm_digital_playback;
spec->stream_digital_capture = &vt1708_pcm_digital_capture;
if (!spec->adc_nids && spec->input_mux) {
spec->adc_nids = vt1708_adc_nids;
spec->num_adc_nids = ARRAY_SIZE(vt1708_adc_nids);
spec->mixers[spec->num_mixers] = vt1708_capture_mixer;
spec->num_mixers++;
}
codec->patch_ops = via_patch_ops;
codec->patch_ops.init = via_auto_init;
#ifdef CONFIG_SND_HDA_POWER_SAVE
spec->loopback.amplist = vt1708_loopbacks;
#endif
return 0;
}"
változtasd meg, írd felül ezzel:
"static int patch_vt1708(struct hda_codec *codec)
{
unsigned int pin_hp;
struct via_spec *spec;
int err;
/* create a codec specific record */
spec = kcalloc(1, sizeof(*spec), GFP_KERNEL);
if (spec == NULL)
return -ENOMEM;
codec->spec = spec;
/* Ajout SQ071031 */
pin_hp=snd_hda_codec_read(codec, 0x20, 0, AC_VERB_GET_CONFIG_DEFAULT, 0);
pin_hp=pin_hp&0x3FFFFFFF;
snd_hda_codec_write(codec, 0x20, 0, AC_VERB_SET_CONFIG_DEFAULT_BYTES_3, pin_hp>>24);
/* automatic parse from the BIOS config */
err = vt1708_parse_auto_config(codec);
if (err < 0) {
via_free(codec);
return err;
} else if (!err) {
printk(KERN_INFO "hda_codec: Cannot set up configuration "
"from BIOS. Using genenic mode...\n");
}
spec->stream_name_analog = "VT1708 Analog";
spec->stream_analog_playback = &vt1708_pcm_analog_playback;
spec->stream_analog_capture = &vt1708_pcm_analog_capture;
spec->stream_name_digital = "VT1708 Digital";
spec->stream_digital_playback = &vt1708_pcm_digital_playback;
spec->stream_digital_capture = &vt1708_pcm_digital_capture;
if (!spec->adc_nids && spec->input_mux) {
spec->adc_nids = vt1708_adc_nids;
spec->num_adc_nids = ARRAY_SIZE(vt1708_adc_nids);
spec->mixers[spec->num_mixers] = vt1708_capture_mixer;
spec->num_mixers++;
}
codec->patch_ops = via_patch_ops;
codec->patch_ops.init = via_auto_init;
#ifdef CONFIG_SND_HDA_POWER_SAVE
spec->loopback.amplist = vt1708_loopbacks;
#endif
return 0;
}"
ezután :
cd alsa-driver-1.xx.xx
./configure
make
sudo make install
Újraindítás, és működött...