Re: half a loop
Brought to you by:
aeb,
bencollins
From: Stefan R. <st...@s5...> - 2011-12-19 21:59:28
|
On Dec 18 Carl Karsten wrote: > On Sun, Dec 18, 2011 at 7:57 AM, Stefan Richter > <st...@s5...> wrote: > > On Dec 17 Carl Karsten wrote: > >> [ 2.051121] firewire_ohci: Added fw-ohci device 0000:04:00.0, OHCI v1.10, 8 IR + 8 IT contexts, quirks 0x10 > >> [ 2.051204] firewire_ohci: isochronous cycle inconsistent > >> [ 2.488158] firewire_core: created device fw0: GUID 00241b00964cac00, S400 > >> [ 2.552154] firewire_core: created device fw1: GUID 0108000000006351, S800 > >> [ 23.608055] firewire_ohci: AT spd 0 tl 06, ffc1 -> ffc0, ack_pending , QR req, fffff0000400 > > > > With firewire-ohci debug=3, there should be a few log lines from the > > self-ID reception DMA between the two last lines above. Why are they > > missing? > > wold the log lines contain "firewire"? If not, that's why they are > missing, to keep the dmesg post under 50K. anything else I should > include? A selfID-complete event is logged like this if debug flag 2 is specified (i.e. fw-ohci's debug parameter is 2 or 3 or 6 or 7, etc.): > >> [ 32.672335] firewire_ohci: 2 selfIDs, generation 5, local node ID ffc0 > >> [ 32.672339] firewire_ohci: selfID 0: 8045cc94, phy 0 [p--] beta gc=5 -3W Lc > >> [ 32.672342] firewire_ohci: selfID 0: 814588c2, phy 1 [c..] S400 gc=5 +0W Lci First there is the line with how many selfID packets were received in which bus generation, and which ID the local node has in this bus generation. Then each self ID packet is logged; can be 1 or 2 per node (or more, but all PHYs that are on the market have <= 6 ports and hence emit <= 2 selfID packets). Each line contains packet type ("0" or "n", depending on how many selfID packets a PHY emits), the entire packet content, the PHY ID, the population with ports ("." port not present, "-" port not connected, "c" port connected to child node, "p" port connected to parent node), speed code of the PHY, gap count, power class, "L" if the "active link layer" bit is set, "c" if the "contender for IRM role" bit is set, "i" if the "initiated this bus reset" bit is set. Here is an example of a somewhat more crowded bus, with PHY 9 being a 6-port 1394a PHY and the rest being a bunch of 3-port 1394b PHYs. Most of them happen to be repeaters without link layer or storage devices with powered-down link layer. firewire_ohci: 13 selfIDs, generation 3, local node ID ffcb firewire_ohci: selfID 0: 807fc094, phy 0 [p--] beta gc=63 +0W L firewire_ohci: selfID 0: 813fc478, phy 1 [-cp] beta gc=63 -3W firewire_ohci: selfID 0: 823fc458, phy 2 [--p] beta gc=63 -3W firewire_ohci: selfID 0: 833fc464, phy 3 [-p-] beta gc=63 -3W firewire_ohci: selfID 0: 843fc4f8, phy 4 [ccp] beta gc=63 -3W firewire_ohci: selfID 0: 857fc458, phy 5 [--p] beta gc=63 -3W L firewire_ohci: selfID 0: 863fc49c, phy 6 [p-c] beta gc=63 -3W firewire_ohci: selfID 0: 873fc4bc, phy 7 [pcc] beta gc=63 -3W firewire_ohci: selfID 0: 883fc4ec, phy 8 [cpc] beta gc=63 -3W firewire_ohci: selfID 0: 893f8455, phy 9 [---] S400 gc=63 -3W firewire_ohci: selfID n: 89819000, phy 9 [-p-.....] firewire_ohci: selfID 0: 8a7fc4e6, phy 10 [cp-] beta gc=63 -3W Li firewire_ohci: selfID 0: 8b7fccf4, phy 11 [cc-] beta gc=63 -3W Lc The very last selfID is the one of the root node; its ports can only be connected to child nodes. The very first PHY (the one with the lowest ID) can only be connected to one parent node. Each other node can only be connected to one parent and 0..many child nodes. SelfID packets are autonomously generated by the PHY hardware. Some bits in the selfID (like the L and c bits and the power class) are controlled by hardwired pins or by pins connected to the link layer controller and are therefore susceptible to the occasional mistake by board designers. E.g. the power class is often wrong, hence the Linux drivers ignore it. -- Stefan Richter -=====-==-== ==-- =--== http://arcgraph.de/sr/ |