Sunmachine: CopperPhil, I installed the CopperLan
Package on both of my computers and it works great, so I
obviously did it right. Still I was wondering if it's
enough to install it on only one machine because you
actually need the CopperLan Manager only in one place
to access the whole network.
CopperPhil: Yeah... many people believe that when
they just install a "CopperLan Manager" software. But
actually the CopperLan package contains:
- the CopperLan engine (daemon/service)
- the Ethernet protocol driver
- the Virtual MIDI Driver
- the CopperLan USB driver
- the CopperLan Manager (the visible part of the iceberg).
And all of this is necessary at some point. It is not
necessary to have the CopperLan Manager running in order to
communicate between computers/equipment. This application is
just needed if you want to create connections, patch MIDI,
assign controllers, edit parameters using the universal
editor, grab/restore snapshot... But once you have created
your Virtual MIDI cables, assigned your controllers, you can
shut down the CopperLan Manager and everything is still
working. Similarly you can connect two CopperLan hardwares
(two computers, two embedded devices, a computer and an
embedded device...) using a straight cable, without switch
or router. No IP address configuration is needed, no need of
a DHCP server. Out of the box, plug & play. This is one of
the most important features in CopperLan!
Sunmachine: Ok, I see! Thanks for the clarification.
So the CP USB driver is needed for CP devices that are
connected via USB like the upcoming CME keyboard?
CopperPhil: Yes the USB driver is provided for
CopperLan USB devices. So it's very easy to deploy such
gear. The great thing is you can move your CopperLan USB
device from computer A to computer B and continue playing
without needing to reconfigure anything! Existing
connections are automatically re-routed to the new location.
Another feature that is very appreciated by manufacturers is
the firmware upgrade sub-system. You have seen that the
CopperLan Manager suggests to download and install new
versions of CopperLan when available. The concept has been
extended to hardware devices. Manufacturers do not need to
worry anymore on how to upgrade their firmware, it can be
done automatically through CopperLan even for USB or
Ethernet devices.
Sunmachine: That's indeed quite cool! What about
latency? Do you recommend to connect two computers directly
instead of using a router to get lower latency or doesn't it
make much difference?
CopperPhil: There is no absolute rule. Linking two
computers directly usually gives the best performance, but
it is not always the case. It depends on the ethernet
adapter. In some cases it is better to use an Ethernet
switch. CopperLan works with any commercial switch, but it
is true that the latency is directly depending on the switch
quality. However, it is not a question of price, some
very cheap switches have very good performance, you do not
need a Cisco managed switch to get very low latency. We made
a lot of tests with several switches, measuring latency and
jitter between two hardware devices based on Pic32 MCU@80Mhz
on a 100Mbit network (embedded devices -> no perturbation
due to the operating system + possibility to measure timings
using a Scope). The average latency is lower than 500
micro-seconds, and jitter around 150 micro-seconds.
MICRO-seconds! Then it depends of the application code
of course. Latency between two computers through a Gbit
network is far less these values. At this level, most
of the latency is due to the non-real-time operating system.
CopperLan is designed to offer very good latency/jitter. But
actually it is just software and it depends directly on the
hardware and operating system in case of computers. |