Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Feb 2003 17:52:27 +0900
From:      Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
To:        Marcel Moolenaar <marcel@xcllnt.net>
Cc:        firewire@FreeBSD.ORG
Subject:   Re: Bad news: bus resets not fixed yet
Message-ID:  <ybs4r6olrck.wl@ett.sat.t.u-tokyo.ac.jp>
In-Reply-To: <20030228080145.GA1736@athlon.pn.xcllnt.net>
References:  <ybssmugmopp.wl@ett.sat.t.u-tokyo.ac.jp> <20030222194741.GA579@dhcp01.pn.xcllnt.net> <ybs3cmdn37u.wl@ett.sat.t.u-tokyo.ac.jp> <ybsznolll5j.wl@ett.sat.t.u-tokyo.ac.jp> <20030226061321.GA549@dhcp01.pn.xcllnt.net> <ybsptpfl7oa.wl@ett.sat.t.u-tokyo.ac.jp> <20030226095348.GA565@dhcp01.pn.xcllnt.net> <ybsof4zl41w.wl@ett.sat.t.u-tokyo.ac.jp> <20030228053856.GA640@dhcp01.pn.xcllnt.net> <ybs65r4lvye.wl@ett.sat.t.u-tokyo.ac.jp> <20030228080145.GA1736@athlon.pn.xcllnt.net>

next in thread | previous in thread | raw e-mail | index | archive | help
> > (2) Change auto_login=0 in sbp.c. After boot
> > 	sysctl hw.firewire.sbp.auto_login=1
> >   then
> > 	fwcontrol -r
> 
> Ok. After loading the sbp module I got:
> 
> \begin{dmesg}
> sbp_identify
> sbp_probe
> sbp0: <SBP2/SCSI over firewire> on firewire0
> sbp_attach (cold=0)
> sbp_post_explore (sbp_cold=1)
> sbp_post_explore: EUI:08004603011eb709 spec=1 key=1.
> target 0 lun 0 found
> sbp0:0:0 ordered:0 type:5 EUI:08004603011eb709 node:1 speed:2 maxrec:10 new!
> sbp0:0:0 'Sony' 'PCGA-DSM5' 'ad1830'
> \end{dmesg}
> 
> I think this is as expected. After setting the sysctl and resetting
> the bus with fwcontrol, I got the bus reset loop (delay still 10).
> The bus caused the loop to end.

Another possibility is a copy of Configuration ROM is broken and
we are issuing the management ORB to wrong address.

Can you see any difference of output of
   fwcontrol -c node_id_of_the_drive
between good and bad case?
It seems the node_id is '0' for your case.

> Silly questions:
> 1. Does the sbp module support SBP3 devices? Is there a
>    different that we need to care about?

I haven't read SBP3 spec..

> 2. Would it make sense to implement the "query logins" ORB
>    (can you tell I've been reading? :-) so that we could
>    avoid/suppress a login (when sbp_cold=1 probably). Maybe
>    the "login" ORB sent to the CD drive when it's already
>    logged in causes this.

As far as I read the spec(SBP2), we don't expect BUS reset for login
failure and expect ORB status indicates login failure.

> 3. Alternatively. Would it hurt to send a "logout" ORB to
>    all devices when sbp_cold=1?

If we know login_id :-)
Only BIOS knows it but it's easy to guess because it's usually 0.

> 4. As a debugging aid, would it be easy enough to enhance
>    fwcontrol so that we can trigger specific ORBs (such
>    as "query logins", "logout" and "login)?

We need some DMA capable buffer to send ORB(it's actually
fetched by the drive). We need some kernel support at least
for that.

By analogy with usual PCI-SCSI, FireWire looks like PCI bus and
FireWire-IDE bridge looks like SCSI host bus adaptor which does DMA.

/\ Hidetoshi Shimokawa
\/  simokawa@sat.t.u-tokyo.ac.jp
PGP public key: http://www.sat.t.u-tokyo.ac.jp/~simokawa/pgp.html




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-firewire" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ybs4r6olrck.wl>