I wanted a quicker way to transfer files between two laptops than via wifi. One’s is running Ubuntu Linux, the other Windows XP.
Both machines have a 4-pin FireWire port (labeled 1394, apparently someone owns the rights to the “FireWire” name and someone else doesn’t want to pay royalties). I borrowed a 4-pin to 4-pin cable from my brother-in-law and set out to try to connect the machines.
I knew that Windows has built-in IP-over-1394 support, the clincher was enabling it under Linux. Ubuntu has the required modules installed and the kernel I use can use them. There is a project page for Linux1394 if you need to get the modules and install them by hand.
I loaded the network module eth1394
by running
$ sudo modprobe eth1394
(Maybe this isn’t strictly necessary, but I didn’t find any reference to the module in the dmesg
output.) Checking /var/log/messages
, I saw that the interface got the name eth2
.
Then I connected the computers with the cable (after enabling the interface in Windows). I heard a “cable connected” sound in Windows. Running
C:\> ipconfig /all
showed me that the interface was up. After a while I got a private address (169.254.203.16, netmask 255.255.0.0). I configured a static address on the Linux side:
$ sudo ifconfig eth2 up 169.254.203.17 netmask 255.255.0.0
I then started an FTP client in Windows, pointed it to the address defined in Linux, and started transferring files. I’m getting about 2.5 MB/s which isn’t too shabby.
Update: some quick perusal of the transfer logs gave me a average transfer rate of 1.45 MB/s.