Broadband Adapter

The Nintendo GameCube Broadband Adapter (BBA) and the Nintendo GameCube Modem Adapter are a network adapter and 56k dial-up modem, respectively, for the Nintendo GameCube. They were produced by Conexant and made in the Philippines. The adapters fit flush into "Serial Port 1" on the underside of the GameCube and add an Ethernet port or telephone port to the side of the console, allowing the console to communicate with other consoles through a network.

As of, Dolphin's main branch has BBA emulation support. However, it requires a Virtual Private Network (VPN) in order to function. BBA emulation is supported on OS X since.

Games with BBA/Modem Support
= How to use the BroadBand Adapter =

Windows

 * Install OpenVPN TAP Adapter V9, included in the OpenVPN installer: OpenVPN download page
 * Go to start menu. Click TAP-Windows and then click Utilities. Right click Add a new TAP virtual ethernet adapter and run it as administrator. It will complete in a few seconds.
 * In Control Panel\Network and Sharing Center\Change adapter settings, select the TAP device and the adapter you use to connect to the internet.
 * Right-click and select Bridge Connections.

Linux
Install OpenVPN from your distribution package manager, then run the following commands (as root) to create the virtual interface and bridge it to your physical Ethernet adapter: openvpn --mktun --dev Dolphin0 --dev-type tap --user john --group doe # john:doe will be running the emulator brctl addbr br0 brctl addif br0 Dolphin0 brctl addif br0 eth0   # or whatever your network interface is ip l set Dolphin0 up ip l set br0 up ip l set Dolphin promisc on Dolphin supports multiple bridge interfaces so you'll be able to bridge multiple Dolphin instances together on the same system. Dolphin on Linux currently supports up to 32 bridges and will attempt to connect to bridges labeled from Dolphin0 to Dolphin31 sequentially until one suceeds or they all fail to connect to. Be careful with this, since if you attempt to use multiple Dolphin instances using the same broadband MAC address then games will encounter issues. For an example of how to bridge two Dolphin instances together and have two games like Mario Kart: Double Dash play with each other. openvpn --mktun --dev Dolphin0 --dev-type tap --user john --group doe # john:doe will be running the emulator openvpn --mktun --dev Dolphin1 --dev-type tap --user john --group doe brctl addbr br0 brctl addif br0 Dolphin0 brctl addif br0 Dolphin1 ip l set Dolphin0 up ip l set Dolphin1 up ip l set br0 up ip l set Dolphin promisc on You'll also need to change your network settings to configure IP/gateway on br0 instead of the real adapter. The IP address of the real adapter must be set to 0.0.0.0. Linux doesn't support adding a wireless interface to a bridge as of July 2012 so you need a wired NIC for that to work.

In case you still want to use a Wi-Fi network for connecting, there is the option to create another tunnel-interface over a UDP connection across the Wi-Fi network: openvpn --dev tap-dolphin --port 2626 --remote otherIP --local thisIP --ping 10 --ping-exit 60 --daemon ifconfig tap-dolphin 0.0.0.0 The created interface tap-dolphin can then be used to add to the br0 bridge instead of eth0. This only works if the bridge br0 interface is set to promiscuous. The game expects a DHCP server to provide a suitable IP address on one of the participating machines, like: dhcpd br0

NOTE: There is no encryption for the tunnel. Read the OpenVPN manpage for setting up the tunnel with encryption and/or authentication.

Linux NetworkManager
This will create a permanent bridge with your Dolphin tun and Ethernet devices. Replace eth0 with your actual network interface.

nmcli connection add ifname br0 type bridge con-name br0 bridge.stp no nmcli connection add type tun ifname Dolphin0 con-name Dolphin0 slave-type bridge master br0 mode tap owner `id -u` group `id -g` 802-3-ethernet.accept-all-mac-addresses true nmcli connection add type bridge-slave ifname eth0 master br0 nmcli connection up br0 # will not activate if eth0 is currently used

Now deactivate the active connection (usually something called "Wired connection 1") and the bridge will complete.

MacOS
Install the TUN/TAP kext files, then install OpenVPN from your distribution package manager. Run this command to move the OpenVPN alias: mv /usr/local/sbin/openvpn /usr/local/bin Since Dolphin and OpenVPN needs access to /dev/tap0 and /dev/tap1, it must be owned by the current user: sudo chown -R $(whoami) /dev/tap0; sudo chown -R $(whoami) /dev/tap1 NOTE: In the kext file for tap and tun, it will automatically make /dev/tap0 and /dev/tap1 owned by the root when the computer restarts.

Dolphin and the OpenVPN network cannot communicate with each other until there is a network bridge created: sudo ifconfig bridge1 create Start OpenVPN network: openvpn --dev tap1 --port 2626 --remote otherIP --local thisIP --ping 10 --ping-exit 60 --daemon Once both computers are connected, add tap1 to the network bridge. sudo ifconfig bridge1 addm tap1 After launching the game in Dolphin, make sure the log is on and the log type is set to SP1. When the log shows: "BBA Initialized," add tap0 to the bridge. sudo ifconfig bridge1 addm tap0

NOTE: There is no encryption for the tunnel. Read the OpenVPN manpage for setting up the tunnel with encryption and/or authentication.

With XLink Kai
As of, Dolphin supports BBA tunneling through XLink Kai. Instructions can be found on XLink Kai's Wiki Page.

Configure Dolphin
Enabling or disabling the BBA can be done at Config > GameCube > SP1, select Broadband Adapter (TAP) or Broadband Adapter (XLink Kai).

By clicking on "...", you can either change the MAC Address (TAP) or the IP Address (XLink Kai).

Now you may play any games which use the BBA.