I have a laptop (Ubuntu), two Pi (Raspbian and Arch) and a Netgear FS108 network switch. I can make any of the computers communicate via WiFi, but I want them to communicate via the switch (wired). I've been told that I need to assign IP addresses, but I don't know how to go about it. What should I do?
Simplest way would be that you plug your router (or whatever you used for wireless) into switch because it looks like your wireless router was DHCP server in that network. It should work automatically.
The simple approach is to let all hosts attached to your switch generate link-local addresses IPv4. They are in the 169.254/16 block. OS X and Windows hosts will do this by default in absence of a DHCP server.
On Linux, some distributions don't enable this functionality by default so you need to set it up by hand. It is known as Zero Configuration Networking. I thought Ubuntu came with Avahi already installed, but perhaps it's not running?
# install avahi sudo apt-get install avahi-daemon # set up a low-priority route route add default dev eth0 metric 99 route add -net 169.254.0.0 netmask 255.255.0.0 dev eth0 metric 99 # run the auto-ip daemon /usr/sbin/avahi-autoipd --daemonize --syslog --wait eth0
To check what hosts are present, from Linux you can do a broadcast ping:
ping -b 169.254.255.255