MAC address w/o networking HUD?



Gereon
07-09-2005, 10:25 PM
We have an onboard NIC (Realtek RTL8139 Family PCI Fast Ethernet NIC) on our
embedded system's motherboards that we don't use for any networking purpose,
except we were considering using its MAC address as a unique system
identifier. I'm hoping to find a way to include just enough functionality
to get the MAC address out of the hardware without dragging in networking
functionality that we don't need. Does anyone have any suggestions on how
to do this?

KM
07-09-2005, 10:25 PM
Gereon,

You can count on getmac.exe utility ("Server Command Line Tools" component)
and satisfy its dependencies. Although I don't think it is a smal piece.
Also, ipconfig /all will return the MAC addresses of all the installed NICs.


You can certainly use GetAdaptersInfo API to the the MAC address. You would
need TCP/IP stack and IP Helper stuff included in the image.
Or use SendARP API. Something like this:
http://groups-beta.google.com/group/microsoft.public.windowsxp.embedded/msg/21496a9d14edcce7?hl=en

Going "deeper" you could use NetBIOS (NetWkstaTransportEnum API) to get the
MAC. But it still requires the NETBIOS stack to be installed (and TCP/IP).

Another low level approach would be quering NDIS miniport driver with
OID_802_3_CURRENT_ADDRESS
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/network/hh/network/23ethoid_e5a532d2-8b51-4a68-ab05-19fb86825b15.xml.asp).

KM

> We have an onboard NIC (Realtek RTL8139 Family PCI Fast Ethernet NIC) on
> our embedded system's motherboards that we don't use for any networking
> purpose, except we were considering using its MAC address as a unique
> system identifier. I'm hoping to find a way to include just enough
> functionality to get the MAC address out of the hardware without dragging
> in networking functionality that we don't need. Does anyone have any
> suggestions on how to do this?


MAC address w/o networking HUD?