Feature #12400

Support for Intel Skylake architecture, which has removed legacy EHCI support

Added by Stephen Witherden almost 2 years ago. Updated over 1 year ago.

FreeBSD / Drivers / ZFS
Target version:
Start date:
Due date:
% Done:


Hardware Configuration:
Blanket Approval:
Needs QA:
QA Status:
Not Tested


The new Skylake architecture from Intel has removed legacy EHCI support, supporting only XHCI.

This means that anyone purchasing a modern Intel motherboard will not be able to boot up off USB. The motherboard is able to launch GRUB 2.0, but Grub is unaware of the XHCI devices and so cannot boot FreeNAS.

You can get around this problem by booting off a real hard drive and leave the USB ports on your server for decoration only.


#1 Updated by Alexander Motin almost 2 years ago

  • Target version set to 111
  • Status changed from Unscreened to Screened
  • Priority changed from No priority to Expected

Quick googling shown me that at least couple years ago GRUB had no XHCI driver, relying on BIOS support for it. I am not exactly sure how they interoperate, but GRUB is a separate project, and I think they are also aware about this problem.

What's about FreeNAS side -- we have XHCI driver, but it was disabled by default few years ago due to early compatibility issues, where using legacy EHCI was more stable then new XHCI. Probably this practice has to change with arrival of new XHCI-only systems, but that may be too big churn FreeNAS 9.x now, when 10.x is main development target.

#2 Updated by Jordan Hubbard almost 2 years ago

  • Project changed from FreeNAS to 9
  • Category changed from FreeBSD / Drivers / ZFS to 184
  • Target version changed from 111 to 272

I am moving this to FreeNAS 10 - it's highly unlikely we're going to return the XHCI support to FreeBSD 9.x due to the instability issues we had and the fact that nobody in the FreeBSD community is likely to want to invest any time and energy in improving it in anything but a more recent OS release.

#3 Updated by Constantin Jacob almost 2 years ago

I have and currently run Skylake stuff (via SATA). FreeNAS 10.2 runs perfectly fine, 9.3.1 doesn't. Does that mean that the 10.2 branch runs a newer GRUB version which offers drivers to use?

#4 Updated by Andrew O'Byrne over 1 year ago

Another workaround seems to be to use a USB add-in card - I had an old PCI one in the junk box, and now have an installation working on a USB stick on that card.

#5 Updated by Alexander Motin over 1 year ago

  • Project changed from 9 to FreeNAS
  • Category changed from 184 to 76
  • Status changed from Screened to Ready For Release
  • Target version changed from 272 to Unspecified

FreeNAS 9.10, now existing in form of nightly builds, got the XHCI driver, that should be sufficient to boot on new systems.

#6 Updated by Jordan Hubbard over 1 year ago

  • Target version changed from Unspecified to 9.10-RELEASE

#7 Updated by Jordan Hubbard over 1 year ago

  • Status changed from Ready For Release to Resolved

#8 Updated by disk diddler over 1 year ago

Alexander, I know I bugged you about the Skylake network card, now having 9.3.1 support (upon next rollout) what about this bug? Did this also make it to 9.3.1 or only 9.1?

Sorry to hassle you! If this particular one gets fixed on 9.3.1 too, it means Skylake should be fairly usable under 9.3.1 entirely, without needing to go to 9.10.

#9 Updated by Alexander Motin over 1 year ago

As was told in 9.10 announcement we have no plans to merge anything significant into 9.3 branch any more, and updating whole USB stack would be very significant. But 9.3 branch actually has XHCI driver, it is just not enabled by default due to being not very reliable there. You may try to enable it manually: install FreeNAS on some other system and add there xhci_load loader tunable with value "YES". If that won't work, then either not use USB or migrate to 9.10.

Also available in: Atom PDF