The Kyma user who is interested in using one of the available wireless controllers like Kyma Control, vKiP, vKi, or TouchOsc, or who is interested in exploring the world of OSC control using something like Max, is faced with the task of how to establish a network connection between their Mac and the Paca or Pacarana. If the setup already includes an Ethernet-based network, and there is a router, switch, or hub close by, then the solution is easy: use an Ethernet cable to connect the Paca(rana) into the larger Ethernet network.
But what about those situations where such an existing network is not in place? Or perhaps a live performance setup where every bit of kit is an opportunity for failure, where a premium is placed on a minimal setup? Or maybe you just desire a dedicated link between your Mac and the Paca(rana) to insure the highest performance and highest reliability?
Connecting the Paca(rana) to the Mac is just part of the story. There is still the matter of how to best configure OS X's network setup. The Paca(rana) handles its end of things automatically which for the most part is a good thing. However there are some implications that will shape how you set up OS X.
The main challenge is correctly setting the Mac's IP address. If you are new to networking, or just want a refresher, it might help to look at our Networking Guide. Many users spend their entire computing lives without having to concern themselves with IP addresses. Such is the way of modern Wi-Fi, cable modems, and personal computers. And to some extent this is true when you directly attach your Paca(rana) to your Mac's Ethernet port. OS X and PacaOS do their best to make everything "just work". Unfortunately the result may not be optimal.
The common way to set up the direct connection is to set your Mac's Ethernet port as shown in this screen shot:
Notice how "Configure IPv4" is set to DHCP. This instructs OS X to get its IP address from a DHCP server. DHCP servers are responsible for handing out IP address so that all network participants have a unique address, and are able to communicate with the other participants. DHCP servers are typically found in routers and Wi-Fi access points.
PacaOS is also configured to use DHCP. It too will ask any DHCP server it might encounter to provide a workable IP address. So when the Mac and Paca(rana) are both connected to a larger network that includes a DHCP server, for example your studio's overall network, then everything proceeds quite smoothly.
Suppose your Mac has a second network port, for example the Airport Wi-Fi, connected to a larger network. Wouldn't that facilitate the Ethernet getting an IP address from the DHCP server? Unfortunately no. Each network is separate. Furthermore both networks really do not "talk" to each other. "Bridging" two or more networks requires special software. PacaConnect's PacaProxy feature provides such a bridging facility for communications to and from a Paca(rana).
So what happens when the Mac and Paca(rana) are direct connected, and there is no DHCP server? OSX and PacaOS both follow a standard procedure to "self assign" an IP address. Self assigned IP addresses are drawn from a pool of IP addresses set aside for this exact purpose. The procedure each device follows is quite robust and guarantees each ends up with a unique IP address. So even in the absence of a DHCP server the devices can communicate with each other.
The above screen shot shows the Mac having already self-assigned its IP address. The "clue" that it is self-assigned is that the IP address is in the range 169.254.XXX.YYY. This is the range of IP addresses set aside as the self-assigned pool.
Why not just manually assign an IP address and be done with it once and for all? PacaOS does not currently support manually assigned IP addresses so you must pick one from the self-assigned pool. And while that is possible it goes against the spirit of the self-assigned IP addresses. So if you do such a thing it must be with the full knowledge that it may interfere with devices doing self-assignment. But in certain specialized situations this can be done, provided you are willing to accept that your connection is now "non-standard". We will return to this point in a bit.
If you set up your Mac's Ethernet port as shown then in theory you should have a good connection between your Mac and Paca(rana). Unfortunately in the real world you may encounter problems. Our testing here at Delora Software has uncovered a number of subtle issues that do indeed cause troublesome intermittent problems.
The crux of the problem is that computers, like your Mac, never really consider self-assigned IP addresses as fixed: They are a temporary measure until a more "proper" IP address is retrieved from a DHCP server. OS X never really gives up looking for a DHCP server. It periodically requests a new IP address in the hopes that a DHCP server may be listening.
OS X seems also to revisit self-assignment whenever other networking matters undergo a change in the Mac, like when a computer-to-computer set up changes. Usually these changes do not impact the Mac-to-Paca(rana) network, but we have observed it causing momentary loss of connection, and in rare cases the connection stays "broken" until the Paca(rana) is restarted.
This is not to imply that there is something wrong here. This is likely the unintended consequences of the complex networking landscape that OS X hides so effectively. Regardless of the cause the end result may cause frustration: dropped connections between Kyma Control and your Paca(rana), or instances where PacaConnect suddenly seems to have forgotten how to do its job.
Most Paca(rana) owners will encounter these sorts of problems when using PacaConnect. Other software that sends OSC network messages to and from the Paca(rana) can also encounter the same difficulties. So the following recommendations for PacaConnect users may also be beneficial if you are using something else with your Paca(rana).
Our testing led us to what we believe is a practical, workable solution to the problems outlined. It appears to significantly reduce the number of intermittent problems. The key ingredient: manually assign the Mac's IP address.
Wait - didn't you just tell us that was not advised?
Technically, yes, you should not manually assign an IP address from the self-assigned IP pool. The standard, RFC3927, is quite specific on this point. But the reason for this restriction is insuring the standard works in all situations. Our application is far more narrow: a single connection between a Mac and a Paca(rana).
Before you go down this road understand that this is a "fix" if your set up has exhibited intermittent ("flaky") behavior. If you truly believe your set up is already solid then do nothing and file this all away for the day if you should encounter problems.
You should also only consider this solution if only the Mac and Paca(rana) are connected by a single cable; no other devices on the same Ethernet network, and no switches or routers! Finally, if you regularly move your Mac about and sometimes connect its Ethernet port to a more traditional network with routers or access points (and likely a DHCP server!) you will have to remember to change the setting back to DHCP. Create a couple of "Location" profiles to make it easier to switch back and forth.
Should you take this road there are benefits. Once the Mac has a manually assigned IP address it no longer spends time asking a DHCP server for one, so connections quicken. Other network events will no longer cause OSX to revisit the self-assigned issue, making the connection more robust.
The trick is to pick an IP address you can be sure the Paca(rana) will not also try to use. Actually even that does not matter because if the Paca(rana) tries to use the same IP address it will just try another. But that can cause the Paca(rana) to take a little longer to connect.
Fortunately the self-assigned IP address standard sets aside a number of IP addresses that are technically part of the same network range but reserved for "future use". We are already across the line into the territory of "not supposed to do that" so it seems hardly necessary to avoid doing something due to possible "future use". When that future arrives the whole situation can be reexamined. Until then we are free to manually assign one of those reserved IP addresses to the Mac's Ethernet port. Since PacaOS "plays by the rules" it will not assign one of those addresses.
This screen shot shows one of the special IP addresses manually assigned to the Ethernet port. Addresses between 169.254.0.1 and 169.254.0.254, or 169.254.255.1 and 169.254.255.254 can be used. Take your pick.
As with most things related to the computer be sure and test out your set up well in advance of an on-stage performance or a critical studio session. It is also helpful to leave PacaConnect's preference pane open to see whether it believes things are healthy or not. If you see yellow or red indicators in the Paca(rana) area it means something has gone wrong with the Paca(rana) connection. Even if you think you have all of your networking woes solved it helps to periodically monitor things, especially if you encounter problems using your iPad or iPhone with Kyma.