MSEndpointMgr / ConfigMgrOSDFrontEnd

MIT License
11 stars 2 forks source link

Incorrect MAC address used when working with USB-C to LAN dongle #7

Open hotzenwalder opened 3 years ago

hotzenwalder commented 3 years ago

Maybe not an issue with the Frontend but who knows...

With the recent addition of the HP Elitebook G7 we need to use USB-C to LAN dongles to PXE boot the device into MEM. If we hit F12 we see the device report itself at the PXE boot server with a MAC address and a SMS BIOS GUID ID.

F8:0D:AC:C8:32:28, 8C2371E9-D616-0224-AFCA-66EED53E4462: found optional advertisement P01200B3 SMSPXE 23-2-2021 14:32:59 5644 (0x160C) The MAC address reported is the MAC address of the WiFi adapter of the laptop. This is the address we use to identify a system in MEM.

When the frontend starts and we check the Computer information the MAC address reported is not the MAC address of the laptop, but the MAC address of the USB-C dongle. In MEM we entered the MAC address of the dongle to the list of duplicate hardware identifiers so it is never registers as the MAC address of a laptop.

If we check the logfile of the frontend we also only see the MAC address of the USB-C dongle. If we do a IPCONFIG /ALL we see one ethernet adapter from Realtek (which is the USB-C dongle). We have the drivers for the WiFi adapter present in the WinPE boot image, but since PXE boot over WiFi is not supported I guess WinPE will only report the attached USB-C dongle ethernet adapter.

Since the WDS server reports the correct MAC address, will the frontend (which runs in WinPE) ever be able to report the same MAC address to SCCM instead of the MAC address of the USB-C adapter?

For now we switched to using UUID which works fine, but the helpdesk is used to using the MAC address of the laptops because these can be scanned with a barcode reader and the SMS BIOS GUID (UUID) not.

hkystar35 commented 3 years ago

I'm not the dev for OSDFE, but I'm still not clear what the actual issue is. If you've whitelisted the dongle MACs in ConfigMgr, where are you running into trouble with the other MAC? Are you dealing with 802.1x on your network?

Shot in the dark, but if there's a MAC passthrough setting in the G7 BIOS settings, I'd give that try pre-PXE.

hotzenwalder commented 3 years ago

The trouble or challenging issue is that if we used to rely on the MAC address to identify our systems in the frontend. This has become obsolete with newer laptops arriving without a LAN connector attached. What happens is this... when we PXE boot a laptop with a USB-C dongle we see the real MAC address in the PXE boot log. This is usually the address we use to identify a system in SCCM. However... when WinPE kicks in with the Frontend the only MAC address reported in WinPE or the Frontend is the MAC of the USB-C dongle. We cannot identify a system with that MAC address. We have MAC passthrough set to True in the BIOS, but this is of no use in WinPE.

We solved it by switching over to identifying the systems by UUID so everything is working fine now. The original issue was... why is the MAC address of the dongle reported in the Frontend/WinPE and not the MAC address that is reported on the PXE boot server after hitting F12. Would have been nice because than we could have continued using our current Frontend config. (use MAC as identifyer). Since we switched to UUID we recreated the bootdisk with a new Frontend config and everything is working fine again. It's a workaround and its working.

The only thing I can think of now is a way of using both MAC and UUID in the frontend. First the frontend checks for the MAC address. If this cannot be found in SCCM the frontend checks for the UUID. That way they can happily coexist in our environment. More a feature request than an issue.

But to answer your question... the actual issue was... the wrong MAC address is reported in WinPE/Frontend. We need to see the MAC address reported on the PXE boot server over MAC passthrough after hitting F12 and not the MAC address of the USB-C dongle.

EGGLAS commented 3 years ago

Dont know if our problems is related to this problem. Some Surface models breaks after all information have been typed in to the OSDFrontend. After pressing start and the task sequence should start it break and reboot the OS. We have to exclude the ethernet adapter MAC-adress to get this working. We also use UUID as identifity method.

oxfordchap commented 1 year ago

I had a similar issue and had to extract the driver from the windows install software at https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-usb-3-0-software and add it to the boot image. Then the pass through MAC address worked in WinPE also. Identifying by UUID is the sensible way to go.