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 ----
=== 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));
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.
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
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.)
Fix is available in Linus' tree now.
[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.
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
Thanks for the update.