Re: [BUG] ieee1394 sbp2 driver is broken for kernel >= 2.4.21-rc2

Jocelyn Mayer (jma@netgem.com)
03 Jun 2003 21:01:28 +0200


On Tue, 2003-06-03 at 20:27, Georg Nikodym wrote:
> On 03 Jun 2003 20:11:57 +0200
> Jocelyn Mayer <jma@netgem.com> wrote:
>
> > Thanks for your help, but I think you're wrong:
>
> I doubt it. Ben's one of the authorities on this stuff.

Right, I can believe this.

>
> > First, I never trust hotplug or other tools like this:
> > I do all insmod by hand, so I know all drivers have been loaded.
> > What is hotplug supposed to do (but wasn't in previous driver
> > version...) ?
>
> I compile this stuff directly into my kernel. Doesn't make a
> difference.
>
> > The second thing I see is that it used to work,
> > before 2.4.21-rc2. The only difference is in the kernel driver,
> > so it should work with no user-space tool, as it used to.
> > If not, the driver is now buggy...
>
> Well, I've _always_ needed either rescan-scsi-bus.sh (or scsiadd -s
> since I switched to Debian). If there's some magic that you've been
> doing that obviates this requirement, we're all ears.
>
> -g

No magics.
I must precise that I don't use any standard distribution:
I bootstrapped my own distrib from scratch,
using sources from the web.
Also note that I don't have neither rescan-scsi-bus nor scsiadd
anywhere on this machine.

I just did a new test a few minutes ago.
To be sure that there are nothing done that I can't control,
I removed /sbin/hotplug (rm -f /sbin/hotplug).

I did exactly:

modprobe ieee1394
modprobe cmp
modprobe ohci1394
modprobe amdtp
modprobe sd_mod
modprobe sbp2

(I use modprobe so I don't have to write the whole path for insmod,
but do all step by step...)

Before this I had:
/proc/scsi/scsi:
root:~$ cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: SONY Model: CD-RW CRX800E Rev: 1.3p
Type: CD-ROM ANSI SCSI revision: 02

After I inserted sbp2, I get:

root:~$ cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: SONY Model: CD-RW CRX800E Rev: 1.3p
Type: CD-ROM ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: Maxtor 6 Model: Y080L0 Rev: YAR4
Type: Direct-Access ANSI SCSI revision: 06

The Maxtor disk is my Firewire one !

I currently use 2.4.21-rc6 kernel with 2.4.21-rc1 ieee1394 stack:

jocelyn:~$ cat /proc/version
Linux version 2.4.21-rc6-compat (jocelyn@(none)) (gcc version 3.2) #3
Sun Jun 1 21:02:23 CEST 2003

jocelyn:~$ cat /proc/modules
sbp2 19024 0 (unused)
sd_mod 12332 0 (unused)
amdtp 8596 0 (unused)
ohci1394 28016 0 [amdtp]
cmp 2532 0 [amdtp]
ieee1394 45288 0 [sbp2 amdtp ohci1394 cmp]
sungem 25840 1 (autoclean)
sungem_phy 5952 0 (autoclean) [sungem]

jocelyn:~$ cat /proc/scsi/sbp2/1
IEEE-1394 SBP-2 protocol driver (host: ohci1394)
$Rev: 878 $ James Goodwin <jamesg@filanet.com>
SBP-2 module load options:
- Max speed supported: S400
- Max sectors per I/O supported: 255
- Max outstanding commands supported: 64
- Max outstanding commands per lun supported: 1
- Serialized I/O (debug): no
- Exclusive login: yes

ote that I don't have neither rescan-scsi-bus nor scsiadd
anywhere on this machine.

I just did a new test a few minutes ago.
To be sure that there are nothing done that I can't control,
I removed /sbin/hotplug (rm -f /sbin/hotplug).

I did exactly:

modprobe ieee1394
modprobe cmp
modprobe ohci1394
modprobe amdtp
modprobe sd_mod
modprobe sbp2

as root.

(I use modprobe so I don't have to write the whole path for insmod,
but do all step by step...)

Before this I had:
/proc/scsi/scsi:
root:~$ cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: SONY Model: CD-RW CRX800E Rev: 1.3p
Type: CD-ROM ANSI SCSI revision: 02

After I inserted sbp2, I get:

root:~$ cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: SONY Model: CD-RW CRX800E Rev: 1.3p
Type: CD-ROM ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: Maxtor 6 Model: Y080L0 Rev: YAR4
Type: Direct-Access ANSI SCSI revision: 06

The Maxtor disk is my Firewire one !

I currently use 2.4.21-rc6 kernel with 2.4.21-rc1 ieee1394 stack:

jocelyn:~$ cat /proc/version
Linux version 2.4.21-rc6-compat (jocelyn@(none)) (gcc version 3.2) #3
Sun Jun 1 21:02:23 CEST 2003

jocelyn:~$ cat /proc/modules
sbp2 19024 0 (unused)
sd_mod 12332 0 (unused)
amdtp 8596 0 (unused)
ohci1394 28016 0 [amdtp]
cmp 2532 0 [amdtp]
ieee1394 45288 0 [sbp2 amdtp ohci1394 cmp]
sungem 25840 1 (autoclean)
sungem_phy 5952 0 (autoclean) [sungem]

jocelyn:~$ cat /proc/scsi/sbp2/1
IEEE-1394 SBP-2 protocol driver (host: ohci1394)
$Rev: 878 $ James Goodwin <jamesg@filanet.com>
SBP-2 module load options:
- Max speed supported: S400
- Max sectors per I/O supported: 255
- Max outstanding commands supported: 64
- Max outstanding commands per lun supported: 1
- Serialized I/O (debug): no
- Exclusive login: yes

jocelyn:~$ cat /proc/bus/ieee1394/devices
Node[00:1023] GUID[000393fffeab0e76]:
Vendor ID: `Linux OHCI-1394' [0x000000]
Capabilities: 0x0083c0
Bus Options:
IRMC(1) CMC(1) ISC(1) BMC(0) PMC(0) GEN(8)
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 : [00:1023]
BusMgr ID : [00:1023]
In Bus Reset : no
Root : no
Cycle Master : no
IRM : yes
Bus Manager : yes
Node[01:1023] GUID[00d04b0ce0900195]:
Vendor ID: `Oxford ' [0x00d04b]
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: Oxford [00d04b] / 911G [000001]
Software Specifier ID: 00609e
Software Version: 010483
Driver: SBP2 Driver
Length (in quads): 8

So, I'm quite sure that it should work with no special helper !
Is there any other informations I should give,
or things I should do to understand the problem ?

-- 
Jocelyn Mayer <jma@netgem.com>

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/