# Please help me get a firewire hard drive working (2.6.7-r11)

## TheQat

I have a 160GB external hard drive formatted in ext3.  It has USB 2.0 and Firewire capabilties.  I am able to use it with USB 2.0, so this isn't really an urgent thing, but I would like to be able to use it with Firewire as well.  I've been trying and searching the forums for solutions for a good while now (2 weeks?  something like that), but nothing that helps has come up  :Sad: 

The main thing in my way is the following message, which I get from the command "mount /mnt/externhd":

```
mount: /dev/sdb is not a valid block device
```

Here is /dev/sdb's fstab line:

```
/dev/sdb      /mnt/externhd   ext3      noatime            0 0
```

Here is some (maybe) relevant dmesg output:

```
ohci1394: $Rev: 1223 $ Ben Collins <bcollins@debian.org>

ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[21]  MMIO=[e4003000-e40037ff]  Max Packet=[2048]

ohci1394: fw-host1: OHCI-1394 1.1 (PCI): IRQ=[17]  MMIO=[e3005000-e30057ff]  Max Packet=[2048]

ieee1394: raw1394: /dev/raw1394 device initialized

 /dev/scsi/host0/bus0/target0/lun0:<3>ohci1394: fw-host0: SelfID received outside of bus reset sequence

ieee1394: Node added: ID:BUS[0-00:1023]  GUID[0050770e00071002]

ieee1394: Host added: ID:BUS[0-01:1023]  GUID[000000044b808003]

ieee1394: unsolicited response packet received - no tlabel match

scsi1 : SCSI emulation for IEEE-1394 SBP-2 Devices

ieee1394: sbp2: Logged into SBP-2 device

ieee1394: Node 0-00:1023: Max speed [S400] - Max payload [2048]

ieee1394: sbp2: aborting sbp2 command

ieee1394: sbp2: aborting sbp2 command

ieee1394: sbp2: reset requested

ieee1394: sbp2: Generating sbp2 fetch agent reset

ieee1394: sbp2: aborting sbp2 command

ieee1394: sbp2: reset requested

ieee1394: sbp2: Generating sbp2 fetch agent reset

ieee1394: sbp2: aborting sbp2 command

ieee1394: sbp2: reset requested

ieee1394: sbp2: Generating sbp2 fetch agent reset

ieee1394: sbp2: aborting sbp2 command

ieee1394: Host added: ID:BUS[1-00:1023]  GUID[00023c0021006bef]

```

I've only had Linux installed for about a month and a half, so please explain things thoroughly if you have time  :Smile:   If you need any other info to further diagnose my problem, I'm sure I can provide it.

----------

## Ateo

Your fstab entry is incorrect. You are telling fstab to mount the hard drive itself (logically) to your mount point. You need to tell it which partition *of* /dev/sdb, eg: /dev/sdb1 or  /dev/sdb2, etc....

----------

## TheQat

Thanks Ateo, I appreciate it.  Unfortunately all this does is shift the focus of the problem: plugging in the Firewire drive doesn't result in a /dev/sdbx or /sdax, like plugging it in via USB 2.0 does.

In other words, when I plug the drive in via USB 2.0, ls /dev | grep "sd" returns

```

ptysd

sd

sda

sda1

ttysd
```

But when I plug it in via Firewire, ls /dev | grep "sd" returns

```

ptysd

sd

sda

ttysd
```

Further help needed  :Sad: 

----------

## Ateo

Ok. Then let's move on to your kernel. You should have the following enabled (or built as modules)

```
<*> IEEE 1394 (FireWire) support

---   Subsystem Options

[ ]   Excessive debugging output

[ ]   OUI Database built-in

[ ]   Build in extra config rom entries for certain functionality

---   Device Drivers

---   Texas Instruments PCILynx requires I2C

< >   OHCI-1394 support

---   Protocol Drivers

<*>   SBP-2 support (Harddisks etc.)

< >   Ethernet over 1394

<*>   Raw IEEE1394 I/O support

< >   IEC61883-1 Plug support
```

If this is how you have compiled your kernel.... well then... can you at least fdisk into /dev/sda when connected via firewire?

----------

## TheQat

Prior to you posting that I had OHCI-1394 enabled.  I recompiled the kernel with it off and now don't have /dev/sd, much less sda or sda1  :Sad:   Are you sure that's the right set of options?

EDIT: After re-adding OHCI-1394, it seems I cannot fdisk /dev/sda.  It returns 

```
Unable to open /dev/sda.
```

----------

## TheQat

Anyone else out there able to help at all?

----------

## ultimodruido

try this: 

```
echo scsi add-single-device 0 0 0 0 > /proc/scsi/scsi
```

you should change the group "0 0 0 0" with the right number of host, bus, target and lun of your system

bye nic

----------

## sameerd

I too have alot of problems with firewire and all the new 2.6 kernels. The problems are very similar to yours.  To solve some of the "aborting sbp2 command" errors the linux1394 website says

http://www.linux1394.org/faq.php#sbp2abort

to load the sbp2 module using the serialize_io = 1 option. 

```

modprobe sbp2 serialize_io=1

```

I did try this but it didnt seem to make much difference to me. I shifted back to the 2.4 kernels and I have no problems in 2.4.26.

----------

## TheQat

OK, I've gone back to 2.6.3 which I've read is the last kernel where firewire worked for some people.  I'm still getting the same errors, mostly.  I now need to know what to do about the "/dev/sda1 is not a valid block device" error, though.  Please help  :Sad: 

----------

## sameerd

Try the latest 2.4 kernels.

----------

## FuzzyOne

i've had no problems with kernel 2.6.3 tru to 2.6.7 r11 using the ASUS P4C800-E.  i don't have my exact kernel config handy , but i enabled the scsi drive stuff and the firewire stuff and everything works fine.   (ext3 120G ide)

----------

## ultimodruido

 *TheQat wrote:*   

> I now need to know what to do about the "/dev/sda1 is not a valid block device" error, though.  Please help 

 

Hi, I'm trying to install Gentoo on an external FW HD. I'm using an initrd to recognize the Prolific Combo controller...

I can create the device only with this line in the linuxrc file in the initrd:

```
echo scsi add-single-device 0 0 0 0 > /proc/scsi/scsi

sleep 3

mknod /dev/root b 8 1
```

the major & minor value can be found in /proc/partitions

```
cat /proc/partitions

major minor  #blocks  name     rio rmerge rsect ruse wio wmerge wsect wuse running use aveq

 

  33     0   30018240 ide/host2/bus0/target0/lun0/disc 25694 21824 379352 179020 8353 8314 133570 525280 -1 1371470 42172052  33     1    4096543 ide/host2/bus0/target0/lun0/part1 0 0 0 0 0 0 0 0 0 0 0

  33     2    6144862 ide/host2/bus0/target0/lun0/part2 25685 21784 379248 178930 8352 8314 133568 525280 0 144530 704670

  33     4          1 ide/host2/bus0/target0/lun0/part4 0 0 0 0 0 0 0 0 0 0 0

  33     5    1044193 ide/host2/bus0/target0/lun0/part5 1 0 8 10 0 0 0 0 0 10 10

  33     6      16033 ide/host2/bus0/target0/lun0/part6 3 25 56 20 1 0 2 0 0 20 20

  33     7    3108546 ide/host2/bus0/target0/lun0/part7 0 0 0 0 0 0 0 0 0 0 0

  33     8   15607116 ide/host2/bus0/target0/lun0/part8 0 0 0 0 0 0 0 0 0 0 0

```

I hope this can solve your problem... to someone did... with me no! I have to warn you 'cause my kernel mow recognize /dev/sda1, but he stops with 

```
sbp2: abort etc etc
```

when he's checking the filesystem (which has NO problem, I use it with the USB drive!)

Ciao nic

----------

