I’ve been working on the on and off over the last weeks. This is what I just sent to iPXE dev Michael Brown:
Tried looking at the NIC registers as suggested by NiKiZe in the forums a while back. Added ethtool code to dump registers to iPXE but from my tests it looks like many registers are different on every reboot and I have no idea which registers mean what. For now I don’t think this is getting us anywhere. But I am open to suggestions.
Digging through the tg3*.c code I figured that there might be some auto negotiation issue on the iMac model I have. Curtis did not seem to have that and got that sort of fixed. Now I am seeing the same thing as Curtis, interface comes up and it tries to send packets to wire but fails so. As far as I know Curtis has been onto this together with you on a IRC chat.
On the other lane I have tested the Linux code a fair bit. Tested 4.13.4, early 3.9 and the very first commit that added 57766 NIC support to the Linux kernel. I did test those early versions as I hoped to clarify if the later added binary firmware blob is playing a role or if any commit in the kernel code did fix an issue with Macs. Turns out it’s not from my tests. They all worked like a charm on the iMac that cannot send packets within iPXE.
Hope we’ll find some time to give me some hints on where to dig next.
@Seb-B As well if you have ideas and suggestions on how to diff the tg3 code of iPXE and the Linux kernel to figure out what’s up. I have started to but there seem to be too many minor differences making it really hard to diff. Though I have the feeling that we should be able to solve this soon as Linux kernel is working great.
try setting this parameter in /var/www/html/fog/service/ipxe/refind.conf:
# Delay for the specified number of seconds before scanning disks.
# This can help some users who find that some of their disks
# (usually external or optical discs) aren't detected initially,
# but are detected after pressing Esc.
# The default is 0.
and, if you need, this:
# Timeout in seconds for the main menu screen. Setting the timeout to 0
# disables automatic booting (i.e., no timeout). Setting it to -1 causes
# an immediate boot to the default OS *UNLESS* a keypress is in the buffer
# when rEFInd launches, in which case that keypress is interpreted as a
# shortcut key. If no matching shortcut is found, rEFInd displays its
# menu with no timeout.
@hancocza Most probably your windows PCs have the CA certificate (imported) that was used to sign the other certificates. To be more concrete - the .NET keystore has the right CA cert to verify the other certs. But probably the Mac OS X mono keystore doesn’t!
Edit: Which version of mono did you install and which version of Mac OS X do you use?
@sebastian-roth OK now that we’ve identified that iPXE is having an issue init’ing the tigon driver, how about trying plan “B” booting directly info FOG? Its not the cleanest solution but it might allow the OP the ability to image these computers???
@CoolbluHat Good to hear that you got a little further. I might ask you to stop there and think it all over. Imaging the laptops over wireless? Do you really want this? Plus all the mess with two interfaces in the FOG server which you already see is causing a headache.
In case you really wanna go the wireless way I’d recommend setting up your FOG server to only have one leg - in that wireless network segment. Up till now we’ve never had anyone trying to image over wireless and we don’t have the wireless drivers included in the FOS kernel. So you will hit a wall there too.
I tried an ethernet to thunderbolt network connection, but the boot up doesn’t try to set up a DHCP address through that network method.
What going wrong when you try PXE booting on the thunderbolt NIC? Please describe what’s happening and possibly also post a picture of the error if you run into one. Seems to work: https://vimeo.com/95132633