Linux Tips |
|
Installing and Configuring an IEEE1394 FireWire Hard Drive on Linux
by Jeff Hunter, Sr. Database Administrator
Developed by Apple Computer and Texas Instruments, FireWire is cross-platform implementation of a high-speed serial data bus. With its high bandwidth, long distances (up to 100 meters in length) and high-powered bus, FireWire is being used in applications such as digital video (DV), professional audio, hard drives, high-end digital still cameras and home entertainment devices. Today, FireWire operates at transfer rates of up to 800 megabits per second while next generation FireWire calls for speeds to a theoretical bit rate to 1600 Mbps and then up to a staggering 3200 Mbps. That's 3.2 gigabits per second.
Linux kernels 2.4.12 and above contain support for IEEE1394 devices, including disk drivers. (Support can be added to some earlier kernels). The Red Hat 7.3 release uses kernel 2.4.18-3 (built with hotplug-2002_04_01-3) while Red Hat 8.0 uses kernel 2.4.18-14 (built with hotplug-2002_04_01-13).
This article documents the steps necessary to install and configure an IEEE1394 hard drive on Red Hat 8.0 Linux. For this example, I will install a BUSlink USB 2.0 HI-Speed/1394 Combo Hard Drive to a Dell Dimension XPS D266 Computer. In addition to purchasing the FireWire hard drive, you will also need to purchase an IEEE1394 I/O Card.
FireWire Card
SIIG, Inc. 3-Port 1394 I/O Card - ($39)
FireWire Hard Drive
80GB BUSlink USB Hi-Speed & FireWire IEEE1394 External Hard Drive ($229)
The following modules are used to access the disk, noted in the order they are loaded.
With Red Hat 8.0, you should be able to power down the computer, install the
IEEE1394 I/O Card, plug in the FireWire hard drive and power on the system.
During the boot process, when Linux is bringing up all of its services, the
"Checking for New Devices" phase should recognize the new IEEE1394 device,
giving you the option of installing the module. By acknowledging this dialog,
the process should create the proper entry in /etc/rc.sysinit:
|
During the next boot phase, you will then see the following entry when Linux is starting all of its services:
|
With Red Hat 7.3, the kernel will not know anything about IEEE1394 disks, even if they are connected at the time of reboot. In order to recognize the disks, the ieee1394 and ohci1394 modules must be loaded:
|
This loads both ieee1394 and ohci1394. /var/log/messages shows:
|
For verfication that our disk is now being recognized, we can "cat" /proc/scsi/scsi.
This shows all scsi devices on the system, and should show our newly
connected disk:
|
The FireWire hard drive can now be accessed, formatted with fdisk, mounted, exercised, etc.
The BUSlink hard drive comes formatted with a single Windows VFAT32 partition. This can be read and written from linux, but file ownership/protection doesn't really exist in the unix sense. I typically remove the the VFAT32 partition and replace it with ext3.
First ensure, that the ohci1394 module is loaded. For details
of loading the ohci1394 module, see the next section
Configuring the System.
|
|
The above format command creates an ext3 filesystem. Once you reformat the disk for Linux, it will not be recognized on a windows system. You can't even reformat the disk on windows, because it will refuse to acknowledge that the disk exists. So, on a linux computer, you will have to reformat it back to vfat
To format the disk back for Windows, use the same procedure as above,
but in the fdisk command, use "b" instead of "83"
for the partition code. Then give the command:
|
Loading the ohci1394 module.
As mentioned in the Connecting and Recognizing the Drive section (above),
Red Hat 8.0 should handle the process of loading the ohci1394 module
by writing an entry in /etc/rc.sysinit. If you are using Red Hat 7.3
or if the auto-detection did not work, you will need to put the following entry
in /etc/rc.local to ensure an ieee1394 disk connection will cause
the disk to be recognized:
|
Add entry to /etc/fstab.
Add the following line to /etc/fstab and create the
corresponding directories (in this case /mnt/data):
|
During startup, the system attempts to mount the local filesystems in
/etc/fstab. The /dev/sda1 entry will fail,
because ohci1394 is not loaded until later. Aside from an error notice on the
startup screen, this causes no ill effects.
Mount the FireWire drive.
Use the following command to mount the FireWire hard drive:
|
or
|
To unmount the drive, use:
|
Before disconnecting the disk, it must be umounted to avoid data corruption.
After disconnecting the data cable, /var/log/messages shows that
ieee1396.agent was called with the "remove" argument.
At this point,
|
still shows that the
disk is present. However, attempting to access it (e.g., mount /dev/sda1)
results in an error message, but no other ill effects.
|
unloads ohci1394. Then
|
shows that the disk is gone. Attempting to unload ieee1394 with
|
gives an error: device or resource busy.
At this point, we can reload ohci1394, and reconnect the disk's data cable. The log file shows that the disk was seen and recognized. But
|
fails to see the disk, and it cannot be accessed until the system is rebooted.
Jeffrey Hunter is an Oracle Certified Professional, Java Development Certified Professional, Author, and an Oracle ACE. Jeff currently works as a Senior Database Administrator for The DBA Zone, Inc. located in Pittsburgh, Pennsylvania. His work includes advanced performance tuning, Java and PL/SQL programming, developing high availability solutions, capacity planning, database security, and physical / logical database design in a UNIX, Linux, and Windows server environment. Jeff's other interests include mathematical encryption theory, programming language processors (compilers and interpreters) in Java and C, LDAP, writing web-based database administration tools, and of course Linux. He has been a Sr. Database Administrator and Software Engineer for over 17 years and maintains his own website site at: http://www.iDevelopment.info. Jeff graduated from Stanislaus State University in Turlock, California, with a Bachelor's degree in Computer Science.
Copyright (c) 1998-2012 Jeffrey M. Hunter. All rights reserved.
All articles, scripts and material located at the Internet address of http://www.idevelopment.info is the copyright of Jeffrey M. Hunter and is protected under copyright laws of the United States. This document may not be hosted on any other site without my express, prior, written permission. Application to host any of the material elsewhere can be made by contacting me at jhunter@idevelopment.info.
I have made every effort and taken great care in making sure that the material included on my web site is technically accurate, but I disclaim any and all responsibility for any loss, damage or destruction of data or any other property which may arise from relying on it. I will in no case be liable for any monetary damages arising from such loss, damage or destruction.
Last modified on
Wednesday, 28-Dec-2011 14:11:11 EST
Page Count: 57385