Created attachment 172471 [details] DSDT.dsl Sound card on Asus EeeBook X205TA is not being detected. The laptop uses Intel Atom Z3735F (Baytrail) with rt5648 sound card. This rt5648 has the same device id as rt5645 for Intel Cherrytrail & Braswell (0x6308).
Please attach a complete dmesg log and "lspci -vv" output. Did this ever work? If so, what kernel worked and what kernel is broken?
Created attachment 179361 [details] Output of "lspci -vv"
Created attachment 179371 [details] Output of "dmesg"
(In reply to Bjorn Helgaas from comment #1) > Please attach a complete dmesg log and "lspci -vv" output. Did this ever > work? If so, what kernel worked and what kernel is broken? On my system it never worked -- running Debian 8 on Linux Kernel 4.0.4 (tried several kernels since 3.16). Apparently there is no driver (yet) for this Realtek rt5648 card (c.f. http://comments.gmane.org/gmane.linux.alsa.devel/138822).
Thank you Hugues for sending the logs. There was no driver even in linux 4.1rc5, but according to link Hugues posted, there might be something in linux-next.
Thanks. I wanted to make sure the lack of sound was not due to a PCI core issue. I don't see anything like that here, so I guess you'll just have to wait for someone to write a driver.
I have the same problem on the same hardware. On the Internet I found hints that different sound chips were built into the X205TA at different times by Asus. So, some people may have a different chip. The sound chip (and possibly other devices) are connected via the new Baytrail SDIO. Is there an equivalent to lsusb or lspci for the sdio bus?
I really need a kernel sound module(s) for the bottom firing speakers and mic/headphone ports to work. This lappy is "reported" to be only good for light work. Not with lean and mean Debian/Mate installed its not! Quite good. GPU direct too. No sound is the only show stopper. The system uses SDIO for sound and Bluetooth; even though its less max throughput than SATA or USB, to save POWER. This thing has the killer batt life! As we know: ASUS should provide an open driver (yeah); but has worked with MS to make a Chromebook killer. Any correlation?? This could be a huge win for Linux users. Tip: Please don't let this tip slow the dev of a ASUS X205 sound driver; but if you're stuck without sound then you can use a USB sound device (such as USB headphones) for the time being. It's the PERFECT Linux demo/notebook; if only for the sound. I didn't return it; because ya'll are awesome. ;) KEEPING the faith.
Is something new known? Several months have already passed away, and most problems with the X205TA have already been solved, including suspend/resume, the costant freezes, the touchpad, the battery status, and who-knows-what-else. Thus, it's damn irritating to notice how sound appears to be the only area where no progress is being made. If we create a driver/workaround, then the X205TA will finally fulfill its sole divine purpose as the PerfectLinuxNotebook(TM) ;).
It seems there are plenty of variants with Intel Z3735F, and all of them share the same legacy. I found HDMI audio patch (https://github.com/01org/baytrailaudio/blob/master/hdmi_audio_20150319.patch), which according to this post(https://plus.google.com/u/0/+IanMORRISON/posts/WRka6ZNqL3C) is WORKING. It might be a good starting point. My apologies if it's already been discussed and discarded.
Negative ghost rider, the patch in comment 10 doesn't work. Also sound for the x205ta doesn't work in kernel 4.4.0-040400rc7.
Hi, everybody! For anyone interested, pages 43 onwards of http://www.ubuntuforums.org/showthread.php?t=2254322 provide some important links, most notably a rt5648.c file, which may contain (the base for) what we need to get the RT5648 working on the X205TA. Kernel hackers are further encouraged to look at the code ;).
I am still having issues with laptop freezing using Debian 8.2. I have tried #echo 333 > /sys/kernel/debug/dri/0/i915_max_freq command but does not seem to help. Any suggestions?
My suggestion is that you don't pollute this bugtracker with issues that have nothing to do with the bug... head over to ubuntuforums if you want help
this bug is still present in kernel version 4.5.0-rc5 is there any way one can help to resolve this timely?
Since it's been over a year with no working sound driver then what needs to happen next? Are any official devs attempting this? Has this somehow become political? Like the win-modems of old; isn't this like a win-sound-card we need to reverse engineer? I know it's best NOT to buy this hardware; but others will. They're out there. I know it's a wrong, closed device; but that still makes Linux look incapable. The thing is complete (almost perfect); but for this one required major driver. Are we OK with the only option being Windows sound? Can we somehow use the win driver (NDIS?); to get around any road blocks? Is there a way for all X205 users to report their exact sound chip model; if that's even an issue?
I've been working on fixing this issue in #117141. Can you attach the output of dmidecode, so that the DMI system identification can be added to the quirk-table in fix patch-set attached to that bug?
Created attachment 213931 [details] Output of dmidecode
(In reply to Joel Holdsworth from comment #18) > I've been working on fixing this issue in #117141. > > Can you attach the output of dmidecode, so that the DMI system > identification can be added to the quirk-table in fix patch-set attached to > that bug? I've attached the output to the bug.
Created attachment 214041 [details] dmidecode.txt Attached the results from dmidecode. [2016-04-25 04:18] bugzilla-daemon@bugzilla.kernel.org <bugzilla-daemon@bugzilla.kernel.org> wrote: >https://bugzilla.kernel.org/show_bug.cgi?id=95681 > >--- Comment #18 from Joel Holdsworth <joel@airwebreathe.org.uk> --- >I've been working on fixing this issue in #117141. > >Can you attach the output of dmidecode, so that the DMI system identification >can be added to the quirk-table in fix patch-set attached to that bug? > >-- >You are receiving this mail because: >You are on the CC list for the bug.
Created attachment 214051 [details] Output of "dmidecode" Here is another one. Thanks ;)
Created attachment 214771 [details] dmidecode output for x205ta
Created attachment 215041 [details] X205TA.208_dmidecode Here's mine.
Created attachment 215261 [details] x205ta dmidecode output
Hi. What command is required on debian to output dmicode in a text file ? (debian server and i3 installed...)
No sound. Help please. What can I do?
(In reply to Spud from comment #27) > No sound. Help please. What can I do? http://www.ebay.com/itm/USB-2-0-External-7-1-Channel-3D-Virtual-Audio-Sound-Card-Mic-Adapter-PC-Laptop-/400883770992 Buy this, works great, and wait for linux congress to vote budget one day for soundcard driver.
Is there any progress with this sound driver?
(In reply to calimero from comment #26) > Hi. > > What command is required on debian to output dmicode in a text file ? > (debian server and i3 installed...) Assuming sudo dmidecode works, just redirect the output to the file you want to write to, for example: sudo dmidecode > dmifile
(In reply to Zanna from comment #30) > (In reply to calimero from comment #26) > > Hi. > > > > What command is required on debian to output dmicode in a text file ? > > (debian server and i3 installed...) > > Assuming sudo dmidecode works, just redirect the output to the file you want > to write to, for example: > > sudo dmidecode > dmifile Thank you very much. So I've tried to read how to make an attachment and as usual the related doc is a giant pile of mental masturbation that doesn't deliver the useful way to do it even after the fifth line beyond which 99% of people stop to read. As you can see here : https://www.bugzilla.org/docs/3.0/html/attachments.html And here: https://www.bugzilla.org/docs/3.4/en/html/api/Bugzilla/Attachment.html It's unpredictable garbage for random academia. So here is my dmicode (and yes it's fncking ugly, because oddly, there's no attachment button, ah !): # dmidecode 2.12 # SMBIOS entry point at 0x7c984110 SMBIOS 2.7 present. 16 structures occupying 1025 bytes. Table at 0x7C312010. Handle 0x0000, DMI type 0, 24 bytes BIOS Information Vendor: American Megatrends Inc. Version: X205TAW.201 Release Date: 09/18/2015 Address: 0xF0000 Runtime Size: 64 kB ROM Size: 1024 kB Characteristics: PCI is supported BIOS is upgradeable BIOS shadowing is allowed Boot from CD is supported Selectable boot is supported BIOS ROM is socketed EDD is supported 5.25"/1.2 MB floppy services are supported (int 13h) 3.5"/720 kB floppy services are supported (int 13h) 3.5"/2.88 MB floppy services are supported (int 13h) Print screen service is supported (int 5h) Serial services are supported (int 14h) Printer services are supported (int 17h) ACPI is supported USB legacy is supported Smart battery is supported BIOS boot specification is supported Targeted content distribution is supported UEFI is supported BIOS Revision: 5.6 Handle 0x0001, DMI type 1, 27 bytes System Information Manufacturer: ASUSTeK COMPUTER INC. Product Name: X205TAW Version: 1.0 Serial Number: FBNLCX080237462 UUID: 00010961-0A1C-3333-FFFF-EC0000000000 Wake-up Type: Power Switch SKU Number: ASUS-NotebookSKU Family: X Handle 0x0002, DMI type 2, 15 bytes Base Board Information Manufacturer: ASUSTeK COMPUTER INC. Product Name: X205TAW Version: 1.0 Serial Number: BSN12345678901234567 Asset Tag: ATN12345678901234567 Features: Board is a hosting board Board is replaceable Location In Chassis: MIDDLE Chassis Handle: 0x0003 Type: Motherboard Contained Object Handles: 0 Handle 0x0003, DMI type 3, 22 bytes Chassis Information Manufacturer: ASUSTeK COMPUTER INC. Type: Notebook Lock: Not Present Version: 1.0 Serial Number: FBNLCX080237462 Asset Tag: ATN12345678901234567 Boot-up State: Safe Power Supply State: Safe Thermal State: Safe Security Status: None OEM Information: 0x00000000 Height: Unspecified Number Of Power Cords: 1 Contained Elements: 0 SKU Number: To be filled by O.E.M. Handle 0x0008, DMI type 10, 10 bytes On Board Device 1 Information Type: Video Status: Enabled Description: VGA On Board Device 2 Information Type: Ethernet Status: Enabled Description: GLAN On Board Device 3 Information Type: Ethernet Status: Enabled Description: WLAN Handle 0x0009, DMI type 11, 5 bytes OEM Strings String 1: String 2: String 3: String 4: 90NL0732-M06980 String 5: String 6: String 7: String 8: String 9: String 10: Handle 0x000A, DMI type 16, 23 bytes Physical Memory Array Location: System Board Or Motherboard Use: System Memory Error Correction Type: Multi-bit ECC Maximum Capacity: 4 GB Error Information Handle: Not Provided Number Of Devices: 1 Handle 0x000B, DMI type 19, 31 bytes Memory Array Mapped Address Starting Address: 0x00000000000 Ending Address: 0x0007FFFFFFF Range Size: 2 GB Physical Array Handle: 0x000A Partition Width: 2 Handle 0x000C, DMI type 17, 34 bytes Memory Device Array Handle: 0x000A Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 2048 MB Form Factor: DIMM Set: None Locator: A1_DIMM0 Bank Locator: A1_BANK0 Type: DDR3 Type Detail: Unknown Speed: 1333 MHz Manufacturer: A1_Manufacturer0 Serial Number: A1_SerNum0 Asset Tag: A1_AssetTagNum0 Part Number: Array1_PartNumber0 Rank: Unknown Configured Clock Speed: 1333 MHz Handle 0x000D, DMI type 20, 35 bytes Memory Device Mapped Address Starting Address: 0x00000000000 Ending Address: 0x0007FFFFFFF Range Size: 2 GB Physical Device Handle: 0x000C Memory Array Mapped Address Handle: 0x000B Partition Row Position: <OUT OF SPEC> Interleave Position: Unknown Interleaved Data Depth: Unknown Handle 0x000E, DMI type 32, 20 bytes System Boot Information Status: No errors detected Handle 0x000F, DMI type 7, 19 bytes Cache Information Socket Designation: CPU Internal L1 Configuration: Enabled, Not Socketed, Level 1 Operational Mode: Write Back Location: Internal Installed Size: 224 kB Maximum Size: 224 kB Supported SRAM Types: Unknown Installed SRAM Type: Unknown Speed: Unknown Error Correction Type: Single-bit ECC System Type: Other Associativity: Other Handle 0x0010, DMI type 7, 19 bytes Cache Information Socket Designation: CPU Internal L2 Configuration: Enabled, Not Socketed, Level 2 Operational Mode: Write Back Location: Internal Installed Size: 1024 kB Maximum Size: 1024 kB Supported SRAM Types: Unknown Installed SRAM Type: Unknown Speed: Unknown Error Correction Type: Single-bit ECC System Type: Unified Associativity: 16-way Set-associative Handle 0x0011, DMI type 4, 42 bytes Processor Information Socket Designation: SOCKET 0 Type: Central Processor Family: Core i5 Manufacturer: Intel ID: 78 06 03 00 FF FB EB BF Signature: Type 0, Family 6, Model 55, Stepping 8 Flags: FPU (Floating-point unit on-chip) VME (Virtual mode extension) DE (Debugging extension) PSE (Page size extension) TSC (Time stamp counter) MSR (Model specific registers) PAE (Physical address extension) MCE (Machine check exception) CX8 (CMPXCHG8 instruction supported) APIC (On-chip APIC hardware supported) SEP (Fast system call) MTRR (Memory type range registers) PGE (Page global enable) MCA (Machine check architecture) CMOV (Conditional move instruction supported) PAT (Page attribute table) PSE-36 (36-bit page size extension) CLFSH (CLFLUSH instruction supported) DS (Debug store) ACPI (ACPI supported) MMX (MMX technology supported) FXSR (FXSAVE and FXSTOR instructions supported) SSE (Streaming SIMD extensions) SSE2 (Streaming SIMD extensions 2) SS (Self-snoop) HTT (Multi-threading) TM (Thermal monitor supported) PBE (Pending break enabled) Version: Intel(R) Atom(TM) CPU Z3735F @ 1.33GHz Voltage: 1.2 V External Clock: 83 MHz Max Speed: 2400 MHz Current Speed: 1330 MHz Status: Populated, Enabled Upgrade: Socket BGA1155 L1 Cache Handle: 0x000F L2 Cache Handle: 0x0010 L3 Cache Handle: Not Provided Serial Number: Not Specified Asset Tag: Fill By OEM Part Number: Fill By OEM Core Count: 4 Core Enabled: 4 Thread Count: 4 Characteristics: 64-bit capable Handle 0x0012, DMI type 131, 64 bytes OEM-specific Type Header and Data: 83 40 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 00 01 00 81 04 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 50 00 00 00 76 50 72 6F 00 00 00 00 Handle 0x0013, DMI type 127, 4 bytes End Of Table
OK I said way up above that a USB sound adapter can help; but that does nothing to use the built-in speakers. They sound pretty decent running Windows. Dead with Linux. Need I say I know this proprietary hardware was crap by Microsoft and hardware makers to keep people sucking at their teat? That is not OK. Need I say this machine was made to fight Chromebooks with full Windows instead. Else it would not have been done. It was not entirely successful with Windows and due still to much bloat. However this thing is the bee knees with Linux. I also use Mate/Debian (your option) on it and that makes the best of all worlds. It's light. Battery life is the tops. The quad core processor plays HD video and up to passable direct GUI. The direct GPU works automatically with Linux. The screen is a Goldy-locks resolution for max compatibility and good 11" size for carry. No touch screen to foul things up. Decent brightness. The cost was lower. Much more and all this you just can't get COMBINED in any other package. The true portable computer. Now I think we can stop posting dmifile specs. I don't think that person is working on a solution. My question is how do I get started writing a kernel model for this? Where do I go? Who do I need to coordinate with? What can you tell me to help me get the problem solved? Has anyone tried and failed? What is the road block? I have never suggest anyone has to help; nor failed to understand the BS in the hardware industry. I prefer open hardware. Yet last time I check the Linux community did not stand for being locked out of anything. I understand I'm going to have to reverse engineer this thing. Plus, I see where they purposely made it difficult. That never stopped us before. Why should it now?
>Has anyone tried and failed? What is the road block? It doesn't work. https://github.com/Monsterovich/rt5648/
I friend of a friend said he got audio working on an X205TA that he bought last week. He said he got it working out of the box using Manjaro Linux. Take this information with a grain of salt though, i asked for dmesg, kernel config and a picture of the underside of the laptop and haven't got it yet. yours
I friend of a friend said he got audio working on an X205TA that he bought last week. He said he got it working out of the box using Manjaro Linux. Take this with a grain of salt, i asked for dmesg, kernel config and a picture of the underside of the laptop and haven't got it yet. yours [2016-11-19 22:42] bugzilla-daemon@bugzilla.kernel.org <bugzilla-daemon@bugzilla.kernel.org> wrote: >https://bugzilla.kernel.org/show_bug.cgi?id=95681 > >--- Comment #32 from Spud <pkk777@netzero.com> --- >OK I said way up above that a USB sound adapter can help; but that does >nothing >to use the built-in speakers. They sound pretty decent running Windows. Dead >with Linux. > >Need I say I know this proprietary hardware was crap by Microsoft and hardware >makers to keep people sucking at their teat? That is not OK. > >Need I say this machine was made to fight Chromebooks with full Windows >instead. Else it would not have been done. It was not entirely successful with >Windows and due still to much bloat. However this thing is the bee knees with >Linux. I also use Mate/Debian (your option) on it and that makes the best of >all worlds. It's light. Battery life is the tops. The quad core processor >plays >HD video and up to passable direct GUI. The direct GPU works automatically >with >Linux. The screen is a Goldy-locks resolution for max compatibility and good >11" size for carry. No touch screen to foul things up. Decent brightness. The >cost was lower. Much more and all this you just can't get COMBINED in any >other >package. The true portable computer. > >Now I think we can stop posting dmifile specs. I don't think that person is >working on a solution. > >My question is how do I get started writing a kernel model for this? Where do >I >go? Who do I need to coordinate with? What can you tell me to help me get the >problem solved? Has anyone tried and failed? What is the road block? > >I have never suggest anyone has to help; nor failed to understand the BS in >the >hardware industry. I prefer open hardware. Yet last time I check the Linux >community did not stand for being locked out of anything. I understand I'm >going to have to reverse engineer this thing. Plus, I see where they purposely >made it difficult. That never stopped us before. Why should it now? > >-- >You are receiving this mail because: >You are on the CC list for the bug.
(In reply to Skullnet from comment #33) > >Has anyone tried and failed? What is the road block? > > It doesn't work. > https://github.com/Monsterovich/rt5648/ Actually, I wrote that code (Monsterovich's repo is actually a fork of https://github.com/KemyLand/rt5648/)myLand/rt5648/), so maybe I can give a few hints on the situation. Firstly, I copy-pasted the mainline rt5645 driver (which does work) and attempted to hack around with it, in an attempt to get a working rt5648 driver. After a few weeks, I got the driver to detect the card, register it with the sound subsystem, and almost got it to work. Some other people helped with a few bits of the code, and everything was going well. We were excited since we were apparently in the right track to reverse engineering a sound driver, and thus getting all of the X205TA's hardware to work under Linux. Then, we hit bottom and realized the hard truth. The card needs firmware. Proprietary firmware. Great. This happened several months ago. No further progress has been done ever since, simply because firmware is the only missing piece. Since we can't reverse-engineer the firmware by any sane means, it's virtually impossible to get around this problem without Realtek, who hasn't provided any help despite several emails being sent to them.
(In reply to Alejandro Soto from comment #36) > (In reply to Skullnet from comment #33) > > >Has anyone tried and failed? What is the road block? > > > > It doesn't work. > > https://github.com/Monsterovich/rt5648/ > > Actually, I wrote that code (Monsterovich's repo is actually a fork of > https://github.com/KemyLand/rt5648/)myLand/rt5648/), so maybe I can give a > few hints on the situation. > > Firstly, I copy-pasted the mainline rt5645 driver (which does work) and > attempted to hack around with it, in an attempt to get a working rt5648 > driver. After a few weeks, I got the driver to detect the card, register it > with the sound subsystem, and almost got it to work. Some other people > helped with a few bits of the code, and everything was going well. We were > excited since we were apparently in the right track to reverse engineering a > sound driver, and thus getting all of the X205TA's hardware to work under > Linux. > > Then, we hit bottom and realized the hard truth. The card needs firmware. > Proprietary firmware. Great. > > This happened several months ago. No further progress has been done ever > since, simply because firmware is the only missing piece. Since we can't > reverse-engineer the firmware by any sane means, it's virtually impossible > to get around this problem without Realtek, who hasn't provided any help > despite several emails being sent to them. Hi, I used your code, and then compiled the snd-soc-rt5648.ko file successfully. I put the ko file into /lib/modules/kernel/snd-soc-rt5648.ko and ran the "depmod -a" command. Then, while I ran "modprobe snd-soc-rt5648" to load this module, it is still no sound on my X205TA. Could you tell me how to make it work?
(In reply to Ron Li from comment #37) > Hi, I used your code, and then compiled the snd-soc-rt5648.ko file > successfully. I put the ko file into /lib/modules/kernel/snd-soc-rt5648.ko > and ran the "depmod -a" command. Then, while I ran "modprobe snd-soc-rt5648" > to load this module, it is still no sound on my X205TA. Could you tell me > how to make it work? As I already mentioned above, my code won't work without the proper RT5648 firmware, and we lack the firmware. There won't be any sound on any Linux-operated X205TA until we somehow get the right firmware. I've been quite conservative regarding modifications to my X205TA since February (it has been my main computer ever since, needing it nearly everday, and didn't wanted to break something). However, my X205TA will soon not be into constant usage for about 3 months. I'll use this time frame to do testing again, and maybe get another try on the rt5648 driver. The good news is that Windows has working sound, so a Windows installation should have the firmware stored somewhere.
So it's fucken hopeless unless that gaddam firmware gets released. Alright. http://www.realtek.com/contact/contentView.aspx?Langid=1&PNid=6&PFid=6&Level=1&Conn=1 "Dear Mr Realtek, As you can see here: https://bugzilla.kernel.org/show_bug.cgi?id=95681 Everybody is stuck with no sound on the Asus x205ta because the proper RT5648 firmware is missing to us all. It's sad, really sad. Sad, as in baby seals dying on the beach in droves during a summer party. As I write this message, I am on my knees, begging you, you almighty realtek. Could you please, for the love of god, consider making the proper RT5648 firmware for the Asus x205ta sound card, available to the linux community. Thank you very much. Regards, Your most loyal and faithful customer." https://vip.asus.com/VIP2/Services/QuestionForm?lang=en-us# (product type: Eee Book) "Dear Mr Asus As you can see here: https://bugzilla.kernel.org/show_bug.cgi?id=95681 Everybody is stuck with no sound on the Asus x205ta because the proper RT5648 firmware is missing to us all. It's sad as in polar bears drowning at sea because of global warming. I beg you, could you please help us make the proper RT5648 firmware for the Asus x205ta sound card available to the linux community. Thank you very very much. Regards, Your most loyal and faithful customer." And I've also launched a petition on change.org https://www.change.org/p/realtek-make-the-asus-x205ta-proper-sound-card-rt5648-firmware-available-to-the-linux-community
Hi I am from Realtek. I have no idea what RT5648 firmware means. RT5648 doesn't need any firmware to work. Can anyone show me the dmesg with Alejandro Soto's code? I am thinking maybe what you are talking about is Intel sst firmware which is needed for Baytrail. Unfortunately, I don't know where can we get proper Baytrail sst firmware. Actually, rt5648 is very similar to rt5645. So, the basic audio function should work if you use rt5645 codec driver and machine driver. Basically, what you need to do is add a mapping table on baytrail_machines[] in sst-acpi.c. Where also identify the firmware name for the card. Here is an example. static struct sst_acpi_mach baytrail_machines[] = { { "10EC5640", "byt-rt5640", "intel/fw_sst_0f28.bin-48kHz_i2s_master", NULL, NULL, NULL }, { "193C9890", "byt-max98090", "intel/fw_sst_0f28.bin-48kHz_i2s_master", NULL, NULL, NULL }, + { "10EC5645", "byt-rt5645", "intel/fw_sst_0f28.bin-48kHz_i2s_master", NULL, NULL, NULL }, {} }; Note that the codec name in DSDT.dsl should be match to the acpi id table in codec driver. So, Name (_HID, "10EC5648") // _HID: Hardware ID Name (_CID, "10EC5648") // _CID: Compatible ID should change to Name (_HID, "10EC5645") // _HID: Hardware ID Name (_CID, "10EC5645") // _CID: Compatible ID if you are using rt5645 driver. Maybe Alejandro Soto already did it, but I am sorry I can't access https://github.com/KemyLand/rt5648/)myLand/rt5648/. So I don't know what he did.
(In reply to Bard Liao from comment #40) > Maybe Alejandro Soto already did it, but I am sorry I can't access > https://github.com/KemyLand/rt5648/)myLand/rt5648/. So I don't know what he > did. Hi! It's great to know someone from Realtek is helping us! Regarding the URL, it's actually https://github.com/KemyLand/rt5648/ (I made a typo in my other comment).
BTW, my tree seems to lack some files mentioned by Bard Laio, so we where definitively on the wrong track with it.
Another BTW: You should look at the "debug" branch of the repository, not "master".
Hi, First, kudos to Bard for sticking his neck out here--the atmosphere in this bug thread is tense and I don't think that Realtek are necessary the only (or even majority) stakeholder in why this is not fully working. :) There have been a few people who probably got very close to getting this to work, including myself and Michele Curti working independently as well as with Pierre, Vinod, and a few others at Intel. My understanding is certainly not the best--I am not an expert at it!--however I did learn enough to get the basics and to maybe help with some of the confusion which has been happening in this thread. First, audio on this device is handled by a combination of the Intel SST device (part of the SoC) and connected to the Realtek RT5648 codec. There is a ton of information in this Ubuntu thread: https://ubuntuforums.org/showthread.php?t=2254322 Some contributed by Michele and many others, plus quite a bit of testing and code debugging/testing by myself as well (I am joshg2 on Ubuntu forums). You can see some of research and information starting around page 60 of this thread, especially in page 68 and page 80. There is also a pretty long thread on the Alsa mailing list started by Michele which kind of kicked a lot of this off, and had a fair amount of involvement from Intel as well. Basically, there should be a binary firmware loaded for the Intel SST audio device, these could be found here: https://git.kernel.org/cgit/linux/kernel/git/vkoul/firmware.git/tree/intel or also in many distributions' package repos), which is selected and loaded based on the ACPI device which is found currently from code in sst_acpi like you see here: https://github.com/torvalds/linux/blob/master/sound/soc/intel/common/sst-acpi.c (note especially starting around line 219 here: https://github.com/torvalds/linux/blob/master/sound/soc/intel/common/sst-acpi.c#L219 ) Note that sst_acpi is giving both a board driver name as well as a firmware name; there would need to be a board driver existing to link Intel SST audio device to the Realtek RT5648 codec. Also note that ALC5648, RT5648, 10EC5648 are all basically the same thing: different identifiers for the Realtek 5648 codec. And then of course you have to have the codec itself (which is loaded by the above-mentioned board driver). In RT5648 case it does have the same device ID as RT5645, so initially I was trying to create a board driver bytcr_rt5645 to link the Intel device and firmware together with the rt5645 codec. Yes, as others have pointed out, Asus did use RT5648 with Baytrail-CR in a few mobile Android devices; specifically a phone called FonePad and a tablet called MemoPad. I looked at the source code for both of those after I found them online and determined that the closer fit was the tablet (for multiple reasons, but especially because it had stereo speakers instead of mono, and there were fewer use-cases for sound output mixing like phone, speakerphone, etc which did not match cases for the X205TA). However, one major hurdle in this is that these devices are a couple of years old now, and the kernel used in these versions of Android (as well as Android in general), and the structure of the ASoC sound system in Linux kernal at the time was quite a bit different from modern versions of the kernel. It became quickly evident that trying to retrofit the existing code into modern versions of the kernel would be close to impossible, or, at a minimum, very painful to do! Another complicating factor, is that SoC-based devices like this are typically for mobile such as Android, and as such they typically use UCM to control mixing for sound output and input. I and Michele both were ultimately able to get a board driver compiled, using Intel firmware (and debate between SSP0/1/2 is also in question..) and Realtek RT5645 (or modified to more closely map RT5648 -- I spent a lot of time diff'ing the two and getting rt5645 to line up best I could with some of the very small differences found in rt5648). But, because of the point with UCM, the reality is that there are HUNDREDS of possible controls which must be set in order to control sound output and volume. So even if what I or Michele had was mostly working, it could be that we would still have a ton of trouble just getting the Alsa mixer controls set properly to even ensure that sound would play back. I did even pull the UCM profiles from some of these Android devices, but partly because there were so many differences in the Linux sound system between the older Android versions and modern 4.x kernels, it was still a lot of hurdles and a lot of differences! But reading through them did at least give me an idea on what to try, yet unfortunately I was never able to get sound to output. The closest I ever got was a one-time little pop sound from the speakers! So to recap: Intel SOC driver + Intel firmware + Realtek Codec + Alsa mixer controls/UCM are really the combination that are necessary here. On the Android devices (Fonepad and Memopad) which have similar hardware, when you read the code and see the comments, it was actually mostly put together by some folks at Asus and not Intel and Realtek (however I think they did help some at some point?). If I recall, the dates in the code comments were somewhere around 2012/2013 time frame. What I began to realize in part, over time, from working with all of this, is that it is pretty difficult to try and "guess" at what most of these values and settings should be without having the knowledge of how the hardware itself was implemented on the device. This is part of why I feel that Asus probably would have the ultimate responsibility in putting something like this together, though I am not sure if they are actively interested or working on anything of the sort. As for myself and my own involvement: the X205TA was sort of an in-between device for me as I was searching for a more expensive device that fit all of my usage requirements. It became more of a hobby than anything. Ultimately, I have since sold my X205TA and now I have a very nice UX303UB that does everything that I was looking for. I even have it set up to triple boot between Windows and 2 distributions of Linux with everything working. The battery life isn't as nice as the X205TA, but it isn't bad, either! (easily 7-8+ hours depending on what I am doing) My experience with other Asus devices (such as my UX303UB) help to further cement my opinion that the X205TA (and devices similar to it using mobile device class SOC processors) were ones which were a little bit of a departure from certain standard things which Asus has used in laptop devices of the past -- including the sound codecs, embedded controller devices for things like hotkeys and hotkey notifications, etc. All of these things which I spent a lot of time debugging and running into roadblocks on the X205TA are not an issue with some other laptop models from Asus which do not use these mobile-class processors like the Intel Atom. The reality is that the usage of devices like this with Linux is very small, and they are almost becoming deprecated with newer models coming out multiple times each year. There is not really any monetary or other incentive that I can tell for Asus to try and support this kind of development--they have other things which they are investing their time in! For the FonePad and MemoPad, these were products which they were marketing and selling with Android, so they had to get the sound working for them in order to create and sell the product. Anyway, I realize this ended up being a pretty long comment, but hopefully it will help someone in further troubleshooting this device and maybe coming with a good solution! If I can provide any help or anything, I will try to do so as I am able and capable. Best of luck! :) Josh
Didn't knew that you guys had already come up with a much more complete codebase than my driver-attempt. So, better off ignore my code and let's use your code as a base code ;). Do you have any links to it?
@Joshua Grisham First of all, thank you for taking the time to provide your input even though this doesn't directly benefit you anymore. I wholeheartedly agree with you that we should laud Bard for giving his feedback despite the negative tone here lately. Is there a way to access the work you and others have already done so we (or more specifically, people with capabilities to do so; sadly I'm not one of them) can build forward on that and do not need to reinvent the wheel ? Thanks in advance, Harry
Don't know if this can help anyone. The latest audio code is on git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next branch. But I didn't try it on ubuntu.
Alejandro, I have sent you a mail with some of my code. I did not keep track of all of my iterations, but that is one version which I had sent over to Intel for them to review. There is some more context on each of the files in my mail to you. Please feel free to take and upload for anyone else in the community and modify to your liking! Josh
this can be solved fairly simply by adding the MCLK support to the byt-rt5645 machine driver (same as in bytcr-rt5640).
can you try the code at https://github.com/plbossart/sound/tree/topic/bytrtclocks compile tested only but it should load the rt5645 driver and the cht-bsw-rt545 driver. If it works and you see the 'no backend' message your mixer settings are incorrect, use the UCM configuration from alsa-lib/src/conf/chtrt5645 and copy it to /usr/share/alsa/ucm please send dmesg logs if this doesn't work.
This doesn't work :) After I did. monsterovich@eee ~ $ play micro.wav play FAIL formats: can't open output file `default': snd_pcm_hw_params error: Invalid argument dmesg: [ 60.903138] Audio Port: ASoC: no backend DAIs enabled for Audio Port
Well, there is full dmesg log. http://pastebin.com/TyV2zYp5
Well there is encouraging news: the codec driver is detected and the machine driver gets loaded. I heard about two issues: For people who get the 'Audio Port: ASoC: no backend DAIs enabled for Audio Port' this is a configuration issue, you need to set the DSP mixers. If you just copy the existing alsa-lib/src/conf/ucm/chtrt5645 to /usr/share/alsa/ucm the message should go away. Note that the configuration isn't good, the volume is very low and I see the headset output only but that's a start. If you don't use UCM/PulseAudio then use the UCM files to set the alsamixer values with a script. for people who see 'cht-bsw-rt5645 cht-bsw-rt5645: ASoC: CODEC DAI rt5645-aif1 not registered" in dmesg, I found this regression on a CHT device as well and identified the issue. I will revert this commit as a work-around on my branch and see if this works later today. 67bf5156edc4f58241fd7c119ae145c552adddd6 is the first bad commit commit 67bf5156edc4f58241fd7c119ae145c552adddd6 Author: David Arcari <darcari@redhat.com> Date: Wed Oct 12 18:40:30 2016 +0200 gpio / ACPI: fix returned error from acpi_dev_gpio_irq_get() acpi_dev_gpio_irq_get() currently ignores the error returned by acpi_get_gpiod_by_index() and overwrites it with -ENOENT. Problem is this error can be -EPROBE_DEFER, which just blows up some drivers when the module ordering is not correct. Cc: stable@vger.kernel.org Signed-off-by: David Arcari <darcari@redhat.com> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
>If you just copy the existing alsa-lib/src/conf/ucm/chtrt5645 to >/usr/share/alsa/ucm the message should go away. It didn't.
then you need to debug and figure out what pulseaudio does. this is no longer a kernel/driver issue if the card is created
>then you need to debug and figure out what pulseaudio does. this is no longer >a kernel/driver issue if the card is created I don't have PA installed.
UCM profiles are used by pulseaudio so the profiles won't work without having it installed and playback using pulse. Your other option as Pierre mentioned before would be to read through the settings in the profiles and mirror the same control settings using alsamixer or similar.
I just pushed a forced update on my branch https://github.com/plbossart/sound/tree/topic/bytrtclocks it works on a CHT device, it *should* not load all the drivers on baytrail and set the clocks as well.
typo: it *should* NOW load all the drivers on baytrail and set the clocks as well.
unfortunately in my case alsa-mixer doesn't even see the device. [2016-12-01 18:37] bugzilla-daemon@bugzilla.kernel.org <bugzilla-daemon@bugzilla.kernel.org> wrote: >https://bugzilla.kernel.org/show_bug.cgi?id=95681 > >--- Comment #57 from Joshua Grisham <grishamjosh@gmail.com> --- >UCM profiles are used by pulseaudio so the profiles won't work without having >it installed and playback using pulse. Your other option as Pierre mentioned >before would be to read through the settings in the profiles and mirror the >same control settings using alsamixer or similar.
(In reply to Joshua Grisham from comment #57) > UCM profiles are used by pulseaudio so the profiles won't work without > having it installed and playback using pulse. Not really, UCM is independent from PA. UCM profiles can be used via alsaucm program included in alsa-utils alone. > Your other option as Pierre > mentioned before would be to read through the settings in the profiles and > mirror the same control settings using alsamixer or similar. Right, that's another option, and possibly may cover even more than the current UCM profile. Again: if you see "no backend" message is found in kernel, it's basically a good sign. The rest is most likely only the mixer / DSP setup, i.e. merely a configuration problem. (So in theory, at this point, this "kernel bugzilla entry" can be even closed -- it's no kernel bug, after all :) Note that it's implemented with DPCM, and without the proper routing set up by user, nothing works; even aplay fails, as some of you have already seen. This is normal behavior. You need to try to set up the routing either manually or UCM for making it flying.
>Again: if you see "no backend" message is found in kernel, it's basically a >good sign. Well, this message disappeared when I put these commands: 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 But I still have no sound. I also found that there are a lot of interrupts in intel audio driver: monsterovich@eee ~ $ cat /proc/interrupts | grep -E "CPU|sst" CPU0 CPU1 CPU2 CPU3 1: 1 35758 0 0 IO-APIC 29-fasteoi intel_sst_driver monsterovich@eee ~ $ play Beelzebub.flac Beelzebub.flac: File Size: 52.9M Bit Rate: 1.62M Encoding: FLAC Channels: 2 @ 24-bit Samplerate: 44100Hz Replaygain: off Artist: Gnosis (Remastered by Monsterovich) Duration: 00:04:21.51 Title: Beelzebub In:1.49% 00:00:03.90 [00:04:17.61] Out:182k [ -==|== ] Clip:0 Aborted. monsterovich@eee ~ $ cat /proc/interrupts | grep -E "CPU|sst" CPU0 CPU1 CPU2 CPU3 1: 1 35981 0 0 IO-APIC 29-fasteoi intel_sst_driver
Apparently most people are now able to load drivers and get a card created, however more work is needed: 1. dmesg shows [ 10.144419] intel_sst_acpi 80860F28:00: Detected Baytrail-CR platform This means the routing with SSP2 will not work, only SSP0 is physically present on the package. We would need to use the same quirk as on bytcr_rt5640 to enable the SSP0-AIF1 connection to get sound. 2. the UCM file is not very good and would need some love. Will see if I can do this later this week.
Another update is available at https://github.com/plbossart/sound/tree/topic/bytrtclocks I essentially copy-pasted most of the code needed for Baytrail-CR. On this device the DSDT tells me the routing should be SSP0-AIF1, let me know if this helps I also squelched some of the warnings but I am not too happy with the refcount-based solution, it's kludgy but hopefully enough for the time being. Again tested only on a CHT device for non-regressions, I have no X205 hardware.
It didn't work anyway. monsterovich@eee ~ $ aplay micro.wav Воспроизведение WAVE 'micro.wav' : Signed 16 bit Little Endian, Частота 44100 Гц, Стерео aplay: set_params:1297: Невозможно установить параметры hw: ACCESS: RW_INTERLEAVED FORMAT: S16_LE SUBFORMAT: STD SAMPLE_BITS: 16 FRAME_BITS: 32 CHANNELS: 2 RATE: 44100 PERIOD_TIME: 125000 PERIOD_SIZE: (5512 5513) PERIOD_BYTES: (22048 22052) PERIODS: (3 5) BUFFER_TIME: 500000 BUFFER_SIZE: 22050 BUFFER_BYTES: 88200 TICK_TIME: 0 [ 136.965900] intel_sst_acpi 80860F28:00: FW Version 01.dd.dd.dd [ 136.966991] Audio Port: ASoC: no backend DAIs enabled for Audio Port [ 159.100978] intel_sst_acpi 80860F28:00: FW Version 01.dd.dd.dd [ 159.102061] Audio Port: ASoC: no backend DAIs enabled for Audio Port [ 160.995503] Audio Port: ASoC: no backend DAIs enabled for Audio Port [ 205.543482] intel_sst_acpi 80860F28:00: FW Version 01.dd.dd.dd [ 205.544564] Audio Port: ASoC: no backend DAIs enabled for Audio Port [ 206.409306] Audio Port: ASoC: no backend DAIs enabled for Audio Port [ 207.036665] Audio Port: ASoC: no backend DAIs enabled for Audio Port [ 211.030900] intel_sst_acpi 80860F28:00: FW Version 01.dd.dd.dd [ 211.031968] Audio Port: ASoC: no backend DAIs enabled for Audio Port [ 220.476716] intel_sst_acpi 80860F28:00: FW Version 01.dd.dd.dd [ 220.504486] Audio Port: ASoC: no backend DAIs enabled for Audio Port [ 403.094006] intel_sst_acpi 80860F28:00: FW Version 01.dd.dd.dd [ 403.096563] Audio Port: ASoC: no backend DAIs enabled for Audio Port [ 405.840828] intel_sst_acpi 80860F28:00: FW Version 01.dd.dd.dd [ 405.841894] Audio Port: ASoC: no backend DAIs enabled for Audio Port [ 419.924946] intel_sst_acpi 80860F28:00: FW Version 01.dd.dd.dd [ 419.926004] Audio Port: ASoC: no backend DAIs enabled for Audio Port [ 425.884511] intel_sst_acpi 80860F28:00: FW Version 01.dd.dd.dd [ 425.885577] Audio Port: ASoC: no backend DAIs enabled for Audio Port [ 432.536858] intel_sst_acpi 80860F28:00: FW Version 01.dd.dd.dd [ 432.537929] Audio Port: ASoC: no backend DAIs enabled for Audio Port [ 446.224787] intel_sst_acpi 80860F28:00: FW Version 01.dd.dd.dd [ 446.225900] Audio Port: ASoC: no backend DAIs enabled for Audio Port [ 498.184757] intel_sst_acpi 80860F28:00: FW Version 01.dd.dd.dd [ 498.185821] Audio Port: ASoC: no backend DAIs enabled for Audio Port [ 499.095537] Audio Port: ASoC: no backend DAIs enabled for Audio Port [ 499.630406] Audio Port: ASoC: no backend DAIs enabled for Audio Port [ 500.299676] Audio Port: ASoC: no backend DAIs enabled for Audio Port
(In reply to Skullnet from comment #65) > It didn't work anyway. You didn't set up the DSP, that's why you still see "no backend DAIs" error and aplay hw_params error. In addition to setting up DSP, you'll need to set up the RT codec mixer elements to make the sound working. Even if all these are set up properly but you still don't get the sound, it might be a driver issue.
>In addition to setting up DSP, you'll need to set up the RT codec mixer >elements to make the sound working Which one? http://pastebin.com/p4ydC7mL There are a LOT of them.
(In reply to Skullnet from comment #67) > >In addition to setting up DSP, you'll need to set up the RT codec mixer > elements to make the sound working > > Which one? http://pastebin.com/p4ydC7mL All of them :)
>All of them :) I still get this "no backend DAIs" message after I enabled everything. However, It worked in previous version, but without sound.
You shouldn't enable everything, but *adjust* everything properly to match with your hardware configuration.
it's difficult to provide feedback or correct problems if you don't add any attachment, dmesg, or additional information. Keep in mind that neither Takashi nor I have this hardware so it's not like we can provide a turn-key solution. (In reply to Skullnet from comment #69) > >All of them :) > > I still get this "no backend DAIs" message after I enabled everything. > However, It worked in previous version, but without sound.
And actually the source of your problems are likely because with the SSP0 routing the 'modem' mixers are not set. Something like this should work: amixer -c0 set 'modem_out mix 0 pcm0_in' on (In reply to Pierre Bossart from comment #71) > it's difficult to provide feedback or correct problems if you don't add any > attachment, dmesg, or additional information. Keep in mind that neither > Takashi nor I have this hardware so it's not like we can provide a turn-key > solution. > > (In reply to Skullnet from comment #69) > > >All of them :) > > > > I still get this "no backend DAIs" message after I enabled everything. > > However, It worked in previous version, but without sound.
Created attachment 246651 [details] mixer settings for speaker playback tested on Asus T100HA, works fine on speakers. No luck with headphones, static noise and crackling sound
>tested on Asus T100HA, works fine on speakers. No luck with headphones, static >noise and crackling sound This script removed "no backend DAIs" message, but I still have no sound from speakers or headphones.
Well, when I enabled the "Speaker Channel" option, speakers started to beep loudly and get warm and I instantly turned off my laptop. This driver is dangerous. I don't want to get dead speakers as a result of these useless tests.
Yes, for any sound testing, you'd have to start from the low level and raise the volume gradually. Never ever test with the full volume from the beginning, and check always the dB level in each mixer element. That's why basically all volumes are lowest and muted as default. Such a danger isn't specific to this driver but it's true in general. (Though, ASoC codec driver tends to expose all possible stuff that can toast more easily than the ones on PC laptops, indeed...)
Nobody forced you to run those tests and these settings are examples only tested on another machine where they work well - clearly indicated in the comment. If you find the driver dangerous and the test useless you are welcome to try something else. Best of luck.
Thanks a lot for all the help & work you put into this Pierre and Takashi ! This is in no way useless (as someone implied before), let me tell you! If I am able to, I'll try and get you some actual meaningful feedback...
(In reply to harryharryharry from comment #78) > Thanks a lot for all the help & work you put into this Pierre and Takashi ! > This is in no way useless (as someone implied before), let me tell you! > > If I am able to, I'll try and get you some actual meaningful feedback... I'm by no means attempting to defend the "useless tests" comment. Everyone's help here is greatly appreciated, and is the only means we have to run the OS we want, the way we want, on our own systems. But, given that the aforementioned commenter almost burnt out his speakers while performing these tests, further precaution must of course be taken.
While debugging an imbalance between mclck enable/disable calls that generated warnings in dmesg, I may have found the root cause for the problem on Baytrail, there was a missing DAPM configuration and as a result the mclk was not enabled at the right frequency. It may explain the behavior reported last week. For testers there is a new branch at https://github.com/plbossart/sound/tree/experimental/codecs the name of the branch is self-explanatory, the code was tested on CHT, not Baytrail and all standard disclaimers apply. Please start with the lowest volume setting and increase gradually amixer -Dhw:chtrt5645 cset name="Speaker Playback Volume" 1%
Hi Pierre, I compiled & booted a kernel from your experimental/codecs branch. There is no audio (also no heat or smoke :) ). This is the dmesg: http://sprunge.us/UUFj For now I only built the kernel and tried to play a mp3-file with vlc (after I applied the "mixer settings for speaker playback"-attachment you uploaded, and set speaker playback volume to low first...) because I wouldn't really know what to test/try next... If there is anything else I can test or other logs I can provide please let me know. Gr. Harry
Hello, I am following this already for some time... its quite important so i want to contribute by testing. thing is, i am not sure how. so i download for example the latest source- 4.8.0 and patch it with pierres files. Then what steps are important? i am not the most experienced linux user out there... Big question. do I need to adjust something else in order to be able to boot with the new kernel later on? greets, tom
Better to use Pierre's branch as is, instead of cherry-picking. It's based on the latest ASoC tree, so it's practically for 4.10 kernel, and already contains other relevant fixes than 4.8.
yes, use this branch, make sure you have KConfigs PINCTRL_BAYTRAIL and PINCTRL_CHERRYVIEW enabled ('m' or 'y') Then install the new kernel and setup the mixers (with the script or UCM) and send the dmesg logs if it fails
(In reply to harryharryharry from comment #81) > Hi Pierre, > > I compiled & booted a kernel from your experimental/codecs branch. There is > no audio (also no heat or smoke :) ). > > This is the dmesg: > http://sprunge.us/UUFj > > For now I only built the kernel and tried to play a mp3-file with vlc (after > I applied the "mixer settings for speaker playback"-attachment you uploaded, > and set speaker playback volume to low first...) because I wouldn't really > know what to test/try next... > > If there is anything else I can test or other logs I can provide please let > me know. > > Gr. Harry Your log shows: [ 11.368499] Audio Port: ASoC: no backend DAIs enabled for Audio Port which is the telltale sign that the mixers are not set. Maybe reboot if the mixer settings were not applied upfront.
Hello Pierre, i tried all the new suggestions and your script. i still have no sound, but i see: [ 110.099134] intel_sst_acpi 80860F28:00: FW Version 01.dd.dd.dd [ 110.177689] Base clock rate 1536000 is too low [ 110.177699] rt5645 i2c-10EC5648:00: Failed to set DMIC clock [ 110.177704] rt5645 i2c-10EC5648:00: ASoC: PRE_PMU: DMIC CLK event failed: -22 [ 110.368232] Base clock rate 1536000 is too low [ 110.368243] rt5645 i2c-10EC5648:00: Failed to set DMIC clock [ 110.368248] rt5645 i2c-10EC5648:00: ASoC: PRE_PMU: DMIC CLK event failed: -22 [ 119.879133] intel_sst_acpi 80860F28:00: FW Version 01.dd.dd.dd [ 119.988003] Base clock rate 1536000 is too low [ 119.988032] rt5645 i2c-10EC5648:00: Failed to set DMIC clock [ 119.988051] rt5645 i2c-10EC5648:00: ASoC: PRE_PMU: DMIC CLK event failed: -22 [ 120.158250] Base clock rate 1536000 is too low [ 120.158261] rt5645 i2c-10EC5648:00: Failed to set DMIC clock [ 120.158266] rt5645 i2c-10EC5648:00: ASoC: PRE_PMU: DMIC CLK event failed: -22 yours Christian [2016-12-12 16:32] bugzilla-daemon@bugzilla.kernel.org <bugzilla-daemon@bugzilla.kernel.org> wrote: >https://bugzilla.kernel.org/show_bug.cgi?id=95681 > >--- Comment #84 from Pierre Bossart <pierre-louis.bossart@linux.intel.com> --- >yes, use this branch, make sure you have KConfigs PINCTRL_BAYTRAIL and >PINCTRL_CHERRYVIEW enabled ('m' or 'y') >Then install the new kernel and setup the mixers (with the script or UCM) and >send the dmesg logs if it fails > >-- >You are receiving this mail because: >You are on the CC list for the bug.
there may be a missing control value, I only set the mclk to 19.2 MHz and I have no idea how this might get divided into 1.536MHz @Bard: can you look into this? https://github.com/plbossart/sound/blob/4dc0569af161dd57c47e83a09326be372165642b/sound/soc/codecs/rt5645.c#L839
Thanks for the feedback Pierre. I think I'm up to speed, as I'm getting the same message as KBT now.
(In reply to harryharryharry from comment #88) > Thanks for the feedback Pierre. I think I'm up to speed, as I'm getting the > same message as KBT now. can you share the dmesg log? I suspect the issue is due to a missing control, on CHT I test with SSP2-AIF1 but on baytrail you would need to use SSP0-AIF2 and maybe the dmic link isn't quite right
this is my dmesg: http://sprunge.us/VDaY
I can confirm the issue is due to a different routing. when I force the routing to be the same as on Baytrail I also see the same logs. We probably need Realtek's help here.
(In reply to Pierre Bossart from comment #91) > I can confirm the issue is due to a different routing. when I force the > routing to be the same as on Baytrail I also see the same logs. We probably > need Realtek's help here. I fear that isn't going to happen anytime soon. A few of us emailed them about a year ago, and got absolutely no response.
where do you think the mixers settings come from? Bard Liao from Realtek has been extremely helpful. Most of the issues here are due to hardware differences and BIOS concerns, Realtek and Intel are both trying to help without knowledge on how those platforms were built or actual hardware to test.
I thought Bard Laio worked at Intel... sorry for the confusion.
(In reply to Pierre Bossart from comment #87) > there may be a missing control value, I only set the mclk to 19.2 MHz and I > have no idea how this might get divided into 1.536MHz > > @Bard: can you look into this? > https://github.com/plbossart/sound/blob/ > 4dc0569af161dd57c47e83a09326be372165642b/sound/soc/codecs/rt5645.c#L839 You can use PLL to get 24.576MHz sysclk. sysclk = 512 * params_rate(params); snd_soc_dai_set_pll(codec_dai, 0, RT5645_PLL1_S_MCLK, mclk rate, sysclk); snd_soc_dai_set_sysclk(codec_dai, RT5645_SCLK_S_PLL1, sysclk, SND_SOC_CLOCK_IN);
Created attachment 247511 [details] mixer setting for rt5645 codec driver That is for reference only. If anyone find(feel) there is anything wrong, please let me know.
(In reply to Bard Liao from comment #95) > (In reply to Pierre Bossart from comment #87) > > there may be a missing control value, I only set the mclk to 19.2 MHz and I > > have no idea how this might get divided into 1.536MHz > > > > @Bard: can you look into this? > > https://github.com/plbossart/sound/blob/ > > 4dc0569af161dd57c47e83a09326be372165642b/sound/soc/codecs/rt5645.c#L839 > > You can use PLL to get 24.576MHz sysclk. > sysclk = 512 * params_rate(params); > snd_soc_dai_set_pll(codec_dai, 0, RT5645_PLL1_S_MCLK, mclk rate, sysclk); > snd_soc_dai_set_sysclk(codec_dai, RT5645_SCLK_S_PLL1, sysclk, > SND_SOC_CLOCK_IN); it's what we are doing already in the hw_params https://github.com/plbossart/sound/blob/2966f928814f706ea18c112d6a46d670457d799e/sound/soc/intel/boards/cht_bsw_rt5645.c#L221 Does it need to be done earlier on startup?
Is there anything we can 'trial-and-error' about it, or does Bard need to shine his light on this one ?
I am working with Bard to solve the DMIC setting issue. Stay tuned.
Bard Liao provided a fix that makes the "Failed to set DMIC clock" error message go away when using AIF2 and no regression on AIF1. Any volunteers to test on X205TA? new branch (forced update) is at: https://github.com/plbossart/sound/commits/experimental/codecs No functional changes since last time except a rebase to the latest broonie/for-next code and an update for the MCLK code.
Created attachment 248181 [details] dmesg.txt I tried the tip of the topic branch i still get: Audio Port: ASoC: no backend DAIs enabled for Audio Port even after running 5645_mixers.sh after playing around a bit toggling DAC L2 Mux ( IF1 DAC) gave some noise (strangely not the audio i wanted to play though, a lot deeper) dmesg.txt attached [2016-12-19 19:43] bugzilla-daemon@bugzilla.kernel.org <bugzilla-daemon@bugzilla.kernel.org> wrote: >https://bugzilla.kernel.org/show_bug.cgi?id=95681 > >--- Comment #100 from Pierre Bossart <pierre-louis.bossart@linux.intel.com> >--- >Bard Liao provided a fix that makes the "Failed to set DMIC clock" error >message go away when using AIF2 and no regression on AIF1. Any volunteers to >test on X205TA? > >new branch (forced update) is at: >https://github.com/plbossart/sound/commits/experimental/codecs > >No functional changes since last time except a rebase to the latest >broonie/for-next code and an update for the MCLK code. > >-- >You are receiving this mail because: >You are on the CC list for the bug.
toggling DAC1 L Mux gives something intelligible it's stuttering though [2016-12-20 17:46] Dr. Christian Bahls - qb352.de <kbt@qb352.de> wrote: >I tried the tip of the topic branch > >i still get: Audio Port: ASoC: no backend DAIs enabled for Audio Port > >even after running 5645_mixers.sh > >after playing around a bit toggling DAC L2 Mux ( IF1 DAC) >gave some noise (strangely not the audio i wanted to play though, a lot >deeper) > >dmesg.txt attached > > >[2016-12-19 19:43] bugzilla-daemon@bugzilla.kernel.org ><bugzilla-daemon@bugzilla.kernel.org> wrote: >>https://bugzilla.kernel.org/show_bug.cgi?id=95681 >> >>--- Comment #100 from Pierre Bossart <pierre-louis.bossart@linux.intel.com> >>--- >>Bard Liao provided a fix that makes the "Failed to set DMIC clock" error >>message go away when using AIF2 and no regression on AIF1. Any volunteers to >>test on X205TA? >> >>new branch (forced update) is at: >>https://github.com/plbossart/sound/commits/experimental/codecs >> >>No functional changes since last time except a rebase to the latest >>broonie/for-next code and an update for the MCLK code. >> >>-- >>You are receiving this mail because: >>You are on the CC list for the bug. >[ 0.000000] Linux version 4.9.0-x205ta-pb-nf-00332-g5fd7444 (e@dumbo) (gcc >version 6.2.0 20161109 (Debian 6.2.0-13) ) #11 SMP Tue Dec 20 17:21:20 CET >2016 >[ 0.000000] KERNEL supported cpus: >[ 0.000000] Intel GenuineIntel >[ 0.000000] x86/fpu: Legacy x87 FPU detected. >[ 0.000000] x86/fpu: Using 'eager' FPU context switches. >[ 0.000000] e820: BIOS-provided physical RAM map: >[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000008efff] usable >[ 0.000000] BIOS-e820: [mem 0x000000000008f000-0x000000000008ffff] ACPI NVS >[ 0.000000] BIOS-e820: [mem 0x0000000000090000-0x000000000009dfff] usable >[ 0.000000] BIOS-e820: [mem 0x000000000009e000-0x000000000009ffff] reserved >[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000001fffffff] usable >[ 0.000000] BIOS-e820: [mem 0x0000000020000000-0x00000000201fffff] reserved >[ 0.000000] BIOS-e820: [mem 0x0000000020200000-0x000000007b8d1fff] usable >[ 0.000000] BIOS-e820: [mem 0x000000007b8d2000-0x000000007b901fff] reserved >[ 0.000000] BIOS-e820: [mem 0x000000007b902000-0x000000007b935fff] ACPI >data >[ 0.000000] BIOS-e820: [mem 0x000000007b936000-0x000000007c040fff] ACPI NVS >[ 0.000000] BIOS-e820: [mem 0x000000007c041000-0x000000007c928fff] reserved >[ 0.000000] BIOS-e820: [mem 0x000000007c929000-0x000000007c984fff] type 20 >[ 0.000000] BIOS-e820: [mem 0x000000007c985000-0x000000007cbfffff] usable >[ 0.000000] BIOS-e820: [mem 0x00000000e00f8000-0x00000000e00f8fff] reserved >[ 0.000000] BIOS-e820: [mem 0x00000000fed01000-0x00000000fed01fff] reserved >[ 0.000000] BIOS-e820: [mem 0x00000000fed08000-0x00000000fed08fff] reserved >[ 0.000000] BIOS-e820: [mem 0x00000000ffb00000-0x00000000ffffffff] reserved >[ 0.000000] Notice: NX (Execute Disable) protection cannot be enabled: >non-PAE kernel! >[ 0.000000] efi: EFI v2.31 by American Megatrends >[ 0.000000] efi: ACPI=0x7b935000 ACPI 2.0=0x7b935014 ESRT=0x7c928290 >SMBIOS=0x7c928110 >[ 0.000000] SMBIOS 2.7 present. >[ 0.000000] DMI: ASUSTeK COMPUTER INC. X205TA/X205TA, BIOS X205TA.212 >09/04/2015 >[ 0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved >[ 0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable >[ 0.000000] e820: last_pfn = 0x7cc00 max_arch_pfn = 0x100000 >[ 0.000000] MTRR default type: uncachable >[ 0.000000] MTRR fixed ranges enabled: >[ 0.000000] 00000-9FFFF write-back >[ 0.000000] A0000-FFFFF write-protect >[ 0.000000] MTRR variable ranges enabled: >[ 0.000000] 0 base 000000000 mask F80000000 write-back >[ 0.000000] 1 base 07E000000 mask FFE000000 uncachable >[ 0.000000] 2 base 07D000000 mask FFF000000 uncachable >[ 0.000000] 3 base 07CE00000 mask FFFE00000 uncachable >[ 0.000000] 4 base 07CE00000 mask FFFE00000 uncachable >[ 0.000000] 5 base 07CD00000 mask FFFF00000 uncachable >[ 0.000000] 6 disabled >[ 0.000000] 7 disabled >[ 0.000000] x86/PAT: Configuration [0-7]: WB WC UC- UC WB WC UC- WT >[ 0.000000] esrt: Reserving ESRT space from 0x7c928290 to 0x7c9282c8. >[ 0.000000] initial memory mapped: [mem 0x00000000-0x0effffff] >[ 0.000000] Base memory trampoline at [78099000] 99000 size 16384 >[ 0.000000] BRK [0x0e80a000, 0x0e80afff] PGTABLE >[ 0.000000] BRK [0x0e80b000, 0x0e80bfff] PGTABLE >[ 0.000000] BRK [0x0e80c000, 0x0e80cfff] PGTABLE >[ 0.000000] RAMDISK: [mem 0x3752a000-0x37a8cfff] >[ 0.000000] ACPI: Early table checksum verification disabled >[ 0.000000] ACPI: RSDP 0x000000007B935014 000024 (v02 _ASUS_) >[ 0.000000] ACPI: XSDT 0x000000007B9340F8 0000D4 (v01 _ASUS_ Notebook >00000003 MSFT 0100000D) >[ 0.000000] ACPI: FACP 0x000000007B930000 00010C (v05 _ASUS_ Notebook >00000003 AMI 0100000D) >[ 0.000000] ACPI: DSDT 0x000000007B919000 0126D7 (v02 _ASUS_ Notebook >00000003 AMI 0100000D) >[ 0.000000] ACPI: TCPA 0x000000007B933000 000032 (v02 >00000000 00000000) >[ 0.000000] ACPI: UEFI 0x000000007BFF4000 000042 (v01 _ASUS_ Notebook >00000000 00000000) >[ 0.000000] ACPI: OEM0 0x000000007B932000 000084 (v05 _ASUS_ BATTERY >00000003 AMI 0100000D) >[ 0.000000] ACPI: DBG2 0x000000007B931000 000072 (v00 _ASUS_ INTLDBG2 >00000003 AMI 0100000D) >[ 0.000000] ACPI: HPET 0x000000007B92F000 000038 (v01 _ASUS_ Notebook >00000003 AMI 0100000D) >[ 0.000000] ACPI: LPIT 0x000000007B92E000 000104 (v01 _ASUS_ Notebook >00000003 AMI 0100000D) >[ 0.000000] ACPI: APIC 0x000000007B92D000 00006C (v03 _ASUS_ Notebook >00000003 AMI 0100000D) >[ 0.000000] ACPI: MCFG 0x000000007B92C000 00003C (v01 _ASUS_ Notebook >00000003 AMI 0100000D) >[ 0.000000] ACPI: SSDT 0x000000007B918000 000603 (v01 _ASUS_ CpuDptf >00000003 AMI 0100000D) >[ 0.000000] ACPI: SSDT 0x000000007B916000 001BE2 (v01 _ASUS_ DptfTab >00000003 AMI 0100000D) >[ 0.000000] ACPI: SSDT 0x000000007B915000 000058 (v01 _ASUS_ LowPwrM >00000003 AMI 0100000D) >[ 0.000000] ACPI: SSDT 0x000000007B914000 0000FF (v01 _ASUS_ SoCDptf >00000003 AMI 0100000D) >[ 0.000000] ACPI: FPDT 0x000000007B913000 000044 (v01 _ASUS_ Notebook >01072009 AMI 00010013) >[ 0.000000] ACPI: SSDT 0x000000007B912000 000763 (v01 PmRef CpuPm >00003000 INTL 20061109) >[ 0.000000] ACPI: SSDT 0x000000007B911000 000290 (v01 PmRef Cpu0Tst >00003000 INTL 20061109) >[ 0.000000] ACPI: SSDT 0x000000007B910000 00017A (v01 PmRef ApTst >00003000 INTL 20061109) >[ 0.000000] ACPI: SSDT 0x000000007B90F000 000427 (v01 Intel_ Tpm2Tabl >00001000 INTL 20061109) >[ 0.000000] ACPI: TPM2 0x000000007B90E000 000034 (v03 >00000000 00000000) >[ 0.000000] ACPI: BGRT 0x000000007B90D000 000038 (v01 _ASUS_ Notebook >01072009 AMI 00010013) >[ 0.000000] ACPI: CSRT 0x000000007B90C000 00014C (v00 _ASUS_ Notebook >00000005 INTL 20120624) >[ 0.000000] ACPI: MSDM 0x000000007B900F90 000055 (v03 _ASUS_ Notebook >00000000 ASUS 00000001) >[ 0.000000] ACPI: Local APIC address 0xfee00000 >[ 0.000000] 0MB HIGHMEM available. >[ 0.000000] 1996MB LOWMEM available. >[ 0.000000] mapped low ram: 0 - 7cc00000 >[ 0.000000] low ram: 0 - 7cc00000 >[ 0.000000] BRK [0x0e80d000, 0x0e80dfff] PGTABLE >[ 0.000000] Zone ranges: >[ 0.000000] DMA [mem 0x0000000000001000-0x0000000000ffffff] >[ 0.000000] Normal [mem 0x0000000001000000-0x000000007cbfffff] >[ 0.000000] HighMem empty >[ 0.000000] Movable zone start for each node >[ 0.000000] Early memory node ranges >[ 0.000000] node 0: [mem 0x0000000000001000-0x000000000008efff] >[ 0.000000] node 0: [mem 0x0000000000090000-0x000000000009dfff] >[ 0.000000] node 0: [mem 0x0000000000100000-0x000000001fffffff] >[ 0.000000] node 0: [mem 0x0000000020200000-0x000000007b8d1fff] >[ 0.000000] node 0: [mem 0x000000007c985000-0x000000007cbfffff] >[ 0.000000] Initmem setup node 0 [mem >0x0000000000001000-0x000000007cbfffff] >[ 0.000000] On node 0 totalpages: 506089 >[ 0.000000] free_area_init_node: node 0, pgdat 866ca440, node_mem_map >ef882028 >[ 0.000000] DMA zone: 40 pages used for memmap >[ 0.000000] DMA zone: 0 pages reserved >[ 0.000000] DMA zone: 3996 pages, LIFO batch:0 >[ 0.000000] Normal zone: 4950 pages used for memmap >[ 0.000000] Normal zone: 502093 pages, LIFO batch:31 >[ 0.000000] Using APIC driver default >[ 0.000000] Reserving Intel graphics memory at 0x7cf00000-0x7eefffff >[ 0.000000] ACPI: Local APIC address 0xfee00000 >[ 0.000000] IOAPIC[0]: apic_id 8, version 32, address 0xfec00000, GSI 0-86 >[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) >[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) >[ 0.000000] Using ACPI (MADT) for SMP configuration information >[ 0.000000] smpboot: Allowing 4 CPUs, 0 hotplug CPUs >[ 0.000000] PM: Registered nosave memory: [mem 0x00000000-0x00000fff] >[ 0.000000] PM: Registered nosave memory: [mem 0x0008f000-0x0008ffff] >[ 0.000000] PM: Registered nosave memory: [mem 0x0009e000-0x0009ffff] >[ 0.000000] PM: Registered nosave memory: [mem 0x000a0000-0x000fffff] >[ 0.000000] PM: Registered nosave memory: [mem 0x20000000-0x201fffff] >[ 0.000000] PM: Registered nosave memory: [mem 0x7b8d2000-0x7b901fff] >[ 0.000000] PM: Registered nosave memory: [mem 0x7b902000-0x7b935fff] >[ 0.000000] PM: Registered nosave memory: [mem 0x7b936000-0x7c040fff] >[ 0.000000] PM: Registered nosave memory: [mem 0x7c041000-0x7c928fff] >[ 0.000000] PM: Registered nosave memory: [mem 0x7c929000-0x7c984fff] >[ 0.000000] e820: [mem 0x7ef00000-0xe00f7fff] available for PCI devices >[ 0.000000] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: >0xffffffff, max_idle_ns: 19112604462750000 ns >[ 0.000000] setup_percpu: NR_CPUS:4 nr_cpumask_bits:4 nr_cpu_ids:4 >nr_node_ids:1 >[ 0.000000] percpu: Embedded 16 pages/cpu @f3698000 s35788 r0 d29748 u65536 >[ 0.000000] pcpu-alloc: s35788 r0 d29748 u65536 alloc=16*4096 >[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 >[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total >pages: 501099 >[ 0.000000] Kernel command line: >BOOT_IMAGE=/vmlinuz-4.9.0-x205ta-pb-nf-00332-g5fd7444 >root=UUID=2b3b9c91-22c2-472a-8312-7934c9c774c6 ro noht nohpet >drm.vblankoffdelay=1 video.use_native_backlight=1 i915.enable_hangcheck=0 >relative_sleep_states=1 >[ 0.000000] Setting dangerous option i915.enable_hangcheck - tainting >kernel >[ 0.000000] log_buf_len individual max cpu contribution: 32768 bytes >[ 0.000000] log_buf_len total cpu_extra contributions: 98304 bytes >[ 0.000000] log_buf_len min size: 131072 bytes >[ 0.000000] log_buf_len: 262144 bytes >[ 0.000000] early log buf free: 121284(92%) >[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes) >[ 0.000000] Dentry cache hash table entries: 262144 (order: 8, 1048576 >bytes) >[ 0.000000] Inode-cache hash table entries: 131072 (order: 7, 524288 bytes) >[ 0.000000] Initializing CPU#0 >[ 0.000000] Initializing HighMem for node 0 (00000000:00000000) >[ 0.000000] Memory: 1951292K/2024356K available (4887K kernel code, 362K >rwdata, 1784K rodata, 472K init, 452K bss, 73064K reserved, 0K cma-reserved, >0K highmem) >[ 0.000000] virtual kernel memory layout: > fixmap : 0xfff67000 - 0xfffff000 ( 608 kB) > pkmap : 0xff800000 - 0xffc00000 (4096 kB) > vmalloc : 0xf5400000 - 0xff7fe000 ( 163 MB) > lowmem : 0x78000000 - 0xf4c00000 (1996 MB) > .init : 0x866e2000 - 0x86758000 ( 472 kB) > .data : 0x864c6063 - 0x866e0980 (2154 kB) > .text : 0x86000000 - 0x864c6063 (4888 kB) >[ 0.000000] Checking if this processor honours the WP bit even in >supervisor mode...Ok. >[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 >[ 0.000000] Hierarchical RCU implementation. >[ 0.000000] Build-time adjustment of leaf fanout to 32. >[ 0.000000] NR_IRQS:2304 nr_irqs:1024 0 >[ 0.000000] CPU 0 irqstacks, hard=ef40c000 soft=ef40e000 >[ 0.000000] Console: colour dummy device 80x25 >[ 0.000000] console [tty0] enabled >[ 0.000000] tsc: Detected 1332.800 MHz processor >[ 0.000016] Calibrating delay loop (skipped), value calculated using timer >frequency.. 2665.60 BogoMIPS (lpj=13328000) >[ 0.000043] pid_max: default: 32768 minimum: 301 >[ 0.000067] ACPI: Core revision 20160831 >[ 0.030746] ACPI: 9 ACPI AML tables successfully acquired and loaded >[ 0.087433] Mount-cache hash table entries: 4096 (order: 2, 16384 bytes) >[ 0.087452] Mountpoint-cache hash table entries: 4096 (order: 2, 16384 >bytes) >[ 0.087871] CPU: Physical Processor ID: 0 >[ 0.087885] CPU: Processor Core ID: 0 >[ 0.087901] ENERGY_PERF_BIAS: Set to 'normal', was 'performance' >[ 0.087913] ENERGY_PERF_BIAS: View and update with >x86_energy_perf_policy(8) >[ 0.087934] mce: CPU supports 6 MCE banks >[ 0.087953] CPU0: Thermal monitoring enabled (TM1) >[ 0.087971] process: using mwait in idle threads >[ 0.087992] Last level iTLB entries: 4KB 48, 2MB 0, 4MB 0 >[ 0.088006] Last level dTLB entries: 4KB 128, 2MB 16, 4MB 16, 1GB 0 >[ 0.088313] Freeing SMP alternatives memory: 16K (86758000 - 8675c000) >[ 0.088437] smpboot: APIC(0) Converting physical 0 to logical package 0 >[ 0.088453] smpboot: Max logical packages: 1 >[ 0.088468] Enabling APIC mode: Flat. Using 1 I/O APICs >[ 0.088526] TSC deadline timer enabled >[ 0.088530] smpboot: CPU0: Intel(R) Atom(TM) CPU Z3735F @ 1.33GHz (family: >0x6, model: 0x37, stepping: 0x8) >[ 0.088560] Performance Events: PEBS fmt2+, 8-deep LBR, Silvermont events, >8-deep LBR, full-width counters, Intel PMU driver. >[ 0.088603] ... version: 3 >[ 0.088616] ... bit width: 40 >[ 0.088628] ... generic registers: 2 >[ 0.088640] ... value mask: 000000ffffffffff >[ 0.088652] ... max period: 0000007fffffffff >[ 0.088665] ... fixed-purpose events: 3 >[ 0.088677] ... event mask: 0000000700000003 >[ 0.090264] CPU 1 irqstacks, hard=ef4ea000 soft=ef4ec000 >[ 0.090266] x86: Booting SMP configuration: >[ 0.090281] .... node #0, CPUs: #1 >[ 0.090377] Initializing CPU#1 >[ 0.240982] CPU 2 irqstacks, hard=ef4f8000 soft=ef4fa000 >[ 0.241000] #2 >[ 0.241054] Initializing CPU#2 >[ 0.391050] CPU 3 irqstacks, hard=ef50e000 soft=ef51c000 >[ 0.391065] #3 >[ 0.391118] Initializing CPU#3 >[ 0.540911] x86: Booted up 1 node, 4 CPUs >[ 0.540938] smpboot: Total of 4 processors activated (10665.98 BogoMIPS) >[ 0.541898] devtmpfs: initialized >[ 0.542621] PM: Registering ACPI NVS region [mem 0x0008f000-0x0008ffff] >(4096 bytes) >[ 0.542645] PM: Registering ACPI NVS region [mem 0x7b936000-0x7c040fff] >(7385088 bytes) >[ 0.543045] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, >max_idle_ns: 19112604462750000 ns >[ 0.543124] pinctrl core: initialized pinctrl subsystem >[ 0.543374] NET: Registered protocol family 16 >[ 0.568782] cpuidle: using governor ladder >[ 0.569012] ACPI: bus type PCI registered >[ 0.569135] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem >0xe0000000-0xefffffff] (base 0xe0000000) >[ 0.569161] PCI: not using MMCONFIG >[ 0.569962] PCI: Using configuration type 1 for base access >[ 0.608992] HugeTLB registered 4 MB page size, pre-allocated 0 pages >[ 0.609445] ACPI: Added _OSI(Module Device) >[ 0.609461] ACPI: Added _OSI(Processor Device) >[ 0.609474] ACPI: Added _OSI(3.0 _SCP Extensions) >[ 0.609488] ACPI: Added _OSI(Processor Aggregator Device) >[ 0.632083] ACPI: Dynamic OEM Table Load: >[ 0.632119] ACPI: SSDT 0x00000000EF608000 000501 (v01 PmRef Cpu0Ist >00003000 INTL 20061109) >[ 0.632827] ACPI: Dynamic OEM Table Load: >[ 0.632857] ACPI: SSDT 0x00000000EF608800 000433 (v01 PmRef Cpu0Cst >00003001 INTL 20061109) >[ 0.634235] ACPI: Dynamic OEM Table Load: >[ 0.634265] ACPI: SSDT 0x00000000EF5FC000 00015F (v01 PmRef ApIst >00003000 INTL 20061109) >[ 0.634920] ACPI: Dynamic OEM Table Load: >[ 0.634951] ACPI: SSDT 0x00000000EF476F00 00008D (v01 PmRef ApCst >00003000 INTL 20061109) >[ 0.638945] ACPI: Interpreter enabled >[ 0.639011] ACPI: (supports S0 S5) >[ 0.639025] ACPI: Using IOAPIC for interrupt routing >[ 0.639122] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem >0xe0000000-0xefffffff] (base 0xe0000000) >[ 0.651355] [Firmware Info]: PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] >not reserved in ACPI motherboard resources >[ 0.651382] PCI: not using MMCONFIG >[ 0.651405] PCI: Using host bridge windows from ACPI; if necessary, use >"pci=nocrs" and report a bug >[ 0.655742] ACPI: Power Resource [USBC] (on) >[ 0.663247] ACPI: Power Resource [PLPE] (on) >[ 0.674505] ACPI: Power Resource [CLK0] (on) >[ 0.674639] ACPI: Power Resource [CLK1] (on) >[ 0.675329] ACPI: Power Resource [P28T] (off) >[ 0.675456] ACPI: Power Resource [P18T] (off) >[ 0.680849] ACPI: Power Resource [P28X] (off) >[ 0.680982] ACPI: Power Resource [P18X] (off) >[ 0.681117] ACPI: Power Resource [P28P] (off) >[ 0.681251] ACPI: Power Resource [P18P] (off) >[ 0.681393] ACPI: Power Resource [P1XT] (off) >[ 0.682845] ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored >[ 0.690636] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff]) >[ 0.690663] acpi PNP0A08:00: _OSC: OS supports [ASPM ClockPM Segments MSI] >[ 0.690797] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM >[ 0.690819] acpi PNP0A08:00: fail to add MMCONFIG information, can't access >extended PCI configuration space under this bridge. >[ 0.691439] PCI host bridge to bus 0000:00 >[ 0.691458] pci_bus 0000:00: root bus resource [io 0x0070-0x0077] >[ 0.691475] pci_bus 0000:00: root bus resource [io 0x0000-0x006f window] >[ 0.691491] pci_bus 0000:00: root bus resource [io 0x0078-0x0cf7 window] >[ 0.691507] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window] >[ 0.691524] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff >window] >[ 0.691547] pci_bus 0000:00: root bus resource [mem 0x000c0000-0x000dffff >window] >[ 0.691570] pci_bus 0000:00: root bus resource [mem 0x000e0000-0x000fffff >window] >[ 0.691593] pci_bus 0000:00: root bus resource [mem 0x7cf00001-0x7ef00000 >window] >[ 0.691616] pci_bus 0000:00: root bus resource [mem 0x80000000-0x908ffffe >window] >[ 0.691639] pci_bus 0000:00: root bus resource [mem 0xfed40000-0xfed40fff >window] >[ 0.691662] pci_bus 0000:00: root bus resource [bus 00-ff] >[ 0.691691] pci 0000:00:00.0: [8086:0f00] type 00 class 0x060000 >[ 0.691952] pci 0000:00:02.0: [8086:0f31] type 00 class 0x030000 >[ 0.691971] pci 0000:00:02.0: reg 0x10: [mem 0x90000000-0x903fffff] >[ 0.691987] pci 0000:00:02.0: reg 0x18: [mem 0x80000000-0x8fffffff pref] >[ 0.692002] pci 0000:00:02.0: reg 0x20: [io 0x1000-0x1007] >[ 0.692281] pci 0000:00:14.0: [8086:0f35] type 00 class 0x0c0330 >[ 0.692306] pci 0000:00:14.0: reg 0x10: [mem 0x90800000-0x9080ffff 64bit] >[ 0.692384] pci 0000:00:14.0: PME# supported from D3hot D3cold >[ 0.692624] pci 0000:00:1a.0: [8086:0f18] type 00 class 0x108000 >[ 0.692649] pci 0000:00:1a.0: reg 0x10: [mem 0x90700000-0x907fffff] >[ 0.692664] pci 0000:00:1a.0: reg 0x14: [mem 0x90600000-0x906fffff] >[ 0.692763] pci 0000:00:1a.0: PME# supported from D0 D3hot >[ 0.693002] pci 0000:00:1f.0: [8086:0f1c] type 00 class 0x060100 >[ 0.693296] pci_bus 0000:00: on NUMA node 0 >[ 0.694031] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 10 11 12 14 15) >*0, disabled. >[ 0.694241] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 10 11 12 14 15) >*0, disabled. >[ 0.694449] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 10 11 12 14 15) >*0, disabled. >[ 0.694657] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 10 11 12 14 15) >*0, disabled. >[ 0.694864] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 10 11 12 14 15) >*0, disabled. >[ 0.695071] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 10 11 12 14 15) >*0, disabled. >[ 0.695278] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 10 11 12 14 15) >*0, disabled. >[ 0.695488] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 10 11 12 14 15) >*0, disabled. >[ 0.712648] vgaarb: setting as boot device: PCI:0000:00:02.0 >[ 0.712667] vgaarb: device added: >PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none >[ 0.712690] vgaarb: loaded >[ 0.712702] vgaarb: bridge control possible 0000:00:02.0 >[ 0.849299] random: fast init done >[ 0.952724] i2c_designware 80860F41:04: I2C bus managed by PUNIT >[ 0.952797] EDAC MC: Ver: 3.0.0 >[ 0.953037] Registered efivars operations >[ 0.958633] wmi: Mapper loaded >[ 0.958755] PCI: Using ACPI for IRQ routing >[ 0.958771] PCI: pci_cache_line_size set to 64 bytes >[ 0.958795] Expanded resource reserved due to conflict with PCI Bus 0000:00 >[ 0.958812] e820: reserve RAM buffer [mem 0x0008f000-0x0008ffff] >[ 0.958816] e820: reserve RAM buffer [mem 0x0009e000-0x0009ffff] >[ 0.958819] e820: reserve RAM buffer [mem 0x7b8d2000-0x7bffffff] >[ 0.958822] e820: reserve RAM buffer [mem 0x7cc00000-0x7fffffff] >[ 0.959229] ------------[ cut here ]------------ >[ 0.959251] WARNING: CPU: 0 PID: 1 at net/wireless/reg.c:516 >regulatory_init+0x87/0x108 >[ 0.959272] db.txt is empty, you should update it... >[ 0.959278] Modules linked in: >[ 0.959302] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G U >4.9.0-x205ta-pb-nf-00332-g5fd7444 #11 >[ 0.959323] Hardware name: ASUSTeK COMPUTER INC. X205TA/X205TA, BIOS >X205TA.212 09/04/2015 >[ 0.959345] ef4a9efc 861eaa06 ef4a9ee0 00000000 86037476 00000009 00000204 >ef6c8600 >[ 0.959377] 000000eb ef4a9f28 ffffffff 860374c2 00000009 00000000 ef4a9ee0 >8666b3df >[ 0.959408] ef4a9efc 80e1ba2b 86715952 8666af04 00000204 8666b3df 00000000 >00000000 >[ 0.959438] Call Trace: >[ 0.959457] [<861eaa06>] ? dump_stack+0x44/0x57 >[ 0.959473] [<86037476>] ? __warn+0xbe/0xd5 >[ 0.959488] [<860374c2>] ? warn_slowpath_fmt+0x35/0x4f >[ 0.959504] [<86715952>] ? regulatory_init+0x87/0x108 >[ 0.959520] [<8671586e>] ? cfg80211_init+0x55/0xb2 >[ 0.959535] [<86715819>] ? packet_init+0x35/0x35 >[ 0.959550] [<860004a1>] ? do_one_initcall+0x88/0x117 >[ 0.959566] [<866e2500>] ? initcall_blacklist+0x77/0x80 >[ 0.959583] [<86049c08>] ? parse_args+0x1fb/0x321 >[ 0.959599] [<866e2c14>] ? kernel_init_freeable+0x11f/0x198 >[ 0.959615] [<864c0fcd>] ? rest_init+0x5a/0x5a >[ 0.959630] [<864c0fd2>] ? kernel_init+0x5/0xcc >[ 0.959645] [<864c4783>] ? ret_from_fork+0x1b/0x28 >[ 0.959662] ---[ end trace f10b13f3f63a610f ]--- >[ 0.959971] clocksource: Switched to clocksource refined-jiffies >[ 0.960254] pnp: PnP ACPI init >[ 0.960385] pnp 00:00: Plug and Play ACPI device, IDs PNP0b00 (active) >[ 0.960763] system 00:01: [io 0x0680-0x069f] has been reserved >[ 0.960782] system 00:01: [io 0x0400-0x047f] has been reserved >[ 0.960799] system 00:01: [io 0x0500-0x05fe] has been reserved >[ 0.960815] system 00:01: [io 0x0600-0x061f] has been reserved >[ 0.960832] system 00:01: [io 0x164e-0x164f] has been reserved >[ 0.960852] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (active) >[ 0.961125] pnp 00:02: Plug and Play ACPI device, IDs PNP0501 (active) >[ 0.962589] system 00:03: [io 0x0240-0x0259] has been reserved >[ 0.962612] system 00:03: Plug and Play ACPI device, IDs PNP0c02 (active) >[ 0.971775] pnp: PnP ACPI: found 4 devices >[ 0.976634] pci_bus 0000:00: resource 4 [io 0x0070-0x0077] >[ 0.976640] pci_bus 0000:00: resource 5 [io 0x0000-0x006f window] >[ 0.976644] pci_bus 0000:00: resource 6 [io 0x0078-0x0cf7 window] >[ 0.976649] pci_bus 0000:00: resource 7 [io 0x0d00-0xffff window] >[ 0.976654] pci_bus 0000:00: resource 8 [mem 0x000a0000-0x000bffff window] >[ 0.976658] pci_bus 0000:00: resource 9 [mem 0x000c0000-0x000dffff window] >[ 0.976662] pci_bus 0000:00: resource 10 [mem 0x000e0000-0x000fffff window] >[ 0.976667] pci_bus 0000:00: resource 11 [mem 0x7cf00001-0x7ef00000 window] >[ 0.976671] pci_bus 0000:00: resource 12 [mem 0x80000000-0x908ffffe window] >[ 0.976675] pci_bus 0000:00: resource 13 [mem 0xfed40000-0xfed40fff window] >[ 0.976859] NET: Registered protocol family 2 >[ 0.977226] TCP established hash table entries: 16384 (order: 4, 65536 >bytes) >[ 0.977310] TCP bind hash table entries: 16384 (order: 5, 131072 bytes) >[ 0.977436] TCP: Hash tables configured (established 16384 bind 16384) >[ 0.977482] UDP hash table entries: 1024 (order: 3, 32768 bytes) >[ 0.977519] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes) >[ 0.977611] NET: Registered protocol family 1 >[ 0.977655] pci 0000:00:02.0: Video device with shadowed ROM at [mem >0x000c0000-0x000dffff] >[ 0.978051] PCI: CLS 0 bytes, default 64 >[ 0.978255] Trying to unpack rootfs image as initramfs... >[ 1.238653] Freeing initrd memory: 5516K (af52a000 - afa8d000) >[ 1.239532] simple-framebuffer simple-framebuffer.0: framebuffer at >0x80000000, 0x1d5000 bytes, mapped to 0xf5600000 >[ 1.239561] simple-framebuffer simple-framebuffer.0: format=a8r8g8b8, >mode=800x600x32, linelength=3200 >[ 1.247450] Console: switching to colour frame buffer device 100x37 >[ 1.255228] simple-framebuffer simple-framebuffer.0: fb0: simplefb >registered! >[ 1.256236] futex hash table entries: 1024 (order: 4, 65536 bytes) >[ 1.256896] workingset: timestamp_bits=14 max_order=19 bucket_order=5 >[ 1.261304] squashfs: version 4.0 (2009/01/31) Phillip Lougher >[ 1.261723] fuse init (API version 7.26) >[ 1.264744] NET: Registered protocol family 38 >[ 1.264941] Block layer SCSI generic (bsg) driver version 0.4 loaded (major >252) >[ 1.265185] io scheduler noop registered >[ 1.265290] io scheduler deadline registered (default) >[ 1.265814] intel_idle: MWAIT substates: 0x33000020 >[ 1.265817] intel_idle: v0.4.1 model 0x37 >[ 1.266272] intel_idle: lapic_timer_reliable_states 0xffffffff >[ 1.276763] ACPI: AC Adapter [ADP1] (off-line) >[ 1.277123] input: Lid Switch as >/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0 >[ 1.277363] ACPI: Lid Switch [LID] >[ 1.281615] input: Power Button as >/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input1 >[ 1.285904] ACPI: Power Button [PWRB] >[ 1.290268] input: Sleep Button as >/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input2 >[ 1.294797] ACPI: Sleep Button [SLPB] >[ 1.304286] [Firmware Bug]: No valid trip found >[ 1.308992] GHES: HEST is not enabled! >[ 1.313838] Linux agpgart interface v0.103 >[ 1.318790] [drm] Initialized >[ 1.324608] [drm] Memory usable by graphics device = 2048M >[ 1.329348] checking generic (80000000 1d5000) vs hw (80000000 10000000) >[ 1.329351] fb: switching to inteldrmfb from simple >[ 1.334086] Console: switching to colour dummy device 80x25 >[ 1.334303] [drm] Replacing VGA console driver >[ 1.335406] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). >[ 1.335422] [drm] Driver supports precise vblank timestamp query. >[ 1.336183] vgaarb: device changed decodes: >PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem >[ 1.342927] ACPI: Battery Slot [BATC] (battery present) >[ 1.352015] ACPI: Video Device [GFX0] (multi-head: yes rom: no post: no) >[ 1.352713] input: Video Bus as >/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input3 >[ 1.352809] [drm] Initialized i915 1.6.0 20160919 for 0000:00:02.0 on minor >0 >[ 1.358435] fbcon: inteldrmfb (fb0) is primary device >[ 1.362174] brd: module loaded >[ 1.369338] loop: module loaded >[ 1.374174] nbd: registered device at major 43 >[ 1.380210] mei_txe 0000:00:1a.0: can't derive routing for PCI INT A >[ 1.380213] mei_txe 0000:00:1a.0: PCI INT A: not connected >[ 1.385181] i8042: PNP: No PS/2 controller found. Probing ports directly. >[ 2.428700] i8042: No controller found >[ 2.428779] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: >0x133626f6b26, max_idle_ns: 440795214178 ns >[ 2.429311] clocksource: Switched to clocksource tsc >[ 2.429597] mousedev: PS/2 mouse device common for all mice >[ 2.431170] ACPI Warning: Could not enable fixed event - RealTimeClock (4) >(20160831/evxface-654) >[ 2.431736] rtc_cmos 00:00: rtc core: registered rtc_cmos as rtc0 >[ 2.431778] rtc_cmos 00:00: alarms up to one day, 242 bytes nvram >[ 2.431796] i2c /dev entries driver >[ 2.435537] intel_pstate: Intel P-state driver initializing >[ 2.436239] sdhci: Secure Digital Host Controller Interface driver >[ 2.436242] sdhci: Copyright(c) Pierre Ossman >[ 2.442587] mmc0: SDHCI controller on ACPI [INT33BB:00] using ADMA >[ 2.476376] mmc1: SDHCI controller on ACPI [80860F14:00] using ADMA >[ 2.486961] mmc2: SDHCI controller on ACPI [PNP0FFF:00] using ADMA >[ 2.487783] EFI Variables Facility v0.08 2004-May-17 >[ 2.495559] hidraw: raw HID events driver (C) Jiri Kosina >[ 2.528340] asus 0018:0B05:8585.0001: Fixing up Asus notebook report >descriptor >[ 2.531143] i2c_hid i2c-PDEC3393:00: error in i2c_hid_init_report size:7 / >ret_size:0 >[ 2.537991] i2c_hid i2c-PDEC3393:00: error in i2c_hid_init_report size:19 / >ret_size:0 >[ 2.538904] input: PDEC3393:00 0B05:8585 as >/devices/platform/80860F41:00/i2c-0/i2c-PDEC3393:00/0018:0B05:8585.0001/input/input4 >[ 2.541176] asus 0018:0B05:8585.0001: input,hidraw0: I2C HID v1.00 Keyboard >[PDEC3393:00 0B05:8585] on i2c-PDEC3393:00 >[ 2.605038] Console: switching to colour frame buffer device 170x48 >[ 2.659769] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device >[ 2.678186] input: Elan Touchpad as >/devices/platform/80860F41:03/i2c-3/i2c-ELAN0100:00/input/input5 >[ 2.695389] intel_rapl: Found RAPL domain package >[ 2.707470] mmc0: queuing unknown CIS tuple 0x80 (2 bytes) >[ 2.711865] mmc0: queuing unknown CIS tuple 0x80 (3 bytes) >[ 2.718042] mmc0: queuing unknown CIS tuple 0x80 (3 bytes) >[ 2.724562] mmc0: queuing unknown CIS tuple 0x80 (7 bytes) >[ 2.731755] intel_rapl: Found RAPL domain core >[ 2.736818] NET: Registered protocol family 17 >[ 2.741788] microcode: sig=0x30678, pf=0x2, revision=0x832 >[ 2.758079] microcode: Microcode Update Driver: v2.01 ><tigran@aivazian.fsnet.co.uk>, Peter Oruba >[ 2.762575] Using IPI No-Shortcut mode >[ 2.790018] registered taskstats version 1 >[ 2.807853] zswap: default zpool zbud not available >[ 2.813823] zswap: pool creation failed >[ 2.853895] Key type encrypted registered >[ 2.931858] i2c_designware 80860F41:04: I2C bus managed by PUNIT >[ 2.960283] mmc1: new HS200 MMC card at address 0001 >[ 2.969107] mmcblk1: mmc1:0001 SDW32G 29.1 GiB >[ 2.976258] mmcblk1boot0: mmc1:0001 SDW32G partition 1 4.00 MiB >[ 2.981167] mmcblk1boot1: mmc1:0001 SDW32G partition 2 4.00 MiB >[ 2.991273] mmcblk1rpmb: mmc1:0001 SDW32G partition 3 4.00 MiB >[ 2.997005] [Firmware Bug]: No valid trip found >[ 3.002706] rtc_cmos 00:00: setting system clock to 2016-12-20 16:39:06 UTC >(1482251946) >[ 3.008097] Freeing unused kernel memory: 472K (866e2000 - 86758000) >[ 3.012618] Write protecting the kernel text: 4892k >[ 3.013381] mmcblk1: p1 p2 p3 p4 >[ 3.021752] Write protecting the kernel read-only data: 1788k >[ 3.026624] mmc0: new ultra high speed DDR50 SDIO card at address 0001 >[ 3.349559] ACPI: bus type USB registered >[ 3.354884] usbcore: registered new interface driver usbfs >[ 3.359828] usbcore: registered new interface driver hub >[ 3.364458] usbcore: registered new device driver usb >[ 3.370619] xhci_hcd 0000:00:14.0: xHCI Host Controller >[ 3.375974] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus >number 1 >[ 3.382503] xhci_hcd 0000:00:14.0: hcc params 0x200077c1 hci version 0x100 >quirks 0x00009810 >[ 3.387110] xhci_hcd 0000:00:14.0: cache line size of 64 is not supported >[ 3.387710] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 >[ 3.393572] usb usb1: New USB device strings: Mfr=3, Product=2, >SerialNumber=1 >[ 3.399945] usb usb1: Product: xHCI Host Controller >[ 3.406238] usb usb1: Manufacturer: Linux 4.9.0-x205ta-pb-nf-00332-g5fd7444 >xhci-hcd >[ 3.412614] usb usb1: SerialNumber: 0000:00:14.0 >[ 3.418077] hub 1-0:1.0: USB hub found >[ 3.422655] hub 1-0:1.0: 6 ports detected >[ 3.432153] xhci_hcd 0000:00:14.0: xHCI Host Controller >[ 3.436344] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus >number 2 >[ 3.441384] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003 >[ 3.445375] usb usb2: New USB device strings: Mfr=3, Product=2, >SerialNumber=1 >[ 3.449440] usb usb2: Product: xHCI Host Controller >[ 3.453389] usb usb2: Manufacturer: Linux 4.9.0-x205ta-pb-nf-00332-g5fd7444 >xhci-hcd >[ 3.457591] usb usb2: SerialNumber: 0000:00:14.0 >[ 3.462252] hub 2-0:1.0: USB hub found >[ 3.466569] hub 2-0:1.0: 1 port detected >[ 3.803465] EXT4-fs (mmcblk1p3): mounted filesystem with ordered data mode. >Opts: (null) >[ 3.819402] usb 1-1: new high-speed USB device number 2 using xhci_hcd >[ 4.027990] usb 1-1: New USB device found, idVendor=0bda, idProduct=57b5 >[ 4.043058] usb 1-1: New USB device strings: Mfr=3, Product=1, >SerialNumber=2 >[ 4.049989] usb 1-1: Product: USB Camera >[ 4.054686] usb 1-1: Manufacturer: 04081-00092400F1OM74 >[ 4.059336] usb 1-1: SerialNumber: 200901010001 >[ 4.209872] usb 1-2: new high-speed USB device number 3 using xhci_hcd >[ 4.324780] NET: Registered protocol family 10 >[ 4.352856] ip_tables: (C) 2000-2006 Netfilter Core Team >[ 4.412583] usb 1-2: New USB device found, idVendor=05e3, idProduct=0610 >[ 4.427221] usb 1-2: New USB device strings: Mfr=0, Product=1, >SerialNumber=0 >[ 4.427230] usb 1-2: Product: USB2.0 Hub >[ 4.433798] hub 1-2:1.0: USB hub found >[ 4.436681] hub 1-2:1.0: 4 ports detected >[ 4.449356] usb: port power management may be unreliable >[ 4.483711] systemd[1]: systemd 232 running in system mode. (+PAM +AUDIT >+SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS >+ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN) >[ 4.493189] systemd[1]: Detected architecture x86. >[ 4.565052] systemd[1]: Set hostname to <at>. >[ 5.073742] systemd[1]: docker.socket: Cannot add dependency job, ignoring: >Unit docker.socket is masked. >[ 5.082867] systemd[1]: ModemManager.service: Cannot add dependency job, >ignoring: Unit ModemManager.service is masked. >[ 5.088221] systemd[1]: accounts-daemon.service: Cannot add dependency job, >ignoring: Unit accounts-daemon.service is masked. >[ 5.094246] systemd[1]: Listening on Journal Socket (/dev/log). >[ 5.105011] systemd[1]: Listening on LVM2 metadata daemon socket. >[ 5.115651] systemd[1]: Listening on udev Kernel Socket. >[ 5.126287] systemd[1]: Listening on LVM2 poll daemon socket. >[ 5.398609] EXT4-fs (mmcblk1p3): re-mounted. Opts: >discard,errors=remount-ro >[ 5.601065] systemd-journald[279]: Received request to flush runtime >journal from PID 1 >[ 5.890652] intel_sst_acpi 80860F28:00: Detected Baytrail-CR platform >[ 5.895021] intel_sst_acpi 80860F28:00: LPE base: 0x90a00000 size:0x200000 >[ 5.898647] intel_sst_acpi 80860F28:00: IRAM base: 0x90ac0000 >[ 5.902278] intel_sst_acpi 80860F28:00: DRAM base: 0x90b00000 >[ 5.906404] intel_sst_acpi 80860F28:00: SHIM base: 0x90b40000 >[ 5.910456] intel_sst_acpi 80860F28:00: Mailbox base: 0x90b44000 >[ 5.914522] intel_sst_acpi 80860F28:00: DDR base: 0x20000000 >[ 5.919155] intel_sst_acpi 80860F28:00: Got drv data max stream 25 >[ 6.245856] EXT4-fs (mmcblk1p4): mounted filesystem with ordered data mode. >Opts: discard,errors=remount-ro >[ 6.259854] mmc0: queuing unknown CIS tuple 0x80 (2 bytes) >[ 6.264089] mmc0: queuing unknown CIS tuple 0x80 (3 bytes) >[ 6.265627] mmc0: queuing unknown CIS tuple 0x80 (3 bytes) >[ 6.269647] mmc0: queuing unknown CIS tuple 0x80 (7 bytes) >[ 6.294060] cht-bsw-rt5645 cht-bsw-rt5645: BIOS Routing: AIF2 connected >[ 6.294063] cht-bsw-rt5645 cht-bsw-rt5645: quirk SSP0_AIF2 enabled >[ 6.300016] cht-bsw-rt5645 cht-bsw-rt5645: snd-soc-dummy-dai <-> >media-cpu-dai mapping ok >[ 6.300076] cht-bsw-rt5645 cht-bsw-rt5645: snd-soc-dummy-dai <-> >deepbuffer-cpu-dai mapping ok >[ 6.300121] compress asoc: snd-soc-dummy-dai <-> compress-cpu-dai mapping >ok >[ 6.301220] cht-bsw-rt5645 cht-bsw-rt5645: rt5645-aif2 <-> ssp0-port >mapping ok >[ 6.304577] input: chtrt5645 Headset as >/devices/platform/80860F28:00/cht-bsw-rt5645/sound/card0/input6 >[ 6.479531] usbcore: registered new interface driver brcmfmac >[ 6.667451] brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Jun 17 >2014 11:48:43 version 6.10.190.49 (r485840) FWID 01-8744bcd2 >[ 6.707154] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 >0x30) >[ 16.142586] random: crng init done
(In reply to KBT from comment #101) > Created attachment 248181 [details] > dmesg.txt > > I tried the tip of the topic branch > > i still get: Audio Port: ASoC: no backend DAIs enabled for Audio Port > > even after running 5645_mixers.sh > > after playing around a bit toggling DAC L2 Mux ( IF1 DAC) > gave some noise (strangely not the audio i wanted to play though, a lot > deeper) > > dmesg.txt attached there is no error message in the dmesg?
I forgot to mention the UCM files I used on Asus T100HA are here: https://github.com/plbossart/UCM take the chtrt5645 directory and copy it in /usr/share/alsa/ucm if you are testing with PulseAudio
this-> [ 536.770370] Base clock rate 0 is too low [ 536.770399] rt5645 i2c-10EC5648:00: Failed to set DMIC clock [ 536.770418] rt5645 i2c-10EC5648:00: ASoC: PRE_PMU: DMIC CLK event failed: -22 appeared after a while: [ 64.515955] intel_sst_acpi 80860F28:00: FW Version 01.0c.00.01 ... [ 64.954676] Audio Port: ASoC: no backend DAIs enabled for Audio Port [ 102.021218] intel_sst_acpi 80860F28:00: FW Version 01.0c.00.01 [ 132.970615] intel_sst_acpi 80860F28:00: FW Version 01.0c.00.01 [ 167.518230] intel_sst_acpi 80860F28:00: FW Version 01.0c.00.01 [ 486.545703] intel_sst_acpi 80860F28:00: FW Version 01.0c.00.01 [ 536.770370] Base clock rate 0 is too low [ 536.770399] rt5645 i2c-10EC5648:00: Failed to set DMIC clock [ 536.770418] rt5645 i2c-10EC5648:00: ASoC: PRE_PMU: DMIC CLK event failed: -22 last try to play sound: [ 1654.857151] intel_sst_acpi 80860F28:00: FW Version 01.0c.00.01 (noisy, stuttering, but intelligible) [2016-12-20 18:03] bugzilla-daemon@bugzilla.kernel.org <bugzilla-daemon@bugzilla.kernel.org> wrote: >https://bugzilla.kernel.org/show_bug.cgi?id=95681 > >--- Comment #103 from Pierre Bossart <pierre-louis.bossart@linux.intel.com> >--- >(In reply to KBT from comment #101) >> Created attachment 248181 [details] >> dmesg.txt >> >> I tried the tip of the topic branch >> >> i still get: Audio Port: ASoC: no backend DAIs enabled for Audio Port >> >> even after running 5645_mixers.sh >> >> after playing around a bit toggling DAC L2 Mux ( IF1 DAC) >> gave some noise (strangely not the audio i wanted to play though, a lot >> deeper) >> >> dmesg.txt attached > >there is no error message in the dmesg? > >-- >You are receiving this mail because: >You are on the CC list for the bug.
I used mplayer -ao alsa, my debian insists on starting pulseaudio with the session though [2016-12-20 18:06] bugzilla-daemon@bugzilla.kernel.org <bugzilla-daemon@bugzilla.kernel.org> wrote: >https://bugzilla.kernel.org/show_bug.cgi?id=95681 > >--- Comment #104 from Pierre Bossart <pierre-louis.bossart@linux.intel.com> >--- >I forgot to mention the UCM files I used on Asus T100HA are here: >https://github.com/plbossart/UCM >take the chtrt5645 directory and copy it in /usr/share/alsa/ucm if you are >testing with PulseAudio > >-- >You are receiving this mail because: >You are on the CC list for the bug.
Using the ucm, i still get [ 31.273654] intel_sst_acpi 80860F28:00: FW Version 01.0c.00.01 [ 31.274083] Audio Port: ASoC: no backend DAIs enabled for Audio Port [ 31.274471] Audio Port: ASoC: no backend DAIs enabled for Audio Port routing the audio through pulseaudio doesn't seem to work mplayer reports the audiodevice stuck for the first few seconds if i just run the 5645_mixers.sh attached to this thread and kill pulseaudio using alsamixer i get some noise out of alsamixer -ao alsa [2016-12-20 18:09] Dr. Christian Bahls - qb352.de <kbt@qb352.de> wrote: >I used mplayer -ao alsa, my debian insists on starting pulseaudio with the >session though > >[2016-12-20 18:06] bugzilla-daemon@bugzilla.kernel.org ><bugzilla-daemon@bugzilla.kernel.org> wrote: >>https://bugzilla.kernel.org/show_bug.cgi?id=95681 >> >>--- Comment #104 from Pierre Bossart <pierre-louis.bossart@linux.intel.com> >>--- >>I forgot to mention the UCM files I used on Asus T100HA are here: >>https://github.com/plbossart/UCM >>take the chtrt5645 directory and copy it in /usr/share/alsa/ucm if you are >>testing with PulseAudio >> >>-- >>You are receiving this mail because: >>You are on the CC list for the bug.
of course "mplayer -ao alsa" [2016-12-20 18:13] Dr. Christian Bahls - qb352.de <kbt@qb352.de> wrote: >Using the ucm, i still get > >[ 31.273654] intel_sst_acpi 80860F28:00: FW Version 01.0c.00.01 >[ 31.274083] Audio Port: ASoC: no backend DAIs enabled for Audio Port >[ 31.274471] Audio Port: ASoC: no backend DAIs enabled for Audio Port > >routing the audio through pulseaudio doesn't seem to work >mplayer reports the audiodevice stuck for the first few seconds > >if i just run the 5645_mixers.sh attached to this thread and kill pulseaudio >using alsamixer i get some noise out of alsamixer -ao alsa > > >[2016-12-20 18:09] Dr. Christian Bahls - qb352.de <kbt@qb352.de> wrote: >>I used mplayer -ao alsa, my debian insists on starting pulseaudio with the >>session though >> >>[2016-12-20 18:06] bugzilla-daemon@bugzilla.kernel.org >><bugzilla-daemon@bugzilla.kernel.org> wrote: >>>https://bugzilla.kernel.org/show_bug.cgi?id=95681 >>> >>>--- Comment #104 from Pierre Bossart <pierre-louis.bossart@linux.intel.com> >>>--- >>>I forgot to mention the UCM files I used on Asus T100HA are here: >>>https://github.com/plbossart/UCM >>>take the chtrt5645 directory and copy it in /usr/share/alsa/ucm if you are >>>testing with PulseAudio >>> >>>-- >>>You are receiving this mail because: >>>You are on the CC list for the bug.
(In reply to KBT from comment #107) > Using the ucm, i still get > > [ 31.273654] intel_sst_acpi 80860F28:00: FW Version 01.0c.00.01 > [ 31.274083] Audio Port: ASoC: no backend DAIs enabled for Audio Port > [ 31.274471] Audio Port: ASoC: no backend DAIs enabled for Audio Port > > routing the audio through pulseaudio doesn't seem to work > mplayer reports the audiodevice stuck for the first few seconds well it would help if you can help root-cause with the log from pulseaudio -vvv, I have no idea why this happens for you and not for me.
(In reply to KBT from comment #105) > this-> > [ 536.770370] Base clock rate 0 is too low > [ 536.770399] rt5645 i2c-10EC5648:00: Failed to set DMIC clock > [ 536.770418] rt5645 i2c-10EC5648:00: ASoC: PRE_PMU: DMIC CLK event failed: > -22 > > appeared after a while: > > [ 64.515955] intel_sst_acpi 80860F28:00: FW Version 01.0c.00.01 > ... > [ 64.954676] Audio Port: ASoC: no backend DAIs enabled for Audio Port > [ 102.021218] intel_sst_acpi 80860F28:00: FW Version 01.0c.00.01 > [ 132.970615] intel_sst_acpi 80860F28:00: FW Version 01.0c.00.01 > [ 167.518230] intel_sst_acpi 80860F28:00: FW Version 01.0c.00.01 > [ 486.545703] intel_sst_acpi 80860F28:00: FW Version 01.0c.00.01 > [ 536.770370] Base clock rate 0 is too low > [ 536.770399] rt5645 i2c-10EC5648:00: Failed to set DMIC clock > [ 536.770418] rt5645 i2c-10EC5648:00: ASoC: PRE_PMU: DMIC CLK event failed: > -22 ok, it think I know where this comes from, can you help double-check by adding a printk before this statement in sound/soc/intel/boards/cht_bsw_rt5645.c ret = snd_soc_dai_set_sysclk(codec_dai, RT5645_SCLK_S_RCCLK, 0, SND_SOC_CLOCK_IN); This code existed in the machine driver from the beginning doesn't make much sense to me but it was harmless so far, we may have to set a different value that is less silly than 0Hz... it should be at least 3072kHz to make those DMIC errors go away so while you are at it if you can also change the code to this ret = snd_soc_dai_set_sysclk(codec_dai, RT5645_SCLK_S_RCCLK, 3072000, SND_SOC_CLOCK_IN);
Created attachment 248191 [details] dmesg.txt tried both suggestions pulseaudio log and new dmesg attached haven't seen the "setting to 0hz" yet > [2016-12-20 18:21] bugzilla-daemon@bugzilla.kernel.org > <bugzilla-daemon@bugzilla.kernel.org> wrote: > > https://bugzilla.kernel.org/show_bug.cgi?id=95681 > > > > --- Comment #109 from Pierre Bossart <pierre-louis.bossart@linux.intel.com> > --- > > (In reply to KBT from comment #107) > > > Using the ucm, i still get > > > > > > [ 31.273654] intel_sst_acpi 80860F28:00: FW Version 01.0c.00.01 > > > [ 31.274083] Audio Port: ASoC: no backend DAIs enabled for Audio Port > > > [ 31.274471] Audio Port: ASoC: no backend DAIs enabled for Audio Port > > > > > > routing the audio through pulseaudio doesn't seem to work > > > mplayer reports the audiodevice stuck for the first few seconds > > > > well it would help if you can help root-cause with the log from pulseaudio > > -vvv, I have no idea why this happens for you and not for me. > > > > -- > > You are receiving this mail because: > > You are on the CC list for the bug.
Created attachment 248201 [details] pulseaudio.txt
I also tested out the latest commit, and briefly got distorted sound in the left and right (a little softer) speaker, by setting "DAC1 L2 mux" "DAC1 L mux" "DAC1 R2 mux" "DAC1 R mux" all to "IF2 DAC" (they were set to IF1 DAC). Then the sound suddenly stopped and DMESG then showed: [ 1886.072656] Base clock rate 0 is too low [ 1886.072675] rt5645 i2c-10EC5648:00: Failed to set DMIC clock [ 1886.072688] rt5645 i2c-10EC5648:00: ASoC: PRE_PMU: DMIC CLK event failed: -22 [ 1907.294523] Base clock rate 0 is too low [ 1907.294541] rt5645 i2c-10EC5648:00: Failed to set DMIC clock [ 1907.294554] rt5645 i2c-10EC5648:00: ASoC: PRE_PMU: DMIC CLK event failed: -22 and I couldnt get sound back. I tried again after a reboot but all I got was a loud beep, and the speakers became very warm so I rebooted immediately... This is the my dmesg (no playback, just a clean boot): http://sprunge.us/aTDQ
addition: I am consistently able to get (distorted) sound on the left speaker by running the following command on boot: amixer -Dhw:chtrt5645 cset name="Speaker Playback Volume" 40%; amixer -Dhw:chtrt5645 cset name="DAC L2 Mux" "IF2 DAC" The same trick for the right speaker doesnt work though.
have you tried the other settings provided by Bard @ Realtek: alsa_amixer cset name="DAC L2 Mux" "IF2 DAC" alsa_amixer cset name="DAC R2 Mux" "IF2 DAC" alsa_amixer cset name="Mono DAC MIXL DAC L2 Switch" 1 alsa_amixer cset name="Mono DAC MIXR DAC R2 Switch" 1 alsa_amixer cset name="SPK MIXL DAC L2 Switch" 1 alsa_amixer cset name="SPK MIXR DAC R2 Switch" 1 alsa_amixer cset name="SPKVOL L Switch" 1 alsa_amixer cset name="SPKVOL R Switch" 1 alsa_amixer cset name="SPOL MIX SPKVOL L Switch" 1 alsa_amixer cset name="SPOR MIX SPKVOL R Switch" 1
those commands gave me errors (command alsa_amixer not found), but when I do: "amixer -Dhw:chtrt5645" instead of "alsa_amixer" I get the same result as before (left speaker; distorted sound)
I think I completely screwed-up with the UCM files, somehow what I committed isn't what I worked on. If you can try again with the update at https://github.com/plbossart/UCM/commits/master it'd be nice. As usual use a lower volume for starters, the example uses no attenuation and might be too loud in some cases.
With the new HiFi.conf I need to unmute "Speaker Channel" and "Ext Spk" but I still only get distorted sound and only on the left speaker.
The UCM file contains those statements already, not sure why you need to unmute them? cset "name='Ext Spk Switch' on" cset "name='Speaker Channel Switch' on" Are you really selecting the speaker output with the system UI and actually using UCM?
I noticed there are more instances of those (or similar) commands in HiFi.conf. I think I've narrowed it down to line 241 and 242 of HiFi.conf If I set those lines to "on" instead of "off", "Ext Spk Switch" and "Speaker Channel Switch" are no longer muted at boot.
(In reply to harryharryharry from comment #120) > I noticed there are more instances of those (or similar) commands in > HiFi.conf. > > I think I've narrowed it down to line 241 and 242 of HiFi.conf > If I set those lines to "on" instead of "off", "Ext Spk Switch" and "Speaker > Channel Switch" are no longer muted at boot. The purpose of separate UCM devices for speaker and headset is precisely to select one or the other. enabling all devices at all times is not the intent. I added these two lines on purpose to make sure the previous asound.state would not get in the way. If you only want to use the speaker output, select it with the UI and pulseaudio will remember it moving forward.
Sorry for the confusion, I didn't realize the headphones were selected by default. Is there any way for me to experiment with getting sound also to the right (not only left) speaker, and reducing noise ? The audio that is being played is very noisy and hard to hear. I've tried several settings in alsamixer, but there are so many of them and it seems the majority of them do nothing. Or is there some feedback I can supply so you can see why the output is so noisy and only on one speaker ?
the settings enable audio on both left and right, they work fine on the T100HA. I wonder if this is an isolated case (mechanical problem?) or a more general one due to hardware differences. I asked for the schematics but still don't have them so it's really a guess. Also are you actually sure you have two speakers? when I worked on the T100TAF I had to add a quirk to route right to left since there is a single speaker. A lot of those baytrail tablets went back to mono speaker to reduce cost.
I (still) have windows installed side-by-side, and both speakers work under windows. The first time I was able to get any sound in Linux (20dec) I briefly got a very faint (much more faint then the left) and distored sound from the right speaker while playing with alsamixer settings, but I havent been able to reproduce sound out of the right speaker since. The x205ta has two speakers next to anti slip feet: https://www.asus.com/websites/global/products/tLVjLGQSRF5PGYqG/img/d/speakers-main.png I should add that about half of the time after I boot there is no soundcard present (when doing aplay -l), and I need to reboot if I want to play around with alsamixer. So there's still something iffy about soundcard initialization... If you want I can supply a dmesg when the soundcard is NOT initialized properly (aplay -l reports no soundcards).
well yes, if the soundcard initialization is still not reliable, we need to fix this first. please attach the dmesg log when the card is initialized and when it's not. ACPI is in general fairly reliable, it's the first time I hear that things would work inconsistently.
I compiled kernel: https://github.com/plbossart/sound/commits/experimental/codecs branch: experimental/codecs and get the right ucm file, by copying https://github.com/plbossart/UCM/chtrt5645 into /usr/share/alsa/ucm/ and I get sound, but distorted. Using the Ubuntu->systemsettings->sound->test Sound utility, I get "Front Left" coming from the right speaker at a very low volume, and "front right" coming from both speakers at a louder volume.
Created attachment 249171 [details] dmesg with distorted sound
This is the dmesg from one of my boots where the soundcard is not properly initialized: http://sprunge.us/GVFI
(In reply to Marco Bo from comment #127) > Created attachment 249171 [details] > dmesg with distorted sound Can you dump codec registers while speaker is playing? cat /sys/kernel/debug/regmap/<bus name>/registers Thanks.
Created attachment 249251 [details] cat /sys/kernel/debug/regmap/i2c-10EC5648\:00/registers
Created attachment 249261 [details] cat /sys/kernel/debug/regmap/i2c-10EC5648\:00-nocache/registers
Created attachment 249341 [details] cat /sys/kernel/debug/regmap/i2c-10EC5648\:00/registers cat /sys/kernel/debug/regmap/i2c-10EC5648\:00/registers during playback when aplay -l doesnt list any devices. Mplayer displays the following message during playback: Starting playback... A: 0.1 (00.0) of 248.0 (04:08.0) ??,?% Audio device got stuck! A: 0.1 (00.0) of 248.0 (04:08.0) ??,?% Audio device got stuck! A: 0.1 (00.0) of 248.0 (04:08.0) ??,?%
Created attachment 249351 [details] cat /sys/kernel/debug/regmap/i2c-10EC5648\:00/registers during playback cat /sys/kernel/debug/regmap/i2c-10EC5648\:00/registers during playback when aplay -l doesnt list any devices. Mplayer displays the following message during playback: Starting playback... A: 0.1 (00.0) of 248.0 (04:08.0) ??,?% Audio device got stuck! A: 0.1 (00.0) of 248.0 (04:08.0) ??,?% Audio device got stuck! A: 0.1 (00.0) of 248.0 (04:08.0) ??,?%
I see I just made an error in the naming of the attachment I uploaded last: cat /sys/kernel/debug/regmap/i2c-10EC5648\:00/registers during playback should be cat /sys/kernel/debug/regmap/i2c-10EC5648\:00-nocache/registers
(In reply to harryharryharry from comment #128) > This is the dmesg from one of my boots where the soundcard is not properly > initialized: > http://sprunge.us/GVFI There are tons of messages in there related to gpios and pinctrl that I've never seen. I don't know how you came across all this. Did you enable any special features here? All you really need in PINCTRL_BAYTRAIL.
@Pierre Bossart: i2c (so maybe gpios?) has some problems with this device. For example see https://bugzilla.kernel.org/show_bug.cgi?id=189681
@Pierre Bossart Yes, I had the CONFIG_PINCTRL's of SUNRISEPOINT, BROXTON and CHERRYVIEW compiled as well. This is a dmesg when the soundcard is not initialized with a kernel with only CONFIG_PINCTRL_BAYTRAIL compiled: http://sprunge.us/YLCE I may (very probably) have some unnecessary CONFIG_SND modules built in as well (but I don't know which ones are necessary): output of $ cat .config|grep SND|grep -v "not set": http://sprunge.us/ZfXU Could that be the cause, or should the soundcard be initialized regardless of those unnecessary modules ?
(In reply to Marco Bo from comment #131) > Created attachment 249261 [details] > cat /sys/kernel/debug/regmap/i2c-10EC5648\:00-nocache/registers We were on holiday in the past few days and will look into the register dump today.
(In reply to harryharryharry from comment #134) > I see I just made an error in the naming of the attachment I uploaded last: > cat /sys/kernel/debug/regmap/i2c-10EC5648\:00/registers during playback > should be > cat /sys/kernel/debug/regmap/i2c-10EC5648\:00-nocache/registers It seems you didn't set codec mixers. Can you check it?
(In reply to Marco Bo from comment #131) > Created attachment 249261 [details] > cat /sys/kernel/debug/regmap/i2c-10EC5648\:00-nocache/registers Regarding the distortion issue, please do the following. 1. The clk_src parameter should be RT5645_CLK_SEL_I2S2_ASRC when rt5645_sel_asrc_clk_src is called by machine driver since I2S2 is used. 2. Set "SPK MIXL DAC L1 Switch" and "SPK MIXR DAC R1 Switch" off before playback. Regarding the "Front Left" coming from the right speaker at a very low volume, and "front right" coming from both speakers at a louder volume issue, it looks good from codec side. @Pierre Bossart: Is there any sound effect on SoC side?
If I understand you correctly those are the mixer settings that can be accessed via alsamixer ? I think I must have misunderstood: I uploaded the register dumps after a boot when the soundcard isn't initialized properly (and those codec mixer settings arent available). I'll upload the codec register dumps from when the sound IS working now.
Created attachment 249831 [details] codec register dumps when playing sound
Created attachment 249841 [details] codec register-nocache dumps when playing sound
@harryharryharry: The register dump is very similar to Marco Bo's dump except the "SPK MIXL DAC L1 Switch" and "SPK MIXR DAC R1 Switch" are off on your dump. So, please set the clk_src parameter as RT5645_CLK_SEL_I2S2_ASRC when you call rt5645_sel_asrc_clk_src.
How do I set the clk_src parameter as RT5645_CLK_SEL_I2S2_ASRC when you call rt5645_sel_asrc_clk_src ? Is this also a setting in alsamixer ?
No, it should be in machine driver source code. I don't know the exact name of the machine driver. It should be in kernel/sound/soc/intel/ filder. Find rt5645_sel_asrc_clk_src in the file, replace RT5645_CLK_SEL_I2S1_ASRC with RT5645_CLK_SEL_I2S2_ASRC and rebuild the kernel.
Would that be sound/soc/intel/boards/cht_bsw_rt5645.c ? /* Select clk_i2s2_asrc as ASRC clock source */ rt5645_sel_asrc_clk_src(codec, RT5645_DA_STEREO_FILTER | RT5645_DA_MONO_L_FILTER | RT5645_DA_MONO_R_FILTER | RT5645_AD_STEREO_FILTER, RT5645_CLK_SEL_I2S2_ASRC); [2017-01-03 09:10] bugzilla-daemon@bugzilla.kernel.org <bugzilla-daemon@bugzilla.kernel.org> wrote: >https://bugzilla.kernel.org/show_bug.cgi?id=95681 > >--- Comment #146 from Bard Liao <bardliao@realtek.com> --- >No, it should be in machine driver source code. I don't know the exact name of >the machine driver. It should be in kernel/sound/soc/intel/ filder. Find >rt5645_sel_asrc_clk_src in the file, replace RT5645_CLK_SEL_I2S1_ASRC with >RT5645_CLK_SEL_I2S2_ASRC and rebuild the kernel. > >-- >You are receiving this mail because: >You are on the CC list for the bug.
Yes, t should be. Was it rt5645_sel_asrc_clk_src(codec, RT5645_DA_STEREO_FILTER | RT5645_DA_MONO_L_FILTER | RT5645_DA_MONO_R_FILTER | RT5645_AD_STEREO_FILTER, RT5645_CLK_SEL_I2S1_ASRC); ?
Yes. but sound still does not work pulseaudio initially crashed but started up after i ran the 5645_mixers.sh attached to this thread. also i now see the "would be setting to 0Hz" that i was asked by Pierre include as a debug statement. so the following gets triggered: ret = snd_soc_dai_set_sysclk(codec_dai, RT5645_SCLK_S_RCCLK, - 0, SND_SOC_CLOCK_IN); + 3072000, SND_SOC_CLOCK_IN); my local changes: @@ -115,8 +115,9 @@ static int platform_clock_control(struct snd_soc_dapm_widget *w, * runtime suspended. Codec needs clock for jack detection and button * press. MCLK is turned off with clock framework or ACPI. */ + dev_info(card->dev, "would be setting to 0Hz"); ret = snd_soc_dai_set_sysclk(codec_dai, RT5645_SCLK_S_RCCLK, - 0, SND_SOC_CLOCK_IN); + 3072000, SND_SOC_CLOCK_IN); if (ret < 0) { dev_err(card->dev, "can't set codec sysclk: %d\n", ret); return ret; @@ -265,13 +266,13 @@ static int cht_codec_init(struct snd_soc_pcm_runtime *runtime) struct snd_soc_dai *codec_dai = runtime->codec_dai; struct cht_mc_private *ctx = snd_soc_card_get_drvdata(runtime->card); - /* Select clk_i2s1_asrc as ASRC clock source */ + /* Select clk_i2s2_asrc as ASRC clock source */ rt5645_sel_asrc_clk_src(codec, RT5645_DA_STEREO_FILTER | RT5645_DA_MONO_L_FILTER | RT5645_DA_MONO_R_FILTER | RT5645_AD_STEREO_FILTER, - RT5645_CLK_SEL_I2S1_ASRC); + RT5645_CLK_SEL_I2S2_ASRC); if (cht_rt5645_quirk & CHT_RT5645_SSP2_AIF2) { ret = snd_soc_dapm_add_routes(&card->dapm, [2017-01-03 12:15] bugzilla-daemon@bugzilla.kernel.org <bugzilla-daemon@bugzilla.kernel.org> wrote: >https://bugzilla.kernel.org/show_bug.cgi?id=95681 > >--- Comment #148 from Bard Liao <bardliao@realtek.com> --- >Yes, t should be. Was it > rt5645_sel_asrc_clk_src(codec, > RT5645_DA_STEREO_FILTER | > RT5645_DA_MONO_L_FILTER | > RT5645_DA_MONO_R_FILTER | > RT5645_AD_STEREO_FILTER, > RT5645_CLK_SEL_I2S1_ASRC); ? > >-- >You are receiving this mail because: >You are on the CC list for the bug.
thanks Bard for the comment. We need to handle the ASRC change in a quirk dependent manner with the following patch (also pushed to my branch). Regarding the other suggestion (Set "SPK MIXL DAC L1 Switch" and "SPK MIXR DAC R1 Switch" off before playback), is this really required? I was trying to have a single UCM file that would work for both AIF1 and AIF2 routings. is there any side effect if the two paths are enabled in UCM but with DAPM triggering one path vs. the other at run time? There are no processing elements on the SOC side by default and the distorsion is only heard on Baytrail devices using AIF2, I have no issues with CHT using AIF1. diff --git a/sound/soc/intel/boards/cht_bsw_rt5645.c b/sound/soc/intel/boards/cht_bsw_rt5645.c index 09bb498..c0cdc9d 100644 --- a/sound/soc/intel/boards/cht_bsw_rt5645.c +++ b/sound/soc/intel/boards/cht_bsw_rt5645.c @@ -265,13 +265,24 @@ static int cht_codec_init(struct snd_soc_pcm_runtime *runtime) struct snd_soc_dai *codec_dai = runtime->codec_dai; struct cht_mc_private *ctx = snd_soc_card_get_drvdata(runtime->card); - /* Select clk_i2s1_asrc as ASRC clock source */ - rt5645_sel_asrc_clk_src(codec, - RT5645_DA_STEREO_FILTER | - RT5645_DA_MONO_L_FILTER | - RT5645_DA_MONO_R_FILTER | - RT5645_AD_STEREO_FILTER, - RT5645_CLK_SEL_I2S1_ASRC); + if ((cht_rt5645_quirk & CHT_RT5645_SSP2_AIF2) || + (cht_rt5645_quirk & CHT_RT5645_SSP0_AIF2)) { + /* Select clk_i2s2_asrc as ASRC clock source */ + rt5645_sel_asrc_clk_src(codec, + RT5645_DA_STEREO_FILTER | + RT5645_DA_MONO_L_FILTER | + RT5645_DA_MONO_R_FILTER | + RT5645_AD_STEREO_FILTER, + RT5645_CLK_SEL_I2S2_ASRC); + } else { + /* Select clk_i2s1_asrc as ASRC clock source */ + rt5645_sel_asrc_clk_src(codec, + RT5645_DA_STEREO_FILTER | + RT5645_DA_MONO_L_FILTER | + RT5645_DA_MONO_R_FILTER | + RT5645_AD_STEREO_FILTER, + RT5645_CLK_SEL_I2S1_ASRC); + }
I did a git pull from Pierre's git and recompiled the kernel. I also made sure SPK MIXL DAC L1 Switch and SPK MIXR DAC R1 Switch were off. There is still distortion, and the right speaker is still completely silent. The distortion sounds a little different to me however (but I might be imagining things :) ) I will upload the register dumps again (If this is not necessary with every change please let me know).
Created attachment 249961 [details] register dump after: set clk_src parameter as RT5645_CLK_SEL_I2S2_ASRC
Created attachment 249971 [details] register-nocache dump after: set clk_src parameter as RT5645_CLK_SEL_I2S2_ASRC
(In reply to Pierre Bossart from comment #150) > Regarding the other suggestion (Set "SPK MIXL DAC L1 Switch" and "SPK MIXR > DAC R1 Switch" off before playback), is this really required? I was trying > to have a single UCM file that would work for both AIF1 and AIF2 routings. > is there any side effect if the two paths are enabled in UCM but with DAPM > triggering one path vs. the other at run time? I think there is no side effect if we turn on both routings since we won't power up the routing which is not using. > > There are no processing elements on the SOC side by default and the > distorsion is only heard on Baytrail devices using AIF2, I have no issues > with CHT using AIF1. > Did you meet the issue that Marco Bo reported? "I get "Front Left" coming from the right speaker at a very low volume, and "front right" coming from both speakers at a louder volume." We didn't do swap or mix on codec's mixer. That's why I am thinking if that is done by SoC side?
I just got a bad news. rt5648 can't support Intel TDM format (100fs/200fs). So, I think the only way that we can get sound working on ASUS X205TA is using normal i2s format. @Pierre Bossart Is it possible to use normal i2s format on ASUS X205TA?
The TDM mode works fine on Asus T100HA with ALC3270. The I2S mode is already used for X205TA since the SSP0-AIF2 link is 2ch 16 bit only (not TDM as for SSP2). See https://github.com/plbossart/sound/blob/experimental/codecs/sound/soc/intel/boards/cht_bsw_rt5645.c#L367 This I2S mode works on all other Baytrail devices with RT5640 so I guess we should be ok?
(In reply to Bard Liao from comment #154) > (In reply to Pierre Bossart from comment #150) > > Regarding the other suggestion (Set "SPK MIXL DAC L1 Switch" and "SPK MIXR > > DAC R1 Switch" off before playback), is this really required? I was trying > > to have a single UCM file that would work for both AIF1 and AIF2 routings. > > is there any side effect if the two paths are enabled in UCM but with DAPM > > triggering one path vs. the other at run time? > > I think there is no side effect if we turn on both routings since we won't > power up the routing which is not using. > > > > > There are no processing elements on the SOC side by default and the > > distorsion is only heard on Baytrail devices using AIF2, I have no issues > > with CHT using AIF1. > > > > Did you meet the issue that Marco Bo reported? > "I get "Front Left" coming from the right speaker at a very low volume, and > "front right" coming from both speakers at a louder volume." > > We didn't do swap or mix on codec's mixer. That's why I am thinking if that > is done by SoC side? No, the same settings are used on T100HA and the right channel comes out ok.
I added a couple of tentative fixes on my branch https://github.com/plbossart/sound/commits/experimental/codecs Bard Liao @ Realtek pointed out a problem in I2S mode which I think is corrected now. I used the AIF2 interface on T100HA and the sound is fine - same as with AIF1- , the same fix should work for X205TA for speaker playback. There is still a problem on the Intel driver side with a polarity inversion, if they work there will be additional work and rebases on this branch. Test but don't take the code as is please :-) As usual start with low volume when testing...
Yes! Result! These fixes solve the distortion AND the muted right speaker ! I tested with higher volumes and it goes really loud (without distortion), louder than under windows. I don't know whether or not this could be detrimental to the speakers in the long run. The speakers don't sound like they are under too much stress, but fair warning to other experimenters. Pierre; Bard; Is there anything I can test or provide in terms of feedback/logs ? Gr. Harry btw: Thanks again to you both (and others) for putting in the energy and time ! This is really awesome !
Good to hear. That's the kind of thing that make me get up in the morning. Next step is to fix the jack detection for headset playback, if you can provide a dmesg + register dump before and after jack insertion it'd be great. I'll do the same on T100HA and we'll see how it goes. The microphone capture will also require some work, there are digital microphones on the T100HA and analog mics on X205TA, so different configs are likely.
Created attachment 250611 [details] dmesg before jack insertion
Created attachment 250621 [details] registers before jack insertion
Created attachment 250631 [details] registers-nocache before jack insertion
Created attachment 250641 [details] dmesg after jack insertion
Created attachment 250651 [details] registers after jack insertion
Created attachment 250661 [details] registers-nocache after jack insertion
I have an Asus X206HA/E200HA which look similar to the X205TA, could I help you by testing your work on it ? I don't know much things about linux kernel so if there's an easy way to test I could give you my feedback.
There's no "easy way" to test, you must recompile the kernel, but it's not complicated. You can follow harry's tutorial here : https://ubuntuforums.org/showthread.php?t=2254322&p=13592053#post13592053 I did it and i can confirm that sound is working :) So i just wanted to say : THANK YOU to every one involved in this hard work ! If i can do anything to send reports, tests, i'll do it. Thank you again :)
Created attachment 250831 [details] attachment-26913-0.html Awesome. You're all awesome 2017-01-08 9:35 GMT+01:00 <bugzilla-daemon@bugzilla.kernel.org>: > https://bugzilla.kernel.org/show_bug.cgi?id=95681 > > --- Comment #168 from Ekyo <remy.aparisi@free.fr> --- > There's no "easy way" to test, you must recompile the kernel, but it's not > complicated. You can follow harry's tutorial here : > https://ubuntuforums.org/showthread.php?t=2254322&p=13592053#post13592053 > > I did it and i can confirm that sound is working :) > > So i just wanted to say : THANK YOU to every one involved in this hard > work ! > > If i can do anything to send reports, tests, i'll do it. > > Thank you again :) > > -- > You are receiving this mail because: > You are on the CC list for the bug. >
Thank you all :) I can confirm audio is working well now. Still missing input mic & headphone.
It also works for me, though using the script attached to this thread i still have to set DAC L2 Mux to IF2 DAC manually [2017-01-09 22:45] bugzilla-daemon@bugzilla.kernel.org <bugzilla-daemon@bugzilla.kernel.org> wrote: >https://bugzilla.kernel.org/show_bug.cgi?id=95681 > >--- Comment #170 from Marco Bo <black_painkiller@yahoo.it> --- >Thank you all :) >I can confirm audio is working well now. > >Still missing input mic & headphone. > >-- >You are receiving this mail because: >You are on the CC list for the bug.
So some clean setup that demonstrates how it's meant to be would be wonderful! :) cheers :) [2017-01-09 23:07] Dr. Christian Bahls - qb352.de <kbt@qb352.de> wrote: >It also works for me, though using the script attached to this thread i still >have to set DAC L2 Mux to IF2 DAC manually > > >[2017-01-09 22:45] bugzilla-daemon@bugzilla.kernel.org ><bugzilla-daemon@bugzilla.kernel.org> wrote: >>https://bugzilla.kernel.org/show_bug.cgi?id=95681 >> >>--- Comment #170 from Marco Bo <black_painkiller@yahoo.it> --- >>Thank you all :) >>I can confirm audio is working well now. >> >>Still missing input mic & headphone. >> >>-- >>You are receiving this mail because: >>You are on the CC list for the bug.
I know I didn't have sound out of the box either: so I md5sum'ed the /usr/share/alsa/ucm/chtrt5645/HiFi.conf on my drive to the one on Pierre's github (https://github.com/plbossart/UCM/blob/master/chtrt5645/HiFi.conf) and they weren't the same so I copied Pierre's version over my local one. After I did that no added manual configurations in alsamixer were needed anymore. You might want to check if that works for you too. (I stupidly didn't check what exactly the differences between the files were...)
the only things I see missing between the original shell script for speaker playback and the UCM file is: amixer cset name="DAC2 Playback Switch" on amixer cset name="Ext Spk Switch" on
Pierre, thanks for your work on this. This also solves audio issues on braswell with rt5650. This configuration is present in the Acer Chromebook 14. When should this be expected to hit mainline?
BTW: i still have to audio using Pulseaudio (how can i make sure it uses the HiFi.conf?) additionally i got: E: [alsa-sink-1] alsa-sink.c: ALSA woke us up to write new data to the device, but there was actually nothing to write. E: [alsa-sink-1] alsa-sink.c: Most likely this is a bug in the ALSA driver 'snd_soc_sst_cht_bsw_rt5645'. Please report this issue to the ALSA developers. E: [alsa-sink-1] alsa-sink.c: We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() returned 0 or another value < min_avail.
(In reply to Evan Anderson from comment #175) > Pierre, thanks for your work on this. This also solves audio issues on > braswell with rt5650. This configuration is present in the Acer Chromebook > 14. > > When should this be expected to hit mainline? 4.11 at best. There is a dependency on clock-related patches that are still being debated between audio, clock and x86 domains. I also want to fix the headphone and capture before submitting upstream.
(In reply to KBT from comment #176) > BTW: i still have to audio using Pulseaudio (how can i make sure it uses the > HiFi.conf?) if you have chtrt5645 in /usr/share/alsa/ucm it should work out the box > > additionally i got: > > E: [alsa-sink-1] alsa-sink.c: ALSA woke us up to write new data to the > device, but there was actually nothing to write. > E: [alsa-sink-1] alsa-sink.c: Most likely this is a bug in the ALSA driver > 'snd_soc_sst_cht_bsw_rt5645'. Please report this issue to the ALSA > developers. > E: [alsa-sink-1] alsa-sink.c: We were woken up with POLLOUT set -- however a > subsequent snd_pcm_avail() returned 0 or another value < min_avail. yes, it's a known issue but there are more important things to fix, it doesn't affect functionality.
I think I've isolated the random failure to initialize the soundcard to Fedora. When the soundcard fails to start I can start it manually by modprobing snd_intel_sst_acpi I haven't experienced the issue since I've built the module into initramfs by adding it to dracut.conf after rd.driver.pre Is this something that needs to be fixed in the source code, is this a bug that needs to submitted to Red Hat, or is this something to be expected to be configured/circumvented by the end-user ? (I posted a dmesg from a boot where the soundcard fails to initialize with fedora in comment 128: https://bugzilla.kernel.org/show_bug.cgi?id=95681#c128 ) p.s.: @Pierre: is there any update on when the polarity inversion fixes will be pushed to Github ? And will this also be when the branch experimental/codecs will be rebased ?
> p.s.: @Pierre: is there any update on when the polarity inversion fixes will > be pushed to Github ? And will this also be when the branch > experimental/codecs will be rebased ? I am trying to fix the mic capture and jack detection before I push the update. So far no luck.
OK thanks for the update! With the mic capture (also jack detection ?) there were some fundamental difference between the x205ta en the t100ha, right ? If there is anything preliminary I can test on the x205ta, let me know.
I pushed a tentative fix for jack detection on T100HA and DMIC capture. You can try on X205TA (not sure how analog capture will work). both playback on headphone and dmic capture are not perfect quality-wise so there is more work needed. I had to invert the jack detection logic, it may or may not be required on X205TA, see the hack in sound/soc/codecs/rt5645.c code at https://github.com/plbossart/sound/commits/experimental/codecs updated UCM at https://github.com/plbossart/UCM
I tried the new commits: Headphone output works. (Yay!) Jack detection does not work (no dmesg output shows up when the jack is inserted) Microphone does not work (tried analog and digital in pavucontrol) On a sidenode, touchpad and built-in keyboard do not work with 4.10-rc3. on boot dmesg shows the i2c_hid module "failed to reset device". When the laptop is finished booting, pressing one key on the built-in keyboard instantly powers off the laptop. Several people have been reporting this issue on ubuntuforums as of late: https://ubuntuforums.org/showthread.php?t=2254322&page=132 would you know what causes this issue ?
Surprising. For me jack detection was required to enable the headphone output....and I still have quality issues. Can you hear any sort of noise on the headphone output or does it sound right? I'll need additional guidance from Realtek on the analog mic enablement, not sure if I need an explicit quirk or not. No idea for the touchpad/keyboard, it works on CHT for me and Asus T100TAF (baytrail CE as well)
Headphone output sounds okay to me (only very slight crackling when volume is adjusted, also on speakers). I'll keep trying out the new commits to see if I run into any irregularities. Do you have any hints as to how I can (temporarily) solve the mouse/keyboard issue ? because testing is a pita if I need to use external keyboard and mouse.
@pierre dismiss that last paragraph, time for bed ;)
Just to add another datapoint, my CB14's integrated mic does not work properly either. It seems to get high impulse signal close to the mic (clap or snap) but that's it. The rest is noise. Jack detection works fine without the invert hack. The headphone output has slight hiss that sustains immediately after an audio stream plays, but then cuts off suddenly. I am using the chtrt5645 UCM. @harry I had some keyboard and touchpad problems on 4.9 and 4.10 that seem to be related to interrupts, but haven't found an appropriate cause yet. It may or may not be related.
You are the most awesome people I will ever know of.
harryharryharry, the issue with every key causing the pc to shutdown is happening to me also on stable kernel 4.8.0-34. I
harryharryharry, the issue with every key causing the pc to shutdown is happening to me also on stable ubuntu kernel 4.8.0-34.
(In reply to Evan Anderson from comment #187) > Just to add another datapoint, my CB14's integrated mic does not work > properly either. It seems to get high impulse signal close to the mic (clap > or snap) but that's it. The rest is noise. Jack detection works fine without > the invert hack. The headphone output has slight hiss that sustains > immediately after an audio stream plays, but then cuts off suddenly. I am > using the chtrt5645 UCM. do you happen to have access to the schematics and know what sort of mics you have (dmic, amic)?
(In reply to Pierre Bossart from comment #191) > do you happen to have access to the schematics and know what sort of mics > you have (dmic, amic)? I do not unfortunately. I can try to trace out the inputs on the board and supply the pins that the mic uses if that would be helpful.
That would be useful. Alternatively you can try to enable a DMI-based quirk and set the DMIC lines as show in the existing ones (not fun but looks like we need knowledge of hardware to enable DMICs).
I have not had a chance to look into the hardware for microphone, but I did notice another issue. I'm getting this log line spammed. Not sure how to reproduce it exactly, but it seems to be related to input. intel_sst_acpi 808622A8:00: sst: Busy wait failed, cant send this msg
(In reply to Evan Anderson from comment #194) > I have not had a chance to look into the hardware for microphone, but I did > notice another issue. I'm getting this log line spammed. Not sure how to > reproduce it exactly, but it seems to be related to input. > > intel_sst_acpi 808622A8:00: sst: Busy wait failed, cant send this msg Never seen that one, you'll have to provide more details but I suspect something is very wrong with IPC and firmware handling.
Now that you mention it, I remember I also have an intel sst firmware loading error in dmesg. This maybe due to the fact I reverted the git kernel sources back to 31-12-2016 and applied patches to get speakers and headphones working(If I don't revert the keyboard breaks due to kernel v4.10.0) I'll try to compile the kernel again with a git clone that is up-to-date to see if the firmware loading error is still there.
addition to previous comment: I built the kernel and yes the up-to-date kernel has a fw error in dmesg: [ 28.585840] intel_sst_acpi 80860F28:00: Direct firmware load for intel/fw_sst_0f28.bin failed with error -2 [ 28.585846] intel_sst_acpi 80860F28:00: request fw failed speakers and headphones work though... full log: http://sprunge.us/ZfXH
I don't know if this is of any added value, but when I compile the kernel I get a unused variable warning: AS arch/x86/lib/rwsem.o CC arch/x86/lib/usercopy.o sound/soc/intel/boards/cht_bsw_rt5645.c: In function ‘cht_codec_init’: sound/soc/intel/boards/cht_bsw_rt5645.c:265:22: warning: unused variable ‘codec_dai’ [-Wunused-variable] struct snd_soc_dai *codec_dai = runtime->codec_dai; ^~~~~~~~~ CC drivers/acpi/acpica/tbdata.o CC net/core/skbuff.o
(In reply to harryharryharry from comment #198) > I don't know if this is of any added value, but when I compile the kernel I > get a unused variable warning: > > AS arch/x86/lib/rwsem.o > CC arch/x86/lib/usercopy.o > sound/soc/intel/boards/cht_bsw_rt5645.c: In function ‘cht_codec_init’: > sound/soc/intel/boards/cht_bsw_rt5645.c:265:22: warning: unused variable > ‘codec_dai’ [-Wunused-variable] > struct snd_soc_dai *codec_dai = runtime->codec_dai; > ^~~~~~~~~ > CC drivers/acpi/acpica/tbdata.o > CC net/core/skbuff.o yes indeed, I missed that one. Gah. pushed now.
Created attachment 253831 [details] DSDT - Radius9 - 4.10rc3+ Intel kernel Pierre-Louis Bossart asked me to send logs from his 4.10rc3 experimental/codec branch.
Created attachment 253841 [details] cat /sys/bus/acpi/devices/10EC*/status "cat /sys/bus/acpi/devices/10EC*/status > this file" from 4.10rc3+ kernel and non-working sound
Created attachment 253851 [details] dmesg from failed audio - Radius9 - 4.10rc3+ dmesg log from 4.10rc+ and no audio w/ rt5645.
Created attachment 253861 [details] Pulseaudio log from 4.10rc3+
The DSDT is likely from an Android program, they enable the AMCR device but this is not used in the mainline driver. For some reason they have 2 GPIOs listed in this AMCR device but only 1 in the RTEK one. Clearly someone has a bad day copying half of what's needed. Probably doesn't matter though. The DSDT does not contain the CHAN package and the autodetection of routing won't work. So you'll have to figure out if this is SSP0-AIF1 or SSP0-AIF2. Insyde devices tend to use SSP0-AIF1 w/ rt5640, it'd be ready to bet it's the same. For SSP0 you *have* to use I2S 16 bit but that should already work. No obvious root cause for the issue I am afraid. I would try to do a loopback from playback to capture inside of the codec to see if the samples make it across the SSP0, Bard Liao and the Realtek team may be able to help here when they are back next week (Chinese New Year).
I wanted to follow up and let you know that I got this working with the following changes: I switched the default routing from SSP0-AIF2 to SSP0-AIF1 I also had to remove commit c3b8f25196b21b03a25b560e983faa193c0ba674 from the experimental/codecs branch, this one had a description marked "ASoC: rt5645: Hack to invert jack detection status". Switching that back to a non-inverted status enabled the audio on my headphones correctly. Thank you for the help, Pierre!
please send the output of 'dmidecode' so that we can add a quirk for your machine. Or you can send a patch similar to this: http://mailman.alsa-project.org/pipermail/alsa-devel/2017-January/116246.html While I am at it, is the audio quality fine on the headphone output? I am still getting some noise with the Asus T100HA and can't figure out what's wrong.
I've heard people mention on ubuntuforums they also have a quality issue with the headphones output on the x205ta (they amongst others heard a 'pop' when playback started and stopped). I haven't noticed it myself, but I don't use the headphones jack that much, and maybe I'm not critical enough. Is it a real heavy noise or just some pops and crackles here and there ? Is there anything we could supply to help you pinpoint the cause of the noise ?
Yes I hear the pops on start/stop and some sort of low-volume background noise. It's not white noise for sure, more modulated, almost like power supply issues or clock stability. On the DMIC input it's more of a grainy/clicky low-volume noise.
Just a little feedback on my experiences trying to make sound work on my x205ta under Ubuntu 16.04. After compiling a kernel, I got sound working properly on the inbuilt speakers but the headphones only work if I don’t plug the jack entirely (it needs to be about 3/4 of the way). If I plug the jack completely, then sound disappear (not even the typical white-noise is being heard). I used to be on dual-boot and the headphones were working just fine on Windows. I tried different headphones (including regular 3-pin stereo jacks and a 4-pin stereo + mic jack) and the problem remains. Another Ubuntu user has posted about the same issue on Ubuntu forums. I did compile the kernel a couple of times as well as installing a fresh version of Ubuntu just in case… Any thoughts about where this issue could come from ? (jack detection maybe ?) Let me know if I can provide any more details or logs and thanks to everyone for your work on this machine.
Thanks for all the work that has been put into this device so far. I wanted to report that I experience the same problem with the headset jack as s.guillot on the X205TA.
On T100HA, the jack insertion logic needs to be inverted, can you try the following patch to see if this might be useful on X205TA? value of 32 means jack in, 0 jack out. https://github.com/plbossart/sound/commit/320c60f28bfac6a95e1f8b092250e1879d98651e
Funny that the very same problem was encountered now on GPD Win. See openSUSE Bugzilla: http://bugzilla.opensuse.org/show_bug.cgi?id=1019316 After talking to Bard, he provided a patch to implement the proper jd_invert flag, but it didn't seem working on GPD Win. His patch is found at: https://bugzilla.opensuse.org/attachment.cgi?id=715718 I also implemented to flip the jack state in software side, in a bit more generic way. See the patch: https://bugzilla.opensuse.org/attachment.cgi?id=715700 In both patches, you'll need to add the DMI quirk entry to match with your device.
Hi Pierre, I built a kernel from the latest experimental/codecs branch and made sure the inversion patch is part of it https://github.com/plbossart/sound/commit/320c60f28bfac6a95e1f8b092250e1879d98651e but the behavior was exactly the same. When plugging in the jack I saw 32 and 0 when removing it. Put playback over the headset only worked when inserted 3/4 and headset was selected manual. I tried to apply the patches from Takashi on Pierre's experimentel kernel tree but failed. Can someone please give me a hand here? I'm happy to try something out or provide feedback.
@Takashi: I tried Bard's patch and it didn't work for me either. Rather than wait for more information on what the hardware does it might indeed be a better idea to use a DMI-based software inversion (which is pretty much what I did with my hack). @Alps: it looks like you don't need the inversion on X205TA then... I have no idea why the detection fails. FWIW, I connected an eval board for RT5645 to a MinnowMax board and I don't have any of these problems, so it's not Baytrail or RT5645 that are the problem but the way the hardware was designed I am afraid.
amixer cset name="DAC L2 Mux" "IF2 DAC" amixer cset name="DAC R2 Mux" "IF2 DAC" amixer cset name="Mono DAC MIXL DAC L2 Switch" 1 amixer cset name="Mono DAC MIXR DAC R2 Switch" 1 amixer cset name="SPK MIXL DAC L2 Switch" 1 amixer cset name="SPK MIXR DAC R2 Switch" 1 amixer cset name="SPKVOL L Switch" 1 amixer cset name="SPKVOL R Switch" 1 amixer cset name="SPOL MIX SPKVOL L Switch" 1 amixer cset name="SPOR MIX SPKVOL R Switch" 1 This script has activated my speakers but I still have no sound from headphones. Any suggestions?
news about input?
When I build 4.11-rc3 and add CONFIG_HDMI_LPE_AUDIO to the config, my speaker output changes to a very soft, high pitched output. I also can't enter pavucontrol anymore (Connection to pulseaudio failed).
There is a known problem with PA, and it's being handled in PA side. Until it's fixed, blacklist / disable the HDMI LPE audio module, or disable the realtime scheduling in PA as a workaround by setting "realtime-scheduling=no" in /etc/pulse/daemon.conf.
Thanks for the answer! I'll keep the module out of my config for now
https://github.com/Monsterovich/x205ta_kernel
(In reply to Skullnet from comment #220) > https://github.com/Monsterovich/x205ta_kernel 64 Bits?
(In reply to esteban from comment #221) > (In reply to Skullnet from comment #220) > > https://github.com/Monsterovich/x205ta_kernel > > 64 Bits? And how to apply this patches?
(In reply to esteban from comment #222) > (In reply to esteban from comment #221) > > (In reply to Skullnet from comment #220) > > > https://github.com/Monsterovich/x205ta_kernel > > > > 64 Bits? > > And how to apply this patches? wget https://cdn.kernel.org/pub/linux/kernel/v4.x/testing/linux-4.11-rc6.tar.xz tar xfv linux-4.11-rc6.tar.xz cd linux-4.11-rc6 wget https://github.com/Monsterovich/x205ta_kernel/raw/master/patches/add-headphones-support.patch wget https://github.com/Monsterovich/x205ta_kernel/raw/master/patches/asus_eeebook_x205ta_keyboard_fix.patch wget https://github.com/Monsterovich/x205ta_kernel/raw/master/patches/asus_eeebook_x205ta_reboot_fix.patch wget https://github.com/Monsterovich/x205ta_kernel/raw/master/patches/i915_prevent_cstate_freezesV2.patch wget https://github.com/Monsterovich/x205ta_kernel/raw/master/patches/v2-gpio-acpi-Call-enable_irq_wake-for-_IAE-GpioInts-with-Wake-set.patch patch -p1 < add-headphones-support.patch patch -p1 < asus_eeebook_x205ta_keyboard_fix.patch patch -p1 < asus_eeebook_x205ta_reboot_fix.patch patch -p1 < i915_prevent_cstate_freezesV2.patch patch -p1 < v2-gpio-acpi-Call-enable_irq_wake-for-_IAE-GpioInts-with-Wake-set.patch make nconfig (enable 64bit kernel) fakeroot make-kpkg --initrd --revision=1.1.x205ta kernel_image kernel_headers -j 4
(In reply to Skullnet from comment #224) > (In reply to esteban from comment #222) > > (In reply to esteban from comment #221) > > > (In reply to Skullnet from comment #220) > > > > https://github.com/Monsterovich/x205ta_kernel > > > > > > 64 Bits? > > > > And how to apply this patches? > > wget > https://cdn.kernel.org/pub/linux/kernel/v4.x/testing/linux-4.11-rc6.tar.xz > tar xfv linux-4.11-rc6.tar.xz > cd linux-4.11-rc6 > wget > https://github.com/Monsterovich/x205ta_kernel/raw/master/patches/add- > headphones-support.patch > wget > https://github.com/Monsterovich/x205ta_kernel/raw/master/patches/ > asus_eeebook_x205ta_keyboard_fix.patch > wget > https://github.com/Monsterovich/x205ta_kernel/raw/master/patches/ > asus_eeebook_x205ta_reboot_fix.patch > wget > https://github.com/Monsterovich/x205ta_kernel/raw/master/patches/ > i915_prevent_cstate_freezesV2.patch > wget > https://github.com/Monsterovich/x205ta_kernel/raw/master/patches/v2-gpio- > acpi-Call-enable_irq_wake-for-_IAE-GpioInts-with-Wake-set.patch > patch -p1 < add-headphones-support.patch > patch -p1 < asus_eeebook_x205ta_keyboard_fix.patch > patch -p1 < asus_eeebook_x205ta_reboot_fix.patch > patch -p1 < i915_prevent_cstate_freezesV2.patch > patch -p1 < > v2-gpio-acpi-Call-enable_irq_wake-for-_IAE-GpioInts-with-Wake-set.patch > make nconfig > (enable 64bit kernel) > fakeroot make-kpkg --initrd --revision=1.1.x205ta kernel_image > kernel_headers -j 4 Hi, Tnaks for your Answer I have a problem: ozzz@ozzz-pc:~/linux-4.11-rc6$ make nconfig HOSTCC scripts/kconfig/nconf.o In file included from scripts/kconfig/nconf.c:15:0: scripts/kconfig/nconf.h:18:20: fatal error: curses.h: No existe el archivo o el directorio compilation terminated. scripts/Makefile.host:124: fallo en las instrucciones para el objetivo 'scripts/kconfig/nconf.o' make[1]: *** [scripts/kconfig/nconf.o] Error 1 Makefile:548: fallo en las instrucciones para el objetivo 'nconfig' make: *** [nconfig] Error 2 ozzz@ozzz-pc:~/linux-4.11-rc6$ make config scripts/kconfig/conf --oldaskconfig Kconfig # # using defaults found in /boot/config-4.11.0-041100rc6-generic # * * Linux/x86 4.11.0-rc6 Kernel Configuration * 64-bit kernel (64BIT) [Y/n/?] y * * General setup * Cross-compiler tool prefix (CROSS_COMPILE) [] what i do? thanks
With all due respect, this is not the right forum for your compiling issues. Try to contact each other via ubuntuforums (Skullnet is on there too). I for one already posted an extensive guide to compiling a kernel which addresses your issue (unfulfilled prerequisites): https://ubuntuforums.org/showthread.php?t=2254322&page=158&p=13625163#post13625163ttps://goo.gl/dcXIM0 This bugtracker is about getting audio/microphone to work properly on the X205TA. Skullnet, I seem to remember you came on here to point out your experiences with respect to 3pin and 4pin audio jacks ? I suspect this was not clear to the other people on here, since you only linked to a github page...
sorry, right url to the guide is: https://ubuntuforums.org/showthread.php?t=2254322&page=158&p=13625163#post13625163
(In reply to esteban from comment #225) > (In reply to Skullnet from comment #224) > > (In reply to esteban from comment #222) > > > (In reply to esteban from comment #221) > > > > (In reply to Skullnet from comment #220) > > > > > https://github.com/Monsterovich/x205ta_kernel > > > > > > > > 64 Bits? > > > > > > And how to apply this patches? > > > > wget > > https://cdn.kernel.org/pub/linux/kernel/v4.x/testing/linux-4.11-rc6.tar.xz > > tar xfv linux-4.11-rc6.tar.xz > > cd linux-4.11-rc6 > > wget > > https://github.com/Monsterovich/x205ta_kernel/raw/master/patches/add- > > headphones-support.patch > > wget > > https://github.com/Monsterovich/x205ta_kernel/raw/master/patches/ > > asus_eeebook_x205ta_keyboard_fix.patch > > wget > > https://github.com/Monsterovich/x205ta_kernel/raw/master/patches/ > > asus_eeebook_x205ta_reboot_fix.patch > > wget > > https://github.com/Monsterovich/x205ta_kernel/raw/master/patches/ > > i915_prevent_cstate_freezesV2.patch > > wget > > https://github.com/Monsterovich/x205ta_kernel/raw/master/patches/v2-gpio- > > acpi-Call-enable_irq_wake-for-_IAE-GpioInts-with-Wake-set.patch > > patch -p1 < add-headphones-support.patch > > patch -p1 < asus_eeebook_x205ta_keyboard_fix.patch > > patch -p1 < asus_eeebook_x205ta_reboot_fix.patch > > patch -p1 < i915_prevent_cstate_freezesV2.patch > > patch -p1 < > > v2-gpio-acpi-Call-enable_irq_wake-for-_IAE-GpioInts-with-Wake-set.patch > > make nconfig > > (enable 64bit kernel) > > fakeroot make-kpkg --initrd --revision=1.1.x205ta kernel_image > > kernel_headers -j 4 > > Hi, Tnaks for your Answer > > I have a problem: > > ozzz@ozzz-pc:~/linux-4.11-rc6$ make nconfig > HOSTCC scripts/kconfig/nconf.o > In file included from scripts/kconfig/nconf.c:15:0: > scripts/kconfig/nconf.h:18:20: fatal error: curses.h: No existe el archivo o > el directorio > compilation terminated. > scripts/Makefile.host:124: fallo en las instrucciones para el objetivo > 'scripts/kconfig/nconf.o' > make[1]: *** [scripts/kconfig/nconf.o] Error 1 > Makefile:548: fallo en las instrucciones para el objetivo 'nconfig' > make: *** [nconfig] Error 2 > ozzz@ozzz-pc:~/linux-4.11-rc6$ make config > scripts/kconfig/conf --oldaskconfig Kconfig > # > # using defaults found in /boot/config-4.11.0-041100rc6-generic > # > * > * Linux/x86 4.11.0-rc6 Kernel Configuration > * > 64-bit kernel (64BIT) [Y/n/?] y > * > * General setup > * > Cross-compiler tool prefix (CROSS_COMPILE) [] > > > > what i do? > > thanks sudo apt-get install libncurses5-dev
(In reply to esteban from comment #225) > (In reply to Skullnet from comment #224) > > (In reply to esteban from comment #222) > > > (In reply to esteban from comment #221) > > > > (In reply to Skullnet from comment #220) > > > > > https://github.com/Monsterovich/x205ta_kernel > > > > > > > > 64 Bits? > > > > > > And how to apply this patches? > > > > wget > > https://cdn.kernel.org/pub/linux/kernel/v4.x/testing/linux-4.11-rc6.tar.xz > > tar xfv linux-4.11-rc6.tar.xz > > cd linux-4.11-rc6 > > wget > > https://github.com/Monsterovich/x205ta_kernel/raw/master/patches/add- > > headphones-support.patch > > wget > > https://github.com/Monsterovich/x205ta_kernel/raw/master/patches/ > > asus_eeebook_x205ta_keyboard_fix.patch > > wget > > https://github.com/Monsterovich/x205ta_kernel/raw/master/patches/ > > asus_eeebook_x205ta_reboot_fix.patch > > wget > > https://github.com/Monsterovich/x205ta_kernel/raw/master/patches/ > > i915_prevent_cstate_freezesV2.patch > > wget > > https://github.com/Monsterovich/x205ta_kernel/raw/master/patches/v2-gpio- > > acpi-Call-enable_irq_wake-for-_IAE-GpioInts-with-Wake-set.patch > > patch -p1 < add-headphones-support.patch > > patch -p1 < asus_eeebook_x205ta_keyboard_fix.patch > > patch -p1 < asus_eeebook_x205ta_reboot_fix.patch > > patch -p1 < i915_prevent_cstate_freezesV2.patch > > patch -p1 < > > v2-gpio-acpi-Call-enable_irq_wake-for-_IAE-GpioInts-with-Wake-set.patch > > make nconfig > > (enable 64bit kernel) > > fakeroot make-kpkg --initrd --revision=1.1.x205ta kernel_image > > kernel_headers -j 4 > > Hi, Tnaks for your Answer > > I have a problem: > > ozzz@ozzz-pc:~/linux-4.11-rc6$ make nconfig > HOSTCC scripts/kconfig/nconf.o > In file included from scripts/kconfig/nconf.c:15:0: > scripts/kconfig/nconf.h:18:20: fatal error: curses.h: No existe el archivo o > el directorio > compilation terminated. > scripts/Makefile.host:124: fallo en las instrucciones para el objetivo > 'scripts/kconfig/nconf.o' > make[1]: *** [scripts/kconfig/nconf.o] Error 1 > Makefile:548: fallo en las instrucciones para el objetivo 'nconfig' > make: *** [nconfig] Error 2 > ozzz@ozzz-pc:~/linux-4.11-rc6$ make config > scripts/kconfig/conf --oldaskconfig Kconfig > # > # using defaults found in /boot/config-4.11.0-041100rc6-generic > # > * > * Linux/x86 4.11.0-rc6 Kernel Configuration > * > 64-bit kernel (64BIT) [Y/n/?] y > * > * General setup > * > Cross-compiler tool prefix (CROSS_COMPILE) [] > > > > what i do? > > thanks ozzz@ozzz-pc:~/linux-4.11-rc6$ make nconfig HOSTCC scripts/kconfig/nconf.o HOSTCC scripts/kconfig/zconf.tab.o HOSTCC scripts/kconfig/nconf.gui.o HOSTLD scripts/kconfig/nconf scripts/kconfig/nconf Kconfig # # using defaults found in /boot/config-4.11.0-041100rc6-generic # ozzz@ozzz-pc:~/linux-4.11-rc6$ fakeroot make-kpkg --initrd --revision=1.1.x205ta kernel_image kernel_headers -j 4 /usr/bin/fakeroot: línea 175: make-kpkg: orden no encontrada ozzz@ozzz-pc:~/linux-4.11-rc6$ sudo fakeroot make-kpkg --initrd --revision=1.1.x205ta kernel_image kernel_headers -j 4 [sudo] password for ozzz: /usr/bin/fakeroot: línea 175: make-kpkg: orden no encontrada ozzz@ozzz-pc:~/linux-4.11-rc6$ sudo fakeroot make-dpkg --initrd --revision=1.1.x205ta kernel_image kernel_headers -j 4 /usr/bin/fakeroot: línea 175: make-dpkg: orden no encontrada ozzz@ozzz-pc:~/linux-4.11-rc6$ Command not found, thnaks really very thanks for your answer and you help Skullnet you are so great ozzz@ozzz-pc:~/linux-4.11-rc6$ fakeroot make-kpkg --initrd --revision=1.1.x205ta kernel_image kernel_headers -j 4 /usr/bin/fakeroot: línea 175: make-kpkg: orden no encontrada ozzz@ozzz-pc:~/linux-4.11-rc6$ sudo fakeroot make-kpkg --initrd --revision=1.1.x205ta kernel_image kernel_headers -j 4 [sudo] password for ozzz: /usr/bin/fakeroot: línea 175: make-kpkg: orden no encontrada ozzz@ozzz-pc:~/linux-4.11-rc6$ sudo fakeroot make-dpkg --initrd --revision=1.1.x205ta kernel_image kernel_headers -j 4 /usr/bin/fakeroot: línea 175: make-dpkg: orden no encontrada ozzz@ozzz-pc:~/linux-4.11-rc6$
guys this is getting ridiculous, you're each polluting this bugtracker with 100+ lines per comment...
(In reply to harryharryharry from comment #230) > guys this is getting ridiculous, you're each polluting this bugtracker with > 100+ lines per comment... sorry i'm new in this, and what can i do. my english is not very good :/
(In reply to harryharryharry from comment #230) > guys this is getting ridiculous, you're each polluting this bugtracker with > 100+ lines per comment... yeah, we need spoiler tag.
As I said earlier: if you have problems with your OS, head over to (something akin to) ubuntuforums. There is a specific (very elaborate) thread for the x205ta on ubuntuforums: https://ubuntuforums.org/showthread.php?t=2254322&page=161
When suspending the laptop with kodi running. Kodi doesnt have sound after waking up. the following is a log from kodi: http://ix.io/rGQ As far as I can tell Kodi is the only program that cant produce an audio output after suspend. Could this be kernel related or is kodi the culprit ?
small addition: switching back from another tty brings back sound. dmesg after suspend (without "writing to lpe" messages) shows the following: http://ix.io/rGV
Any news about mic?
At the risk of sounding like the noob mentioning something completely unrelated: Could the x205ta be part of the group of devices that "require a known fixup" for mic and jack detection, as mentioned here: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?h=next-20170609&id=28e8af8a163ed6afe9498f1d499a5061c2214755 The group listed there sound like they could be 'related' to the x205ta
The fixes are likely controlled by a board-specific quirk (DMI-based). I must admit I have lost track of the issues here. My understanding is that with the SSP0-AIF1 routing you can get speakers and headphones working, and that jack inversion logic is not required.
I have been applying these two patches from your experimental/codecs tree to the mainline kernel: ASoC: rt5645: Hack to invert jack detection status ASoC: rt5645: Add DMIC and jack detection support for ASUS T100HA To gain headphones support. It doesn't detect jack insertion however and the mic is not working. Btw is there a possibility for you to submit these patches so headphones support will be available in the mainline kernel ?
Hello all, I hope I have the right bug id for these comments. I have a braswell model chromebook with a chtrt5650 sound card, it's an Acer Chromebook 15 CB3-532. I installed galliumos on it and am trying to get a the microphone and headphone jack working properly. I built a 4.12.0 kernel with all the config options built into the kernel and no modules. There is an interesting outcome when headphone jack is plugged in. I get an unexpected irq trap. [ 624.131931] irq 254, desc: ffff8fdd3975d200, depth: 1, count: 0, unhandled: 0 [ 624.131944] ->handle_irq(): ffffffffac150020, [ 624.131962] handle_bad_irq+0x0/0x250 [ 624.131967] ->irq_data.chip(): ffffffffad6c1380, [ 624.131988] chv_gpio_irqchip+0x0/0x120 [ 624.131993] ->action(): (null) [ 624.131998] IRQ_NOPROBE set [ 624.132005] unexpected IRQ trap at vector fe This loops until reboot. Interestingly, when the kernel is built with the sound card, etc. as modules. The headphone jack detection works and I get no irq trap. I tried today to see if Pierre's patch for jack detection would work, but the code in 4.12 has changed too much.
(In reply to harryharryharry from comment #239) > I have been applying these two patches from your experimental/codecs tree to > the mainline kernel: > ASoC: rt5645: Hack to invert jack detection status > ASoC: rt5645: Add DMIC and jack detection support for ASUS T100HA > > To gain headphones support. It doesn't detect jack insertion however and the > mic is not working. Btw is there a possibility for you to submit these > patches so headphones support will be available in the mainline kernel ? @Pierre Bossart Sadly the above patches for headphones support cant be succesfully applied anymore to kernel 4.13-rc1. Is there a way to still be able to get headphones support on kernel 4.13 and onwards? (or get support integrated into the mainline kernel)
The latest code from Takashi includes the ability to override default values or quirks with a module parameter, I am not planning to add any new DMI-based quirks for now...
It implies: 4.13-rc1 contains quirk option for snd-soc-rt5645 module, and you can override the whole quirk behavior by this option. Once when it is confirmed to work on your box, feel free to cook up and submit the patch to add the quirk statically with DMI matching.
OK thanks for the answers guys! I found out that adding: options snd_soc_rt5645 quirk=0x31 to a conf file in /etc/modprobe.d/ gets the headphones working again on 4.13-rc2 I'm not really well-versed in submitting patches, how would I go about submitting a patch to add the quirk statically with DMI matching ?
all you need to do is look at the output of sudo dmidecode and find strings that identify your device, e.g. Manufacturer: ASUSTeK COMPUTER INC. Product Name: X205TAW then create a quirk with the static setting of bits and send it to alsa-devel with your sign-off.
Hi Pierre, Please could you shed some light on my rt5645. I have a working 4.4 patched kernel binary +ucm, while need to upgrade to newer kernel for other issue. The headphone just give no sound with new kernel while device discovery looks fine. I've open a separate bug and wait quite some time without any notice. The alsa info and dmesg can be found there: https://bugzilla.kernel.org/show_bug.cgi?id=196335
(In reply to Chris Gorman from comment #240) > Hello all, > > I hope I have the right bug id for these comments. I have a braswell model > chromebook with a chtrt5650 sound card, it's an Acer Chromebook 15 CB3-532. > I installed galliumos on it and am trying to get a the microphone and > headphone jack working properly. I built a 4.12.0 kernel with all the > config options built into the kernel and no modules. There is an > interesting outcome when headphone jack is plugged in. > > I get an unexpected irq trap. > > [ 624.131931] irq 254, desc: ffff8fdd3975d200, depth: 1, count: 0, > unhandled: 0 > [ 624.131944] ->handle_irq(): ffffffffac150020, > [ 624.131962] handle_bad_irq+0x0/0x250 > [ 624.131967] ->irq_data.chip(): ffffffffad6c1380, > [ 624.131988] chv_gpio_irqchip+0x0/0x120 > [ 624.131993] ->action(): (null) > [ 624.131998] IRQ_NOPROBE set > [ 624.132005] unexpected IRQ trap at vector fe > > This loops until reboot. > > Interestingly, when the kernel is built with the sound card, etc. as > modules. The headphone jack detection works and I get no irq trap. I tried > today to see if Pierre's patch for jack detection would work, but the code > in 4.12 has changed too much. I have now tried this with 4.13.0-rc3 built with modules. This unexpected irq trap occurs now with a modular build. I've poked around looking for the reason, but have only gotten to kernel/irq/debug.h which is the reason I have this nice error message. Other oddities with the monolithic kernel and no modules, the computer still uses speakers when the microphone jack is inserted. So i expect this to be a complaint as development moves on.
All my previous experimental patches are no longer needed, the bulk of the code was merged in 4.13-rc3 already. I tested yesterday on the Asus T100HA and there is only a missing inversion quirk needed which I'll submit this week. I did not see this irq message so it's probably platform specific. Note that I still have a lot of pop noise when starting playback on the headphone and modulated noise. I haven't been able to figure out where this comes from.
I started looking playing files and recording sound. When I record sound, there is a lag of about 2.3-2.5 seconds before the recorder begins recording sounds. Then (as mentioned by evan anderson) the microphone records a hiss and will only record something loud like a clap. As to the playback, I get the same type of lag when I first play a sound, then the sound works properly. Also interestingly, arecord will not record at say 60000hz it complains and says that the rate is not accurate, and drops the record rate to 48000hz. The hardware is chtrt5650 (cht-bsw-rt5645, rt5645 i2c-10EC5650:00).
@ Pierre Bossart : I saw Hans de Goede recently merged some commits that were adding analog mic support for cht_bsw_rt5645: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?h=next-20180104&id=b70b309950418437bbd2a30afd169c4f09dee3e5 I tried linux-next out but sadly got no working mic. Is this commit something that can be of added value to get the mic working on the X205TA and T100HA ?
Dunno. T100HA has a digital mic so that's not helping. One possibility for X205TA is that the analog mic is not connected on the same input as what Hans configured, Realtek have usually 3 analog inputs that need to be configured in the DAPM map. the other problem is mixer settings (which is a related issue, if you don't know where things are connected you are in for a long long debug session)
Good news! I built the latest linux-next clone (because I saw some more commits from Bard regarding the rt5645 analog microphone) And when I edit /usr/share/alsa/ucm/chtrt5645/HiFi.conf to include (in the "Internal Analog Microphones" section): cset "name='RECMIXL BST2 Switch' on" cset "name='RECMIXR BST2 Switch' on" (from: https://www.spinics.net/lists/alsa-devel/msg71841.html) The microphone registers input. There's a bit of background noise, but it's pretty usable!
Created attachment 273489 [details] attachment-2435-0.html I am currently on business trip and will return on Jan. 12. Slow mail response may be expected. Please contact shumingf@realtek.com or flove@realtek.com for urgent case. Thanks.
(In reply to harryharryharry from comment #252) > Good news! I built the latest linux-next clone (because I saw some more > commits from Bard regarding the rt5645 analog microphone) > > And when I edit /usr/share/alsa/ucm/chtrt5645/HiFi.conf to include (in the > "Internal Analog Microphones" section): > cset "name='RECMIXL BST2 Switch' on" > cset "name='RECMIXR BST2 Switch' on" > (from: https://www.spinics.net/lists/alsa-devel/msg71841.html) > > The microphone registers input. There's a bit of background noise, but it's > pretty usable! It may be worth testing with the in2_diff quirk - as done already by Hans for the GPD_win device?
Hello All, Sorry for posting my question here, but I can't seem to get google to help me. I would like to find a datasheet for the realtek 5650, so I can poke around with it to try to get the internal microphone working and I haven't been able to find one. The current state is the mic will accept loud claps as input, but nothing else. Τhe input is either 0% or 100%. Anything like talking or music fails to register. Thanks in advance, Chris
I have some additional information on this. I'm not too sure if I should start a new bug report as my bug is specifically the DMIC on my machine not working. I have a banon, braswell, Intel_Strago chromebook. I had some high hopes recently that it would start working again with Sam McNally's patch, ASoC: Intel: cht_bsw_rt5645: Add quirk for boards using pmc_plt_clk_0, adebb11139029ddf1fba6f796c4a476f17eacddc. Unfortunately this patch has not fixed my DMIC. According to Sam this has fixed their banon machines, running chromeos kernels. My symptom has gone from no sound whatsoever as I previously posted to white noise now. Running arecord, I get chris@lie:~$ arecord -vvv -f S24_LE -D hw:1,0 -d 25 /dev/null Recording WAVE '/dev/null' : Signed 24 bit Little Endian, Rate 8000 Hz, Mono Warning: rate is not accurate (requested = 8000Hz, got = 48000Hz) please, try the plug plugin Hardware PCM card 1 'chtrt5650' device 0 subdevice 0 Its setup is: stream : CAPTURE access : RW_INTERLEAVED format : S24_LE subformat : STD channels : 1 rate : 48000 exact rate : 48000 (48000/1) msbits : 32 buffer_size : 24000 period_size : 6000 period_time : 125000 tstamp_mode : NONE tstamp_type : MONOTONIC period_step : 1 avail_min : 6000 period_event : 0 start_threshold : 1 stop_threshold : 24000 silence_threshold: 0 silence_size : 0 boundary : 6755399441055744000 appl_ptr : 0 hw_ptr : 0 Max peak (6000 samples): 0x7dacff32 #################### 25135% Max peak (6000 samples): 0x00000001 # 0% Max peak (6000 samples): 0x00000001 # 0% Max peak (6000 samples): 0x00010000 # 0% Max peak (6000 samples): 0x00010000 # 0% Max peak (6000 samples): 0x00000000 # 0% Max peak (6000 samples): 0x00000000 # 0% Max peak (6000 samples): 0x00010000 # 0% Max peak (6000 samples): 0x00000000 # 0% Max peak (6000 samples): 0x0002fffe # 2% Max peak (6000 samples): 0x00000000 # 0% Max peak (6000 samples): 0x0008fff8 ## 7% Max peak (6000 samples): 0x0015ffeb #### 17% Max peak (6000 samples): 0x0028ffd8 ####### 32% Max peak (6000 samples): 0x0001ffff # 1% Max peak (6000 samples): 0x00c2ff3e #################### 152% Max peak (6000 samples): 0x000f0007 ### 11% Max peak (6000 samples): 0x0010fff9 ### 13% Max peak (6000 samples): 0x0777f889 #################### 1493% Max peak (6000 samples): 0x0f36f0ca #################### 3042% Max peak (6000 samples): 0x2071f439 #################### 6489% Max peak (6000 samples): 0x46d7b92a #################### 14168% Max peak (6000 samples): 0x7fff9670 #################### 25599% Max peak (6000 samples): 0x02e401cc #################### 578% Max peak (6000 samples): 0x7fff8001 #################### 25599% Max peak (6000 samples): 0x7fff9b40 #################### 25599% Max peak (6000 samples): 0x7fff8158 #################### 25599% Max peak (6000 samples): 0x7ffffae0 #################### 25600% Max peak (6000 samples): 0x7fff81d1 #################### 25599% Max peak (6000 samples): 0x7fff8001 #################### 25599% Max peak (6000 samples): 0x7fff8a0c #################### 25599% Max peak (6000 samples): 0x046f02dc #################### 886% Max peak (6000 samples): 0x7fff9d60 #################### 25599% Max peak (6000 samples): 0x7fff7fff #################### 25599% When I play music I get... root@lie:~# cat /sys/kernel/debug/clk/clk_summary enable prepare protect duty clock count count count rate accuracy phase cycle --------------------------------------------------------------------------------------------- xtal 1 1 0 19200000 0 0 50000 pmc_plt_clk_5 0 0 0 19200000 0 0 50000 pmc_plt_clk_4 0 0 0 19200000 0 0 50000 pmc_plt_clk_3 0 0 0 19200000 0 0 50000 pmc_plt_clk_2 0 0 0 19200000 0 0 50000 pmc_plt_clk_1 0 0 0 19200000 0 0 50000 pmc_plt_clk_0 1 1 0 19200000 0 0 50000 lpss_clk 2 2 0 100000000 0 0 50000 8086228A:00 0 0 0 100000000 0 0 50000 8086228A:00-div 0 0 0 100000000 0 0 50000 8086228A:00-update 0 0 0 100000000 0 0 50000 When I try to record I get ... root@lie:~# cat /sys/kernel/debug/clk/clk_summary enable prepare protect duty clock count count count rate accuracy phase cycle --------------------------------------------------------------------------------------------- xtal 0 0 0 19200000 0 0 50000 pmc_plt_clk_5 0 0 0 19200000 0 0 50000 pmc_plt_clk_4 0 0 0 19200000 0 0 50000 pmc_plt_clk_3 0 0 0 19200000 0 0 50000 pmc_plt_clk_2 0 0 0 19200000 0 0 50000 pmc_plt_clk_1 0 0 0 19200000 0 0 50000 pmc_plt_clk_0 0 0 0 19200000 0 0 50000 lpss_clk 2 2 0 100000000 0 0 50000 8086228A:00 0 0 0 100000000 0 0 50000 8086228A:00-div 0 0 0 100000000 0 0 50000 8086228A:00-update 0 0 0 100000000 0 0 50000 pmc_plt_clk_0 should be the same playing and recording, I believe, and it is not. I've looked at https://bugzilla.kernel.org/show_bug.cgi?id=201787 to see what the fix was for those with chtmax98090 chromebooks and found that their pmc_plt_clk_0 is set CLK_IS_CRITICAL. On my machine I get ... root@lie:~# for i in /sys/kernel/debug/clk/pmc_plt_clk_?; do echo -n "$i: "; cat $i/clk_flags; echo; done /sys/kernel/debug/clk/pmc_plt_clk_0: /sys/kernel/debug/clk/pmc_plt_clk_1: /sys/kernel/debug/clk/pmc_plt_clk_2: /sys/kernel/debug/clk/pmc_plt_clk_3: /sys/kernel/debug/clk/pmc_plt_clk_4: /sys/kernel/debug/clk/pmc_plt_clk_5: Hope someone can fix this for me. I am willing to test patches and ideas. Thanks in advance, Chris
Hello! I wonder what's the status of this bug - I can hear audio from the speakers (and from the headphones using a quirk) on my Asus X205TA. But the headphones insertion and removal are unfortunately not detected. It seems to me it's some WMI or ACPI issue but I'm in a no way expert on this. If there's some other info I can provide or tests I can run to help further investigate this issue let me know! Thanks!
I'm afraid I stopped using that computer about six years ago I think (I'm impressed you still have one - I loved it). Never did find a solution to the problem you mention. On 10/31/23 18:18, bugzilla-daemon@kernel.org wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=95681 > > sverx (sverx@yahoo.com) changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > CC| |sverx@yahoo.com > > --- Comment #257 from sverx (sverx@yahoo.com) --- > Hello! > > I wonder what's the status of this bug - I can hear audio from the speakers > (and from the headphones using a quirk) on my Asus X205TA. > > But the headphones insertion and removal are unfortunately not detected. It > seems to me it's some WMI or ACPI issue but I'm in a no way expert on this. > > If there's some other info I can provide or tests I can run to help further > investigate this issue let me know! > > Thanks! >
So after *long* searches, I found this recent-ish (Jan 2022) groups of patches that had fixed jack-detection on some various systems, including at least one from Asus. https://lore.kernel.org/all/20220106110128.66049-7-hdegoede@redhat.com/ To me this seems very pertinent, mainly because the Asus X205TA also sports this 'AMCR0F28' device which looks like is the one responsible for triggering the headphone jack insertion/removal event. This patch already made its way into mainline kernel (from 6.1.0 and following) but even if I tried it, I still can't get the headphone jack-detect to work. :| I suspect now I just need to add some quirk to instruct to activate this for X205TA too, but I can't figure out what exactly I should write and in what file (I'm such a newbie!). Any help from the knowleadgeable people here? :) Thanks!
You need to make sure your platform indeed has an RT5640 and add a quirk for your DMI_PRODUCT_NAME with the relevant mask, similar to this: + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "TF103C"), + }, + .driver_data = (void *)(BYT_RT5640_IN1_MAP | + BYT_RT5640_JD_SRC_EXT_GPIO | + BYT_RT5640_OVCD_TH_2000UA | + BYT_RT5640_OVCD_SF_0P75 | + BYT_RT5640_SSP0_AIF1 | + BYT_RT5640_MCLK_EN | + BYT_RT5640_USE_AMCR0F28), + },
(In reply to Pierre Bossart from comment #260) > You need to make sure your platform indeed has an RT5640 and add a quirk for > your DMI_PRODUCT_NAME with the relevant mask, similar to this: According to the DSDT file, it has an RT5648 - not sure if it's the same thing. Before resorting to compiling the kernel myself, which is something I've never done before, wasn't there some simple way to specify quirks in a file that the module would read? What would be the name of this file? And what should I write in there? Basically I want this part of the code to be run: >> if (byt_rt5640_quirk & BYT_RT5640_USE_AMCR0F28) { >> ret = byt_rt5640_get_amcr0f28_settings(card); >> if (ret) >> return ret; >> } and 'BYT_RT5640_USE_AMCR0F28' is defined as BIT(29) ... that's all I can understand from that code. Thanks!
OK I found out the Asus X205TA uses the cht-bsw-rt5645 module. So it probably needs a similar patch? :|