Bug 633260 - Canon MV5i on firewire port didn't work
Summary: Canon MV5i on firewire port didn't work
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 13
Hardware: x86_64
OS: Linux
low
medium
Target Milestone: ---
Assignee: Jay Fenlason
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-09-13 12:53 UTC by Ralf Lange
Modified: 2014-08-31 23:29 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-06-01 13:54:45 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
results from Stefan's MV5i on 2.6.37 + firewire patches (9.13 KB, text/plain)
2011-01-12 14:04 UTC, Stefan Richter
no flags Details

Description Ralf Lange 2010-09-13 12:53:40 UTC
Description of problem:
Canon MV5i Digital Video Camcorder PAL didn't work on the firewire port.

Version-Release number of selected component (if applicable):
uname -a
Linux marvin 2.6.34.6-54.fc13.x86_64 #1 SMP Sun Sep 5 17:16:27 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux

How reproducible:
Plug in the firewire cable. Start one of the 1394 applications. Error Message: No firewire device.

Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

The device works fine with fedora 12.

lspci | grep firewire
08:03.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 08)

dmesg | grep firewire
firewire_ohci 0000:08:03.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
firewire_ohci: Added fw-ohci device 0000:08:03.1, OHCI v1.10, 4 IR + 4 IT contexts, quirks 0x0
firewire_core: created device fw0: GUID 00000e1003694342, S400
firewire_ohci: isochronous cycle inconsistent
firewire_core: created device fw1: GUID 00008500005eb597, S100
firewire_core: phy config: card 0, new root=ffc1, gap_count=5
firewire_core: IRM is not 1394a compliant, making local node (ffc0) root.
firewire_core: phy config: card 0, new root=ffc0, gap_count=5
firewire_core: IRM is not 1394a compliant, making local node (ffc0) root.
firewire_core: phy config: card 0, new root=ffc0, gap_count=5

Comment 1 Stefan Richter 2010-09-15 06:55:54 UTC
This 2.6.34.1 commit perhaps caused a regression here:
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6-stable.git;a=commitdiff;h=e2f415159f02c5815415260063c47e06cf7408ee

Ralf, please collect some debug data:
# echo 3 > /sys/module/firewire_ohci/parameters/debug
Then plug in/ switch on the camcorder.  Attach the resulting part of /var/log/messages here.

Comment 2 Ralf Lange 2010-09-15 19:06:55 UTC
Stefan, I collect the following debug messages switching on the camcorder:

Sep 15 20:22:02 marvin kernel: firewire_ohci: AR evt_bus_reset, generation 2
Sep 15 20:22:02 marvin kernel: firewire_ohci: 2 selfIDs, generation 2, local node ID ffc1
Sep 15 20:22:02 marvin kernel: firewire_ohci: selfID 0: 807f0896, phy 0 [p--] S100 gc=63 +0W Lci
Sep 15 20:22:02 marvin kernel: firewire_ohci: selfID 0: 817f88d0, phy 1 [c-.] S400 gc=63 +0W Lc
Sep 15 20:22:02 marvin kernel: firewire_core: phy config: card 0, new root=ffc1, gap_count=5
Sep 15 20:22:02 marvin kernel: firewire_ohci: AR evt_bus_reset, generation 3
Sep 15 20:22:02 marvin kernel: firewire_ohci: 2 selfIDs, generation 3, local node ID ffc0
Sep 15 20:22:02 marvin kernel: firewire_ohci: selfID 0: 807f8890, phy 0 [p-.] S400 gc=63 +0W Lc
Sep 15 20:22:02 marvin kernel: firewire_ohci: selfID 0: 817f08d6, phy 1 [c--] S100 gc=63 +0W Lci
Sep 15 20:22:02 marvin kernel: firewire_ohci: isochronous cycle inconsistent
Sep 15 20:22:02 marvin kernel: firewire_ohci: AR evt_bus_reset, generation 4
Sep 15 20:22:02 marvin kernel: firewire_ohci: 2 selfIDs, generation 4, local node ID ffc0
Sep 15 20:22:02 marvin kernel: firewire_ohci: selfID 0: 807f8892, phy 0 [p-.] S400 gc=63 +0W Lci
Sep 15 20:22:02 marvin kernel: firewire_ohci: selfID 0: 817f08d4, phy 1 [c--] S100 gc=63 +0W Lc
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 22, ffc1 -> ffc0, ack_complete, Lk resp 4,2
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 22, ffc0 -> ffc1, pending/cancelled, Lk req, fffff000021c 8,2
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 23, ffc0 -> ffc1, ack_pending , QR req, fffff0000400
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 23, ffc1 -> ffc0, ack_complete, QR resp = 0404e552
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 24, ffc0 -> ffc1, ack_pending , QR req, fffff0000404
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 24, ffc1 -> ffc0, ack_complete, QR resp = 31333934
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 25, ffc0 -> ffc1, ack_pending , QR req, fffff0000408
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 25, ffc1 -> ffc0, ack_complete, QR resp = e0648100
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 26, ffc0 -> ffc1, ack_pending , QR req, fffff000040c
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 26, ffc1 -> ffc0, ack_complete, QR resp = 00008500
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 27, ffc0 -> ffc1, ack_pending , QR req, fffff0000410
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 27, ffc1 -> ffc0, ack_complete, QR resp = 005eb597
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 28, ffc0 -> ffc1, ack_pending , QR req, fffff0000414
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 28, ffc1 -> ffc0, ack_complete, QR resp = 0007cdd0
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 29, ffc0 -> ffc1, ack_pending , QR req, fffff0000418
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 29, ffc1 -> ffc0, ack_complete, QR resp = 03000085
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 2a, ffc0 -> ffc1, ack_pending , QR req, fffff000041c
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 2a, ffc1 -> ffc0, ack_complete, QR resp = 8100000d
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 2b, ffc0 -> ffc1, ack_pending , QR req, fffff0000420
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 2b, ffc1 -> ffc0, ack_complete, QR resp = 17000002
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 2c, ffc0 -> ffc1, ack_pending , QR req, fffff0000424
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 2c, ffc1 -> ffc0, ack_complete, QR resp = 81000010
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 2d, ffc0 -> ffc1, ack_pending , QR req, fffff0000428
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 2d, ffc1 -> ffc0, ack_complete, QR resp = 0c0083c0
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 2e, ffc0 -> ffc1, ack_pending , QR req, fffff000042c
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 2e, ffc1 -> ffc0, ack_complete, QR resp = d8000002
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 2f, ffc0 -> ffc1, ack_pending , QR req, fffff0000430
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 2f, ffc1 -> ffc0, ack_complete, QR resp = d1000003
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 30, ffc0 -> ffc1, ack_pending , QR req, fffff000043c
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 30, ffc1 -> ffc0, ack_complete, QR resp = 0004bbee
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 31, ffc0 -> ffc1, ack_pending , QR req, fffff0000440
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 31, ffc1 -> ffc0, ack_complete, QR resp = 1200a02d
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 32, ffc0 -> ffc1, ack_pending , QR req, fffff0000444
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 32, ffc1 -> ffc0, ack_complete, QR resp = 13010001
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 33, ffc0 -> ffc1, ack_pending , QR req, fffff0000448
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 33, ffc1 -> ffc0, ack_complete, QR resp = 17000002
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 34, ffc0 -> ffc1, ack_pending , QR req, fffff000044c
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 34, ffc1 -> ffc0, ack_complete, QR resp = 81000006
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 35, ffc0 -> ffc1, ack_pending , QR req, fffff0000464
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 35, ffc1 -> ffc0, ack_complete, QR resp = 000621ee
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 36, ffc0 -> ffc1, ack_pending , QR req, fffff0000468
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 36, ffc1 -> ffc0, ack_complete, QR resp = 00000000
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 37, ffc0 -> ffc1, ack_pending , QR req, fffff000046c
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 37, ffc1 -> ffc0, ack_complete, QR resp = 00000000
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 38, ffc0 -> ffc1, ack_pending , QR req, fffff0000470
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 38, ffc1 -> ffc0, ack_complete, QR resp = 4d563569
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 39, ffc0 -> ffc1, ack_pending , QR req, fffff0000474
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 39, ffc1 -> ffc0, ack_complete, QR resp = 204d4300
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 3a, ffc0 -> ffc1, ack_pending , QR req, fffff0000478
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 3a, ffc1 -> ffc0, ack_complete, QR resp = 00000000
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 3b, ffc0 -> ffc1, ack_pending , QR req, fffff000047c
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 3b, ffc1 -> ffc0, ack_complete, QR resp = 00000000
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 3c, ffc0 -> ffc1, ack_pending , QR req, fffff0000434
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 3c, ffc1 -> ffc0, ack_complete, QR resp = 0001ce96
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 3d, ffc0 -> ffc1, ack_pending , QR req, fffff0000438
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 3d, ffc1 -> ffc0, ack_complete, QR resp = d1000001
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 3e, ffc0 -> ffc1, ack_pending , QR req, fffff000043c
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 3e, ffc1 -> ffc0, ack_complete, QR resp = 0004bbee
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 3f, ffc0 -> ffc1, ack_pending , QR req, fffff0000440
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 3f, ffc1 -> ffc0, ack_complete, QR resp = 1200a02d
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 00, ffc0 -> ffc1, ack_pending , QR req, fffff0000444
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 00, ffc1 -> ffc0, ack_complete, QR resp = 13010001
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 01, ffc0 -> ffc1, ack_pending , QR req, fffff0000448
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 01, ffc1 -> ffc0, ack_complete, QR resp = 17000002
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 02, ffc0 -> ffc1, ack_pending , QR req, fffff000044c
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 02, ffc1 -> ffc0, ack_complete, QR resp = 81000006
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 03, ffc0 -> ffc1, ack_pending , QR req, fffff0000464
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 03, ffc1 -> ffc0, ack_complete, QR resp = 000621ee
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 04, ffc0 -> ffc1, ack_pending , QR req, fffff0000468
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 04, ffc1 -> ffc0, ack_complete, QR resp = 00000000
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 05, ffc0 -> ffc1, ack_pending , QR req, fffff000046c
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 05, ffc1 -> ffc0, ack_complete, QR resp = 00000000
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 06, ffc0 -> ffc1, ack_pending , QR req, fffff0000470
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 06, ffc1 -> ffc0, ack_complete, QR resp = 4d563569
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 07, ffc0 -> ffc1, ack_pending , QR req, fffff0000474
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 07, ffc1 -> ffc0, ack_complete, QR resp = 204d4300
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 08, ffc0 -> ffc1, ack_pending , QR req, fffff0000478
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 08, ffc1 -> ffc0, ack_complete, QR resp = 00000000
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 09, ffc0 -> ffc1, ack_pending , QR req, fffff000047c
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 09, ffc1 -> ffc0, ack_complete, QR resp = 00000000
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 0a, ffc0 -> ffc1, ack_pending , QR req, fffff0000464
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 0a, ffc1 -> ffc0, ack_complete, QR resp = 000621ee
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 0b, ffc0 -> ffc1, ack_pending , QR req, fffff0000468
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 0b, ffc1 -> ffc0, ack_complete, QR resp = 00000000
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 0c, ffc0 -> ffc1, ack_pending , QR req, fffff000046c
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 0c, ffc1 -> ffc0, ack_complete, QR resp = 00000000
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 0d, ffc0 -> ffc1, ack_pending , QR req, fffff0000470
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 0d, ffc1 -> ffc0, ack_complete, QR resp = 4d563569
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 0e, ffc0 -> ffc1, ack_pending , QR req, fffff0000474
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 0e, ffc1 -> ffc0, ack_complete, QR resp = 204d4300
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 0f, ffc0 -> ffc1, ack_pending , QR req, fffff0000478
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 0f, ffc1 -> ffc0, ack_complete, QR resp = 00000000
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 10, ffc0 -> ffc1, ack_pending , QR req, fffff000047c
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 10, ffc1 -> ffc0, ack_complete, QR resp = 00000000
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 11, ffc0 -> ffc1, ack_pending , QR req, fffff0000450
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 11, ffc1 -> ffc0, ack_complete, QR resp = 00046dc8
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 12, ffc0 -> ffc1, ack_pending , QR req, fffff0000454
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 12, ffc1 -> ffc0, ack_complete, QR resp = 00000000
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 13, ffc0 -> ffc1, ack_pending , QR req, fffff0000458
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 13, ffc1 -> ffc0, ack_complete, QR resp = 00000000
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 14, ffc0 -> ffc1, ack_pending , QR req, fffff000045c
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 14, ffc1 -> ffc0, ack_complete, QR resp = 43616e6f
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 15, ffc0 -> ffc1, ack_pending , QR req, fffff0000460
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 15, ffc1 -> ffc0, ack_complete, QR resp = 6e000000
Sep 15 20:22:03 marvin kernel: firewire_core: created device fw1: GUID 00008500005eb597, S100
Sep 15 20:22:03 marvin kernel: firewire_core: phy config: card 0, new root=ffc1, gap_count=5
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT ack_complete, phy config packet, 01c50000
Sep 15 20:22:03 marvin kernel: firewire_ohci: 2 selfIDs, generation 5, local node ID ffc0
Sep 15 20:22:03 marvin kernel: firewire_ohci: selfID 0: 80458892, phy 0 [p-.] S400 gc=5 +0W Lci
Sep 15 20:22:03 marvin kernel: firewire_ohci: selfID 0: 814508d4, phy 1 [c--] S100 gc=5 +0W Lc
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR evt_bus_reset, generation 5
Sep 15 20:22:03 marvin kernel: firewire_core: IRM is not 1394a compliant, making local node (ffc0) root.
Sep 15 20:22:03 marvin kernel: firewire_core: phy config: card 0, new root=ffc0, gap_count=5
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT ack_complete, phy config packet, 00c50000
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR evt_bus_reset, generation 6
Sep 15 20:22:03 marvin kernel: firewire_ohci: 2 selfIDs, generation 6, local node ID ffc1
Sep 15 20:22:03 marvin kernel: firewire_ohci: selfID 0: 80450894, phy 0 [p--] S100 gc=5 +0W Lc
Sep 15 20:22:03 marvin kernel: firewire_ohci: selfID 0: 814588d2, phy 1 [c-.] S400 gc=5 +0W Lci
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR evt_bus_reset, generation 7
Sep 15 20:22:03 marvin kernel: firewire_ohci: 2 selfIDs, generation 7, local node ID ffc1
Sep 15 20:22:03 marvin kernel: firewire_ohci: selfID 0: 807f0896, phy 0 [p--] S100 gc=63 +0W Lci
Sep 15 20:22:03 marvin kernel: firewire_ohci: selfID 0: 817f88d0, phy 1 [c-.] S400 gc=63 +0W Lc
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 18, ffc1 -> ffc0, ack_pending , BW req, fffff0000b00 8,0
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 18, ffc0 -> ffc1, ack_complete, W resp
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 01, ffc0 -> ffc1, ack_pending , BW req, fffff0000d00 8,0
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 01, ffc1 -> ffc0, ack_complete, W resp
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 19, ffc1 -> ffc0, ack_pending , QR req, fffff0000400
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 19, ffc0 -> ffc1, ack_complete, QR resp = 0404e552
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 1a, ffc1 -> ffc0, ack_pending , QR req, fffff0000404
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 1a, ffc0 -> ffc1, ack_complete, QR resp = 31333934
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 1b, ffc1 -> ffc0, ack_pending , QR req, fffff0000408
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 1b, ffc0 -> ffc1, ack_complete, QR resp = e0648100
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 1c, ffc1 -> ffc0, ack_pending , QR req, fffff000040c
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 1c, ffc0 -> ffc1, ack_complete, QR resp = 00008500
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 1d, ffc1 -> ffc0, ack_pending , QR req, fffff0000410
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 1d, ffc0 -> ffc1, ack_complete, QR resp = 005eb597
Sep 15 20:22:03 marvin kernel: firewire_ohci: AT spd 0 tl 1e, ffc1 -> ffc0, ack_pending , QR req, fffff0000414
Sep 15 20:22:03 marvin kernel: firewire_ohci: AR spd 0 tl 1e, ffc0 -> ffc1, ack_complete, QR resp = 0007cdd0
Sep 15 20:22:04 marvin kernel: firewire_core: phy config: card 0, new root=ffc1, gap_count=5
Sep 15 20:22:04 marvin kernel: firewire_ohci: AT ack_complete, phy config packet, 01c50000
Sep 15 20:22:04 marvin kernel: firewire_ohci: 2 selfIDs, generation 8, local node ID ffc1
Sep 15 20:22:04 marvin kernel: firewire_ohci: selfID 0: 80450894, phy 0 [p--] S100 gc=5 +0W Lc
Sep 15 20:22:04 marvin kernel: firewire_ohci: selfID 0: 814588d2, phy 1 [c-.] S400 gc=5 +0W Lci
Sep 15 20:22:04 marvin kernel: firewire_ohci: AR evt_bus_reset, generation 8
Sep 15 20:22:04 marvin kernel: firewire_ohci: AR evt_bus_reset, generation 9
Sep 15 20:22:04 marvin kernel: firewire_ohci: 2 selfIDs, generation 9, local node ID ffc0
Sep 15 20:22:04 marvin kernel: firewire_ohci: selfID 0: 807f8890, phy 0 [p-.] S400 gc=63 +0W Lc
Sep 15 20:22:04 marvin kernel: firewire_ohci: selfID 0: 817f08d6, phy 1 [c--] S100 gc=63 +0W Lci
Sep 15 20:22:05 marvin kernel: firewire_ohci: AT spd 0 tl 2e, ffc1 -> ffc0, pending/cancelled, QR req, fffff0000234
Sep 15 20:22:05 marvin kernel: firewire_core: IRM is not 1394a compliant, making local node (ffc0) root.
Sep 15 20:22:05 marvin kernel: firewire_ohci: AT spd 0 tl 2f, ffc0 -> ffc1, ack_pending , QR req, fffff0000400
Sep 15 20:22:05 marvin kernel: firewire_ohci: AR spd 0 tl 2f, ffc1 -> ffc0, ack_complete, QR resp = 0404e552
Sep 15 20:22:05 marvin kernel: firewire_ohci: AT spd 0 tl 30, ffc0 -> ffc1, ack_pending , QR req, fffff0000404
Sep 15 20:22:05 marvin kernel: firewire_ohci: AR spd 0 tl 30, ffc1 -> ffc0, ack_complete, QR resp = 31333934
Sep 15 20:22:05 marvin kernel: firewire_ohci: AT spd 0 tl 31, ffc0 -> ffc1, ack_pending , QR req, fffff0000408
Sep 15 20:22:05 marvin kernel: firewire_ohci: AR spd 0 tl 31, ffc1 -> ffc0, ack_complete, QR resp = e0648100
Sep 15 20:22:05 marvin kernel: firewire_ohci: AT spd 0 tl 32, ffc0 -> ffc1, ack_pending , QR req, fffff000040c
Sep 15 20:22:05 marvin kernel: firewire_ohci: AR spd 0 tl 32, ffc1 -> ffc0, ack_complete, QR resp = 00008500
Sep 15 20:22:05 marvin kernel: firewire_ohci: AT spd 0 tl 33, ffc0 -> ffc1, ack_pending , QR req, fffff0000410
Sep 15 20:22:05 marvin kernel: firewire_ohci: AR spd 0 tl 33, ffc1 -> ffc0, ack_complete, QR resp = 005eb597
Sep 15 20:22:05 marvin kernel: firewire_ohci: AT spd 0 tl 34, ffc0 -> ffc1, ack_pending , QR req, fffff0000414
Sep 15 20:22:05 marvin kernel: firewire_ohci: AR spd 0 tl 34, ffc1 -> ffc0, ack_complete, QR resp = 0007cdd0
Sep 15 20:22:05 marvin kernel: firewire_core: IRM is not 1394a compliant, making local node (ffc0) root.

and the following debug messages switching of the camcorder:

Sep 15 20:26:17 marvin kernel: firewire_ohci: AR evt_bus_reset, generation 10
Sep 15 20:26:17 marvin kernel: firewire_ohci: 1 selfIDs, generation 10, local node ID ffc0
Sep 15 20:26:17 marvin kernel: firewire_ohci: selfID 0: 807f8852, phy 0 [--.] S400 gc=63 +0W Lci
Sep 15 20:26:18 marvin kernel: firewire_ohci: AT spd 0 tl 3e, ffc0 -> ffc1, evt_missing_ack, QR req, fffff0000234

I hope this helps.
Ralf

Comment 3 Stefan Richter 2010-11-20 19:07:17 UTC
Yes it helps.  Hadn't there been linebreaks added, I might have looked at it immediately.

So this camcorder has a junk firmware which plays Isochronous Resource Manager, but in a broken way.  The Linux firewire-core bus manager and the broken Canon iso resource manager now continually reset the bus.

The kernel recognized the camcorder just fine.  I suppose the repeated bus resets prevent userspace applications from doing anything useful.

This is the bus info block of the camcorder:
404  31333934  bus_name "1394"
408  e0648100  irmc 1, cmc 1, isc 1, bmc 0, cyc_clk_acc 100, max_rec 8 (512)
40c  00008500  company_id 000085     | CANON INC.
410  005eb597  device_id 00005eb597  | EUI-64 00008500005eb597

This are the software-triggered bus resets:
  1. Roles: Linux = BM, Canon = root and IRM
     Linux sets gap count = 5 and root-holdoff bit on camcorder,
     resets the bus
  2. Linux realizes that the camcorder isn't a 1394a IRM,
     sets gap count = 5 and own root-holdoff bit, resets bus
     Roles: Linux = root and IRM and BM
  3. Canon resets the bus, no changes of node IDs and roles, but
     gap count falls back to 63
  4. Linux sets gap count = 5 and own root-holdoff bit, resets bus,
     no changes of node IDs and roles
  5. Canon resets bus, now it becomes root by this and gap count
     falls back to 63
     Roles: Linux = BM, Canon = root and IRM
  6. see step 2

There the log stops but I guess this game repeats then.

We obviously need to track bus reset history somehow to prevent bus reset loops due to braindead firmwares.

Comment 4 Stefan Richter 2011-01-12 14:04:44 UTC
Created attachment 473025 [details]
results from Stefan's MV5i on 2.6.37 + firewire patches

I now suspect that this is actually merely a power supply problem or cable contact problem.

Today I received a Canon MV5i PAL camcorder, full model name according to the warranty card "DM-MV5i MC".  So far I did a few smoke tests:
  - attached a double-sized Li-ion battery which I received from the former owner of this camcorder (I also have normal-sized batteries but have yet to load them),
  - did not insert SD card nor miniDV tape,
  - switched camcorder to camera mode,
  - plugged it into a Texas Instruments FireWire controller card,
  - started Kino and switched to Kino's capture live preview pane.

I got one session in which there were indeed repeated bus resets, but in seemingly random frequency.  I had the LCD panel folded out at that time.  At each bus reset, Kino's preview froze but usually came back shortly after.  Sometimes I had to switch away from and back to Kino's capture pane.  (Such an irregular session is of course not at all suitable for DV import or export.)

Later I folded the LCD panel in, i.e. switched to the viewfinder which happens to draw less power.  I then had a session which went undisturbed for an hour until I stopped it.

I tested with kernel 2.6.37, firewire patched to what will be in 2.6.38-rc1.  I will boot another computer into a vanilla 2.6.34.y kernel later to check that too.

Ralf, if you
  - power the camcorder via its PSU,
  - have the LCD off (folded away),
  - avoid to touch the FireWire cable or to move the camcorder while it is plugged in,
does it work better for you then?

Comment 5 Stefan Richter 2011-01-12 21:00:33 UTC
Hmm, I get occasional bus resets also if I power the camcorder by PSU instead of battery.  So maybe this is not a power supply problem.

However, the duration of periods between these events, their randomness, and the fact that there is always a brief burst of multiple bus resets involved quite definitely shows that there is a hardware problem, not a driver/firmware problem.

I'm testing this with a 6-pin--4-pin cable which always worked OK with the 4-pin port of my JVC camcorder.  Carrying the Canon camcorder around while plugged in and streaming to Kino or wiggling somewhat on the cable does not provoke these bus resets; so it does not seem to be a contact problem at the port either.

It almost seems as if the camcorder needs to be running for half an hour or so to warm up, then becomes stable.

Ralf wrote in comment 0:
>> The device works fine with fedora 12.

I wrote in comment 4:
> I will boot another computer into a vanilla 2.6.34.y kernel later
> to check that too.

Actually, I shall boot into 2.6.31.y to see whether the 2.6.31 -> 2.6.34 firewire driver changes have an adverse affect.

Perhaps the camcorder's 1394 interface is thrown out of whack if it is not root node.  Without this "IRM is not 1394a compliant, making local node (ffc0) root" routine of firewire-core, it may be quite likely that the camcorder is usually root node.  And which node is root node can upset either some higher-level bus management code in a camcorder's firmware (which I rule out now that I have seen first-hand how the patterns of bus resets look like), or some very low-level things like asynchronous arbitration and cycle time propagation if the root node is doing strange things (or is not, but a hardware expects it to do so).

Comment 6 Stefan Richter 2011-01-15 17:45:19 UTC
So far I had only two stable sessions with current kernel drivers, but many unstable ones.  I did not see any pattern under which circumstances the stable ones came about.  On the other hand, I learned that the bus resets apparently do not happen entirely at random but notably when an application like gscanbus or Kino tries to access the MV5i.

So I tried an older kernel which does not have the "IRM is not 1394a compliant" check and this worked stable.  In that session, the MV5i was root node and hence IRM.

I now posted a candidate fix patch which works for me:
http://marc.info/?l=linux1394-devel&m=129511203918156

This fix simply allows an IRM- and CM-capable but not 1394a compliant device with Canon's vendor ID to remain IRM, and thus root node.  Why the MV5i works stable only as root node is unknown to me but seems to be a problem of the MV5i at the physical layer.

Comment 7 Stefan Richter 2011-01-22 11:49:35 UTC
Fix from comment 6 has been released in kernel 2.6.38-rc2,
http:git.kernel.org/linus/6044565af458e7fa6e748bff437ecc49dea88d79

From there it will be backmerged into stable 2.6.3x.y series and appear in your Fedora kernel eventually.

Comment 8 Stefan Richter 2011-02-18 18:10:02 UTC
Fix has been released in kernel.org's 2.6.37.1 and 2.6.36.4.

Comment 9 Bug Zapper 2011-05-31 13:38:57 UTC
This message is a reminder that Fedora 13 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 13.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '13'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 13's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 13 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 10 Jarod Wilson 2011-06-01 13:54:45 UTC
This should be all good in Fedora 15.


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