14

This question has NOT been answered by the following due to them saying to permanently disabling these features

How can I get Ubuntu to boot with UEFI and Intel Smart Response Technology (SRT) enabled? Do I have to install Ubuntu with them turned on? if so how? or can I enable these features after I've installed Ubuntu and still have them function?

I'm not concerned with keeping windows and am wanting a linux only machine, so I do not have the dual-boot issues that complicate matters. I would like the benefits of SSD caching to apply to the entire file system and not just the OS portions or I would just disable SRT and install linux on to the SSD.

A bit of searching around the net reveals plenty of articles like Installing Ubuntu Alongside a Pre-Installed Windows with UEFI that tell how to disable these features. That is not what I want. I've also found info that suggests that Intel supports mdadm and not dmraid, but I don't know if that means I can install in AHCI mode and switch after the install, or if I need to prepare a custom installer somehow. Or for that matter if that even applies to SRT, as intel have too many similar acronyms that are closely related.

Symptoms

I've tried the 12.04.2 LTS and I'm currently trying to use 13.04 ubuntu-13.04-desktop-amd64.iso
MD5 : 8d72e2db7e72e13813731eab37a14d26

The messages I receive and options I choose are:

Secure boot not enabled
Try Ubuntu without Installing
error: failure reading sector 0x60100 from 'cd0'
error: you need to load the kernel first.

Press any key to continue...

Then it goes back to the screen where I can select "Try Ubuntu without installing".

This behavior is the same with 12.04.2 LTS and 13.04 LiveCD. Though sometimes the sector it cannot read is 0x0. This same DVD boots fine in UEFI + AHCI or Legacy BIOS modes.

Hardware Info

I have the Dell Inspiron 15R special edition dw510268au with a 32GB mSATA cache and 1TB 5400rpm hdd.

While in Legacy BIOS mode the output of

sudo hwinfo --storage
29: PCI 1f.2: 0104 RAID bus controller
  [Created at pci.318]
  Unique ID: w7Y8.SQqymDbIGqA
  SysFS ID: /devices/pci0000:00/0000:00:1f.2
  SysFS BusID: 0000:00:1f.2
  Hardware Class: storage
  Model: "Intel Mobile 82801 SATA RAID Controller"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x282a "Mobile 82801 SATA RAID Controller"
  SubVendor: pci 0x1028 "Dell"
  SubDevice: pci 0x0572 
  Revision: 0x04
  Driver: "ahci"
  Driver Modules: "ahci"
  I/O Ports: 0x4088-0x408f (rw)
  I/O Ports: 0x4094-0x4097 (rw)
  I/O Ports: 0x4080-0x4087 (rw)
  I/O Ports: 0x4090-0x4093 (rw)
  I/O Ports: 0x4060-0x407f (rw)
  Memory Range: 0xc1617000-0xc16177ff (rw,non-prefetchable)
  IRQ: 42 (22089 events)
  Module Alias: "pci:v00008086d0000282Asv00001028sd00000572bc01sc04i00"
  Driver Info #0:
    Driver Status: ahci is active
    Driver Activation Cmd: "modprobe ahci"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
BeowulfNode42
  • 580
  • 2
  • 6
  • 15
  • What about using the whole 32GB SSD as the swap partition? wouldn't it enchance the memory access speed?. – jgomo3 Feb 02 '14 at 21:21
  • 1
    that would only help on a system that used a reasonable amount of swap, and even then, would only speed things up once things had been read off the hdd and then pushed out to virtual memory. – BeowulfNode42 Feb 02 '14 at 22:13

3 Answers3

6

I'm a little late to the party, but I thought my experience might be useful.

I have a Dell Precision M4800 which came with a 32GB mSATA SSD originally and now has a 256GB mSATA SSD. I have my full sized Samsung 830 Pro 256GB in the 2.5" bay and a 1TB disk in the optical bay via an adapter. All are SATA 6G. I originally installed Win8 and Debian on the 2.5" SATA SSD, and used the complete 32GB mSATA to cache the 1TB HDD, since it is fairly slow and I keep a lot of VMware VMs there. SRT worked in both Linux and Windows since it's a hardware/firmware operation, I verified that the 1TB disk was accelerated even while I was in Linux. The 32GB SSD just disappeared entirely when SRT was enabled. Very nicely done, Intel.

Recently I switched out the 32GB for a 256GB. It was very simple and painless. I booted Windows, disabled Smart Response, let it settle, then shut down and made the physical switch. After booting Windows again, I enabled SRT again, and let it use the maximum 64GB. I told SRT to let the other 192GB be available for use, planning to move my Debian install there, and expand the Windows partition, giving everything more room.

After SRT populated the cache and I'd rebooted once or twice, I booted my Debian install. The 1TB disk is even faster than before, it's great having a big SSD cache for my bulk data disk, as it's 5400rpm and quite sluggish otherwise. I fired up gparted to partition the leftover mSATA SSD and problems began. It seems that gparted can see the entire disk area, including the cache, so it noted some "problems" with my GPT layout and offered to fix them for me. I let it, then realized what had happened and rebooted to Windows. SRT offline! SSD cache broken! D'oh!

Booted Debian, fully zero'ed the SSD, booted Windows, set up SRT over again (thinking that the GPT 'errors' were a stale GPT from before enabling SRT). Same results, gparted thinks my SSD is mispartitioned. I'm now going to make a partition in the unused space while in Windows and see if I can just edit/replace that without breaking SRT.

All this aside, OP is single-booting, so using a more Linux-specific solution is probably a good idea. You can put your base install on the SSD with home directories and bulky data on the HDD, and that should give you a good balance of speed and simplicity.

Forge
  • 79
  • 1
    Thanks for the info. Can you expand on your statement "I originally installed Win8 and Debian" how? what bios options what sequence? and "SRT worked in both Linux and Windows ... I verified that the 1TB disk was accelerated even while I was in Linux." how did you verify this? Please update your answer with this info. Also can you add the output of the linux command lspci -v from the system with SRT enabled, I suspect you have a higher end laptop, possibly with a real hardware raid card, unlike my cheaper laptop. – BeowulfNode42 May 03 '14 at 00:42
  • Sure thing. Initially I installed to my primary SSD (SRT not enabled, SATA controller in RAID mode), first I installed Win8, then installed Debian latest, in UEFI mode (don't think this is relevant, though). Using rEFInd to manage bootloaders, but GRUB works fine as well.

    After installing, I added my 1TB 5400rpm disk in the optical bay, via an adapter. This is seen as /dev/sdb. I then installed a 32GB mSATA SSD into my mSATA slot, booted Win8, and used the Intel software to enable SRT mode. I allowed it to use the entire SSD for caching.

    – Forge May 08 '14 at 21:30
  • Rebooted to Debian and saw transfer rates to the 1TB disk that are higher than it manages alone (initial transfers of >200MB/s). Mine is configured in Maximized mode, so the cached read/writes are at the full SSD speed. In Enhanced mode, the effect is much more subtle. I just switched my 32GB SSD out for a 256GB mSATA SSD, have re-enabled SRT, and while the disk is being cached correctly, gparted keeps blowing away the Intel SRT caches when I try to partition the remaining space. – Forge May 08 '14 at 21:34
  • I'll get it running normally and post the lscpi info you asked for, via pastebin or something similar. It's a high end Precision, true, but it's not using a hardware RAID controller, just the Intel stuff. – Forge May 08 '14 at 21:36
  • 2
    Well, I have to eat my hat. Apparently I had confirmation bias, believing that Intel SRT was working made the HDD seem faster. After actually testing in an impartial way, it looks like Intel SRT was actually only functioning under Windows. – Forge May 19 '14 at 15:38
  • hdparm results from my main SSD (sda), internal HDD (sdb) and caching SSD (sdc) below: /dev/sda: Timing buffered disk reads: 1484 MB in 3.00 seconds = 494.52 MB/sec/dev/sdb: Timing buffered disk reads: 270 MB in 3.01 seconds = 89.70 MB/sec

    /dev/sdc: Timing buffered disk reads: 1426 MB in 3.00 seconds = 474.78 MB/sec

    – Forge May 19 '14 at 15:39
  • @Forge +1 for recognizing and confirming that you were initially wrong. FWIW, I use my 223 GB SSD that way: I run a dual boot with 64 GB SRT-cache in windows, another 64 GB bcache in linux and the small reminder of 95 GB as a normal filesystem. I get the fast boot and startup times in both OSes, but in need to make sure to have neither gparted nor fdisk touch my SSD, because ISRT does strage things to the gpt. – Gunther Piez Sep 01 '16 at 09:35
4

Whats your goal in having SRT activated?

SSD caching causes trouble in dual boot environments or will just not work as expected. If you just run Linux, then install the OS on the SSD and setup /home to use the HDD. In any case disable SRT.

Note about RAID: Don't use Hardware/Fake-RAID, see Kernel.org Wiki on RAID.


It looks like there is no solution available that simply enables Intel's SSD caching solution (SRT) on Linux, which is consistent with the advice to not use Fake-RAID BIOS implementations (read the points made against Fake-RAID in the Wiki). If you want SSD caching on Linux, you should use software solutions like flashcache.

However there is support for Intel Matrix Storage Manager in mdadm (see manpages for mdadm, dmraid and md) and someone blogged about fiddling with RST.

LiveWireBT
  • 28,763
  • 3
    Installing the whole OS to the SSD is unacceptable as that leaves considerable data on the SSD that is rarely accessed. Possibly /boot is OK, but the rest needs to be for cache of the mechanical drive via the intel smart repsponse technology, and not via a swap partition on the SSD either. – BeowulfNode42 Jun 17 '13 at 12:16
  • It seems like there is no solution available to use Intel's Smart Response Technology with Linux. So if you want to use SSD caching you have to either use a software implementation for Linux like flashcache or write your own implementation that enables SRT for Linux, if that is even possible. http://www.gerrit-tamboer.net/using-flashcache-to-speed-up-your-io-on-ubuntu-12-04/ – LiveWireBT Jun 17 '13 at 21:37
  • Also note that some manufacturers like Lenovo decided to connect HDD and ODD with SATA 6G in their IvyBridge notebooks, leaving mSATA only with SATA 3G and capping it's transfer speeds at around 300 MB/s. Trust me, I dislike this situation as much as you do. – LiveWireBT Jun 17 '13 at 22:21
  • Seems like they did that part right and connected the mSATA port with SATA 6G http://en.community.dell.com/support-forums/laptop/f/3518/p/19498697/20332281.aspx#20332281 though someone needs to tell them not to put flash objects into PDF files. :\ You are aware that larger modules are available from different vendors? http://www.intel.com/content/www/us/en/solid-state-drives/solid-state-drives-525-series.html – LiveWireBT Jun 17 '13 at 23:32
3

With 13.10 you can use bcache, http://bcache.evilpiepirate.org/, using blocks to convert your partitions after install, instead of using SRT.

jhnphm
  • 31