 Yes? Well, wow, I have back of the world room. It's more kind of a bit of a fiddler, so we are here to talk, not exactly to give you any magic that will make our think pads work better. But maybe you can help me find out which magic we could make together to improve it. Oh, what can we make to try to improve our laptop experience? Is it a tool? Is it our preferred tool? I mean, I am pretty sure there are people in this room that are closer to their laptops than they are of their special orders, which is not nice, but it's a fact of life. Well, what do we have in the think pad ecosystem as far as we are concerned? Many kernel developers use think pads, so they often work right out of the box because, I mean, you break it, you have Andrew Morton on your head asking, why did you make my laptop stop working? And that's a big advantage for think pad users. Many Debian developers use think pads, as we can see here. And we do have, that's pure accident, but we do have an advantage. One Debian developer and one Seuss developer have direct access to Lenovo. They actually approached us through Seuss because they have a working relationship with Seuss to sell think pads with Seuss inside. And Seuss approached me because I am the kernel maintainer of think pad API. And we got some email addresses with Lenovo Japan, which are the people who really make think pads. We cannot use that for a whole deal, but when we have a major emergency or something that is really obscure, we often contact them. And if you're looking, they answer that with documentation, or yes, you can do that, here's how you do it. It's not a very open channel, but it is there. And that channel is about one year old, so it's a new thing. But the reason with this help, we haven't managed to make it perfect yet. I mean, those of you using two, six, 26.2, the newest kernel we have, you should be worried that it's not taking good care of the thermal constraints of your laptop if you are using the next series. Why? It's a simple bug in Linux. Is it going to be fixed? Yes. Why it happened? Because ACPI is quite complex, so that's not much we can do about it, except find out the bugs and fix them. There are three key people right now in the kernel space of things. Me, because I am the unfortunate or fortunate, depending on the day, maintainer of think pad ACPI, which is the kitchen sink driver for think pads. Basically, if it's not something really important like the disk driver system or the ACPI itself, or I don't know, the video drivers or other important subsystems, it belongs on my driver. So I am the one who has to talk to the hotkeys or until sometime ago, the hotspot base or the internal crazy things of a think pad, like the built-in mixer for the volume keys, the kitchen sink. Then we have Thomas Reninger from Seuss, which is the one who managed to get this contact with Lenovo. It does a lot of kernel work that's really spread so that I don't know exactly what he likes to do more. I have seen works from him and they are all related to think pad mostly on the brightness pad and stuff. Also some key issues like hotkeys are not working perfectly on whatever model. Please let's see what we can do about that, et cetera. And Matthew Garrett, which was a devian developer, I think he's from Budo now, but I'm not sure if he's not, I apologize for the misinformation. And he does a lot of kernel work. And also, I believe he was the main responsible person about moving things from think pad, SEPI to hall and other layers. And where it leaves us. We have a kernel that works mostly well. We have a kernel roadmap, unfortunately I didn't type it yet, but I can talk about it later and you can actually ask me to change priorities if you want. But we don't have a major task force in user land, that means devian or Zeus or Fedora, to actually make these mouse machines work perfectly. I mean, I spent about one week trying to get the hotkey mask right so that it would do the right thing if you get a node think pad like mine or a brand new one from Lenovo. It needs a bit of a different handling on the volume and brightness keys. Okay, so I managed to mostly teach the kernel what to do right. That's fine. Then we have mostly, I think, all Linux distributions overhiding that with enable everything mask. And suddenly, oh my, my brightness case don't work. And then I ask, why? And they just say, well, it's like this, this, this. Why do you have those keys enabled? I don't know because the disk enabled that and that went into how upstream and now it's enabled everywhere. It gets to a point that the people doing the kernel side of things doesn't exactly know what people are running. So we have a kind of communication problem there. I mean, I can mostly pay attention to whatever happens in devian but to be really, really honest with you, I don't. I have to take care of the problems in the kernel side of things. So my user land configuration is not exactly the default one. And when packages get updated, sometimes it doesn't predict my configuration because it's already customized. So sometimes I stop what I'm doing and I try to see what's happening and I try to correct that but unless people, I don't know file book reports I won't be knowing about that. I think SUSE has the same problem but they have a more tight key A system. So, and Ubuntu works really well in whatever the Ubuntu developers are using but the older thing pads are in no man's land. In fact, some of them as we have with Brighton keys started there. Well, mostly I would like to know and I would like to propose you guys to talk to each other and talk to me and we could share experiences here what's you have found to be best what's really causing the trouble right now we can all write down and see what we could do. Also, if you really want to we can go down into ThinkPad firmware land. I can explain how this box works. It should be about 90% correct for the newer ones too. And if any of you still has an older T model, a T for, I have the firmware here if you want that fixes the annoying fun. So it won't start going for no reason at all just when it needs to. Other than that, well, questions and answers time. As I said, a bit of feeders is not a presentation. So please, okay, let's talk about hotkey support. There are two kinds of hotkey firmware in wide use on ThinkPads, okay. The older one, which is not that old it means everything will be older than the 60 series. I'll type a bit here so it's easier, okay. Since my English is clearly not that good. So excuse me and please forgive me for using this, but it works, right. We have two classes of firmware, old and new. Okay, what's the difference? Lenovo found out that people were getting too confused by those three volume keys. What are those volume keys? In older ThinkPads, which means T4, she's an older, sorry, T60, and also same thing for X and R series, okay. They drive a separate mixer. There is a mixer inside this that's not the normal sound mixer and they are actually kind of a digital access to, they didn't want an analog knob that you would roll. So they put this in here. You really shouldn't be trying to do anything else with these keys on this ThinkPads. You screw up the dynamic range of the volume control. It was not designed for in sort of, I press here and I increase or decrease the volume of the AC97 mixer. It was not designed to do that. But people found out that they could do that. So far so good. That's why the driver lets you do that. And some people started using it. So far so good as well. It's your problem. And then they place that on distros and that's not so good. What happens is that in Windows, you have some sort of on-screen display that's always there. And we do not have that on Linux. We do not have a proper on-screen display interface. We don't. And actually my driver also has part of the fault because I do not export yet. An AUSA mixer to access this mixer. So people hooked on active events, things that are supposed to command the ThinkPads to do something, to use it for on-screen display. And then they did even worse. They hooked into input events that actually order your GNOME mixer to lower and higher the AC97 volume and that made complete mess. And there are the new machines. The new machines have a hardware mute button. I don't know if it's hardware or firmware because I haven't debugged their bios yet. But they do muting in hardware. And the volume keys are just that keys. Lenovo made me a big favor and they send the volume, key volume up and key volume down directly through the keyboard controller. So what happens in a machine like that is that if you didn't do anything weird to ThinkPads API, it never gets the events it uses to because they come up as keys, as normal keys. And then whatever, listen to normal keys, we'll get them and process them to highs or lower the volume. That's what should be happening. However, due to configuration issues and also because people always go there and mess with the hotkey mask, that's not what you're seeing. And we have something weird going on on the kernel side of things, in the interface that talks from the kernel to the embedded controller, which is actually the keyboard controller also in the ThinkPads. And that's causing some weird problems, including weird response from hotkeys and sometimes event loss. So I am not actually quite sure exactly why your keys stop working. What I can tell is that if you read the documentation for ThinkPads API, you'll see that you have some bits on the hotkey mask that are for volume. You leave those off. That's the default. And if you have a new machine, it should just work because you get the events from the keyboard. Then it's just a problem of getting x, x.org, to actually know what those mean and map them to whatever x keyboard event it needs to, so that gets to non-mixer and erasers or lowers the volume or gets the same thing. So is it complicated? Yes, it's a lot more complicated than it should be. It should just work out of the box. The kernel side is prepared to work outside of the box, but that's something that New Zealand's not. When you, in another model, when you press any of the hotkeys, the volume hotkeys, any of them, it does two things. Actually, that's three things. First, the firmware or the hardware, I don't know exactly which, actually rises or lowers the volume controller that takes care of your headphone output and built-in speakers. It does not affect the line out which you can get on the docks, okay? It does another thing. It updates the CMOS non-volatile ROM so that if you reboot or shutdown, you get the same volume again. And the third thing, does it sends an ACPI event that can mask or not? That's what the hotkey mask does. And think that the CPI actually only echoes that back. It tells the kernel, oh, that's a valid ACPI event. Please echo that to user space and does nothing else. So it actually, you could hook on those events to use them as on-screen display, but you are not supposed to hook on them to do anything else. Somebody did, I think, I'm not sure it has been undone, but for a while, how was programmed to hook on these events and generate the active please raise volume, please lower volume events and that was causing a lot of trouble. But on the other hand, people would see the beautiful on-screen display and think, oh, now it works, it worked before. But you didn't get the feedback that you needed to know it works. That's why people in Minux are confused by the volume keys on the old style of Thinkpads, but people in Minux never were because they had that feedback so they did understand that, oh, look, that volume slider is not changing, but it told me that volume is lower and higher and I can't hear that in my speakers, so it's working and they were fine with that. They noticed that's problem and then they changed it so that you'll now have a new style of just keys. Easier for us to deal with that as well, I suppose, but now you cannot lower or hide your volume in BIOS or DOS or something like this. It's not important anymore. Does that mean that there's no way to simulate that first action that it takes which is modifying the internal volume thing? Well, very, very old Thinkpads do not issue ACPI events for volume keys, but they can't get them by pulling the CMOS in VR. And they could do that on new ones as well. I mean the opposite. I mean, is it possible to have a user space program that doesn't change any else's settings but does modify the hardware volume? I'm not understanding you correctly, I think, but... You talked about three things that pushing the volume button does? You cannot block the actions of the BIOS so that doesn't change the hardware. But what I'm asking is can you set them? Yes. Simulate those. Can you actually modify the BIOS volume values in user space? Yes, you can. But there's no such a thing on the new Thinkpad. They took away the mixer. You only have now a mute gate, which I am affording it. I just don't know how to program that mute gate. We could find that doubt. Someone sits alongside with me for a while with a new thing or we could ask directly and know about that. But I do know that they made something like that. You press mute, it mutes. If you press mute again, it remains mute. If you press any of the volume up or down keys, it emutes and follows the key press. And the next key press gets through the keyboard controller as if you... So they tried to emulate the old Thinkpad behavior in firmware. As I said, it really should work. If it's not working transparently, that means we either are not doing something in user space that we should be doing when we get a volume up and down from the keyboard controller or we are getting confused. I mean, Thinkpad SAP never sees those key presses, so I am pretty sure the kernel is not on this instance doing something bad. Brightness is not something else. Brightness control is wrong in the kernel side. It's not user space. Anything else you would like to talk about the volume keys? Thank you. So I like very much the old behavior of having two different mixes. And I have an X60 and I have also a T42P. And if I understand correctly, this old behavior is going to be changed. It has been changed. Okay. Is there a way to add back the old behavior? Yes. But I want to like what I am going to tell you. You will have to reverse engineer the EC firmware. Okay. And the embedded controller on Thinkpad does a lot of stuff. It has two I2C buses that talk to the batteries. The batteries are normal smart battery systems batteries. So you have the full documentation of all the protocol that goes to the batteries. It also emulates the keyboard controller and it takes care of a lot of other stuff such as AJA, DAPS, the accelerometers. The search code for the T4 for X series and also R5X series and a part of the X series. Well, somebody did that to work. You could try to get that work and improve on it and get your bios do the same. And then you will be able to get the older behavior. However, I'm almost sure that about half of what Thinkpad does is in the bios running on system management mode. I mean, as far as I know, the embedded controller doesn't even generate the CPE interrupts. So something is doing that. And if it's not doing it by itself, it means the bios is doing that. As far as I know, it generates SMM and traps only. I mean, it's probably too much work, not worth it. Unfortunately. What? Be my guest. Okay. You could also have a driver in kernel that trap at these keys on a very low level and emulated in kernel. The old behavior like so much so that nothing else can mess with it. That's doable and not even very difficult. I mean, we have input handlers in the kernel. You can do that if you want. And I would accept a patch for that on Thinkpad and CPE as well, so it's not a problem. Anything else about phone keys? Sure. It's not anymore about the keys, but it's something that I found one month ago. So I have an e60 and I have a docking station and I was quite surprised that my docking station didn't work out of the box. Dock stations are... No, wait, wait, wait. Because then I tried long time ago because the only way to use the CD on the e60 docking station is I had a long time ago. I tried to go back and it seems that all the information on the Wiki was correct and I didn't succeed. And then three weeks ago, I found that the Debian kernel has a patch which disabled the IEHC whatever in the controller. I'm sorry, I didn't get the first part. The libata, the docking station cannot use the libata bus or system because the Debian kernel has a patch that disabled the recognition of the PCI controller for the libata. Okay, let's talk about dock stations and that was it. Docking in the kernel was not exactly in good shape until about 2.6, 2.4 and thereabouts. It really was not in good shape, okay? It's not nothing magical, but nobody had worked on that for a long time and it didn't do the right things always. So we had some sort of helpers, think paid the CPI and other drivers. And those did work most of the time. For think paid the CPI, you could ask it to handle the dock and the bay and it would generate ACPI events that are privated to the driver. It's not a real generic event. It was IBM and a lot of numbers. And you could hook on that to order the system to eject, which means power off the bay and those to amount and do other housekeeping you wanted before you eject on something. The problem with that, that unfortunately think paid the CPI uses a really weird way to find out which ACPI node needs to do something. And that really holds things on the T60 and later because they started using SATA, Serial-ATA base and they still had the parallel-ATA base and suddenly they had two nodes and I would have to teach the driver to know which node should use to request an edge act or something like that. I never got to this point. Why? Because the roadmap was to teach the kernel itself how to do docking and undocking and generic way, not a think paid way or anything like that. That means that you need a patch to think paid the CPI to get it to work on certain thing pads and that patch break other thing pads. It depends on which thing pad you're using. Then somebody started working on a generic dock and the generic bay drivers. Those do work, but they were about half way done by 2624 and 2625 is much better. And I believe 2626 actually does what it's supposed to. And somebody talked, Libi-ATA, the hard drive subsystem about ACP high commons that needs to send to the disks and that causes conflicts and so I'm not pretty sure if they have this and that or not but Libi-ATA would say, oh, this hard drive has ACP high commons to send and it would grab the handle and then dock would come and oh, somebody's already using it, bay would come. Oh, somebody's already using it and can have only one driver per ACP high node and things wouldn't work. I believe this has been fixed but it may be that it has not gone to mainline Linux yet. I have seen patches but I was not tracking them. And if you ask, oh, and what are you using? I'm using the old thing padway on my computer because that way I still know whether that my driver is working right or not so it's a debugging effort for me. If you wanted to work on a T60, I can send you the patch but I did not look on the Debian kernel which kind of patches they have, I can look at it now. That's a big problem within paid ACP high. It, when it starts, it looks for every available device in the ACP high tables and it insert supports for those. If you are not docked when you start, it doesn't notice that. It's a known problem, it's a bug. I have never fixed it because as I said, the roadmap was to switch to the dock and pay drivers that are generic and not have this problem. I believe they even know how to swap the batteries nowadays they have some patches. So it's a no problem. If it really is annoying people, you please drop me a note by email and I can see what I can do about that but then we, well, it's a patch to think by the ACP high or something else. Then I'm a bit stumped, sorry, because I really don't know exactly what's broken I would have to look at the patch, okay? But it is supposed to with a very new kernel to just work out of the box and dock and dock cleanly. In fact, I suppose I think it even amounts things. Not in a nice way to screen blood murder that you are removing a device that still has fact system on it and say something about that self-indistructing five seconds or something like that but it will work. If you hook to the ACPI notifications which will not be over ACPI itself to be over UFNs because dock and bay is UFNs. So it means UDF. If you hook in a script of UDF you can do the amounting. I think they have that one thing to do but I haven't checked it. I can only look at that. But that's one thing to look at. Anything else about that? Another topic change. Yeah, what now? There are supposed to be a trust in computer model and all things patch. How is it support? What is supposed to be capable of doing in how it usable now? Can we do hardware key storage already? What user one internal support we already have for that model? I'm sorry, I didn't get it perfectly. Please. We have a trust in computer model in all things patch. Modem. Model. Model? Oh, yes. Okay, let's talk about the PTPM. I have actually tried to use the thing. Okay, so I can talk about it. You have, again, old and new thing patch. So what do you get? With the older ones, like the T43, you have a 1.1B TPM model. With the newer ones, you have a 1.2 TPM model and they are very different business, okay? For one, somebody was intelligent for once and the 1.2 TPM model has a generic interface that works on every model from every manufacturer. That was not true for the 1.1B. The BIOS can use it, it sets it up correctly. So in fact, you actually have a platform that could use to do code attestation, I think, they call that. It has a private key you can try to use for seeing things but something's a bit wrong with the user space support at least for the TPM on my computer, which is a natural semiconductor one and it doesn't get the public key correct. I don't know why, if you request the information from the kernel, it outputs the correct one but the TPM tools doesn't, it corrupts the data some way, so obviously it doesn't work. What should be able to do? When you boot the ThinkPad, if you haven't disabled the TPM on BIOS, it will generate checksums and it will start those checksums on registers. There's a table, I think we can think I put there and there's a table on the specifications that tells you what goes there but basically you can have registers that tell you if the supervisor password was typed and which one, or user password and which one, the hardware configuration success, what was the boot device, if there's something like a CD-ROM in the bay or not and change on any of those things, change those checksums and validate keys that are bound to those checksums. If you can get that user space program to actually talk correctly to your TPM, it will work but that's not much more to be said about the TPM, it's a closed-documented hardware you don't even get, there's a small password on this thing that lets you get and change the private key or ask it to regenerate the private key, you don't even have that, at least not on 1.1b TPMs, so it's not really safe to use, I mean, you can't even trust it to do what it's supposed to do correctly. And I should tell you that although I do not have access to it, I am pretty sure that one of those utilities you can get from people in .ru to reset the BIOS passwords, it actually does that by writing to the TPM non-voluntary, if you can do that, I'm sorry, I can't trust that chip ring. There was supposed to be also a secure memory within that stuff. Yes, that's exactly the memory you can write from a DOZ utility to hack the password in a stolen machine, I mean. Okay, nice, thank you. Probably our keys are safe but I don't think the data inside that TPM is really safe. The new ones work, okay, but again, they have the same problem, how much can you trust that? I don't know. I wouldn't use it for much, it's better to get a smart card with your open GPG keys inside and use that safer. Any more questions that you use? So if you had a chance to work with some of the brand new ThinkPads coming out the X300, X200, how well are they gonna work? Well, nobody asked me yet for support for the X300 beautiful blue LED on the Thinklight button or something like that, but mostly they should just work. Lenovo's not trying to do weird things on those models and they did add some new interfaces such as a toggle so that you can enable and disable the wireless USB device but they did that in a way that if I look at the ACPI tables, I figure right away how I should use that. They just copied the Bluetooth and changed names, something obvious and they actually sent me some documentation about that when I asked about Bluetooth so I should be able to write code for that. I'm not aware of any changes to those ThinkPads that should cause us trouble. So I would actually get one for myself. Oh yeah, something that has been brought to our attention pretty recently. The newer ThinkPads, mostly the X series, they use some kind of active cooling so if you have one with a very powerful processor, be aware that the phone cannot cool it enough. So what the BIOS does is that it requests the operating system to lower the maximum speed and if it doesn't do that, it will go over temperature until you shut down, you lose your work. That's a problem with two, six, two, six, two. I mean, the laced stable has this problem. Patch is already out. Should be on. But that's something to keep in mind. I mean, you've got expensive laptop which are two gigahertz CPU and if you want to run it at one gigahertz most of the time because of temperature, it's not nice. But people is open the thing and improve the thermal sink. It's not difficult to do because Lenovo is not doing a top of the line head sink. So you just remove the thermal compound plus something much better that overclocks like this and you get about five or six Celsius degrees out of it. So maybe it's enough to run at top speed. Other sink pads have issues with that thermal sink become loose and they're touching from the ship so you don't have a perfect thermal interface anymore and it starts with heating up. So if you are a sink pad starts getting warm, please do penetration and fix it as soon as possible otherwise it can get damaged. Anything else? Do you want to talk about, do you want to talk about something with the frimmer inside the blocks? Something about the harbor or anything? No, just use it. It's not completely related, but can I make a poll? How many of the sink pad users with the fingerprint reader use the fingerprint actually? I'm sorry, I didn't get it. Yes, I am the fingerprint, I'm one of the fingerprint entertainers. Okay. So I just want to know how many sink pad users with the fingerprint on it use this fingerprint on the system? Well, I don't have a fingerprint reader, so I'm not, yes, that's what I mean. I have tried it and it works, but I don't think it is integrated into the system. No, it's not. It's not integrated. It was to be used, I wouldn't use it with standard authentication when it works or when you ask me about the user name but do you know any plans for integrating it in the future? But it's very early stage. I think with PAM, you know, it already works with PAM. But PAM, do you mean you need to stop something? No, just PAM. What I have heard from other users that just work. Someone else used fingerprint reader in the fingerprint reader? Two, three, four, four. Four, thank you. You should ask how many key fingerprints in their laptops to make it fair. Okay, I have one. So you actually have about half user. You were saying something about it. You have ten minutes left. Well, I've heard that's not that safe, but I have looked into it and they used one of the best technologies about that so you can't easily, you can't, I mean, duplicate very easily a finger and pass that and it will give you a false reading. It's not that easy. But it appears that it generates a small number, a small signature and that's a problem because you can try to bridge force that. It should be pretty safe for your screen saver or something like that. I would use it. I would like to say something about it. It is like harder wise and implementation wise. It's reasonably safe. I have a little problem with it not being configured in a safe way because the problem is that it's now integrated with PAM and some stuff supported, some stuff not. One of the things that supported is for example SSH. So if someone's about, you can see, oh, he's about to enter his GD and whatever username and about swipe his finger. I can log in to SSH to his machine with his username. He swiped the finger. For some reason it doesn't work for him. I hit enter, it enters. So there should be some way to blacklist remote services on the PAM. In fact, there's a problem with the LibPAM. The original designer of F-Print, which is the project that currently involves more fingerprint readers and any of the things that's readers, said that Chi and Chi designed it just as a proof of concept. So it's not that safe. It has a lot of problems with, for example, if you have a screen locker, you don't, well, let's say that screen lockers and GDM and KDM don't behave as the same. Some of them you have to press enter to continue. For example, GDM does not, but KDM does. Some services doesn't behave exactly the same. So it's more like a LibPAM problem, a LibPAM problem that the F-Print designed. FAM is not exactly the most safe and easy design we have. That's the hard truth. So basically just a bit of background. There are two implementations. One which is think about specific, and it's called think finger, and it was started by Fabric Magic, one of the current developers, together with Timo Onig from SUSE. And so it got released 0.3 and it died. In the sense that it was probably just a quick act to show that this finger printer can work on Linux. And this has the same problem on SSH actually. So you could not any more log in SSH if you enable fingerprint authentication remotely, which was quite annoying. And then there was the new software, which is F-Print, which is available in Debian as well, is an experimental as fingerprint, think finger, which is an experimental tool. And this is, as Derek said, this is not only specific to ThinkPad. It's for all kinds of, something like a general library for fingerprint authentication. And it's not any more in early stage, but because it's actually, they changed the API two or three times, but it's work now. They need an involvement in some progress in LibUSB because there was a problem with the old LibUSB, but it's still not, I mean, not every day authentication, I mean, a radio, actually. Some terrible PAM, all magic and specifying. The problem with PAM is that I tested most of the screen server available on Linux with ThinkFinger and really in F-Print, and they behave all differently. They behave really all different. So for example, normally, it's in server needs to have fingerprint, it's locked, works sometimes, sometimes doesn't work. Sometimes it's so slow that you think it's not working after the fingerprint and actually it's working. You need to wait two or three minutes. For example, VLock works. I use VLock, so VLock works. Login works. All which is KDE related, I didn't test a lot. So it's still, it's still, that still works today. I, that's probably the main reason, I mean, I'm sure that's the main reason we didn't put it in a state. It's still an experiment. Obviously, that's a welcome touch as well. Yeah, I'm just, just to add a comment. Fingerprint is just another security mission. We don't rely 100% of it, but this project, Fprint, is going to make a huge, I wouldn't say improvements. I think it's going to add a lot of more features. If you are developers, and most of us are, please take it into account. Take a look to Fprint mailing list. We, with Luca and Serako, the one who is at the, at the corner, we're in deviant integration of value-metrical gadgets. We will be pretty happy if you join us with feedback. So that's all. Well, we have five minutes left. I would like to propose a small, small vote. What would you guys want me to do? To put in the priority queue for ThinkPad ACPI. What's missing? My Q and Q has also a mixer to control the older mixer, which is not going to have much with the new ThinkPad. Maybe I will be able to have a single mute control on new ThinkPad. That would be it. On the other ones, you have a full mono mixer. The second is to better integrate with the hardware monitoring. It's already good, but I could do a bit better. I could have a fun controller inside the car or something like that. The third would be to have better environmental control. As I said, it's a kitchen sink driver, so it's the place where I would put some kind of thermal sentinel and an emergency message because it's too hot or something, but that's something you could do as a space as well if you want. And also, I have a pending request to add support for RFQ, which I'm currently working on, for ultra-wideband USB and also wide area networking on Ymax or something like that, that some new ThinkPads have. Do you have any requests? Do you have any... I would like to clone your tree so I can help in the auto-mixer. My tree is available at jit. It's easier to show you. However, it's a patch-top crib. So it's not exactly you can clone and then merge and something like that. It will always show you the latest state of the driver and something you can work on it. It's ripple.r.sz the full URL is here. This one. You have many branches here, but there are only two of interests for people who want to work with it which are develop and master. Master something that I use to keep like a 2D lists and all patches that have been accepted on my line. Develop is the top of my working branch. Anything that is actually good enough that won't cause major issues ends up here. And as you can see, lots of it's RFQ work because I started doing that so that I could plug it into the API and I had to do a lot of working on that part of the kernel and I haven't finished yet so I am doing both. But you just clone that and I accept patches and anything like that. Unfortunately, you can't have a Git workflow with me because I'm not prepared to have trees that are not how-wond yet. So I do that too many people start talking and I become suddenly I have to act as a subsystem maintainer and I will do that. But right now it's a patch queue and patch queues get rewound all the time in Git so you can't just merge. It's an issue but so far nobody has really complained. I wanted to ask about how the state is with power management and power management? Some kernels ago when I last tested it I think that ACPM module was generating a lot of wakeups. Well, here's what we've got right now. Let's wait a bit. As you can see almost nothing comes from ACPM. It generates about no interrupts unless it's actually getting some sort of notification from your device. Or if you enable its nvrun pooling mode at which time it generates 10 interrupts per second. Or maybe if you want you can actually tell it to generate less or more but 10 is a good number. What we did see was that something was bothering ThinkPay the CPI through its proc interface and requesting data all the time. So if I do this it would be that's a small request for our temperatures to about, I don't know, 100 to 200 EC cycles. And that's slow. That causes a lot of wakeups. So someone was doing a lot of polling for thermal data or something like that and that causes all those interrupts you have. It has me to fix it. Not by me, someone was using it or something wrong and fixed it and I've had no reports since then. Is there anything that is still missing from the power saving side compared to, for example, windows? Yes, lots. But the main one is proper one screen display control so that we have less confused users. Okay, our time is up. We have to go.