2013-11-13 12:13:36

by Grumbach, Emmanuel

[permalink] [raw]
Subject: RE: [Ilw] Intel Wireless 7260 hardware timed out randomly

> > > On Tue, Nov 12, 2013 at 12:37 PM, Emmanuel Grumbach
> > > <[email protected]> wrote:
> > > > On 11/12/2013 09:14 PM, Bjorn Helgaas wrote:
> > > >> On Tue, Nov 12, 2013 at 11:25 AM, Grumbach, Emmanuel
> > > >> <[email protected]> wrote:
> > > >>
> > > >>> Right - I remember the discussion we had on that.
> > > >>> On this device (7260 that has an issue with ASPM), we don't call
> > > pci_disable_link_state, because we know it is supposed to work...
> > > >>
> > > >> If ASPM is supposed to work as far as the hardware is concerned,
> > > >> I guess you're saying this must be an iwlwifi driver issue. Right?
> > > >
> > > > ASPM is supposed to work as far as the hardware is concerned.
> > > > We might very well have an issue in iwlwifi - and I am checking
> > > > this internally with our System guys.
> > > > It can be a PCI core problem too, and it could also be a platform
> > > > / BIOS / Lenovo issue.
> > > > Of course, I have no clue which of these is the culprit here.
> > > > Our System folks seemed to say that this new device uses L1
> > > > substates which can be enabled in Haswell platform which the user
> owns.
> > > > Now - L1 substates is a new feature and might introduce issues
> > > > (apparently) - and this is why they (System folks) wanted the try
> > > > without L1 substates. But disabling L1 substates doesn't seem
> > > > trivial with the production BIOS of Lenovo. So I am pretty stuck here.
> > >
> > > For debugging purposes, we could configure L1 substates with setpci,
> > > as we did for ASPM. The Linux kernel knows nothing about L1
> > > substates, so the PCI core isn't doing anything with them. It's
> > > possible the driver itself could muck with L1 substate
> > > configuration, but that would be discouraged, and I don't see
> > > anything in iwlwifi that is
> > doing that.
> > >
> > > The lspci output in
> > > https://bugzilla.kernel.org/attachment.cgi?id=114061 shows an L1 PM
> > > Substates extended capability (capability ID 0x1e) for the Root Port
> > > leading to the 7260 device, but not for the 7260 device itself:
> > >
> > > 00:1c.1 PCI bridge: Intel Corporation Lynx Point-LP PCI Express
> > > Root Port 3 (rev e4) (prog-if 00 [Normal decode])
> > > Capabilities: [200 v1] #1e
> > >
> > > Per sec 5.5.4 of the ECN for L1 PM Substates (15 Aug 2012), I think
> > > L1 substates must be configured on both ends of the link, and if the
> > > 7260 device doesn't have that capability, I don't see how it could be
> enabled.
> >
> > Makes sense.
> >
> > >
> > > The lspci version wzyboy has doesn't decode the L1 PM Substates
> > > capability, but there is a newer version at
> > > git://git.kernel.org/pub/scm/utils/pciutils/pciutils.git that should decode
> it.
> > > Also, "lspci -vvxxx" didn't hexdump this capability, which should be
> > > at offset 0x200. Using "lspci -xxxx" (four "x"s) should dump it,
> > > and we can decode it manually.
> > >
> >
> > You can find this in
> > http://permalink.gmane.org/gmane.linux.kernel.wireless.general/115378.
> >
> > Somehow my System team says that it should be at offset 0x160?
> > Is it possible that there is a "walk algorithm" with pointers just
> > like for the ASPM register?
> > I'll try to check the PCI spec when I'll find the time for that.
>
> So I read a bit the lspci code, and it looks that there are plenty of pointers
> inside the config space. Fun :) So basically, since:
> #define PCI_EXT_CAP_ID_L1PM 0x1e
> This means that I need to find an 0x1e in the output of wzyboy's lspci. I found
> only one: at offset 0x15d.
> Should that mean that my System team was right when they asked for offset
> 0x160 which is 3 bytes afterwards (and matches more the less the code of
> lspci)?
> If so,
> 160: 0f 00 a0 40 f0 00 00 00 00 00 00 00 00 00 00 00 seems to say that it is
> enabled?
>
> OTOH, 0x15d is 0x1e and not 0x001e as required by PCI-SIG ECN? Me scraping
> my head.

Ok - so I have now the complete picture.
This device was designed before PCI-SIG gave an ID to L1 PM Substates, so Intel had to use the L1 PM Substate as a Vendor Define whose ID is 0xCAFE. Layout is the same as defined now in PCI-SIG (page 21 in http://www.pcisig.com/specifications/pciexpress/specifications/ECN_L1_PM_Substates_with_CLKREQ_31_May_2013_Rev10a.pdf).

So:
150: 03 10 03 10 0b 00 01 00 fe ca 41 01 1f 1e f0 00
160: 0f 00 a0 40 f0 00 00 00 00 00 00 00 00 00 00 00

We can see that L1 PM Substate *is* enabled:
004h = 41 01 1f 1e
008h = 0f 00 f0 00
00Ch = a0 40 f0 00

I may have messed up things here...

According to System / HW, it is unsafe to disable L1 PM Substate using setpci, even if we disable it from both sides (device and bridge). This kind of settings should be done by BIOS only.
So we have 2 options here (assuming that we can't disable that in BIOS):
* either we try to disable L1 PM Substate even my colleagues think it is not safe
* either we just disable L1 altogether


2013-11-13 14:16:05

by Grumbach, Emmanuel

[permalink] [raw]
Subject: RE: [Ilw] Intel Wireless 7260 hardware timed out randomly

PiANCj4gIkdydW1iYWNoLCBFbW1hbnVlbCIgPGVtbWFudWVsLmdydW1iYWNoQGludGVsLmNvbT4g
d3JpdGVzOg0KPiANCj4gPiBPayAtIHNvIEkgaGF2ZSBub3cgdGhlIGNvbXBsZXRlIHBpY3R1cmUu
DQo+IA0KPiA+IFRoaXMgZGV2aWNlIHdhcyBkZXNpZ25lZCBiZWZvcmUgUENJLVNJRyBnYXZlIGFu
IElEIHRvIEwxIFBNIFN1YnN0YXRlcywNCj4gPiBzbyBJbnRlbCBoYWQgdG8gdXNlIHRoZSBMMSBQ
TSBTdWJzdGF0ZSBhcyBhIFZlbmRvciBEZWZpbmUgd2hvc2UgSUQgaXMNCj4gPiAweENBRkUuIExh
eW91dCBpcyB0aGUgc2FtZSBhcyBkZWZpbmVkIG5vdyBpbiBQQ0ktU0lHIChwYWdlIDIxIGluDQo+
ID4NCj4gaHR0cDovL3d3dy5wY2lzaWcuY29tL3NwZWNpZmljYXRpb25zL3BjaWV4cHJlc3Mvc3Bl
Y2lmaWNhdGlvbnMvRUNOX0wxX1BNDQo+IF9TdWJzdGF0ZXNfd2l0aF9DTEtSRVFfMzFfTWF5XzIw
MTNfUmV2MTBhLnBkZikuDQo+ID4NCj4gPiBTbzoNCj4gPiAxNTA6IDAzIDEwIDAzIDEwIDBiIDAw
IDAxIDAwIGZlIGNhIDQxIDAxIDFmIDFlIGYwIDAwDQo+ID4gMTYwOiAwZiAwMCBhMCA0MCBmMCAw
MCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMA0KPiA+DQo+ID4gV2UgY2FuIHNlZSB0aGF0
IEwxIFBNIFN1YnN0YXRlICppcyogZW5hYmxlZDoNCj4gPiAwMDRoID0gNDEgMDEgMWYgMWUNCj4g
PiAwMDhoID0gMGYgMDAgZjAgMDANCj4gPiAwMENoID0gYTAgNDAgZjAgMDANCj4gDQo+IFdvdyEg
IFRoYXQncyBleHRyZW1lbHkgdXNlZnVsLg0KPiANCj4gQnV0IEkgZG8gaGF2ZSBzb21lIHByb2Js
ZW1zIHBsYWNpbmcgdGhlIGluZGl2aWRpdWFsIGJpdHMgcmlnaHQgaW4gdGhlc2UgTEUNCj4gcmVn
aXN0ZXJzLiAgQW5kIHNvIGhhdmUgeW91LCBJIGJlbGlldmUuLi4gIFlvdSBhcmUgMiBieXRlcyBv
ZmYuDQo+ICI0MSAwMSIgaXMgcGFydCBvZiB0aGUgdmVuZG9yIHNwZWNpZmljIGhlYWRlciAoMTIg
Yml0cyBsZW5ndGggPT0gMHgwMTQgYW5kIDQNCj4gYml0cyB2ZXJzaW9uID09IDB4MS4NCj4gDQoN
CnllYWggLSBpdCBzZWVtZWQgYXdrd2FyZCB0byBtZSB0aGF0IHRoZSBoZWFkZXIgaXNuJ3QgNC1i
eXRlcyBhbGlnbmVkLCBidXQgc29tZSBiaXRzIHNlZW1lZCAuLi4gc3RyYW5nZSB0aGVuLiBTbyBJ
IG9wdGVkIHRvIHRoZSB0aGF0ICh3cm9uZykgcGFyc2luZy4NCk15IHBvb3IgYnJhaW4gaGFzIGFs
d2F5cyBpc3N1ZXMgcGFyc2luZyB0aGlzIGtpbmQgb2YgdGhpbmdzIGFuZCB0YWtlIGluIGNvdW50
IHRoZSBlbmRpYW5pdHkgZXRjLi4gOikNCg0KPiBTbyBJIG1hZGUgYSBzaW1wbGUgcGF0Y2ggZm9y
IGxzcGNpIGJhc2VkIG9uIHlvdXIgaW5mby4gIFNlZW1zIHRvIHdvcmsgZm9yIG1lOg0KPiANCj4g
DQo+IDAzOjAwLjAgTmV0d29yayBjb250cm9sbGVyIFswMjgwXTogSW50ZWwgQ29ycG9yYXRpb24g
V2lyZWxlc3MgNzI2MA0KPiBbODA4NjowOGIxXSAocmV2IDYzKQ0KPiAJU3Vic3lzdGVtOiBJbnRl
bCBDb3Jwb3JhdGlvbiBEdWFsIEJhbmQgV2lyZWxlc3MtQUMgNzI2MA0KPiBbODA4Njo0MDcwXQ0K
PiAJUGh5c2ljYWwgU2xvdDogMQ0KPiAJQ29udHJvbDogSS9PLSBNZW0rIEJ1c01hc3RlcisgU3Bl
Y0N5Y2xlLSBNZW1XSU5WLSBWR0FTbm9vcC0NCj4gUGFyRXJyLSBTdGVwcGluZy0gU0VSUisgRmFz
dEIyQi0gRGlzSU5UeCsNCj4gCVN0YXR1czogQ2FwKyA2Nk1Iei0gVURGLSBGYXN0QjJCLSBQYXJF
cnItIERFVlNFTD1mYXN0ID5UQWJvcnQtDQo+IDxUQWJvcnQtIDxNQWJvcnQtID5TRVJSLSA8UEVS
Ui0gSU5UeC0NCj4gCUxhdGVuY3k6IDAsIENhY2hlIExpbmUgU2l6ZTogNjQgYnl0ZXMNCj4gCUlu
dGVycnVwdDogcGluIEEgcm91dGVkIHRvIElSUSA0NQ0KPiAJUmVnaW9uIDA6IE1lbW9yeSBhdCBm
MDUwMDAwMCAoNjQtYml0LCBub24tcHJlZmV0Y2hhYmxlKSBbc2l6ZT04S10NCj4gCUNhcGFiaWxp
dGllczogW2M4XSBQb3dlciBNYW5hZ2VtZW50IHZlcnNpb24gMw0KPiAJCUZsYWdzOiBQTUVDbGst
IERTSSsgRDEtIEQyLSBBdXhDdXJyZW50PTBtQSBQTUUoRDArLEQxLQ0KPiAsRDItLEQzaG90KyxE
M2NvbGQrKQ0KPiAJCVN0YXR1czogRDAgTm9Tb2Z0UnN0LSBQTUUtRW5hYmxlLSBEU2VsPTAgRFNj
YWxlPTAgUE1FLQ0KPiAJQ2FwYWJpbGl0aWVzOiBbZDBdIE1TSTogRW5hYmxlKyBDb3VudD0xLzEg
TWFza2FibGUtIDY0Yml0Kw0KPiAJCUFkZHJlc3M6IDAwMDAwMDAwZmVlMDEwMGMgIERhdGE6IDQx
NTINCj4gCUNhcGFiaWxpdGllczogWzQwXSBFeHByZXNzICh2MikgRW5kcG9pbnQsIE1TSSAwMA0K
PiAJCURldkNhcDoJTWF4UGF5bG9hZCAxMjggYnl0ZXMsIFBoYW50RnVuYyAwLCBMYXRlbmN5DQo+
IEwwcyA8NTEybnMsIEwxIHVubGltaXRlZA0KPiAJCQlFeHRUYWctIEF0dG5CdG4tIEF0dG5JbmQt
IFB3ckluZC0gUkJFKyBGTFJlc2V0Kw0KPiAJCURldkN0bDoJUmVwb3J0IGVycm9yczogQ29ycmVj
dGFibGUtIE5vbi1GYXRhbC0gRmF0YWwtDQo+IFVuc3VwcG9ydGVkLQ0KPiAJCQlSbHhkT3JkKyBF
eHRUYWctIFBoYW50RnVuYy0gQXV4UHdyKyBOb1Nub29wKw0KPiBGTFJlc2V0LQ0KPiAJCQlNYXhQ
YXlsb2FkIDEyOCBieXRlcywgTWF4UmVhZFJlcSAxMjggYnl0ZXMNCj4gCQlEZXZTdGE6CUNvcnJF
cnIrIFVuY29yckVyci0gRmF0YWxFcnItIFVuc3VwcFJlcS0NCj4gQXV4UHdyKyBUcmFuc1BlbmQt
DQo+IAkJTG5rQ2FwOglQb3J0ICMwLCBTcGVlZCAyLjVHVC9zLCBXaWR0aCB4MSwgQVNQTSBMMHMN
Cj4gTDEsIEV4aXQgTGF0ZW5jeSBMMHMgPDR1cywgTDEgPDMydXMNCj4gCQkJQ2xvY2tQTSsgU3Vy
cHJpc2UtIExMQWN0UmVwLSBCd05vdC0NCj4gCQlMbmtDdGw6CUFTUE0gTDEgRW5hYmxlZDsgUkNC
IDY0IGJ5dGVzIERpc2FibGVkLSBDb21tQ2xrKw0KPiAJCQlFeHRTeW5jaC0gQ2xvY2tQTSsgQXV0
V2lkRGlzLSBCV0ludC0gQXV0QldJbnQtDQo+IAkJTG5rU3RhOglTcGVlZCAyLjVHVC9zLCBXaWR0
aCB4MSwgVHJFcnItIFRyYWluLSBTbG90Q2xrKw0KPiBETEFjdGl2ZS0gQldNZ210LSBBQldNZ210
LQ0KPiAJCURldkNhcDI6IENvbXBsZXRpb24gVGltZW91dDogUmFuZ2UgQiwgVGltZW91dERpcyss
IExUUissDQo+IE9CRkYgVmlhIFdBS0UjDQo+IAkJRGV2Q3RsMjogQ29tcGxldGlvbiBUaW1lb3V0
OiAxNm1zIHRvIDU1bXMsIFRpbWVvdXREaXMtLA0KPiBMVFItLCBPQkZGIERpc2FibGVkDQo+IAkJ
TG5rQ3RsMjogVGFyZ2V0IExpbmsgU3BlZWQ6IDIuNUdUL3MsIEVudGVyQ29tcGxpYW5jZS0NCj4g
U3BlZWREaXMtDQo+IAkJCSBUcmFuc21pdCBNYXJnaW46IE5vcm1hbCBPcGVyYXRpbmcgUmFuZ2Us
DQo+IEVudGVyTW9kaWZpZWRDb21wbGlhbmNlLSBDb21wbGlhbmNlU09TLQ0KPiAJCQkgQ29tcGxp
YW5jZSBEZS1lbXBoYXNpczogLTZkQg0KPiAJCUxua1N0YTI6IEN1cnJlbnQgRGUtZW1waGFzaXMg
TGV2ZWw6IC0zLjVkQiwNCj4gRXF1YWxpemF0aW9uQ29tcGxldGUtLCBFcXVhbGl6YXRpb25QaGFz
ZTEtDQo+IAkJCSBFcXVhbGl6YXRpb25QaGFzZTItLCBFcXVhbGl6YXRpb25QaGFzZTMtLA0KPiBM
aW5rRXF1YWxpemF0aW9uUmVxdWVzdC0NCj4gCUNhcGFiaWxpdGllczogWzEwMCB2MV0gQWR2YW5j
ZWQgRXJyb3IgUmVwb3J0aW5nDQo+IAkJVUVTdGE6CURMUC0gU0RFUy0gVExQLSBGQ1AtIENtcGx0
VE8tIENtcGx0QWJydC0NCj4gVW54Q21wbHQtIFJ4T0YtIE1hbGZUTFAtIEVDUkMtIFVuc3VwUmVx
LSBBQ1NWaW9sLQ0KPiAJCVVFTXNrOglETFAtIFNERVMtIFRMUC0gRkNQLSBDbXBsdFRPLSBDbXBs
dEFicnQtDQo+IFVueENtcGx0LSBSeE9GLSBNYWxmVExQLSBFQ1JDLSBVbnN1cFJlcS0gQUNTVmlv
bC0NCj4gCQlVRVN2cnQ6CURMUCsgU0RFUysgVExQLSBGQ1ArIENtcGx0VE8tIENtcGx0QWJydC0N
Cj4gVW54Q21wbHQtIFJ4T0YrIE1hbGZUTFArIEVDUkMtIFVuc3VwUmVxLSBBQ1NWaW9sLQ0KPiAJ
CUNFU3RhOglSeEVyci0gQmFkVExQKyBCYWRETExQLSBSb2xsb3Zlci0gVGltZW91dC0NCj4gTm9u
RmF0YWxFcnIrDQo+IAkJQ0VNc2s6CVJ4RXJyLSBCYWRUTFAtIEJhZERMTFAtIFJvbGxvdmVyLSBU
aW1lb3V0LQ0KPiBOb25GYXRhbEVycisNCj4gCQlBRVJDYXA6CUZpcnN0IEVycm9yIFBvaW50ZXI6
IDAwLCBHZW5DYXAtIENHZW5Fbi0NCj4gQ2hrQ2FwLSBDaGtFbi0NCj4gCUNhcGFiaWxpdGllczog
WzE0MCB2MV0gRGV2aWNlIFNlcmlhbCBOdW1iZXIgMGMtOGItZmQtZmYtZmYtMDgtMDktNzENCj4g
CUNhcGFiaWxpdGllczogWzE0YyB2MV0gTGF0ZW5jeSBUb2xlcmFuY2UgUmVwb3J0aW5nDQo+IAkJ
TWF4IHNub29wIGxhdGVuY3k6IDBucw0KPiAJCU1heCBubyBzbm9vcCBsYXRlbmN5OiAwbnMNCj4g
CUNhcGFiaWxpdGllczogWzE1NCB2MV0gVmVuZG9yIFNwZWNpZmljIEluZm9ybWF0aW9uOiBJRD1j
YWZlIFJldj0xDQo+IExlbj0wMTQgTDEgUE0gU3Vic3RhdGVzDQo+IAkJTDFTdWJDYXA6IFBDSS1Q
TV9MMS4yKyBQQ0ktUE1fTDEuMSsgQVNQTV9MMS4yKw0KPiBBU1BNX0wxLjErIEwxX1BNX1N1YnN0
YXRlcysNCj4gCQkJICBQb3J0Q29tbW9uTW9kZVJlc3RvcmVUaW1lPTMwdXMNCj4gUG9ydFRQb3dl
ck9uVGltZT02MHVzDQo+IAlLZXJuZWwgZHJpdmVyIGluIHVzZTogaXdsd2lmaQ0KPiAwMDogODYg
ODAgYjEgMDggMDYgMDUgMTAgMDAgNjMgMDAgODAgMDIgMTAgMDAgMDAgMDANCj4gMTA6IDA0IDAw
IDUwIGYwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwDQo+IDIwOiAwMCAwMCAw
MCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCA4NiA4MCA3MCA0MA0KPiAzMDogMDAgMDAgMDAg
MDAgYzggMDAgMDAgMDAgMDAgMDAgMDAgMDAgMGIgMDEgMDAgMDANCj4gNDA6IDEwIDAwIDAyIDAw
IGMwIDhlIDAwIDEwIDEwIDBjIDExIDAwIDExIGVjIDA2IDAwDQo+IDUwOiA0MiAwMSAxMSAxMCAw
MCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMA0KPiA2MDogMDAgMDAgMDAgMDAgMTIg
MDggMDggMDAgMDUgMDAgMDAgMDAgMDAgMDAgMDAgMDANCj4gNzA6IDAxIDAwIDAxIDAwIDAwIDAw
IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwDQo+IDgwOiAwMCAwMCAwMCAwMCAwMCAwMCAw
MCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMA0KPiA5MDogMDAgMDAgMDAgMDAgMDAgMDAgMDAg
MDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDANCj4gYTA6IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAw
IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwDQo+IGIwOiAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAw
MCAwMCAwMCAwMCAwMCAwMCAwMCAwMA0KPiBjMDogMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDEg
ZDAgMjMgYzggMDAgMDAgMDAgMGQNCj4gZDA6IDA1IDQwIDgxIDAwIDBjIDEwIGUwIGZlIDAwIDAw
IDAwIDAwIDUyIDQxIDAwIDAwDQo+IGUwOiAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAw
MCAwMCAwMCAwMCAwMCAwMA0KPiBmMDogMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAg
MDAgMDAgMDAgMDAgMDANCj4gMTAwOiAwMSAwMCAwMSAxNCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAw
MCAzMSAyMCA0NiAwMA0KPiAxMTA6IDQwIDIwIDAwIDAwIDAwIDIwIDAwIDAwIDAwIDAwIDAwIDAw
IDAwIDAwIDAwIDAwDQo+IDEyMDogMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAg
MDAgMDAgMDAgMDANCj4gMTMwOiAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAw
MCAwMCAwMCAwMA0KPiAxNDA6IDAzIDAwIGMxIDE0IDcxIDA5IDA4IGZmIGZmIGZkIDhiIDBjIDE4
IDAwIDQxIDE1DQo+IDE1MDogMDAgMDAgMDAgMDAgMGIgMDAgMDEgMDAgZmUgY2EgNDEgMDEgMWYg
MWUgZjAgMDANCj4gMTYwOiAwMCAwMCAwMCAwMCAyOCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAw
MCAwMCAwMA0KPiAxNzA6IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAw
IDAwIDAwDQo+IDE4MDogMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAg
MDAgMDANCj4gMTkwOiAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAw
MCAwMA0KPiAxYTA6IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAw
IDAwDQo+IDFiMDogMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAg
MDANCj4gMWMwOiAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAw
MA0KPiAxZDA6IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAw
DQo+IDFlMDogMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAN
Cj4gMWYwOiAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMA0K
PiAyMDA6IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwDQo+
IDIxMDogMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDANCj4g
MjIwOiAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMA0KPiAy
MzA6IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwDQo+IDI0
MDogMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgW3NuaXBw
ZWQgdGhlIHJlbWFpbmcgMDANCj4gYnl0ZXNdDQo+IA0KPiANCj4gPiBJIG1heSBoYXZlIG1lc3Nl
ZCB1cCB0aGluZ3MgaGVyZS4uLg0KPiA+DQo+ID4gQWNjb3JkaW5nIHRvIFN5c3RlbSAvIEhXLCBp
dCBpcyB1bnNhZmUgdG8gZGlzYWJsZSBMMSBQTSBTdWJzdGF0ZSB1c2luZw0KPiBzZXRwY2ksIGV2
ZW4gaWYgd2UgZGlzYWJsZSBpdCBmcm9tIGJvdGggc2lkZXMgKGRldmljZSBhbmQgYnJpZGdlKS4g
VGhpcyBraW5kIG9mDQo+IHNldHRpbmdzIHNob3VsZCBiZSBkb25lIGJ5IEJJT1Mgb25seS4NCj4g
PiBTbyB3ZSBoYXZlIDIgb3B0aW9ucyBoZXJlIChhc3N1bWluZyB0aGF0IHdlIGNhbid0IGRpc2Fi
bGUgdGhhdCBpbiBCSU9TKToNCj4gPiAqIGVpdGhlciB3ZSB0cnkgdG8gZGlzYWJsZSBMMSBQTSBT
dWJzdGF0ZSBldmVuIG15IGNvbGxlYWd1ZXMgdGhpbmsgaXQNCj4gPiBpcyBub3Qgc2FmZQ0KPiA+
ICogZWl0aGVyIHdlIGp1c3QgZGlzYWJsZSBMMSBhbHRvZ2V0aGVyDQo+IA0KPiBIb3cgYWJvdXQg
Zm9yY2luZyBBU1BNIGV2ZW4gaWYgdGhlIEJJT1Mgc2F5cyBpdCdzIHVuc3VwcG9ydGVkPyAgSGFz
IHRoYXQNCj4gYmVlbiB0ZXN0ZWQ/DQo+IA0KDQpXZWxsLi4uIE5vLi4uIEF0IGxlYXN0IG5vdCBi
eSBtZS4gUGVvcGxlIHVzdWFsbHkgY2FyZSBtb3JlIGFib3V0IGNvbm5lY3Rpdml0eSB0aGFuIHNh
dmluZyBwb3dlciA6KQ0K

2013-11-13 12:21:15

by Grumbach, Emmanuel

[permalink] [raw]
Subject: RE: [Ilw] Intel Wireless 7260 hardware timed out randomly

PiANCj4gMjAxMy8xMS8xMyBHcnVtYmFjaCwgRW1tYW51ZWwgPGVtbWFudWVsLmdydW1iYWNoQGlu
dGVsLmNvbT46DQo+ID4gQWNjb3JkaW5nIHRvIFN5c3RlbSAvIEhXLCBpdCBpcyB1bnNhZmUgdG8g
ZGlzYWJsZSBMMSBQTSBTdWJzdGF0ZSB1c2luZw0KPiBzZXRwY2ksIGV2ZW4gaWYgd2UgZGlzYWJs
ZSBpdCBmcm9tIGJvdGggc2lkZXMgKGRldmljZSBhbmQgYnJpZGdlKS4gVGhpcyBraW5kIG9mDQo+
IHNldHRpbmdzIHNob3VsZCBiZSBkb25lIGJ5IEJJT1Mgb25seS4NCj4gPiBTbyB3ZSBoYXZlIDIg
b3B0aW9ucyBoZXJlIChhc3N1bWluZyB0aGF0IHdlIGNhbid0IGRpc2FibGUgdGhhdCBpbiBCSU9T
KToNCj4gPiAqIGVpdGhlciB3ZSB0cnkgdG8gZGlzYWJsZSBMMSBQTSBTdWJzdGF0ZSBldmVuIG15
IGNvbGxlYWd1ZXMgdGhpbmsgaXQNCj4gPiBpcyBub3Qgc2FmZQ0KPiA+ICogZWl0aGVyIHdlIGp1
c3QgZGlzYWJsZSBMMSBhbHRvZ2V0aGVyDQo+IA0KPiANCj4gVW5zYWZlIG1lYW5zIGJhdHRlcnkg
Ymxvd3MgdXAgbGlrZSBhIFNhbXN1bmc/IDotKQ0KPiANCg0KWW91IGFscmVhZHkgYmxldyB5b3Vy
IHdhcnJhbnR5IHRoZSBtaW51dGUgeW91ciBpbnN0YWxsZWQgTGludXgsIGRpZG4ndCB5b3U/IDop
DQoNCj4gTXkgbGFwdG9wIGlzIG5vdyBjb25uZWN0ZWQgdG8gY2xhc3Nyb29tJ3MgV2lGaSAod2l0
aCBzZXRwY2kNCj4gd29ya2Fyb3VuZCkgYW5kIHJ1bm5pbmcgb24gYmF0dGVyeSwgaXQgc2VlbXMg
dGhlIHBvd2VyIGNvbnN1bXB0aW9uIGlzDQo+IGFjY2VwdGFibGUgLi4uIGF0IGxlYXN0IG5vdCB0
b28gbXVjaCBtb3JlIHRoYW4gYmVmb3JlLg0KDQpDb29sIC0gd2Ugd29yayBmb3Igbm90aGluZyAt
IGVuY291cmFnaW5nIDopDQo=

2013-11-13 13:48:30

by Bjørn Mork

[permalink] [raw]
Subject: Re: [Ilw] Intel Wireless 7260 hardware timed out randomly

"Grumbach, Emmanuel" <[email protected]> writes:

> Ok - so I have now the complete picture.

> This device was designed before PCI-SIG gave an ID to L1 PM Substates,
> so Intel had to use the L1 PM Substate as a Vendor Define whose ID is
> 0xCAFE. Layout is the same as defined now in PCI-SIG (page 21 in
> http://www.pcisig.com/specifications/pciexpress/specifications/ECN_L1_PM_Substates_with_CLKREQ_31_May_2013_Rev10a.pdf).
>
> So:
> 150: 03 10 03 10 0b 00 01 00 fe ca 41 01 1f 1e f0 00
> 160: 0f 00 a0 40 f0 00 00 00 00 00 00 00 00 00 00 00
>
> We can see that L1 PM Substate *is* enabled:
> 004h = 41 01 1f 1e
> 008h = 0f 00 f0 00
> 00Ch = a0 40 f0 00

Wow! That's extremely useful.

But I do have some problems placing the individiual bits right in these
LE registers. And so have you, I believe... You are 2 bytes off.
"41 01" is part of the vendor specific header (12 bits length == 0x014
and 4 bits version == 0x1.

So I made a simple patch for lspci based on your info. Seems to work
for me:


03:00.0 Network controller [0280]: Intel Corporation Wireless 7260 [8086:08b1] (rev 63)
Subsystem: Intel Corporation Dual Band Wireless-AC 7260 [8086:4070]
Physical Slot: 1
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 45
Region 0: Memory at f0500000 (64-bit, non-prefetchable) [size=8K]
Capabilities: [c8] Power Management version 3
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
Address: 00000000fee0100c Data: 4152
Capabilities: [40] Express (v2) Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <512ns, L1 unlimited
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr+ NoSnoop+ FLReset-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <4us, L1 <32us
ClockPM+ Surprise- LLActRep- BwNot-
LnkCtl: ASPM L1 Enabled; RCB 64 bytes Disabled- CommClk+
ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Range B, TimeoutDis+, LTR+, OBFF Via WAKE#
DevCtl2: Completion Timeout: 16ms to 55ms, TimeoutDis-, LTR-, OBFF Disabled
LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
Capabilities: [100 v1] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr- BadTLP+ BadDLLP- Rollover- Timeout- NonFatalErr+
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
Capabilities: [140 v1] Device Serial Number 0c-8b-fd-ff-ff-08-09-71
Capabilities: [14c v1] Latency Tolerance Reporting
Max snoop latency: 0ns
Max no snoop latency: 0ns
Capabilities: [154 v1] Vendor Specific Information: ID=cafe Rev=1 Len=014 L1 PM Substates
L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
PortCommonModeRestoreTime=30us PortTPowerOnTime=60us
Kernel driver in use: iwlwifi
00: 86 80 b1 08 06 05 10 00 63 00 80 02 10 00 00 00
10: 04 00 50 f0 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 86 80 70 40
30: 00 00 00 00 c8 00 00 00 00 00 00 00 0b 01 00 00
40: 10 00 02 00 c0 8e 00 10 10 0c 11 00 11 ec 06 00
50: 42 01 11 10 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 12 08 08 00 05 00 00 00 00 00 00 00
70: 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 01 d0 23 c8 00 00 00 0d
d0: 05 40 81 00 0c 10 e0 fe 00 00 00 00 52 41 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
100: 01 00 01 14 00 00 00 00 00 00 00 00 31 20 46 00
110: 40 20 00 00 00 20 00 00 00 00 00 00 00 00 00 00
120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
140: 03 00 c1 14 71 09 08 ff ff fd 8b 0c 18 00 41 15
150: 00 00 00 00 0b 00 01 00 fe ca 41 01 1f 1e f0 00
160: 00 00 00 00 28 00 00 00 00 00 00 00 00 00 00 00
170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
210: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
240: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[snipped the remaing 00 bytes]


> I may have messed up things here...
>
> According to System / HW, it is unsafe to disable L1 PM Substate using setpci, even if we disable it from both sides (device and bridge). This kind of settings should be done by BIOS only.
> So we have 2 options here (assuming that we can't disable that in BIOS):
> * either we try to disable L1 PM Substate even my colleagues think it is not safe
> * either we just disable L1 altogether

How about forcing ASPM even if the BIOS says it's unsupported? Has that
been tested?


Bjørn


Attachments:
0001-lspci-decode-Intel-vendor-specific-L1-PM-Substates.patch (1.41 kB)

2013-11-13 12:33:55

by Sascha Weaver

[permalink] [raw]
Subject: Re: [Ilw] Intel Wireless 7260 hardware timed out randomly

2013/11/13 Grumbach, Emmanuel <[email protected]>:
>> Unsafe means battery blows up like a Samsung? :-)
>>
>
> You already blew your warranty the minute your installed Linux, didn't you? :)
>

Indeed. :-)

>> My laptop is now connected to classroom's WiFi (with setpci
>> workaround) and running on battery, it seems the power consumption is
>> acceptable ... at least not too much more than before.
>
> Cool - we work for nothing - encouraging :)

To be frank I really know little about hardware (i.e. I had never
heard of "L1" "ASPM" and other HW terms before you talked about it...)
but I'll keep an eye, see if "setpci" workaround (this disables L1 /
ASPM?) has any side effects. (I hope not)

--
wzyboy

2013-11-13 12:18:41

by Sascha Weaver

[permalink] [raw]
Subject: Re: [Ilw] Intel Wireless 7260 hardware timed out randomly

2013/11/13 Grumbach, Emmanuel <[email protected]>:
> According to System / HW, it is unsafe to disable L1 PM Substate using setpci, even if we disable it from both sides (device and bridge). This kind of settings should be done by BIOS only.
> So we have 2 options here (assuming that we can't disable that in BIOS):
> * either we try to disable L1 PM Substate even my colleagues think it is not safe
> * either we just disable L1 altogether


Unsafe means battery blows up like a Samsung? :-)

My laptop is now connected to classroom's WiFi (with setpci
workaround) and running on battery, it seems the power consumption is
acceptable ... at least not too much more than before.

--
wzyboy