I have had a lot of angst about what to replace my iBook with, and I settled on the Lenovo U150. I have some observations which may be useful if you are considering whether to purchase it, or trying to get Linux to run on it.
I installed Debian on it. I used a custom-build Linux 126.96.36.199 kernel. It was a fairly painless netboot installation, with the exception of the BMC Tigon 3 Ethernet driver (CONFIG_TIGON3). It required a separate component (CONFIG_BROADCOM_PHY) for PHYLIB. And it never would reinitialize successfully after the interface was ifconfiged down (which Debian insists on doing for netboot installs). For that issue, I obtained a preliminary patch from the maintainer.
Seems to work fine for me and should be in the mainstream kernel soonish.
The wireless card (CONFIG_IWLAGN and CONFIG_IWL5000) needed me to download firmware for it. No big deal.
The laptop is fairly quiet, but much louder than the iBook was (its fan is always on...it is very small but very fast). I'm afraid I'm going to be taking this thing apart constantly to clean out the cat hair. *sigh* It draws a ridiculously large sum of electricity while idle, and dissipates it as heat. It is a major disappointment in that regard. Linux seems to take advantage of all of the power saving features of the Intel Core 2 Duo (SpeedStep, MWAIT C3 state, etc). But it doesn't do any good. The damn chip won't clock any slower than 800MHz, period! What a joke, since even my hot desktop 1.83GHz Athlon can be clocked at 600MHz for cool operation. I kind of hoped that Core 2 Duo was the shit, since it managed to persuade Apple. But alas, Core 2 Duo is shit.
On the other hand this laptop is very fast. I haven't had anything take noticable wall clock time. Even Firefox is plenty responsive. Even resuming from sleep only takes about 3 seconds, which is as good as the iBook. And so far resume has been flawless, and it draws very little battery power. Setting up sleep/resume on lid close/open was as easy as installing acpid and putting a line in /etc/acpi/lid.sh:
echo mem > /sys/power/state
Can't be too clever there because the lid sensor just reports transitions, not actually the current state of the lid...you just have to trust that the lid open event at resume will be gobbled up (lost) as part of resuming so it won't double-sleep.
The touchpad was almost unusable in X. The Synaptics input driver completely solved my issues. I just installed xserver-xorg-input-synaptics. Here is the section in xorg.conf for it that I am using at the moment (though I feel a little dirty for referencing /dev/input/event6 directly.../dev/input/mice does not seem to work (reliably?):
Section "InputDevice" Identifier "Mouse0" Option "Device" "/dev/input/event6" Driver "synaptics" Option "Protocol" "event" Option "LeftEdge" "1200" Option "RightEdge" "5000" Option "TopEdge" "1200" Option "BottomEdge" "4800" Option "FingerLow" "25" Option "FingerHigh" "50" Option "MaxTapTime" "0" Option "MaxTapMove" "0" Option "VertEdgeScroll" "true" Option "CornerCoasting" "true" Option "CoastingSpeed" "1.0" Option "VertScrollDelta" "100" Option "MinSpeed" "0.4" Option "MaxSpeed" "2.0" Option "AccelFactor" "0.0015" Option "SHMConfig" "on" EndSection
Battery life isn't too stellar (only about 3 hours in practice), but that's apparently to be expected.
The speakers are plenty loud, but the microphone input doesn't work yet. It needs a special model= option for the Intel HDA audio module (snd_hda_intel). Okay, I figured all that out. And here is a patch to linux-188.8.131.52/sound/pci/hda/patch_conexant.c. It even automatically senses internal vs external microphone/speaker. I've submitted it to the upstream maintainer so hopefully it, too, will be widely available soon.
It is a pretty sexy little laptop. It is really only slightly smaller than the iBook, but it seems much smaller, and not in a super obnoxious way. Though it is as small as I would want to go, probably. And though I like how it looks, I'm not sure that the widescreen format is actually superior. For one, it doesn't quite fit my favorite font right in an 80x25 rxvt.
It is reassuring to see that modern mainstream free Linux now has so many of the little utility daemons and infrastructures that made environments like Darwin and Maemo so convenient. For example, I like acpid and udevd, and I love all of the /sys and /proc interfaces to things such as processor power state. I don't know how everyone else does things but my way of administrating OS X, which I've come to like, is quite fruitful on Linux.
The thing which surprised me most when I switched back to the iBook for a while is just how many crapulent things I've gotten used to that I really don't like. For example, I gave up years ago at getting the keyboard configuration the way I wanted it, and it has been a minor nuissance for that entire time. On the U150, so far, I have not had to compromise on anything UI wise.
It was drawing about 1.15A (according to its own monitor) while idle. This seemed ridiculous to me, given that I know there are processors which can truly scale down to a really low power level when idle. I did some research and the much-lauded Core 2 Duo is not one of them. Some of the Core 2 Duos can go into "deeper sleep" power saving mode and still draw up to 20W!!! I even tried booting in uniprocessor mode without any power savings. Intel truly needs to add a 200MHz mode to this processor line that draws on the order of 2W. I intend to do more research to find out if there isn't a way to underclock the FSB or something to get something lower than the 800MHz minimum mode that Linux reports.
That said, I found a substantial power savings:
iwconfig wlan0 power on
That turns on power management for the wlan0 driver. It basically saves 150-200mA in the idle condition! That's incredible! About 15% of my laptop's power profile going just towards not using power management! What a great feature that was!
So now it drawns about 0.95A most of the time while it is idle, which is substantially better. It still gets relatively hot (on the inside), at up to 47C active (i.e., prolonged skype video call) but typically around 40C. But on the outside, it is not really any hotter than the iBook, it is just running the fan more often.
Oh and I haven't run the battery all the way down yet but it seems plausible (assuming the battery monitor is any good) that this thing will now get 4-5 hours in Linux, which is as good as reviewers reported for Windows, so I am pleased. We'll see how long the battery survives, but for the moment it is such a dramatic improvement over anything my iBook has been capable of for years that it is a delight. It may be worthwhile to just accept a $100/year laptop battery tax, if I don't destroy this laptop in some other way first.
And _nothing_ stresses out this thing's CPU! I remember my Athlon XP 2500 (1.83GHz) would use more than 100% CPU (i.e., it fell progressively behind) encoding NTSC video with mencoder. This thing, I use its builtin webcam and I am able to encode at only about 20% CPU usage, even in the 800MHz mode!
I've been thinking about what made the iBook special that is lacking in the current laptop, and I have come up with a list:
In other news, I have been playing with Intel SpeedStep. On the Core 2 Duo it seems to be that the MSR has the following bits:
These values are set through MSR 0x199:
wrmsr -p0 0x199 0x100008608 wrmsr -p1 0x199 0x100008608
You can read the current status with:
rdmsr -p0 0x198
Note that you must use something like "cpufreq-set -f 800000" to turn off any dynamic CPU frequency governors or the kernel will override your settings.
I built up a little table by setting the MSR and then running a stupid little benchmark to verify it took effect. I also monitored (in a haphazard fashion, I suppose) the battery draw (current) meter on my laptop and recorded the minimum and maximum that I observed. ACPI provides a way for the BIOS to tell the kernel known-good values for the MSR, which i have labelled as "stock" in this table.
|MSR 0x199||meaning||time (est speed)||current||stock?|
|0x100008608||6x100MHz 0.83V||3.558s (600MHz)||1.05-1.09A||no|
|0x10000860b||6x100MHz 0.88V||3.558s (600MHz)||0.96-1.11A||no|
|0x10000880d||8x100MHz 0.91V||2.677s (797MHz)||0.95-1.12A||yes|
|0x100008a0e||10x100MHz 0.92V||2.130s (1002MHz)||1.05-1.18A||no|
|0x10000060f||6x200MHz 0.94V||1.779s (1200MHz)||0.95-1.20A||yes|
|0x100004617||6.5x200MHz 1.07V||1.642s (1300MHz)||0.95-1.27A||yes|
As you can see the thing comes with 800MHz, 1200MHz, and 1300MHz by default. I thought it was stupid that it could do 600MHz but the BIOS didn't support it. But now I know it doesn't matter. See, if you let the idle system settle long enough (these tests were mostly not idle) then it will draw as little as 0.95A, regardless of the CPU frequency. In other words, when it is in the HALT state at 1300MHz it is almost as efficient as when it is in the HALT state at 600MHz. Which sounds kind of neat but really it obviates SpeedStep because the converse is true: when it is in a HALT state at 600MHz it is as inefficient as at 1300MHz! Even reducing the CPU voltage doesn't have a significant effect.
So SpeedStep is basically useless, and only controls the maximum amount of performance and power consumption you will experience. If you don't use 1.3 billion cycles of CPU power then it won't draw any extra current no matter what the clock rate.
Verdict: it's not worth hacking the 600MHz mode into the driver.
This is a real disappointment because I had an Athlon XP 2500 desktop processor that did much better. At 1.83GHz, it was hot and drew so much current that it melted its power supply capacitors on the motherboard. Once the capacitors failed to a certain point, it would crash all the time so I was able to reduce it to ~500MHz and achieve a substantial savings. The thing ran cool, the power supply was not stressed, etc. My only consolation is that the Core 2 Duo probably draws less at peak utilization than the Athlon drew ever, but that's just a generation difference. These days, we ought to be able to do better. We ought to be able to set the CPU into an idle mode where it draws almost no current. As near as I can tell the CPU is the major consumer in this laptop, as it draws around 800mA in its most idle state with just the CPU, RAM, and display operating.
As an inspiration of what is possible, there is the Nokia n800. It operates around 300MHz peak and scales down to about 150MHz when it is not in use. Its CPU remains active at all times, even when it is "off". Which is pretty awesome because you can SSH into it or run monitoring tasks or whatever, even if it appears off. It gets about 4 days of idle battery life, but if you ask the CPU to perform then it can chew through the whole battery in a couple hours. This is more like what I would expect to see out of a decent mobile processor. The idle power consumption should be approximately zero, giving you a full day or so of battery life in general. Then if you run video games or whatever then it should burn up the battery.
I have had this laptop long enough that I can tell you a pretty definitive verdict about its quality.
The last PC laptop I had was an Averatec (uh, basically the same level of quality you would expect from Acer). It would constantly overheat to the point of crashing. It overheated to such an extent that it physically cooked its battery (Lithium is a very good battery technology, but heat is its achilles heel), so it would only get 20 minutes of battery life after only 18 months of usage. I had to patch the buggy BIOS (ACPI) to make it run the fan more, but it still overheated. It was loud. It would never do suspend successfully and its wireless was flakey until the day it died. Insult on top of injury: it was physically falling apart. I eagerly traded it to a friend for a Sawzall after only 18 months of ownership (my iBook lasted 5 years!) and he told me that it died completely a couple months after that.
So when I decided I could not stomach buying another Apple product, my fear was that buying another PC laptop would put me in the same position of having a really crappy laptop that I would hate for all the same reasons.
So by comparison, this laptop is pretty good. It has really only two flaws which keep pissing me off. One is that it overheats. The other is that it intermittently refuses to acknowledge that there is a device attached to the headphone jack. Which seems like small potatos but suggests a level of debugging was not applied to the analog circuits in the laptop. They probably had outstanding bugs and said "oh, fuck it, let's just ship this shit." Which Apple mostly doesn't do, or at least tries harder to hide.
But the overheating deserves some comments. It runs about 42C ideally, but like the Averatec the ACPI BIOS is not designed to keep it at 42C, and in fact doesn't seem to turn the fan to full strength until the laptop is over 50C. Or something. Anyways, at 50C parts of the laptop are uncomfortable to touch. Also at 50C the 802.11 becomes flakey. Basically, it throttles down to ~100kB/s max bandwidth. It still works, but it's frustratingly insufficient for regular loads. If you continue to utilize the laptop, it will happily get all the way up to 60C.
The real bonus of this laptop is that at 60C it still doesn't crash. The 802.11 chipset failure is in fact the only conspicious failure. And as an added bonus, the physical design of the laptop doesn't tend to heat the battery. I don't know exactly why but the battery is typically still cool to the touch even as the laptop's internals are burning up. So they mitigated all of the damage from overheating.
But it does still overheat. I will be glad to be rid of it. But it isn't physically falling apart. It doesn't crash (ever -- it is as stable as the iBook was), and its battery still works pretty well. So I'll probably have it for a good long time.
C'est la vie.
I should have bought a high-end netbook instead of a low-end laptop.
I have had the laptop for nearly a year now, and I feel pretty good about it actually. Its overheating is pretty obnoxious, and I wish its idle consumption was much better.
But a key test of the overheating is the battery. At one year old, heavy use, it is still more than 3 hours in practice. Which is fine, hardly significantly diminished after a year. So even though it runs hot, it doesn't put this heat into the battery or it surely would be toast already.
The other test of overheating is crashing. And it is still rock-solid. It only crashes if I let the battery run down to 0. It has been 95 days since the last time that happened.
Also, I've gotten used to the speed. This laptop is, I'm pretty sure, the fastest computer I use on a regular basis.
So yeah...it's always warm and often hot. I once let it get up to 65C (149F) internally with my leg in front of its fan port, and the little blast of air coming out of the port became searingly hot, so I noticed and moved my leg. And the laptop didn't crash. *shrug*
I feel like I did the world a disservice with my previous post. I forgot to mention the one serious downside to this laptop, and it's a fuckin' doosey.
The keyboard sucks. If you push the key hard enough to "click" then it is only typically 90% as hard as is necessary to generate a software button press event. At one year out, some keys are substantially more difficult to press than others.
They've been failing from numerous causes. Somehow they concentrate cat hair at a certain point, which my iBook did not (even though they're very similar designs). And the tiniest bit of dust will cause them to make a crunching sound instead of a clicking sound, and no button press events whatsoever. So I am constantly prying the caps off to clean under them. The little plastic teeter-totters under the keys are very flimsy, and when they scaled the design down to make the arrow keys they simply shrank the plastic to fit the space rather than paying attention to basic engineering principles regarding the strength of plastic. The result is that one of the plastic teeter-totters split into 3 pieces with no effort whatsoever, so now I'm short a right arrow key.
To make matters worse, Lenovo parts are not super-widely available, and the keyboard is not easy to replace _at_all_. Both of these are surmountable problems but if the laptop lasts 5 years I don't want to go through this hassle 4 fucking times.
A keyboard is unfortunately a rather crucial component to a laptop. I can't believe Lenovo can't make one, they fucking suck.
From today's slashdot:
Computer manufacturer Lenovo has partnered with Swedish startup Tobii Technology to launch the world's first eye controlled laptop which will be on display as from today at CeBIT in Hannover.
They obviously figured out their keyboards suck but instead of fixing the problem they went nuclear on it.
I want to be absolutely explicit about this: Lenovo sucks.
I happened to see that Lenovo is releasing new products (imagine that), and the thought of anyone paying name-brand prices for Acer-quality garbage pissed me off so much I had to say this.
My biggest regret about my shitty laptop is that it cost me $800 so I don't want to think of it as disposable. If I'd bought the $300 Acer or Dell that I was originally looking at, I wouldn't be having this problem now, nearly 1.5 years later.
But I can say one good thing about my laptop. It gets real hot (hotter now than ever, especially since it's summer), but it doesn't dump the heat load directly onto the battery. As a result, the battery is still totally decent. Probably better even than the iBook's was after a year, which is really saying something. That is to say, I get a real 3-4 hours of use unplugged, with the stock battery. Considering that I drain it almost all the way about once a day on average, that's pretty fantastic!
The laptop has been falling apart for a while now. The plastic parts at the corners of the laptop picked up some damage and then started to separate. I figured that is just what happens to crappy plastic laptops. I mean, even my iBook's fancy acrylic shell eventually developed cracking at the corners (though never movement like this).
Today I diagnosed the problem. The screws were working themselves out on their own. On the one hand, that is pathetic. I've never had that happen on any consumer device before. On the other hand, yay. I repaired it.
Oh and -- it still overheats. It's so bad that sometimes it is physically painful to allow it to touch my leg.
I happened to see the Lenovo product page for the U150 today. It shows a photo of the thing with no battery in it, which makes it look very slick indeed. The irony -- I had just gotten through telling my friend that a laptop with a 10GHz processor and no battery capacity executes 0 instructions per second.
But I pondered, perhaps they have made a thin battery for it as a luxury add-on. So I clicked on the "shop for accessories" link that had a photo of a battery over it. The link failed to communicate to the shopping website that I was looking for U150 parts, so it showed me parts for all their other laptops. I told it to narrow it down by model number. The model number on this laptop is 6909. Alternatively it might be "QB09110415" (that is the number beside "MO:" on the sticker, not the one beside "S/N:", though it sure looks like a serial number to me).
The Lenovo website is very insistent that every Lenovo product has a 7-digit model number. It doesn't acknowledge the numbers I have tried. It doesn't have any ability to search for the model number based on the name of the laptop, or any other characteristics about it. It wants me to find my PC using their "find my PC" crap, which asks me generic questions about my desires and then tells me what Lenovo product to buy. Apparently since I'm a past customer and not a current or future customer (and probably never will be, after this experience), they hate me.
So I surveyed the web. It is well-known that the model number of the Lenovo Ideapad U-150 is model number 6909. Lenovo's website is the only resource that insists every Lenovo product has a 7-digit product number.
I call the question: Are Lenovo model numbers all 7-digit?
Lenovo: You've been out-voted.
Also, Lenovo: you suck.
This is an example of something PC manufacturers are very good at. I didn't even know I wanted a skinnier battery. Through lies and misrepresentations and untruths, they convinced me that such a thing existed (and therefore that I wanted it). Then through incompetence and bad design and idiocy, they convinced me that I can't have it (at least not from them). Now I'm mad at them for failing to give me something I didn't even know I wanted.
I bought Sarah an Acer Aspire One 11.6" with an AMD C-60, 4GB of RAM (!!), 250GB HDD. In other words, amazingly similar to my $800 mini-notebook, but branded as a mega-netbook and selling for $299.99 at Target. So far I am impressed that her Acer has better battery life, weighs less, has a thinner battery, and never gets blistering hot. And my Lenovo's CPU is only 75% faster by PassMark.
Of course, it's Acer, so it might fall apart tomorrow or something. We'll see.
Anyways, the Lenovo still works, even though summer time makes its overheating all the more aggravating. I am reminded, for example, that the wi-fi chipset turns into pudding when it's hot.
So I bought it a new keyboard. It's a hard laptop to buy a keyboard for. The foreigners I bought it from said it got lost in shipping, and then sent another. And the keyboard they sent has a different ribbon cable on it, but it fit the connector so I just plugged it in and shoved the keyboard in, letting the ribbon cable origami haphazardly.
God knows how it will last, and how it will accumulate cat hair, but right now I can tell you, it feels a lot more IBMy than the crap keyboard Lenovo gave me.
But now there are 3 pieces of plastic that are broken on my laptop. One is a battery tab, and two are in the corner of my laptop that must be disassembled to get at the keyboard. The thing is, that corner of the laptop was falling apart long before I decided to buy another keyboard. So I count all 3 of these as not-my-fault they broke. At any rate, I certainly didn't break the battery tab -- it's not like I swap the battery out every day. Anyways, now my laptop has a bunch of hot melt glue in it.
On the other hand, its original battery still lasts a couple hours after more than 2 years.
The U150 appears set to last another two years. *sigh* The battery life is still over 3 hours! The CPU fan makes more noise and is less effective, but still goes. The after-market keyboard is collecting cat hair something awful. The left trackpad button is notably reluctant. And if you drop it (my infant son drops it a *lot*), its battery-holding-tabs are so degraded that it will power itself off even though the battery is held in by hot melt glue.
The screen got stepped on, so I bought another. It must use the most common LCD panel on the planet, as it was only $70. It's got some cosmetic defects now that I took it apart, but it survived alright otherwise.
I think I'll buy the ARM Chromebook next, but maybe I'll wait for version 2.0...
In other news, I'm glad I didn't buy an Acer. Sarah's Acer ate its HDD after just a few months of usage, and very little abuse. That's a common problem, apparently. I don't know if Acer used Western Digital's QC rejects, or if the laptop somehow focuses heat on the HDD or what. I replaced it with a flash SSD, which appears to have been the right choice. But apparently it locks up at random sometimes. And more infuriatingly, it makes a loud beep every time the power cable is connected or disconnected, and apparently that is done on a hardware level that is uncorrectable! Very Acer-esque. I was going to say, very Korean (in honor of a Samsung phone that did the same), but Acer claims to be Taiwanese. *sigh*
I just noticed this page, and remembered the laptop I used to use. For the first time, I have abandoned a laptop before it developed any real troubles. And good riddance!
Nearly a year ago, I got a Samsung ARM Chromebook. It was only $250, an impulse purchase with no clear purpose. I guess I just got excited that maybe a keyboard might not be "mushy". I really don't remember why I bought it -- it doesn't make sense. I've always waited for the old laptop to die before buying the next one. But once I got the Chromebook set up, I unceremoniously discarded the Lenovo and haven't looked back.
So now for its eulogy.
Here are the features the Chromebook has over the Lenovo:
Sole disadvantage of Chromebook: non-working GLES drivers means Stellarium is uncomfortably slow.
I think it's pretty neat that I am satisfied with a downgrade (roughly half the CPU power, half the RAM, almost no storage). All of the improvements are in the tactile experience of it. The computer aspect of it basically disappears, it is just a keyboard and a display.
The Chromebook is super flimsy and sees a lot of abuse, maybe I'll break it and need to take out the Lenovo again as a backup. I sure hope not!
This laptop did finally find its true calling. I needed a computer on the workbench to control my 3D printer. For some reason, the regular PC that sits there was out of commission, so I grabbed the Lenovo off of the discarded-laptop pile and sat it up. It is now always tethered to both power and ethernet. Its keyboard and trackpad are still pretty frustrating, but because of the height of the workbench ergonomic bliss is unachievable there, so no opportunity cost.
As a non-mobile PC, it is just fine. The heat, flakey wifi (when hot), weight, flimsiness, short battery life are all irrelevant in a desktop PC. The fact that it doesn't sit flat on the table is pretty stupid but I barely type on it, and there's always cruft under it on the workbench anyways, so *shrug*.
And on the plus side, lasting 10 years is pretty good. Honestly, I'm surprised the over-active CPU fan has survived all the sawdust and so on of the workbench environment.