Hi all,
I own an Asus x205ta too and I really want to help to make this audio card works. I'm using linux next with Michele Curti's patch (as of 23 june)
Here kernel .config:
CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m CONFIG_SND_SOC_INTEL_BYTCR_RT5645_MACH=m # CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH is no CONFIG_SND_SOC_INTEL_BYT_RT5640_MACH=m # CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH is not set # CONFIG_SND_SOC_INTEL_BROADWELL_MACH is not set CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m CONFIG_SND_SOC_INTEL_BYTCR_RT5645_MACH=m
bo@X205TA:~$ uname -a Linux X205TA 4.2.0-rc2-next-20150717+ #3 SMP Wed Jul 22 15:31:59 CEST 2015 x86_64 x86_64 x86_64 GNU/Linux
Output of lsmod:
snd_soc_sst_bytcr_rt5645 16384 0 snd_intel_sst_acpi 16384 1 snd_intel_sst_core 73728 1 snd_intel_sst_acpi snd_soc_rt5645 139264 1 snd_soc_sst_mfld_platform 90112 3 snd_intel_sst_core snd_pcm 102400 4 snd_soc_rt5645,snd_soc_core,snd_soc_sst_mfld_platform,snd_soc_sst_bytcr_rt5645
bo@X205TA:~$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: baytrailcraudio [baytrailcraudio], device 0: Baytrail Audio (*) [] Subdevices: 1/1 Subdevice #0: subdevice #0
bo@@X205TA:~$ aplay -D hw:0 -c 2 -r 48000 -f S16_LE /dev/urandomPlaying raw data '/dev/urandom' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo aplay: set_params:1297: Unable to install hw params: ACCESS: RW_INTERLEAVED FORMAT: S16_LE SUBFORMAT: STD SAMPLE_BITS: 16 FRAME_BITS: 32 CHANNELS: 2 RATE: 48000 PERIOD_TIME: 125000 PERIOD_SIZE: 6000 PERIOD_BYTES: 24000 PERIODS: 4 BUFFER_TIME: 500000 BUFFER_SIZE: 24000 BUFFER_BYTES: 96000 TICK_TIME: 0
bo@X205TA:~$ cat /proc/interrupts | grep sst 6: 0 0 0 0 IO-APIC 28-fasteoi intel_sst_driver
bo@X205TA:~$ ll /lib/firmware/intel/fw* -rw-r--r-- 1 root root 647078 lug 22 17:56 /lib/firmware/intel/fw_sst_0f28.bin -rw-r--r-- 1 root root 265684 lug 22 17:56 /lib/firmware/intel/fw_sst_0f28.bin-48kHz_i2s_master -rw-r--r-- 1 root root 701614 lug 22 17:56 /lib/firmware/intel/fw_sst_22a8.bin
I read that the firmware used by bytx205_rt5645 is intel/fw_sst_0f28.bin:
in fact in sst_acpi i have:
{"10EC5648", "X205", "bytx205_rt5645", NULL, "intel/fw_sst_0f28.bin", &byt_rvp_platform_data },
but it's bounded to sst1 as i see from disassembling acpi data: cat dsdt.dsl: [...] Device (SSP1) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "SSPX0000" /* Intel SSP Device */) // _HID: Hardware ID Name (_CID, "SSPX0000" /* Intel SSP Device */) // _CID: Compatible ID [...] Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001D, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000018, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x00000019, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001A, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001B, } Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, ) { 0x0000001C, } [...]
however the fw is tied to work with SSP0. What can i do?
I tried to connect parts in routing:
#DSP routing amixer -c0 sset 'codec_out0 mix 0 pcm0_in' on amixer -c0 sset 'media0_out mix 0 media1_in' on amixer -c0 sset 'media1_in Gain 0' 80% amixer -c0 sset 'media1_in Gain 0 Ramp Delay' 50 amixer -c0 sset 'media1_in Gain 0' off amixer -c0 sset 'pcm0_in Gain 0' 80% amixer -c0 sset 'pcm0_in Gain 0 Ramp Delay' 50 amixer -c0 sset 'pcm0_in Gain 0' off amixer -c0 sset 'codec_out0 Gain 0' 80% amixer -c0 sset 'codec_out0 Gain 0 Ramp Delay' 50 amixer -c0 sset 'codec_out0 Gain 0' off
#Codec routin, if you have different one please modfiy amixer -c0 sset "DAC MIXL INF1" on amixer -c0 sset "DAC MIXR INF1" on amixer -c0 sset "Stereo DAC MIXL DAC L1" on amixer -c0 sset "Stereo DAC MIXR DAC R1" on amixer -c0 sset "SPK MIXL DAC L1" on amixer -c0 sset "SPK MIXR DAC R1" on amixer -c0 sset "SPOL MIX SPKVOL L" on amixer -c0 sset "SPOR MIX SPKVOL R" on amixer -c0 sset "SPOL MIX DAC L1" on amixer -c0 sset "SPOR MIX DAC R1" on amixer -c0 sset "Speaker L" on amixer -c0 sset "Speaker R" on amixer -c0 sset "Headphone" off amixer -c0 sset "Ext Spk" on
and the attached dmesg log appeared
I get no sound but at least no heat :)
Is everything that I've done correct? I see in these output logs many of the errors and bugs that the other users found.
Thanks for the time spent
Marco
Output of dmesg: