Bug 175476 - Bad: ieee1394: sbp2: Error logging into SBP-2 device
Summary: Bad: ieee1394: sbp2: Error logging into SBP-2 device
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 5
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Dave Jones
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2005-12-11 14:26 UTC by Konstantin Antselovich
Modified: 2015-01-04 22:23 UTC (History)
4 users (show)

Fixed In Version: FC5
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-09-17 03:15:25 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Konstantin Antselovich 2005-12-11 14:26:28 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8) Gecko/20051118 Fedora/1.5-0.5.0.rc3 Firefox/1.5

Description of problem:
*** Serial Bus Protocol (SBP-2) module failed to connect in to  Memorex  external DVD-RW over IEEE1394 ***


1. Once I plug a firewire cable in to DVD-RW box, dmesg shows that it's registered with IEEE1394 bus:

---
ieee1394: Node added: ID:BUS[0-00:1023]  GUID[00101005050164da]
ieee1394: Host added: ID:BUS[0-01:1023]  GUID[00000e1000600940]
---

2. Then upon `modprobe sbp2' dmesg shows this:

---
SCSI subsystem initialized
sbp2: $Rev: 1306 $ Ben Collins <bcollins>
ieee1394: sbp2: Driver forced to serialize I/O (serialize_io=1)
ieee1394: sbp2: Try serialize_io=0 for better performance
scsi0 : SCSI emulation for IEEE-1394 SBP-2 Devices
---


3. And after a couple of seconds dmegs logs this:

---
ieee1394: sbp2: Error logging into SBP-2 device - login timed-out
sbp2: probe of 00101005050164da-0 failed with error -16

---

Changing spb2 module parameters as per http://www.linux1394.org/sbp2.php  does not help. To find out more I guess I need to sniff messages on ieee1394 bus, but I dunno how to do it.

I hope I would be able to use this drive with under Linux, so let me know if you need more info. 


Thanks! Best regards,
Konstantin





Version-Release number of selected component (if applicable):
2.6.14-1.1644_FC4

How reproducible:
Always

Steps to Reproduce:
1. connect IEEE1394 cable in to subject DVD burner


  

Actual Results:  sbp2 module logs errors

Expected Results:  sbp2 module should create a SCSI device

Additional info:

====== additional info ======

Host: Pentium III 1.3 768MB Fujitsu C7651 laptop
Device: Vendor: Memorex   Model: DVD16+/-DL4RWlD2  Rev: JWS6
IEEE1394 controller: 01:0e.0 FireWire (IEEE 1394): Fujitsu Limited.: Unknown device 2010 (rev 01) (prog-if 10 [OHCI])
        Subsystem: Fujitsu Limited.: Unknown device 112b
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 64 (8000ns min, 20000ns max), Cache Line Size 08
        Interrupt: pin A routed to IRQ 11
        Region 0: Memory at e0200000 (32-bit, non-prefetchable) [size=2K]
        Capabilities: <available only to root>


drive itleft works if I connect it via USB:
---
Initializing USB Mass Storage driver...
scsi3 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 5
usb-storage: waiting for device to settle before scanning
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
  Vendor: Memorex   Model: DVD16+/-DL4RWlD2  Rev: JWS6
  Type:   CD-ROM                             ANSI SCSI revision: 00
usb-storage: device scan complete
sr0: scsi3-mmc drive: 48x/48x writer cd/rw xa/form2 cdda tray
Attached scsi CD-ROM sr0 at scsi3, channel 0, id 0, lun 0
----

Comment 1 Konstantin Antselovich 2006-01-10 06:48:35 UTC
=== resolved, + work-around available ===

This is an issue with code in sbp2 kernel module.  It's related to handling DMA
boundaries for 2 specific ieee1394 OHCI controllers:
A) ALi Corporation M5253 P1394 OHCI 1.1 Controller
B)  Fujitsu Limited.: Unknown device 2010 (rev 01) (prog-if 10 [OHCI]) device
112b  (typically found in Fujitsu C-series notebooks)

The patch below cures the problem, or you can use the following work-around:
1) recompile kernel with CONFIG_IEEE1394_SBP2_PHYS_DMA=y
2) "modprobe ohci1394 phys_dma=0"

For details and discussion pls see the linux1394 list archives:
http://marc.theaimsgroup.com/?t=113639033500002&r=1&w=2



====patch====
--- drivers/ieee1394/ohci1394.c.orig	2005-10-27 17:02:08.000000000 -0700
+++ drivers/ieee1394/ohci1394.c	2006-01-07 23:15:04.637814380 -0800
@@ -2527,12 +2527,19 @@
 			if (phys_dma) {
 				reg_write(ohci,OHCI1394_PhyReqFilterHiSet, 0xffffffff);
 				reg_write(ohci,OHCI1394_PhyReqFilterLoSet, 0xffffffff);
-				reg_write(ohci,OHCI1394_PhyUpperBound, 0xffff0000);
+				/* reg_write(ohci,OHCI1394_PhyUpperBound, 0xffff0000); 
+                                 * as per suggestion of Stefan Richter
stefanr.de
+ 				 */
+				reg_write(ohci,OHCI1394_PhyUpperBound, 0x00010000); 
 			} else {
 				reg_write(ohci,OHCI1394_PhyReqFilterHiSet, 0x00000000);
 				reg_write(ohci,OHCI1394_PhyReqFilterLoSet, 0x00000000);
 			}
 
+			printk(KERN_INFO "%s: fw-host%d: PhyUpperBound=%08x\n",
+                               OHCI1394_DRIVER_NAME, ohci->host->id,
+                               reg_read(ohci, OHCI1394_PhyUpperBound));
+
 			DBGMSG("PhyReqFilter=%08x%08x",
 			       reg_read(ohci,OHCI1394_PhyReqFilterHiSet),
 			       reg_read(ohci,OHCI1394_PhyReqFilterLoSet));

Comment 2 Dave Jones 2006-02-03 05:43:02 UTC
This is a mass-update to all currently open kernel bugs.

A new kernel update has been released (Version: 2.6.15-1.1830_FC4)
based upon a new upstream kernel release.

Please retest against this new kernel, as a large number of patches
go into each upstream release, possibly including changes that
may address this problem.

This bug has been placed in NEEDINFO_REPORTER state.
Due to the large volume of inactive bugs in bugzilla, if this bug is
still in this state in two weeks time, it will be closed.

Should this bug still be relevant after this period, the reporter
can reopen the bug at any time. Any other users on the Cc: list
of this bug can request that the bug be reopened by adding a
comment to the bug.

If this bug is a problem preventing you from installing the
release this version is filed against, please see bug 169613.

Thank you.


Comment 3 Konstantin Antselovich 2006-02-03 23:19:54 UTC
just tested latest kernel update -- <b>new kernel is still affected  by this bug</b>

$uname -r
2.6.15-1.1830_FC4

from dmesg:

--
ieee1394: sbp2: Error logging into SBP-2 device - login timed-out
sbp2: probe of 00101005050164da-0 failed with error -16
--

there is a fix (real patch, not like  quick proof-of-concept patch above)
available in linux-ieee1394 git tree but it's not merged with mainline yet.

Post comments here if fedora is interested in that patch


Rgds,
Konstantin

Comment 4 Stefan Richter 2006-02-14 18:09:47 UTC
Konstantin is right; this very old bug should be fixed by
http://www.kernel.org/git/?p=linux/kernel/git/scjody/ieee1394.git;a=commit;h=b2d38cccad4ef80d6b672b8f89aae5fe2907b113
It is also available in 2.6.16-rc1-mm5 and later -mm patchsets. I hope it will
get into the mainline kernel before the 2.6.16 release. (Sorry that it took so
long, and thanks for helping.)

Comment 5 Stefan Richter 2006-02-23 18:02:34 UTC
Fix is available in Linus' tree now.

Comment 6 Dave Jones 2006-09-17 02:27:26 UTC
[This comment added as part of a mass-update to all open FC4 kernel bugs]

FC4 has now transitioned to the Fedora legacy project, which will continue to
release security related updates for the kernel.  As this bug is not security
related, it is unlikely to be fixed in an update for FC4, and has been migrated
to FC5.

Please retest with Fedora Core 5.

Thank you.

Comment 7 Konstantin Antselovich 2006-09-17 02:58:05 UTC
FC5: 

This has been fixed several month ago since 2.6.15.x shipped with FC4/FC5 
Let me know if you need more details about particular patch/kernel version --
i'll try to look that up.

Rgds,
Konstantin

Comment 8 Dave Jones 2006-09-17 03:15:25 UTC
Thanks for the update.



Note You need to log in before you can comment on or make changes to this bug.