One more additional info:

I cannot find the pci8086,15a3 id in the prtconf or prtpicl 
output on SmartOS, but I know the device is there from Linux.

I would like to include the full output, but I do not have a serial console
and no working network connection, so I’d have to retype everything manually.

Maybe there is an additional problem with the PCI enumeration
because the id in question does not show up?

Cheers
-Dirk

> Am 23.02.2015 um 21:05 schrieb Dirk Steinberg via smartos-discuss 
> <[email protected]>:
> 
> Robert,
> 
> I now have two of these Broadwell NUCs, NUC5i3RYH to be specific.
> 
> SmartOS boots and runs on the NUC, and even recognizes the M.2
> PCIe SSD. You were right - many PCIe SSD identify themselves
> as AHCI. I have the Samsung XP941 and it does show up as an
> AHCI controller and works just fine. I only have the 128GB version, 
> therefore the write speed is only about 440MB/s, but the read speed
> is about 1.4GB/s.
> 
> The big problem I am facing now is the Ethernet NIC: It is a very recent
> part, Intel I218-V rev. 3, PCI id 8086:15a3. It does not work with
> the most recent SmartOS. I found a post from you from 2013 about
> adding support for Intel I210 and I217 to SmartOS, so I hope the
> I218 is not far off. Anyway, I tried the simple fix:
> update_drv -a -i 'pci8086,15a3' e1000g
> but sadly, I got: „pci8086,15a3 - e1000g[0] : Identify hardware failed“
> and „Driver (e1000g) successfully added to system but failed to attach“.
> 
> Is there anything I can do to make this NIC work with SmartOS?
> Using another NIC is no option for a NUC, and I got these NUC specifically
> to run SDC. It would be very sad if they could not be made to work with
> SmartOS, as I think these NUC are ideal for setting up a lab
> for SDC. They are small, power efficient, and not too expensive.
> 
> Anyway, I may try drivers from Illumos/OmniOS, or even compile one myself.
> 
> Suppose I can get a binary driver from somewhere, is there a way to integrate
> that driver into SmartOS without rebuilding everything, i.e. add it as an 
> extra
> boot file to Grub?
> 
> Some more additional info about the I218-V NIC (from Linux):
> 
> 00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (3) I218-V 
> (rev 03)
> 00:19.0 0200: 8086:15a3 (rev 03)
> 
> 00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (3) I218-V 
> (rev 03)
>         Subsystem: Intel Corporation Device 2057
>         Flags: bus master, fast devsel, latency 0, IRQ 43
>         Memory at f7200000 (32-bit, non-prefetchable) [size=128K]
>         Memory at f723a000 (32-bit, non-prefetchable) [size=4K]
>         I/O ports at f060 [size=32]
>         Capabilities: [c8] Power Management version 2
>         Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
>         Capabilities: [e0] PCI Advanced Features
>         Kernel driver in use: e1000e
> 
> 00:19.0 0200: 8086:15a3 (rev 03)
>         Subsystem: 8086:2057
>         Flags: bus master, fast devsel, latency 0, IRQ 43
>         Memory at f7200000 (32-bit, non-prefetchable) [size=128K]
>         Memory at f723a000 (32-bit, non-prefetchable) [size=4K]
>         I/O ports at f060 [size=32]
>         Capabilities: [c8] Power Management version 2
>         Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
>         Capabilities: [e0] PCI Advanced Features
>         Kernel driver in use: e1000e
> 
> Linux kernel boot messages:
> 
> [    0.214279] pci 0000:00:19.0: [8086:15a3] type 00 class 0x020000
> [    0.214295] pci 0000:00:19.0: reg 0x10: [mem 0xf7200000-0xf721ffff]
> [    0.214303] pci 0000:00:19.0: reg 0x14: [mem 0xf723a000-0xf723afff]
> [    0.214310] pci 0000:00:19.0: reg 0x18: [io  0xf060-0xf07f]
> [    0.214367] pci 0000:00:19.0: PME# supported from D0 D3hot D3cold
> [    0.214423] pci 0000:00:19.0: System wakeup disabled by ACPI
> 
> I also found this commit in the Linux kernel:
> 
> author        Bruce Allan <[email protected] 
> <mailto:[email protected]>>  2013-06-29 01:15:16 (GMT)
> committer     Jeff Kirsher <[email protected] 
> <mailto:[email protected]>> 2013-07-28 10:44:39 (GMT)
> commit        91a3d82f380abe24e95a6d3981c06f13894eb2ce 
> <https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=91a3d82f380abe24e95a6d3981c06f13894eb2ce>
>  (patch 
> <https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/patch/?id=91a3d82f380abe24e95a6d3981c06f13894eb2ce>)
> 
> 
> e1000e: enable support for new device IDs
> The device IDs 0x15a0 and 0x15a1 are new SKUs that contain the same MAC as 
> I217 and same PHY as I218. The device IDs 0x15a2 and 0x15a3 are the same as 
> existing I218 SKUs. Signed-off-by: Bruce Allan <[email protected] 
> <mailto:[email protected]>> Tested-by: Aaron Brown 
> <[email protected] <mailto:[email protected]>> Signed-off-by: 
> Jeff Kirsher <[email protected] 
> <mailto:[email protected]>>
> 
> diff --git a/drivers/net/ethernet/intel/e1000e/hw.h 
> b/drivers/net/ethernet/intel/e1000e/hw.h
> index cee565d..b799fd9 100644
> --- a/drivers/net/ethernet/intel/e1000e/hw.h 
> <https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/net/ethernet/intel/e1000e/hw.h?id=3ef672ab1862bbd44cc364e72ebd356783ab0243>
> +++ b/drivers/net/ethernet/intel/e1000e/hw.h 
> <https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/net/ethernet/intel/e1000e/hw.h?id=91a3d82f380abe24e95a6d3981c06f13894eb2ce>
> @@ -90,6 +90,10 @@ struct e1000_hw;
> #define E1000_DEV_ID_PCH_LPT_I217_V   0x153B
> #define E1000_DEV_ID_PCH_LPTLP_I218_LM        0x155A
> #define E1000_DEV_ID_PCH_LPTLP_I218_V 0x1559
> +#define E1000_DEV_ID_PCH_I218_LM2    0x15A0
> +#define E1000_DEV_ID_PCH_I218_V2     0x15A1
> +#define E1000_DEV_ID_PCH_I218_LM3    0x15A2  /* Wildcat Point PCH */
> +#define E1000_DEV_ID_PCH_I218_V3     0x15A3  /* Wildcat Point PCH */
> #define E1000_REVISION_4      4
> diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c 
> b/drivers/net/ethernet/intel/e1000e/ich8lan.c
> index b56c61a..78d03d3 100644
> --- a/drivers/net/ethernet/intel/e1000e/ich8lan.c 
> <https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/net/ethernet/intel/e1000e/ich8lan.c?id=3ef672ab1862bbd44cc364e72ebd356783ab0243>
> +++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c 
> <https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/net/ethernet/intel/e1000e/ich8lan.c?id=91a3d82f380abe24e95a6d3981c06f13894eb2ce>
> @@ -1028,7 +1028,9 @@ static s32 e1000_check_for_copper_link_ich8lan(struct 
> e1000_hw *hw)
> /* Work-around I218 hang issue */
> if ((hw->adapter->pdev->device == E1000_DEV_ID_PCH_LPTLP_I218_LM) ||
> -     (hw->adapter->pdev->device == E1000_DEV_ID_PCH_LPTLP_I218_V)) {
> +     (hw->adapter->pdev->device == E1000_DEV_ID_PCH_LPTLP_I218_V) ||
> +     (hw->adapter->pdev->device == E1000_DEV_ID_PCH_I218_LM3) ||
> +     (hw->adapter->pdev->device == E1000_DEV_ID_PCH_I218_V3)) {
> ret_val = e1000_k1_workaround_lpt_lp(hw, link);
> if (ret_val)
> return ret_val;
> @@ -4203,7 +4205,9 @@ void e1000_suspend_workarounds_ich8lan(struct e1000_hw 
> *hw)
> u16 phy_reg, device_id = hw->adapter->pdev->device;
> if ((device_id == E1000_DEV_ID_PCH_LPTLP_I218_LM) ||
> -     (device_id == E1000_DEV_ID_PCH_LPTLP_I218_V)) {
> +     (device_id == E1000_DEV_ID_PCH_LPTLP_I218_V) ||
> +     (device_id == E1000_DEV_ID_PCH_I218_LM3) ||
> +     (device_id == E1000_DEV_ID_PCH_I218_V3)) {
> u32 fextnvm6 = er32(FEXTNVM6);
> ew32(FEXTNVM6, fextnvm6 & ~E1000_FEXTNVM6_REQ_PLL_CLK);
> diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c 
> b/drivers/net/ethernet/intel/e1000e/netdev.c
> index 51b05fe..650e569 100644
> --- a/drivers/net/ethernet/intel/e1000e/netdev.c 
> <https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/net/ethernet/intel/e1000e/netdev.c?id=3ef672ab1862bbd44cc364e72ebd356783ab0243>
> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c 
> <https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/net/ethernet/intel/e1000e/netdev.c?id=91a3d82f380abe24e95a6d3981c06f13894eb2ce>
> @@ -6975,6 +6975,10 @@ static DEFINE_PCI_DEVICE_TABLE(e1000_pci_tbl) = {
> { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPT_I217_V), board_pch_lpt },
> { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPTLP_I218_LM), board_pch_lpt },
> { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPTLP_I218_V), board_pch_lpt },
> +     { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_I218_LM2), board_pch_lpt },
> +     { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_I218_V2), board_pch_lpt },
> +     { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_I218_LM3), board_pch_lpt },
> +     { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_I218_V3), board_pch_lpt },
> { 0, 0, 0, 0, 0, 0, 0 }       /* terminate list */
> };
> 
> 
> Is there any hope to get this running?
> 
> Thanks for any help.
> 
> -Dirk
> 
>> Am 12.02.2015 um 16:57 schrieb Robert Mustacchi via smartos-discuss 
>> <[email protected] 
>> <mailto:[email protected]>>:
>> 
>> On 2/12/15 5:21 , Dirk Steinberg via smartos-discuss wrote:
>>> Does anyone know if SmartOS/SDC will run on this hardware,
>>> especially on the new Broadwell CPU architecture?
>> 
>> We haven't gotten samples of Broadwell and tested anything, primarily
>> because we focus on the multi-socket Xeon lines which aren't out yet.
>> We'll probably get samples of the normal desktop CPUs at some point, but
>> I don't really know when.
>> 
>> In general, I don't know of anything at the CPU architecture level that
>> would cause things not to work, often it just means that a new feature
>> or instruction just isn't plumbed through into the OS.
>> 
>>> To add to my previous question: Is there any chance to
>>> get M.2 PCIe based SSDs working with SmartOS?
>>> These fast SSDs could be quite interesting for use with ZFS.
>> 
>> It really depends. With a lot of these PCI SSDs, the question is how do
>> they identify themselves. Most want a custom driver, in which case we
>> probably don't have a driver for it. However, some may just identify as
>> an ahci controller. So, at the end of the day, I'd suggest getting a
>> sample, trying it, and returning it if it doesn't work.
>> 
>> Robert
>> 
>> 
>> -------------------------------------------
>> smartos-discuss
>> Archives: https://www.listbox.com/member/archive/184463/=now 
>> <https://www.listbox.com/member/archive/184463/=now>
>> RSS Feed: 
>> https://www.listbox.com/member/archive/rss/184463/24390006-796fb66c 
>> <https://www.listbox.com/member/archive/rss/184463/24390006-796fb66c>
>> Modify Your Subscription: https://www.listbox.com/member/?&; 
>> <https://www.listbox.com/member/?&;>
>> Powered by Listbox: http://www.listbox.com <http://www.listbox.com/>
> 
> smartos-discuss | Archives 
> <https://www.listbox.com/member/archive/184463/=now>  
> <https://www.listbox.com/member/archive/rss/184463/24390006-796fb66c> | 
> Modify <https://www.listbox.com/member/?&;> Your Subscription   
> <http://www.listbox.com/>



-------------------------------------------
smartos-discuss
Archives: https://www.listbox.com/member/archive/184463/=now
RSS Feed: https://www.listbox.com/member/archive/rss/184463/25769125-55cfbc00
Modify Your Subscription: 
https://www.listbox.com/member/?member_id=25769125&id_secret=25769125-7688e9fb
Powered by Listbox: http://www.listbox.com

Reply via email to