NB10 variants

This is not an exhaustive list, merely some variants I’ve discovered while google’ing about the NB10.

I’m still not sure what the NB15 is exactly – it’s possibly just the exact same hardware as the NB10 but sold in different markets.

Model number Part number CPU RAM Disk Bundled OS Colour Notes
NB10-A-10N PU141E-01M023CE Celeron N2820 (dual-core 2.13-2.39GHz) 2GB 500GB HDD MS Win8 64-bit Silver metallic No touchscreen?
NB10t-A-10P PU143E-00701MEN Pentium N3510 (quad-core 2GHz) 4GB 500GB HDD MS Win8 64-bit Black No touchscreen?
NB10t-A-101 PU141E-00E00GEN Celeron N2810 (dual-core 2GHz) 4GB 500GB HDD MS Win8 64-bit Silver metallic UK/IE market?
NB10t-A-102 PU141E-00C00GEN Pentium N3510 (quad-core 2GHz) 4GB 500GB HDD MS Win8 64-bit Silver metallic UK/IE market?
NB10-A-104 PU141E-00C00GEN Celeron N2810 (dual-core 2GHz) 2GB 500GB HDD MS Win8 64-bit Silver metallic EU market?
NB10-A-105 PU143E-005019EP Celeron N2810 (dual-core 2GHz) 4GB 500GB HDD MS Win8 64-bit Black No touchscreen?
NB10-A-106 PU143E-008016EN Celeron N2810 (dual-core 2GHz) 4GB 500GB HDD MS Win8 64-bit Black
NB10-A-10U PU141E-01H028S4 Celeron N3520 (quad-core 2.42GHz) 4GB 500GB HDD MS Win8 64-bit Silver metallic No touchscreen, Swiss market, QWERTZ keyboard
NB10t-A-10H PU143E-00P01YFR Celeron N2820 (dual-core) 4GB 500GB HDD MS Win8 64-bit Black With touchscreen, French market

It looks like the “t” suffix in model number may indicate touch-screen, and a model without the “t” doesn’t have the touch-screen enabled.

It appears that model numbers continue upwards from 106, indicating various different languages offered – PT, FR, DE/AT at least – but all variations on the same theme:

Windows 8, N2810/20 or N3510/20, Black or Silver, and perhaps there are some 2GB models.

There appear to be some variants shipping now with newer CPUs. The “original” (mid-2013) NB10 lineup featured the N2810 and N3510 CPUs. Newer models feature the slightly faster N2820 and N3520 which replaced them.

Please do comment if you have any better information, and I will update this post.

Advertisements

Please talk to me

It looks like quite a few people are reading the site every day.

 

If you’re using an NB10 with Linux, please would you leave a comment about which distribution you’re running, how the install went, any problems you’ve had, etc?

Preventing the NB10 from suspending & resuming when the lid is opened and closed.

I’m not keen on having the system power state controlled by the lid for a few reasons:

  • I often wish to use it on AC power with the lid closed and a USB keyboard connected. This is fine with the default settings but also….
  • I don’t like having the controls act differently depending on the power state – particularly, if the mains goes away, I don’t want the system to act differently to how I expect (eg unexpectedly go to sleep during a power cut).
  • The lid sensor is a magnet, which means that a magnetic field or magnetized object nearby might wake the laptop while I am transporting it, resulting in possible heat damage and unexpected flat battery.
  • The same might happen if the laptop is jostled, for example by a bumpy journey.

Completely disabling this behaviour requires a few steps.

First of all, we need to disable “sleep on lid close”:

  • With systemd in control (the “modern” way) – edit /etc/systemd/logind.conf and set all the relevant ‘handle’ lines to ‘ignore’.
  • With acpid (the “legacy” way) – edit the relevant file in /etc/acpi/actions.
  • If you’re using a desktop environment like GNOME, use its tools (if any) to disable sleep on lid close.

The next part is to disable “wake on lid open”. There’s no pretty GUI tool for this:

  • echo ” LID” > /proc/acpi/wakeup  (note the space between the first ” and the word LID)
  • Test.
  • Once you’re happy that it works, add that line to /etc/rc.local.

SATA link power management – large power savings

The powertop utility suggests “SATA link power management” be enabled.

Enabling this, which can be done manually with: 

echo 'min_power'> /sys/class/scsi_host/host0/link_power_management_policy

saves a shocking 900mW, almost 20% of system power consumption at idle, on my NB10 with Crucial M500 SSD. This extends the runtime of the idle system on battery power by a full hour, from 4h30 to 5h30.

The ‘medium_power’ setting saves approximately 250mW over the default ‘max_performance’ setting and has no noticeable performance impact.

Disk performance is affected if ‘min_power’ is used. Sustained transfers do not drop much – for example (measured with ‘hdparm -Tt /dev/sda’) the drop is under 10% – from 1500MB/sec reads to 1400.

I tested a small data transfer on a completely idle system with:

sync ; echo 3 > /proc/sys/vm/drop_caches ; sleep 5 ;\
time dd if=/dev/zero of=/tmp/emptyfile bs=1024k count=1 ;\
rm emptyfile

The “min_power” setting increases the time it takes complete this 1Mbyte disk write from from 20ms to 120ms – quite dramatic.

The performance loss comes from the time taken to wake the SATA electronics up. Once awake, it’s little slower (if at all), until it goes back to sleep again. A sustained transfer (for example substituting “1000” for “1” in the “count” of the dd command above) sees little difference in performance.

The best option is likely to be, using min_power when on battery, and max_performance when on mains power. The pm-utils package can manage this for you.

There is a possibility of drive corruption and data loss with use of medium_power and min_power settings – although in the great majority of cases, no problems will be seen. I’ve used my NB10+M500 combination intensively with ‘min_power’ enabled and am reasonably happy that it is safe.

NB10 power consumption – N2810 and N3510 (dual/quad core) comparison

I had the opportunity to compare the same build of Debian Linux running on two different NB10s. Both were otherwise identical (same RAM, disk, installation). The quad-core (N3510) unit arrived with BIOS 1.00, so it was possible to gather statistics on this unit with both the original BIOS, and the latest version at time of testing (1.20).

The full table of results is available in a Google Docs spreadsheet.

Summary of results:

  • The quad-core unit uses no extra power at idle.
  • BIOS version 1.20 uses approximately 200mW less power than BIOS version 1.00 in all states.
  • With two CPU cores fully utilised and two idle, the dual- and quad- core units’ power consumption is almost identical.
  • With a greater CPU load, the quad-core unit can use more power than the dual-core.

This in itself does not mean that, for a given use case, that the quad-core unit will have a shorter battery life. More CPU power can allow a given operation to complete, and the system (CPUs and disks) to return to idle state, more quickly.

  • The difference between minimum and maximum screen brightness is 1.4W.
  • These results are with all powertop suggestions enabled. These in total save about a watt – highly significant on a 5W computer.

NB10 bluetooth

The NB10 ships with an Atheros QCA9565/AR9565 mini-pcie card, which is a combined wireless ethernet and bluetooth device.

The ar9565 (wlan) part works out-of-the-box.

In Debian jessie, the qca9565 (bluetooth) controller requires that the “firmware-atheros” package be installed. Before this is done, an error like this will be seen from the kernel on boot:

usb x-y: firmware: failed to load ar3k/AthrBT_0x31910000.dfu (-2)
usb x-y: firmware: Direct firmware failed to load with error -2

and “hcitool dev” will show no devices. In this state the bluetooth icon (from the bluetooth-applet program) will not appear on the desktop and the system will appear to not have bluetooth connectivity.

So long as the “bluetooth” and “bluetooth-gnome” packages are installed, this is all you need; the blueooth icon will then appear in the GNOME notification area and bluetooth apps & devices will be available as normal. If you don’t use Blueooth it should probably be disabled for security reasons.

This device is relatively new and kernel support for it is quite modern. Older distributions/kernels may have more trouble. This works for me using 3.14rc7.

Powertop’s power consumption measurement is only a rough measure, but it suggests there’s no impact on power consumption from loading the bluetooth driver. There will obviously be some impact if bluetooth connectivity is used.

NB10 CPU thermal throttling – unanswered questions

Like the popular Macbook Air and many other laptops, the NB10 is not able to run the CPUs and GPUs indefinitely at maximum effort, due to overheating. Unlike the Macbook Air, the NB10 is fanless.

The NB10 CPUs and GPUs will throttle as the system temperature rises, reducing both performance and heat output. The notebookcheck.net review notes that under a stress test, the dual-core N2810 variants will throttle down from 2GHz to 1.6GHz and the GPU down from 756MHz to 711MHz.

The same article notes that the CPU cores’ maximum temperature is 69C.

Under Linux, this throttling appears to be happening automatically (and without any effect on usability & perceived performance that I have been able to observe). When the CPU throttles, and then unthrottes, Machine Check Exception (MCE) lines are generated in the kernel ring buffer (“dmesg”) and further details are logged which can be collected and examined with the “mcelog” tool.

The throttling events look like this in the syslog:

Mar 30 08:12:14 hostname kernel: [78131.019009] CPU0: Core temperature/speed normal
Mar 30 08:12:14 hostname kernel: [78131.019019] CPU1: Core temperature/speed normal
Mar 30 08:12:35 hostname kernel: [78151.388917] mce: [Hardware Error]: Machine check events logged
Mar 30 08:23:17 hostname mcelog: Processor 1 heated above trip temperature. Throttling enabled.
Mar 30 08:23:17 hostname mcelog: Please check your system cooling. Performance will be impacted
Mar 30 08:23:17 hostname mcelog: Processor 0 heated above trip temperature. Throttling enabled.
Mar 30 08:23:17 hostname mcelog: Please check your system cooling. Performance will be impacted
Mar 30 08:23:17 hostname mcelog: Processor 1 below trip temperature. Throttling disabled
Mar 30 08:23:17 hostname mcelog: Processor 0 below trip temperature. Throttling disabled

And in the mcelog output:

mcelog: failed to prefill DIMM database from DMI data
mcelog: Unsupported new Family 6 Model 37 CPU: only decoding architectural errors
Hardware event. This is not a software error.
MCE 0
CPU 1 THERMAL EVENT TSC 4fe066a71219
TIME 1396163533 Sun Mar 30 08:12:13 2014
Processor 1 heated above trip temperature. Throttling enabled.
Please check your system cooling. Performance will be impacted
STATUS 8832000f MCGSTATUS 0
MCGCAP 806 APICID 2 SOCKETID 0
CPUID Vendor Intel Family 6 Model 55
mcelog: Unsupported new Family 6 Model 37 CPU: only decoding architectural errors
Hardware event. This is not a software error.
MCE 1
CPU 0 THERMAL EVENT TSC 4fe066a7467b
TIME 1396163533 Sun Mar 30 08:12:13 2014
Processor 0 heated above trip temperature. Throttling enabled.
Please check your system cooling. Performance will be impacted
STATUS 8833000f MCGSTATUS 0
MCGCAP 806 APICID 0 SOCKETID 0
CPUID Vendor Intel Family 6 Model 55

And the unthrottling:

mcelog: failed to prefill DIMM database from DMI data
mcelog: Unsupported new Family 6 Model 37 CPU: only decoding architectural errors
Hardware event. This is not a software error.
MCE 0
CPU 1 THERMAL EVENT TSC 4fe066a71219
TIME 1396163533 Sun Mar 30 08:12:13 2014
Processor 1 heated above trip temperature. Throttling enabled.
Please check your system cooling. Performance will be impacted
STATUS 8832000f MCGSTATUS 0
MCGCAP 806 APICID 2 SOCKETID 0
CPUID Vendor Intel Family 6 Model 55
mcelog: Unsupported new Family 6 Model 37 CPU: only decoding architectural errors
Hardware event. This is not a software error.
MCE 1
CPU 0 THERMAL EVENT TSC 4fe066a7467b
TIME 1396163533 Sun Mar 30 08:12:13 2014
Processor 0 heated above trip temperature. Throttling enabled.
Please check your system cooling. Performance will be impacted
STATUS 8833000f MCGSTATUS 0
MCGCAP 806 APICID 0 SOCKETID 0
CPUID Vendor Intel Family 6 Model 55

I’ve not been able to reliably generate these errors – I’ve seen only a handful. Running typical load-testing tools such as “stress” is not reliably generating these errors.

The “sensors” command output may not be giving accurate data; certainly the 100C thresholds it’s reporting do not appear to be accurate. After running ‘stress’ cpu hogs for 20 minutes, I see no mce log events, the bottom of the case remains cool to the touch, and ‘sensors’ reports:

acpitz-virtual-0
Adapter: Virtual device
temp1:        +29.0°C  (crit = +98.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +39.0°C  (high = +100.0°C, crit = +100.0°C)
Core 1:       +39.0°C  (high = +100.0°C, crit = +100.0°C)

There seems to be little to no impact on interactive usage of the machine from this occasional throttling. What I’m curious about is:

  • What is the actual maximum temperature of the CPU?
  • Is “sensors” truly displaying the current temperature?
  • Is the throttling configurable in any way?