I am going to migrate the EDA software environment from Windows NT to Linux but I have still some software components requireing Windows. That's why I use Wine. I own and use some software packages licensed to a valid MAC address (flexlm MAC based license) and the corresponding NIC is present in the Linux system.
Using wine-20010824 I get the following message:
fixme:win32:DeviceIoControl Unimplemented control 256 for VxD device VNETBIOS
Given what you said above I wouldn't be entirely suprised if control 256 of VNETBIOS return the MAC address.
However...
I scanned the Web resources and studied the file 'win32/device.c' a little bit but I got no answers to my questions. Is there already a solution/implementation for this service? I am also ready to contribute (at least I hope I'm able to do so and it would be fun ;-) but I need some advice (docus, especially related to the VNETBIOS VxD and some general hints).
... documentation for VxD:s is virtually non existant.
Find out how VxD:s work generally involves low level reverse engineering.
I'm looking forward for any hints.
Hmm. Reading MSDN...
There is a DLL called NETAPI32.DLL that is not currentlu implemented in Wine that has a function Netbios that possible calls the VNETBIOS VxD.
Perhaps implementing this DLL in Wine would help at least it would be better than trying the figure out what the VNETBIOS VxD does.
The function Netbios in NETAPI32.DLL is at least documented.
Hmm. Reading some more...
Netbios has a command NCBASTAT that retreives the adapter status in a structure called ADAPTER_STATUS that has a field:
UCHAR adapter_address[6]; // Specifies encoded address of the adapter.
This might be the MAC address.
Implementing this in Wine wouldn't be that hard. If Linux provides a way to get the MAC that is.
I assume Linux does but I don't know how. Does anybody else know?