iPXE discussion forum
iPXE and USB-C - Printable Version

+- iPXE discussion forum (https://forum.ipxe.org)
+-- Forum: iPXE user forums (/forumdisplay.php?fid=1)
+--- Forum: General (/forumdisplay.php?fid=2)
+--- Thread: iPXE and USB-C (/showthread.php?tid=8291)



iPXE and USB-C - speleo14 - 2017-01-12 12:58

Hi list

I am using iPXE to PXE-boot Macs to a WDS server in order to install Windows on them. For older Macs (with BIOS-emulation), I use the prebuilt ipxe.iso-Image, for the newer ones (the ones with EFI-boot) I use an ipxe.efi executable on a USB stick. This has worked fine so far, even for Mac laptops that do not have a built-in NIC and where I have to use a Thunderbolt-ethernet or USB-ethernet adapter.

However, the new MacBooks Pro now only have combined USB-C/Thunderbolt 3 ports, and no matter what kind/brand of network adapter I use, I am not able to PXE boot them. Either the network adapter is not seen at all, or it is seen as down, or it is seen and up, but the configuration fails.

Unfortunately, I am not really an expert when it comes to PXE-booting... I suspect that maybe a driver for USB-C is missing? Any ideas what I could try? This is really a show-stopper for us.

Thanks, Tina


RE: iPXE and USB-C - NiKiZe - 2017-01-12 19:02

Could you boot into something that has lspci and run lspci -nn Which would give us a list of all the pci devices in the machine, which also includes which chips is used to provide the USB interface, but AFAIK Type-C is just standard xHCI devices (USB 3) which should be fully supported.

Do you have a environment where you can build ipxe? in that case we can try and enable some DEBUG= flags, also try and use a type-c to USB 3 type-A(?) adapter and then use a nic that you know is working with ipxe on older hw.


RE: iPXE and USB-C - speleo14 - 2017-01-13 08:31

Thanks for trying to help!

(2017-01-12 19:02)NiKiZe Wrote:  Could you boot into something that has lspci and run lspci -nn Which would give us a list of all the pci devices in the machine, which also includes which chips is used to provide the USB interface, but AFAIK Type-C is just standard xHCI devices (USB 3) which should be fully supported.

There doesn't seem to be an lspci for Mac, but I'll try to find out about the USB.


(2017-01-12 19:02)NiKiZe Wrote:  Do you have a environment where you can build ipxe? in that case we can try and enable some DEBUG= flags, also try and use a type-c to USB 3 type-A(?) adapter and then use a nic that you know is working with ipxe on older hw.

Yes, I can build it. I usually use "make bin-x86_64-efi/ipxe.efi". What flags should I add?

As for the USB-C to USB-A Adapter plus a known-working nic - I tried that, and it doesn't work. It will see the nic and tell me that the link is up, but then say "No configuration method found".
Nics that directly plug into the USB-C do not work at all, they're not even seen (tried an LMP and a Dell one, both work fine when booted to Mac).

EDIT: There is definitely no lspci that is running on the current Mac OS (or at least I didn't find one), and unfortunately, Linux is not (yet) running on the new MacBooks, so I can't install that to use lspci either.
The best I can come up with is thus the Apple System Report which shows this about USB:

USB 3.0 Bus:

Host Controller Driver: AppleUSBXHCISPT
PCI Device ID: 0xa12f
PCI Revision ID: 0x0031
PCI Vendor ID: 0x8086

iBridge:

Product ID: 0x8600
Vendor ID: 0x05ac (Apple Inc.)
Version: 1.01
Serial Number: nomac?123456
Speed: Up to 480 Mb/sec
Manufacturer: Apple Inc.
Location ID: 0x14200000 / 2
Current Available (mA): 500
Current Required (mA): 0
Extra Operating Current (mA): 0
Built-In: Yes


RE: iPXE and USB-C - NiKiZe - 2017-01-13 18:13

thanks 8086:a12f is a standard intel xHCI bridge as expected.

it would also be interesting to see output of ifstat from the working machine using the same usb nic that we know is working in the old one, and i guess this is also working inside of OSX on the new machine?

You are using that ipxe.efi build on both the new and old machine?

my guess then is that on the old machine when you run ifstat will see the usb nic found as a nii or snp nic (meaning they use the standard interface where the driver for the nic is loaded and provided by the efi firmware and not using ipxe native driver)


The usb drivers is not included by default in the ipxe build,
so with something like:
Code:
make bin-x86_64-efi/ipxe--ecm--ncm.efi DEBUG=xhci
you will have usb drivers included and xhci debugging enabled, would be interesting to see ifstat from both the old and new machine with the same nic connected using this build.

one gotcha however is that any other usb device then the ones supported by ipxe will be disconnected, for example mass storage devices will no longer exist to the efi firmware if you exit out from ipxe and expect to continue booting from some other usb device.


RE: iPXE and USB-C - speleo14 - 2017-01-14 23:07

(2017-01-13 18:13)NiKiZe Wrote:  thanks 8086:a12f is a standard intel xHCI bridge as expected.

it would also be interesting to see output of ifstat from the working machine using the same usb nic that we know is working in the old one, and i guess this is also working inside of OSX on the new machine?

Yes, that is correct. All the nics I tried with ipxe are working when booted to OSX, and are also working to netboot the Mac to an Apple Netboot server (Deploy Studio in this case). Just not for PXE.

(2017-01-13 18:13)NiKiZe Wrote:  You are using that ipxe.efi build on both the new and old machine?

Yes, same build.

(2017-01-13 18:13)NiKiZe Wrote:  my guess then is that on the old machine when you run ifstat will see the usb nic found as a nii or snp nic (meaning they use the standard interface where the driver for the nic is loaded and provided by the efi firmware and not using ipxe native driver)

Hmm, when I tried to pxe-boot with one of the nics, I saw somewhere in the output something similar to "nii", but I don't remember which one that was. Will check on Monday...


(2017-01-13 18:13)NiKiZe Wrote:  The usb drivers is not included by default in the ipxe build,
so with something like:
Code:
make bin-x86_64-efi/ipxe--ecm--ncm.efi DEBUG=xhci
you will have usb drivers included and xhci debugging enabled, would be interesting to see ifstat from both the old and new machine with the same nic connected using this build.

one gotcha however is that any other usb device then the ones supported by ipxe will be disconnected, for example mass storage devices will no longer exist to the efi firmware if you exit out from ipxe and expect to continue booting from some other usb device.

OK, I'm gonna try that on Monday! Thanks very much for your help!


RE: iPXE and USB-C - speleo14 - 2017-01-16 12:05

Sorry for the long post...

(2017-01-13 18:13)NiKiZe Wrote:  The usb drivers is not included by default in the ipxe build,
so with something like:
Code:
make bin-x86_64-efi/ipxe--ecm--ncm.efi DEBUG=xhci

OK, I tried that.
I used ipxe-26050fd and built with "make bin-x86_64-efi/ipxe--ecm--ncm.efi DEBUG=xhci".

And this is the ouptut for different nics:

Dell USB-C nic:
Code:
Starting ipxe--ecm--ncm.efi
Using load option ''
iPXE inititalising devices...XHCI 0000:00:14.0 has 64 slots 8 intrs 24 ports
XHCI 0000:00:14.0 USB legacy support already disabled
XHCI 0000:00:14.0 timed out waiting for completion
XHCI 0000:00:14.0 could not enable new slot: Connection timed out (http://ipxe.org/4c094092)
XHCI 0000:00:14.0 timed out waiting for completion
XHCI 0000:00:14.0 could not enable new slot: Connection timed out (http://ipxe.org/4c094092)
XHCI 0000:07:00.0 has 64 slots 8 intrs 4 ports
XHCI 0000:07:00.0 USB legacy support already disabled
XHCI 0000:7d:00.0 has 64 slots 8 intrs 4 ports
XHCI 0000:7d:00.0 USB legacy support already disabled
ok

iPXE 1.0.0+ -- Open Source Network Boot Firmware -- http://ipxe.org
Features: DNS HTTP iSCSI TFTP SRP AoE EFI Menu

Could not open net0: Input/output error (http://ipxe.org/1d6a4698)
No more network devices

Error: Protocol error returned from ipxe--ecm--ncm.efi
Error: Not Found from LocateDevicePath
Error: Not Found from LocateDevicePath
Error: Not Found from LocateDevicePath
Error: Not Found from LocateDevicePath

* Hit any key to continue *

LMP USB-C nic:
Code:
Starting ipxe--ecm--ncm.efi
Using load option ''
iPXE inititalising devices...XHCI 0000:00:14.0 has 64 slots 8 intrs 24 ports
XHCI 0000:00:14.0 USB legacy support already disabled
XHCI 0000:00:14.0 timed out waiting for completion
XHCI 0000:00:14.0 could not enable new slot: Connection timed out (http://ipxe.org/4c094092)

XHCI 0000:07:00.0 has 64 slots 8 intrs 4 ports
XHCI 0000:07:00.0 USB legacy support already disabled
XHCI 0000:07:00.0 timed out waiting for completion
assert(( readl ( xhci->op + XHCI_OP_CRCR ) & XHCI_CRCR_CRR ) == 0) failed at drivers/usb/xhci.c line 1763
XHCI 0000:07:00.0 could not enable new slot: Connection timed out (http://ipxe.org/4c094092)
XHCI 0000:7d:00.0 has 64 slots 8 intrs 4 ports
XHCI 0000:7d:00.0 USB legacy support already disabled
ok

iPXE 1.0.0+ -- Open Source Network Boot Firmware -- http://ipxe.org
Features: DNS HTTP iSCSI TFTP SRP AoE EFI Menu

Could not open net0: Input/output error (http://ipxe.org/1d6a4698)
No more network devices

assert(( readl ( xhci->op + XHCI_OP_CRCR ) & XHCI_CRCR_CRR ) == 0) failed at drivers/usb/xhci.c line 1441
Error: Protocol error returned from ipxe--ecm--ncm.efi
Error: Not Found from LocateDevicePath
Error: Not Found from LocateDevicePath
Error: Not Found from LocateDevicePath
Error: Not Found from LocateDevicePath

* Hit any key to continue *

Apple USB-C-USB-A adapter, Apple USB-A nic:
Code:
Starting ipxe--ecm--ncm.efi
Using load option ''
iPXE inititalising devices...XHCI 0000:00:14.0 has 64 slots 8 intrs 24 ports
XHCI 0000:00:14.0 USB legacy support already disabled
XHCI 0000:00:14.0 timed out waiting for completion
XHCI 0000:00:14.0 could not enable new slot: Connection timed out (http://ipxe.org/4c094092)
XHCI 0000:00:14.0 timed out waiting for completion
XHCI 0000:00:14.0 could not enable new slot: Connection timed out (http://ipxe.org/4c094092)
XHCI 0000:07:00.0 has 64 slots 8 intrs 4 ports
XHCI 0000:07:00.0 USB legacy support already disabled
XHCI 0000:7d:00.0 has 64 slots 8 intrs 4 ports
XHCI 0000:7d:00.0 USB legacy support already disabled
ok

iPXE 1.0.0+ -- Open Source Network Boot Firmware -- http://ipxe.org
Features: DNS HTTP iSCSI TFTP SRP AoE EFI Menu

Could not open net0: Input/output error (http://ipxe.org/1d6a4698)
No more network devices

Error: Protocol error returned from ipxe--ecm--ncm.efi
Error: Not Found from LocateDevicePath
Error: Not Found from LocateDevicePath
Error: Not Found from LocateDevicePath
Error: Not Found from LocateDevicePath

* Hit any key to continue *

Apple Thunderbolt3-Thunderbolt2 adapter, Apple Thunderbolt nic:
Code:
Starting ipxe--ecm--ncm.efi
Using load option ''
iPXE inititalising devices...XHCI 0000:00:14.0 has 64 slots 8 intrs 24 ports
XHCI 0000:00:14.0 USB legacy support already disabled
XHCI 0000:00:14.0 timed out waiting for completion
XHCI 0000:00:14.0 could not enable new slot: Connection timed out (http://ipxe.org/4c094092)
XHCI 0000:00:14.0 timed out waiting for completion
XHCI 0000:00:14.0 could not enable new slot: Connection timed out (http://ipxe.org/4c094092)
XHCI 0000:07:00.0 has 64 slots 8 intrs 4 ports
XHCI 0000:07:00.0 USB legacy support already disabled
XHCI 0000:7d:00.0 has 64 slots 8 intrs 4 ports
XHCI 0000:7d:00.0 USB legacy support already disabled
ok

iPXE 1.0.0+ -- Open Source Network Boot Firmware -- http://ipxe.org
Features: DNS HTTP iSCSI TFTP SRP AoE EFI Menu

net0: 68:5B:35:d0:64:91 using 14e4-1682 on 0000:0a:00.0 (open)
[link:down, TX:0 TXE:0 RX:0 RXE:0]
[link status: Down (http://ipxe.org/38086193)]
Waiting for link up on net0................. Down (http://ipxe.org/38086193)
Could not open net1: Input/output error (http://ipxe.org/1d6a4698)
No more network devices

Error: Protocol error returned from ipxe--ecm--ncm.efi
Error: Not Found from LocateDevicePath
Error: Not Found from LocateDevicePath
Error: Not Found from LocateDevicePath
Error: Not Found from LocateDevicePath

* Hit any key to continue *

Different build, without the --ecm--ncm: "make bin-x86_64-efi/ipxe.efi DEBUG=xhci"
Same outcome for everything except
Apple USB-C-USB-A adapter, Apple USB-A nic, where I get:
Code:
Starting ipxe.efi
Using load option ''
iPXE inititalising devices... ok

iPXE 1.0.0+ -- Open Source Network Boot Firmware -- http://ipxe.org
Features: DNS HTTP iSCSI TFTP SRP AoE EFI Menu

net0: 70:11:24:8c:aa:d7 using NII on NII-0000:00:14.0 (open)
[link:up, TX:0 TXE:0 RX:0 RXE:0]

Configuring (net0 70:11:24:8c:aa:d7)..................... No configuration methods succeeded (http://ipxe.org/040ee186)
Could not open net1: Input/output error (http://ipxe.org/1d6a4698)
No more network devices

Error: Protocol error returned from ipxe.efi

* Hit any key to continue *



And now it gets weird: I also tried an older build (ipxe-fd95c78) from november 16 (built with "make bin-x86_64-efi/ipxe.efi"), and this one works, but only sometimes. Sometimes it doesn't, and I also get the "No configuration methods succeeded" error... I'd say it works for around once in 5 or 10 times. Huh



EDIT: about the ifstat, it seems as if I can't get into the iPXE command line. Nothing happens when I press ctrl-B.


RE: iPXE and USB-C - speleo14 - 2017-02-23 12:05

I finally managed to get into the ipxe shell (by using esc-b instead of ctrl-b, thanks to another discussion here), and I ran dhcp and ifstat on my various adapters with the following results:

Dell USB-C to Ethernet NIC:
Code:
iPXE>dhcp
Could not open net0: Input/output error (http://ipxe.org/1d6a4698)
Could not open net1: Input/output error (http://ipxe.org/1d6a4698)
iPXE>ifstat
net0: 78:4f:43:55:b0:35 using NII on NII-0000:03:00.0 (closed)
[link:up, TX:0 TXE:0 RX:0 RXE:0]
net1: 9c:eb:e8:3c:2f:21 using NII on NII-0000:7d:00.0 (open)
[link:up, TX:0 TXE:0 RX:0 RXE:0]




Apple USB-C to USB-A adapter & Apple USB-A to Ethernet NIC:
Code:
iPXE>dhcp
Configuring (net0: 70:11:24:8c:aa:d7)...... No configuration methods succeeded (http://ipxe.org/040ee186)
Could not open net1: Input/output error (http://ipxe.org/1d6a4698)
iPXE>ifstat
net0: 70:11:24:8c:aa:d7 using NII on NII-0000:00:14.0 (closed)
[link:up, TX:0 TXE:4 RX:0 RXE:66745045]
[TXE: 4 x "Input/output error (http://ipxe.org/1d6a5498)"]
[RXE: 66745045 x "Input/output error (http://ipxe.org/1d6a5498)"]
net1: 78:4f:43:55:b0:35 using NII on NII-0000:03:00.0 (closed)
[link:up, TX:0 TXE:0 RX:0 RXE:0]



LMP USB-C to Ethernet NIC:
Code:
iPXE>dhcp
Could not open net0: Input/output error (http://ipxe.org/1d6a4698)
Could not open net1: Input/output error (http://ipxe.org/1d6a4698)
iPXE>ifstat
net0: 78:4f:43:55:b0:35 using NII on NII-0000:03:00.0 (closed)
[link:up, TX:0 TXE:0 RX:0 RXE:0]
net1: a0:ce:c8:08:98:10 using NII on NII-0000:03:00.0 (closed)
[link:up, TX:0 TXE:0 RX:0 RXE:0]



Apple Thunderbolt-3 to Thunderbolt-2 adapter & Apple Thunderbolt to Ethernet NIC:
Code:
iPXE>dhcp
Waiting for link-up on net0.............  Down (http://ipxe.org/38086193)
Could not open net1: Input/output error (http://ipxe.org/1d6a4698)
iPXE>ifstat
net0: 68:5b:35:d0:64:91 using 14e4-1682 on 0000:80:00.0 (closed)
[link:down, TX:0 TXE:0 RX:0 RXE:0]
[link status: Down (http://ipxe.org/38086193)]
net1: 78:4f:43:55:b0:35 using NII on NII-0000:03:00.0 (closed)
[link:up, TX:0 TXE:0 RX:0 RXE:0]


Can anybody make any sense out of this?

PS: 78:4f:43:55:b0:35 is the built-in wireless NIC.


RE: iPXE and USB-C - NiKiZe - 2017-02-23 23:06

The NII driver which it tries to use is the driver that the MAC/PC firmware provides, something seems to be wrong in the driver interface that comes from firmware. Can you actually do "internet boot" of the mac with any of those usb devices?

It might also be worth comparing the output to the machine that works with the same usb device. ( None of the outputs seem to be successful, i have a hard time following what is what in those logs )

If you can't internet boot the machine with any of the NICs then it won't be able to boot via ipxe.efi eighter, and you will need to have a ipxe version that supports the nic directly.

Build with only basic USB NIC device support:
make bin-x86_64-efi/ecm--ncm.efi DEBUG=xhci

now to know which driver we want (if any exist at all) we will want to have the lsusb output for each of the USB devices that you are trying to get working.


RE: iPXE and USB-C - speleo14 - 2017-02-24 10:10

(2017-02-23 23:06)NiKiZe Wrote:  The NII driver which it tries to use is the driver that the MAC/PC firmware provides, something seems to be wrong in the driver interface that comes from firmware. Can you actually do "internet boot" of the mac with any of those usb devices?

Yes. I can do a successful "Apple" netboot with all the NICs.


(2017-02-23 23:06)NiKiZe Wrote:  It might also be worth comparing the output to the machine that works with the same usb device. ( None of the outputs seem to be successful, i have a hard time following what is what in those logs )

The Dell and the LMP NIC I can't test on an older Macbook since those do not have USB-C ports. The Apple USB-Ethernet and Thunderbolt-Ethernet NICs do work on older machines; however, with the new Macbook I have to add a USB-C to USB-A or a Thunderbolt-3 to Thunderbolt-2 adapter to connect those NICs, so it's not exactly the same setup.
The Dell NIC that I try to use was sold stating it does support PXE booting (that's why we bought it, hoping that this would help).

(2017-02-23 23:06)NiKiZe Wrote:  If you can't internet boot the machine with any of the NICs then it won't be able to boot via ipxe.efi eighter, and you will need to have a ipxe version that supports the nic directly.

Build with only basic USB NIC device support:
make bin-x86_64-efi/ecm--ncm.efi DEBUG=xhci

I did that, but to get to the iPXE shell, I need to press esc-B, and the new Macbook doesn't have an esc key (great, really). I usually get around this by using en external USB keyboard, but with this build, the external keyboard is not working - so can't get to the shell.
Apart from that, I can't pxe-boot with any of the NICs with this build either. I can post the output if that helps.


(2017-02-23 23:06)NiKiZe Wrote:  now to know which driver we want (if any exist at all) we will want to have the lsusb output for each of the USB devices that you are trying to get working.

There's no lsusb on Mac... so here is the output of the Mac system profiler:

Dell:
Product ID: 0x8153
Vendor ID: 0x0bda (Realtek Semiconductor Corp.)
Version: 30.00
Serial Number: 000001000000
Speed: Up to 5 Gb/sec
Manufacturer: Realtek
Location ID: 0x01300000 / 1

LMP:
Product ID: 0x8153
Vendor ID: 0x0bda (Realtek Semiconductor Corp.)
Version: 30.00
Serial Number: 000001000000
Speed: Up to 5 Gb/sec
Manufacturer: Realtek
Location ID: 0x01300000 / 1

Apple USB-Ethernet:
Product ID: 0x1402
Vendor ID: 0x05ac (Apple Inc.)
Version: 0.01
Serial Number: 25BF8A
Speed: Up to 480 Mb/sec
Manufacturer: Apple Inc.
Location ID: 0x14100000 / 5

Apple Thunderbolt-Ethernet:
Vendor Name: Apple Inc.
Device Name: Thunderbolt to Gigabit Ethernet Adapter
Vendor ID: 0x1
Device ID: 0x8003
Device Revision: 0x1
UID: 0x0001000202AACB50
Apple Serial Number: DTN418302J2DWKHBJ
Route String: 3
Firmware Version: 5.5
Port (Upstream):
Status: Device connected
Link Status: 0x2
Speed: Up to 10 Gb/s x1


Seems like the Dell and LMP adapter use exactly the same hardware...


RE: iPXE and USB-C - NiKiZe - 2017-02-24 21:12

There might be some known issues with those Realtek chipsets.
Try booting into ipxe, then unplug and replug the device and run ifstat again to see what it detects and try dhcp to see what you get.

Let's just work with one device and try to compare. Since internet boot works the NII driver should work as well, if not it is a bug in the Apple firmware in regards to efi sepecification.

and adapter or not is the exact same thing. there is no Thunderbolt support in iPXE so that would only work with the NII driver if at all.


RE: iPXE and USB-C - speleo14 - 2017-02-27 12:26

(2017-02-24 21:12)NiKiZe Wrote:  There might be some known issues with those Realtek chipsets.
Try booting into ipxe, then unplug and replug the device and run ifstat again to see what it detects and try dhcp to see what you get.

The Realtek NICs are no longer detected after unplugging an re-plugging.
The Apple USB-Ethernet is detected and dhcp results in "configuring......ok"

The Apple USB-Ethernet NICs are the ones with which I seem to get furthest - however, I'd prefer not to work with them since they are 10 Mbit Undecided Just included them for testing...
Maybe I should try and get USB-C-Ethernet NICs from other manufacturers?

(2017-02-24 21:12)NiKiZe Wrote:  Let's just work with one device and try to compare. Since internet boot works the NII driver should work as well, if not it is a bug in the Apple firmware in regards to efi sepecification.

and adapter or not is the exact same thing. there is no Thunderbolt support in iPXE so that would only work with the NII driver if at all.

Well, Thunderbolt-Ethernet works absolutely fine with older MacBooks Pro (all of them actually, except now the newest ones with USB-C).
However, they fail on iMacs Late 2015 (where the internal NIC doesn't work either, there's a thread about this here too).


RE: iPXE and USB-C - NiKiZe - 2017-02-27 19:23

0bda:8153 RTL8153 is Gigabit, let's try and work with something that we know works, even if buggy.

but it should work with make bin-x86_64-efi/ecm.efi after unplug and replug as far as I understand.

we have mostly confirmed that the NII driver is horribly broken on your firmware, and that is what iPXE must use for the thunderbolt nic, but I don't see how iPXE would have any drivers for this..

So there is 2 things that can be done to fix this for you:
1. Upgrade the firmware so that the NII driver works, if there is no upgrade available that fixes this issue you will need to contact Apple to get them to fix this.
2. Use native iPXE drivers for nic and bus, but who knows maybe Apple have locked down that solution as well.


RE: iPXE and USB-C - speleo14 - 2017-03-01 09:06

(2017-02-27 19:23)NiKiZe Wrote:  0bda:8153 RTL8153 is Gigabit, let's try and work with something that we know works, even if buggy.

but it should work with make bin-x86_64-efi/ecm.efi after unplug and replug as far as I understand.

OK, I built with make bin-x86_64-efi/ecm.efi and used the Dell NIC with the Realtek chip, but this instantly gives me "No more network devices", so the NIC isn't even detected.
And I can't get to the shell, since the external keyboard doesn't work with that build and the built-in keyboard doesn't have an esc key Angry
Thus I can't try unplug and replug with that build.

(2017-02-27 19:23)NiKiZe Wrote:  we have mostly confirmed that the NII driver is horribly broken on your firmware, and that is what iPXE must use for the thunderbolt nic, but I don't see how iPXE would have any drivers for this..

Well, as I said, the thunderbolt NIC works really fine with "older" Macs. It uses the driver 14e4-1682; that's what iPXE also tries to use on the new MacBook Pro, but here I get "Link down".

(2017-02-27 19:23)NiKiZe Wrote:  So there is 2 things that can be done to fix this for you:
1. Upgrade the firmware so that the NII driver works, if there is no upgrade available that fixes this issue you will need to contact Apple to get them to fix this.
2. Use native iPXE drivers for nic and bus, but who knows maybe Apple have locked down that solution as well.

There is no firmware update available at the moment, so we can probably forget about 1.
How would I proceed to try 2?


RE: iPXE and USB-C - gzebedin - 2017-12-01 11:03

Hello Speleo14,
did you find a solution for your problem? I'm also fighting with the LINK DOWN symptom on my macbooks with thunderbolt2 -> gigabit adapters :-(
I had one running version but never noted the release :-( after recompiling it stopped working again :-(

greetings.

Gerald


RE: iPXE and USB-C - NiKiZe - 2017-12-01 12:28

(2017-12-01 11:03)gzebedin Wrote:  I had one running version but never noted the release :-( after recompiling it stopped working again :-(

Do you still have it working if using the old version of iPXE?

Tip: always build from source yourself, that way the git commit will be noted in the iPXE version number so that you can check out that same version of the sources at any time in the future.


RE: iPXE and USB-C - gzebedin - 2017-12-01 12:50

no. I lost the "working version of IPXE" but it could have also been a firmware update which destroyed my "running system" :-(