2 Networking
ksherlock edited this page 2023-05-01 18:17:22 -04:00

Ample uses the vmnet.framework for networking. Think of it as a virtual ethernet device, DHCP server, DNS server, and router. There are a few limitations to keep in mind:

  • vmnet requires an unobtainable (app-store only?) entitlement. Or root access. Since Ample isn't in the app store, we need the second option. Specifically, there is a helper app (vmnet_helper) that runs as root. In Ample preferences, you will need to click the button to "fix the permissions" before it will work. (upgrading Ample wipes out the permissions so it needs to be done after every upgrade as well). "Fixing permissions" is essentially "sudo chown root vmnet_helper && sudo chmod +s vmnet_helper".

  • DHCP is required. vmnet has packet filters in place to block most activity until a DHCP connection is established.

  • On the MacOS side, vmnet is bridge100 for wireshark, ifconfig, etc purposes. (Wireshark likes to warn that the TCP CHECKSUM is INCORRECT on all incoming packets. This can be ignored or disable.)

  • DHCP will assign an address in the 192.168.64.xx range, with 192.168.64.1 as the gateway, DNS, DHCP server.

  • Your macintosh can be accessed as 192.168.64.1. Other IP addresses usually work (eg, if your wifi is 192.168.1.234) but some software may not like that. VEDrive, for example, compares the UDP source IP Address so only 192.168.64.1 will work.

  • vmnet re-uses parts of the Mac Internet Sharing (MIS). When both are in use, I have seen the DHCP server stop working for MIS. Turning MIS off and back on might resolve it.

  • vmnet assigns a MAC address. Apple II NICs (Uthernet, Uthernet II, LANceGS) do not have an assigned MAC address (well, LANce has a MAC address stored in the non-volatile RAM) so it can't be communicated back into emulation. Ample MAME silently rewrites ethernet headers, DHCP messages, and ARP messages to swap MAC addresses. This should only be an issue if you're wondering why the MAC address is wrong in wireshark or if you're doing something really weird.