NB10 RAM upgrade to 8GB

Although Toshiba mention 8GB models of the NB10 in some marketing material, there don’t seem to be any readily-available 8GB examples in the UK.

I’ve confirmed this evening that the NB10 can be upgraded from the standard 4GB to 8GB by replacing the single 4GB SODIMM under the hatch on the underside with an 8GB one.

Toshiba have an excellent clear video about the procedure at https://www.youtube.com/watch?v=ZPbCqMZpydw – it’s very simple. Note that (as with disk replacement), the system is not truly powered down unless the battery is removed, and this must be done before the RAM is removed.

No adjustments to the BIOS are necessary and there are no errors – the system just boots up as normal.

The system ships with a 4GB DDR3L-1600 (PC12800) SODIMM. I replaced this with an 8GB unit (it’s a straight swap with my 2012 Mac Mini).

Interestingly, dmidecode on the Toshiba reports it as 1066MHz unit – although it is definitely a 1600MHz unit and is labelled as such and works at 1600MHz in my Mac. I’m not sure why this happens.

8GB is the maximum RAM supported by the Intel Bay Trail-M platform upon which the NB10 is based.

Update 20160905:

A reader reported trouble with adding an 8GB DIMM. Here are some photos of my setup. I haven’t altered anything about this since March 2014 and (tempting fate here…) have had no trouble.

 

 

Toshiba NB10 – booting Linux

The NB10 ships with Windows 8. UEFI Secure Boot is enabled, and there is no support for legacy BIOS (CSM).

As of May 2014, the latest BIOS version appears to support CSM, so BIOS mode booting should be possible. I haven’t tested this. See https://unofficialnb10.wordpress.com/2014/06/01/bios-1-40-release/.

It will only boot a 64-bit OS, so you need an amd64/x86_64 ISO. An i386 one will not boot – and no useful error message is produced when it fails.

The first hurdle to overcome is booting a Linux installer. Accessing the BIOS is done by holding F12 down before pressing the power button, until the BIOS splash screen is displayed.

Once you’ve disabled Secure Boot, you can boot from a USB device holding a Linux installer. Choosing an alternative boot device at boot-time is done by holding down the escape key before pressing the power button similarly to accessing the BIOS. Alternative boot devices (the boot order) can also be configured in the BIOS.

The left-hand USB port does not seem to be reliable for booting. Use one of the ones on the right.

Issues with older kernels and the new Bay Trail-M chip lead to a crash either immediately after loading the kernel, or a couple of seconds after booting. Linux 3.14 appears to have complete (or almost-complete) support for the NB10; unfortunately at the time of writing, every common distribution is shipping an earlier kernel.

The wheezy (Debian stable) installer will boot and run via use of the ‘noapic’ and ‘nolapic’ commandline options to the kernel, but will not successfully bring up the built-in ethernet interface (r8169), nor detect the wireless interface.

The Ubuntu 14.04 (Trusty) installer would boot and run similarly, but I had trouble with it crashing and gave up.

The jessie (Debian testing) installer would boot and run via use of the ‘noapic’ option at the kernel commandline. It could successfully use both network interfaces. I installed this.

The NB10 BIOS in UEFI mode seems to only be able to boot from a file on the EFI partition named boot/bootx64.efi – which is how the Debian and Ubuntu installers ship. If your OS does as Debian, and installs to a different directory or uses a different filename, the BIOS will refuse to boot. It’s simple to move/rename the file on-disk before finalising the installation and rebooting. Alternatively, if you forget, it can be done by booting the installer again in rescue mode.

At the time of writing, it was preferable to replace the installed Debian kernel with the 3.14 from Debian experimental, which will consistently boot the system successfully without the use of any extra commandline options. This can be done from the installer either before rebooting, or in rescue mode if you forget. Things which I have confirmed to work in Debian jessie:

  • USB support.
  • Webcam.
  • Trackpad including multi-touch gestures.
  • Suspend to RAM and resume.
  • Sound input, internal microphone, speakers, and output.
  • Wireless network.
  • Wired networking – but it appears to fail after a resume from suspend.
  • Battery charging.
  • Internal monitor.
  • Touch sensors on internal monitor (unsure if multi-touch is supported).
  • VGA output.
  • Suspend-to-disk (hibernate).
  • SD card reader.
  • Bluetooth.

Confirmed Blueooth working once the firmware for the card is supplied.

Things which do not work:

  • SD card reader (nothing happens when I insert a card).
  • A number of command-line kernel options are necessary to make suspend & resume work.
  • The built-in wired ethernet is broken after a suspend & resume.

The SD card reader is working fine. My test SD card is not.

Updated 20140615 – noted that BIOS/CSM support is now available.

Replacing the hard disk in the Toshiba NB10

I’ve replaced the hard disk that shipped with by NB10 with an SSD.

As well as as being faster, this also makes the machine totally silent in-use, as it’s fanless.

There were a couple of quirks which are worth noting.

1: The Toshiba BIOS would not detect the new disk until it had been completely powered-down, which requires that the battery be removed.

Toshiba do note in their official instructions (at http://aps2.toshiba-tro.de/kb0/CRU3C03K80000R01.htm and http://www.youtube.com/watch?v=NNheio21qR0) that this is necessary – but as the battery must be unscrewed for removal, it’s perhaps not obvious.

2: The boot order doesn’t appear to be respected. I’m not 100% sure what the cause of this is, but although the SSD is set to be the first boot device, the system always starts by trying to read a USB device and then PXE boot, before trying the SSD.

Toshiba NB10 hardware – a Linux perspective

lspci output:

00:00.0 Host bridge: Intel Corporation ValleyView SSA-CUnit (rev 0a)
00:02.0 VGA compatible controller: Intel Corporation ValleyView Gen7 (rev 0a)
00:13.0 SATA controller: Intel Corporation ValleyView 6-Port SATA AHCI Controller (rev 0a)
00:14.0 USB controller: Intel Corporation ValleyView USB xHCI Host Controller (rev 0a)
00:1a.0 Encryption controller: Intel Corporation ValleyView SEC (rev 0a)
00:1b.0 Audio device: Intel Corporation ValleyView High Definition Audio Controller (rev 0a)
00:1c.0 PCI bridge: Intel Corporation ValleyView PCI Express Root Port (rev 0a)
00:1c.1 PCI bridge: Intel Corporation ValleyView PCI Express Root Port (rev 0a)
00:1c.2 PCI bridge: Intel Corporation ValleyView PCI Express Root Port (rev 0a)
00:1f.0 ISA bridge: Intel Corporation ValleyView Power Control Unit (rev 0a)
00:1f.3 SMBus: Intel Corporation ValleyView SMBus Controller (rev 0a)
02:00.0 Network controller: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter (rev 01)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 07)

lsusb output:

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0930:0220 Toshiba Corp. 
Bus 001 Device 003: ID 04ca:7017 Lite-On Technology Corp. 
Bus 001 Device 006: ID 2808:500e  
Bus 001 Device 005: ID 058f:6366 Alcor Micro Corp. Multi Flash Reader
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

cat /proc/cpuinfo output:

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 55
model name  : Intel(R) Celeron(R) CPU  N2810  @ 2.00GHz
stepping    : 3
microcode   : 0x31e
cpu MHz     : 1515.000
cache size  : 1024 KB
physical id : 0
siblings    : 2
core id     : 0
cpu cores   : 2
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 11
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer rdrand lahf_lm 3dnowprefetch arat epb dtherm tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms
bogomips    : 3996.00
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model       : 55
model name  : Intel(R) Celeron(R) CPU  N2810  @ 2.00GHz
stepping    : 3
microcode   : 0x31e
cpu MHz     : 1515.000
cache size  : 1024 KB
physical id : 0
siblings    : 2
core id     : 1
cpu cores   : 2
apicid      : 2
initial apicid  : 2
fpu     : yes
fpu_exception   : yes
cpuid level : 11
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer rdrand lahf_lm 3dnowprefetch arat epb dtherm tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms
bogomips    : 3996.00
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

The supplied disk with mine was a Toshiba MQ01ABF050 which is a 500GB 2.5″ 5400rpm 7mm SATA disk with 8455MB cache/SSD. The cache is transparent to the operating system – it appears as an ordinary 500GB disk, it’s just a little faster than a cheaper one without the cache.