RE: Bus Reset Observations
Brought to you by:
aeb,
bencollins
From: Mark K. <mk...@co...> - 2000-05-26 20:25:04
|
Olivier, Thanks for pointing me in a good direction. I should have included the same sort of information. I'll do that now. I tried this with either my Sony drive or a second PC. Either way I get the same results. Assuming that I have 1 PC connected to the Sony drive (or a 2nd PC), and I pull the cable, this is what I see: May 26 13:05:49 bambi kernel: ohci1394_0: Got phy packet ctx=0 ... discarded May 26 13:07:20 bambi kernel: ohci1394_0: IntEvent: 04020010 May 26 13:07:20 bambi kernel: ohci1394_0: Got RQPkt interrupt status=0x00008409 May 26 13:07:20 bambi kernel: ohci1394_0: PhyControl: 000001FF May 26 13:07:20 bambi kernel: ohci1394_0: IntEvent: 00010000 May 26 13:07:20 bambi kernel: ohci1394_0: SelfID process finished (phyid 0, root) May 26 13:07:20 bambi kernel: ohci1394_0: selfid packet 0x807f8456 rcvd May 26 13:07:20 bambi kernel: ohci1394_0: This node self-id is 0x807f8456 May 26 13:07:20 bambi kernel: ohci1394_0: calling self-id complete May 26 13:07:20 bambi kernel: ohci1394_0: IntEvent: 00000000 May 26 13:07:20 bambi kernel: ohci1394_0: Got phy packet ctx=0 ... discarded So, in this case, the PC is alone, generates it's own Self-ID packet, and reports that to the upper layers and on to the application. Everything looks good. However, when I reassert the cable (to the drive or the 2nd PC) this is what I see: May 26 13:07:22 bambi kernel: ohci1394_0: IntEvent: 00030010 May 26 13:07:22 bambi kernel: ohci1394_0: Bus reset May 26 13:07:22 bambi kernel: ohci1394_0: Cancel request received May 26 13:07:22 bambi kernel: ohci1394_0: Got RQPkt interrupt status=0x00008409 May 26 13:07:22 bambi kernel: ohci1394_0: SelfID process finished but NodeID not valid: 0800FFC0 May 26 13:07:22 bambi kernel: ohci1394_0: IntEvent: 00020000 May 26 13:07:22 bambi last message repeated 27 times May 26 13:07:22 bambi kernel: ohci1394_0: IntEvent: 04020000 May 26 13:07:22 bambi kernel: ohci1394_0: PhyControl: 000001FF May 26 13:07:22 bambi kernel: ohci1394_0: IntEvent: 00020000 May 26 13:07:22 bambi kernel: ohci1394_0: IntEvent: 00000000 May 26 13:07:22 bambi kernel: ohci1394_0: Got phy packet ctx=0 ... discarded I see the same problem you do. The Self-ID process seems to die, but you are correct that the stack is at least seeing a bus reset. I expect that Andreas B. should be able to zero in on this pretty quickly. I'll poke around in the code also and see what I can figure out. (But that won't be quickly!!) Mark -----Original Message----- From: Olivier Daigle [mailto:dai...@el...] Sent: Friday, May 26, 2000 12:18 PM To: Mark Knecht Cc: Linux1394 Developer's Reflector (E-mail); Andreas Bombe (E-mail); Andreas Micklei (E-mail) Subject: Re: Bus Reset Observations I noticed EXACTLY the same problem. Here is my debug info: (I added the output of the Node Identification and status register (11'h0E8) May 26 15:05:50 milk kernel: ohci1394_0: Bus reset May 26 15:05:50 milk kernel: ohci1394_0: SelfID process finished but NodeID not valid: 0800FFC0 May 26 15:05:50 milk kernel: ohci1394_0: irq_handler timeout event=0x00020000 May 26 15:05:50 milk kernel: ohci1394_0: Got phy packet ctx=0 ... discarded The problem is that the device DOES recognize the cable insertion, but the SelfID process terminates with an invalid NodeID. (it should be something like 0x8800FFC0 instead of 0x0800FFC0). The MSB (bit 31) of the quadlet says if the 1394 OHCI has a valid node number. The 27nd bit is the CPS (Cable Power Status OK). I noticed that when there is 2 OHCI cards (in Linux boxes) on the bus, there is always one card that ends with an invalid NodeID and the other ends with a valid NodeID. My knowledge of the ohci driver (and ieee1394 in general) is not high enough to track down the problem by now. Olivier Mark Knecht wrote: Hi, I don't know whether to report this as a stack problem or a gscanbus problem. (I think stack...) I am seeing a very specific and repeatable problem. To me, at a high level, this looks like incorrect operation at the stack level. On my systems I believe that when the Linux based PC is not connected to any 1394 devices, and a cable to a 1394 device is inserted into the OHCI card, the 1394 stack does not recognize a cable insertion. Can someone verify whether they are seeing or not seeing the same results? Thanks, Mark TESTS...... I have set up 3 PCs with RH 6.2, downloaded the 2.2.15 kernel, built it first with the patch, and then with the CVS tree. I have downloaded and installed 1394libraw from the CVS tree and installed that. I have downloaded gscanbus and am running it on all three PCs. Messages in /var/log look pretty reasonable based on how many devices are on the bus. I can set up a network with the 3 PCs and a few other peripherals, and sometimes get gscanbus to correctly see the topology identically on all three machines. (And sometimes not!) For gscanbus I built a guid-resolv.conf file with the GUIDs of each PC and put the same file on all three PCs. ***** Test 1 ***** Connect 2 PCs and a Sony CD drive. Start gscanbus. Observations: I see 2 PCs and one unknown device. If I pull the cable on the drive, I see 2 PCs. (Bus Reset detected) If I insert the cable, the unknown device comes back. (Bus Reset Detected) If I power off the drive, the unknown device disappears. (Bus Reset Detected) If I power the drive back up, the unknown device reappears. (Bus Reset Detected) ***************** ***** Test 2 ***** Connect 1 PC and the Sony CD drive. Start gscanbus. Observations: I see 1 PC and one unknown device. If I pull the cable, I see 1 PC. (Bus reset detected) If I insert the drive cable, the drive does not come back. (Bus Reset is not detected) If I power off the drive, no change in the screen, because the screen is incorrect right now. (Bus Reset Detected) If I power the drive back up, then unknown device reappears. (Bus Reset Detected) _______________________________________________ mailing list lin...@li... http://lists.sourceforge.net/mailman/listinfo/linux1394-devel -- Olivier Daigle Projet Harfang (514) 396-8800 ext.7699 |