3/27/2014

Dell XPS 15, PXE booting over USB NIC

it is not intuitive a USB NIC does not provide PXE support...  

note: this works w/wds for windows, should work w/cobbler for linux, netboot w/osx, or dhcp w/tftp

rather the BIOS must support a USB NIC by including a BIOS device driver for initializing and using the USB NIC, before that device can be used by a BIOS PXE procedure for network booting


because the USB NIC is connected through a USB host controller, that USB host controller must also have a BIOS device driver and the USB host controller must be started before the USB NIC can be started

USB host controllers are internal and fixed, they do not change, they are built into the notebook, so only one device driver needs to be included in the BIOS for the USB host controller built into the notebook

USB NIC devices are external and varied, they can come from many manufacturers and can be built using many different USB NIC chipsets, so there are many possible BIOS device drivers, the BIOS usually only contains a small number of USB NIC device drivers -- there is no Universal BIOS device driver for all USB NIC devices


but like virtual machine technology "older" and more "commonly available" USB NIC devices that have been in the market place for a long time, or have looser licensing rules for including their reference device driver code in System BIOSes, tend to be "more likely" to be supported

PXE booting, or booting off the network, implies a device is ready to be used by the BIOS procedure for obtaining a network address, downloading a network bootstrap program (nbp) and then a network enabled boot program that runs in minimal available memory (a kernel, winpe, ect..)

when installing an operating systems like Windows 7 using PXE booting, at some point the USB NIC will be reset to transition away from using the PXE booted program to using a native installer -- like the winpe environment



the native installer then needs to restart the USB host controller, followed by the USB NIC - native install time drivers for the installer program must be provided, or the installer will fail to complete installation

Windows 7 includes native support for USB 2.0 host controllers, and its installer generally includes support for USB 2.0 host controllers, USB NIC drivers for the install and after install Windows 7 environments must be provided by the USB NIC vendors

Windows 7 does not include native support for USB 3.0 host controllers and will fail to install if a USB NIC is connected to a USB 3.0 host controller, even though USB 2.0 devices are generally compatible with USB 3.0 ports.. it is the operating system which will fail to restart the USB 3.0 host controller during install that will disconnect the USB NIC

Windows 8 includes native support for USB 3.0 host controllers

notebooks generally still come equipped with multiple USB 3.0 ports and at least (one) USB 2.0 port just for such occasions, they are either plainly labeled as USB 3.0 and USB 2.0 or the USB 3.0 ports will have an extra "ss" in tiny letters to distinguish them as "super speed" (aka USB 3.0) capable -- the "one" port without the tiny "ss" letters will be the USB 2.0 port

the XPS 15 9530 notebook is generally the same as the Precision M3800 notebook, except for the secondary GPU and the choice of high resolution display, while the XPS is a "gamers" consumer class machine and has Windows 8 supported device drivers (only) the M3800 is an "enterprise" business class machine and has Windows 7 and Windows 8 supported device drivers available

secondary GPU device drivers can be obtained after install from their manufacturers websites

cons to installing Windows 7 on an XPS include, if using the ultra high resolution screen the DPI may need to be scaled to 125 percent to be able to see the tiny pixels, and Windows 8 includes a separate DPI mode for each screen - if sharing a desktop with a second monitor, each can run at a different DPI, this is not the case when using Windows 7 there is only one DPI mode for all screens

PXE booting requires using a "started" Ethernet port, sometimes called "initialized" -- but generally means "its ready" to provide "service" to the BIOS

the BIOS of this laptop has had three revisions A01, A02, A03 (so far 3-31-2014)

the pxe supported usb to ethernet device chipsets can be determined by looking at the updates and their change logs

A01 -
SmscUsbNet - USB2.0-to-LAN dongle - StarTech USB21000S2
OemGigaLan - USB 2.0 Ethernet Adapter - Dell Part# : 331-9318 "guess"
 
A02 -
SmscUsbNet - USB2.0-to-LAN dongle - StarTech USB21000S2
OemGigaLan - USB 2.0 Ethernet Adapter - Dell Part# : 331-9318 "guess"

A03 -
SmscUsbNet - USB2.0-to-LAN dongle - StarTech USB21000S2
OemGigaLan - USB 2.0 Ethernet Adapter - Dell Part# : 331-9318  "guess" 
RtkUsbUndi - USB3.0-to-LAN dongle Anker RTL8153 Chipset  "guess"

# update 3-31-2014: 
# the Startech USB21000S2 is confirmed to PXE in BIOS "Legacy" mode 
# on the A02 version of the BIOS







be forewarned:

the USB 2.0 NIC types should work with PXE boot installing Windows 7, however the USB 3.0 NIC types would only be appropriate for PXE boot installing Windows 8; for the reasons mentioned before, Windows 7 does not include host controller support for USB 3.0 ports - thus even if the USB 3.0 device would work in a USB 2.0 port, you would still be constrained by the speed of the USB 2.0 port (480 mbps) versus the speeds in a USB 3.0 port (4800 mbps)


i have also obtained a Anker RTL8153 USB 3.0 NIC and may try that after upgrading the BIOS from A02 to A03 with Windows 7 (on a 2.0 port) and Windows 8 (on a 3.0 port)

-- when I do I will update this page



Dell XPS 9530 System BIOS A03
Enhancements
- Improved System BIOS stability.
- Support Realtek USB-to-LAN dongle(REL8153-VB) PXE boot.
Realtek Announces 8153 Low Power Consumption USB Ethernet Controller Solutions

RTL8153

Startech makes a usb to ethernet adapter based on the [Smsc LAN7500] chipset

Microchip who makes the Smsc LAN7500 chip makes UNDI driver source code available
LAN95xx and LAN7500 UEFI PXE (UNDI) Driver

the source code file has a similar name to the reference in the bios [ SmscUsbNetDriver.efi ]

to pxe boot the laptop must have secure boot disabled, legacy support enabled and [network] in the boot order

this is no longer theory, a StarTech USB21000S2 adapter was been ordered and tested and performed exactly as expected.

Legacy mode does not enumerate the device, but upon boot order selecting [network] it detects and runs the built in BIOS device driver for starting the USB NIC and proceeds to PXE boot using it

UEFI mode does enumerate it and offer it up as an IPv4 or IPv6 device, however selecting either has not successfully worked for PXE boot, it appears either there is something else in the BIOS that needs additional configuration, or that the BIOS procedure for UEFI is not working, determining if it is the BIOS driver for the USB NIC or the BIOS procedure for UEFI PXE will have to wait until i can test an additional USB NIC device, like the Anker RTL8153

The XPS laptop and Venue tablets appear to share many commonalities:

Dell Announces New XPS Ultrabooks and Venue Tablets

Dell has a page that recommends the Smsc LAN7500 usb to ethernet dongle, and used to sell it direct, but does not appear to sell it any longer, or is out of stock, this was for the xps 13 laptop - but it appears to also apply to the xps 15 9530

Dell XPS Driver CABs are now available

For XPS 13 (L321x) only:
USB to NIC Dongle :
Since the XPS 13 does not have an Onboard NIC, a USB to NIC dongle needs to be used for deploying an OS.
SMSC LAN 7500:    
If you are using a USB NIC based on the SMSC LAN 7500 chipset, the A09 WinPE CAB and XPS 13 driver pack includes drivers for this device.
The Startech USB21000S2 USB NIC uses the LAN7500 chipset and is available from Dell.
The XPS 13 with BIOS A05 or higher, supports PXE boot with LAN7500 chipset based USB NICs.
Note:  If you chose to use a different USB to NIC dongle for network based Operating System deployment, you will need to inject the specific driver for such device in WinPE.

useful links:
Imaging requirements for the Latitude 10 (ST2) from Windows Server 2008
MDT 2010 - Automated Dell XPS 13 Deployment
How do you PXE boot a Venue 8 or 11 Pro
Imaging requirements and process for the Dell Venue 8 Pro 5830 Tablet
Imaging Recommendations for the Dell Venue 11 Pro 5130/7130/7139
Dell Driver CAB files for Enterprise Client OS Deployment
MSFN - USB to Ethernet Adapters and PXE
Supporting PXE over USB Deployment Scenarios for tablets and ultrabooks

Startech USB21000S2 sources:
B&H Video - StarTech USB 2.0 to Gigabit Ethernet NIC Network Adapter
NewEgg - StarTech USB 2.0 to Gigabit Ethernet NIC Network Adapter
TigerDirect - StarTech.com USB to Gigabit Ethernet NIC
Amazon - StarTech USB 2.0 to Gigabit Ethernet NIC Network Adapter
CDW - StarTech.com USB 2.0 to Gigabit Ethernet NIC

LAN7500 another source:
NewEgg - SIIG JU-NE0311-S1 USB 2.0 Gigabit Ethernet Adapter
Dell  - USB 2 to Gigabit Ethernet (PXE) Euro

Realtek RTL8153 sources:
Amazon - Anker® USB 3.0 to Gigabit Ethernet LAN with RTL8153
SybaUSA - Gigabit Ethernet USB 3.0 Adapter: SI-ADA24037
Amazon - SYBA SI-ADA24037 Gigabit Ethernet USB 3.0 Adapter
NewEgg - SYBA SI-ADA24037 Gigabit Ethernet USB 3.0 Adapter

the Dell XPS 15 9350 laptop does not have a built-in ethernet port

the Dell Model D3000 superdock has an ethernet port, it is not supported by the BIOS in the XPS 15 9350, for PXE booting, it has a DisplayLink Network Adapter NCM, Action Star Enterprise Co., Ltd. ethernet NIC attached to the end of a USB bus