hotpluging a firewire disk

Christopher K. Johnson ckjohnson at gwi.net
Tue Jul 6 22:33:21 UTC 2004


Steven R. Ringwald wrote:

> Edward wrote:
>
>>
>>
>> David Jansen wrote:
>>
>>> I ran into a problem setting up a Linux system for a co-worker. He has
>>> an external firewire disk.
>>> The problem is: when it is connected, the system detects a new device:
>>>
>>> # cat /proc/bus/ieee1394/devices
>>>   Vendor ID: `Linux OHCI-1394' [0x004063]
>>>   Capabilities: 0x0083c0
>>>   Bus Options:
>>>     IRMC(1) CMC(1) ISC(1) BMC(0) PMC(0) GEN(0)
>>>     LSPD(2) MAX_REC(2048) CYC_CLK_ACC(0)
>>>   Host Node Status:
>>>     Host Driver     : ohci1394
>>>     Nodes connected : 2
>>>     Nodes active    : 2
>>>     SelfIDs received: 2
>>>     Irm ID          : [0-01:1023]
>>>     BusMgr ID       : [0-63:1023]
>>>     In Bus Reset    : no
>>>     Root            : yes
>>>     Cycle Master    : yes
>>>     IRM             : yes
>>>     Bus Manager     : no
>>> Node[0-00:1023]  GUID[0004da00e0014ddb]:
>>>   Vendor ID: `Granite Digital' [0x0004da]
>>>   Capabilities: 0x0083c0
>>>   Bus Options:
>>>     IRMC(0) CMC(0) ISC(0) BMC(0) PMC(0) GEN(0)
>>>     LSPD(0) MAX_REC(64) CYC_CLK_ACC(255)
>>>   Unit Directory 0:
>>>     Vendor/Model ID: Granite Digital [0004da] / FireVue 1394-IDE 
>>> Bridge LUN0 [000000]
>>>     Software Specifier ID: 00609e
>>>     Software Version: 010483
>>>     Driver: SBP2 Driver
>>>     Length (in quads): 8
>>>
>>> But what it detects is just the electronics in the enclosure, which is
>>> essentially an IDE-controller to which the actual disk (Maxtor 300 GB)
>>> is connected. So an sbp2 driver gets loaded, and nothing more.
>>>
>>> I figured out that it works to do:
>>> # echo "scsi add-single-device 1 0 0" > /proc/scsi/scsi
>>> after which /dev/sda1 exists. So basically my only remaining question
>>> is: where to add this in the scripts of hotplug or devlabel or 
>>> whichever
>>> component can do such a task.
>>
Actually I have a firewire drive working on FC2 with  
kernel-2.6.6-1.435.2.3 just by adding this to  /etc/modprobe.conf:
alias ieee1394-controller ohci1394

This caused the drive to be detected and the primary partition as sda1 
when I plugged it in and powered it on.  I added it to devlabel with:
devlabel add -d /dev/sda1 -s /dev/firewire
But on subsequent hotplugging devlabel did not pick up on the added 
drive and create the symbolic link which mount until I executed:
devlabel reload

I too am looking for the magic incantation to make hotplugging seamless.
BTW, among the kernel's changelog comments is this:

* Wed May 19 2004 Arjan van de Ven <arjanv at redhat.com>
- put firewire race fix in (datacorruptor)

So I presume that firewire is now safe to use.

-- 
-----------------------------------------------------------
   "Spend less!  Do more!  Go Open Source..." -- Dirigo.net
   Chris Johnson, RHCE #807000448202021





More information about the users mailing list