Cross-Platform Firewire Networking at Home?
Stahnke asks "I have two computers that I need to exchange data between. I do music-production on a Windows-based system and have everything else on a Linux system. I need to exchange HUGE amount of data (5GB at a time sometimes) between the two systems as fast as possible while clients are waiting for me. 10/100 Ethernet is too slow, and fiber is just too expensive. Can Linux (2.4) do Firewire networking with a Windows machine? If so, how, and what tools are out there? I have a Firewire card working in Linux, but I haven't had luck with TCP/IP via Firewire yet."
Perhaps if this is not possible, in the way of direct network connections, a halfway point may be worth considering. As firewire's hot-pluggability is a feature, go for a medium sized firewire drive that can be used purely for transporting files
Admittedly it's not quite as neat a solution at first glance as just firewire-cabling between two machines - but it sounds as good an excuse as any to buy an iPod!
> Three Words: Firewise Drive
First, "Firewise Drive" is two words.
Second, it's "Firewire Drive". That's a good suggestion.
Third, the poster should investigate gigabit ethernet. Gigabit ethernet can be achieved over copper. Although I believe gigabit ethernet hubs/switches are still awefully expensive. However two inexpensive gigabit ethernet cards can be directly connected (i.e. no hub/switch needed) together with a crossover cable.
Fourth, if the systems are capable of hot-swapping drives, the poster could plug a drive into the Linux box, load up the data, yank the drive and stick it in the Windoze box.
Fifth, when writing the data out to a drive initially on the Linux box, use Raid-1 (mirroring) to write to two drives simultaneously. Then yank one drive out of the Linux box and stick it in the Windoze box. No waiting for copying.
You might like to have a look at fibre channel. Not sure of the extent of support in Linux, but Windows has it already supported (as you'd imagine).
Fibre channel is expensive but notable due to higher %age usage in real-world use. The max throughput on Ethernet (you refer to IP) is somewhere between 30% and 50%, whereas fibre channel can realistically get up to about 80% usage. So, on a 1Gb card, that's not too shabby.
Anyway, others will have better hands on experience but it might serve as a useful alternative avenue to explore.
Aegilops
I would seriously look at gigabit networking. a) its faster, b) it will work. currently there is no standard for the medium the transmits your IP packets so it is unlikely for two IP stacks to work over IEEE 1394. If you can't afford the price of two gigabit nics I would wonder how much your clients time is really worth. (btw, you dont need a gigabit switch because you can use a cross-over cable.).
Just use gigabit ethernet.
My laptop and my cousins laptop both have gigabit ethernet in it as standard. We connected them together with some twisted pair (you will need a crossover cable) and we got 1000BaseT.
Mmmm, gigabit......
I am sure you can get 2 gigabit ethernet nics at a decent price, get some cat5e or cat6 or whatever it is you need (gigabit uses all 8 wires; 4 pairs, not just 2 pairs like 10mbit and 100mbit) and you are set.
D.
You can tell how powerful someone is by the magnitude of the crime they can commit and be able to get away with.
Although not strictly relevant to your question, I feel the need to point out that if you had Apple CPUs with built-in Firewire, you could do exactly what you're asking for. To wit: by restarting one in "FireWire Target Disk Mode", which involves simply restarting and holding down the "t" key, that unit's HD will appear on the desktop of another Mac just like any other externally mounted FireWire HD would.
Depending on how much you need this feature, you might consider a "switch"--why not use the tools that provide the features you need?
--
$tar -xvf
FireWire 400 Mbit/s ~ 50 MB/s
Speed close to theoretical speed. Direct PC to PC might possible. Guesstimated speed around 40-45 MB/s.
FireWire 2(?) 800 Mbit/s ~ 100 MB/s
New version, Apple already supports on high-end, but likely there is no support for PC, or even interface, or very expensive. Speed close to theoretical speed. Direct PC to PC might possible. Guesstimated speed around 80-95 MB/s.
Drive Swap 1064 Mbit/s ~ 133 MB/s
Well, you will have to csave on PC, load on the other one. That makes speed at least half of theoretical one. Drives are not physically capable of these speeds, only around 40MB/s sustained. Guesstimated speed around 20 MB/s.
Gigabit 1000 Mbit/s ~ 100MB/s
Direct PC to PC possible. You need 64 bit PCI cards to get colse to 100MB/s. Guesstimated speed around 90-95 MB/s.
Ethernet 100 Mbit/s ~ 10MB/s
Cheap, easy, cheap, but slow. No special needs. Guesstimated speed around 9-10 MB/s.
USB2.0 480 Mbit/s ~ 60MB/s
Cheap, high(er) CPU overhead. Need PC-to-PC host bridge (might be hard to locate). Guesstimated speed around 40-50 MB/s.
Code poet, espresso fiend, starter upper.
Linux Firewire TCP/IP is possible and their is a kernel patch for 2.4.18 and its built into 2.5.x and will be a feature of 2.6 -BUT-
:)
this is TCP/IP ONLY!, that means that windows file sharing will not see across this medium, you will have to use IP (//192.x.x.youipwhatever/share) which may not be a problem for you but it's something to consider.
This does work well, i have a firewire400 link between a windowsXP machine and gentoo linux and it works very well. I use NFS for file sharing as i feel Windows is the "guest" on my network and should pay homage to the exsisting linux machines
i do get very close to optimal speed accross this link for file sharing. i have susstained ~45Megabytes/second transfering large video files. on these same machines with 100 speed networking i get about 9.5Megabytes/second and with gigabit i can get about 35Megabytes/second, but only on large files.
The firewire link is by far the fastest but i think the gigabit is being help back by immature drivers on the linux side.
good luck.
400 Mbps FireWire makes it sound like you will get 4x better than 100Mbps Ether, but in practice you won't.
Gig Ether will do what you want.
If you still want more info on FireWire networking, visit my research page.
Note that these will all likely be capped to 35-40 MB/sec if you have IDE drives, maybe a little bit more for 7200 RPM SCSI.
So far I've found the 1394 networking support for Linux to be pretty slow... For some reason it seems to put the interface into 100 mbit/sec mode.
USB2 can't even come CLOSE to theoretical max throughput. I have a combo USB2/1394 drive enclosure. In 1394 mode, hdparm -t gives a result of approx. 23 MB/sec. In USB2 mode, the same benchmark gives a result of 12 MB/sec. (For a 64MB sustained read)
retrorocket.o not found, launch anyway?
yeah, but both OSes need to know who's reading and writing to the disk at a given point in time. You'd still need some kind of volume manager software, and they're expensive (in comparison to the hardware).