SolidRun / linux-fslc

Linux kernel source tree
Other
12 stars 26 forks source link

pci stack n/a #37

Closed igorpecovnik closed 6 years ago

igorpecovnik commented 8 years ago

Compiled with default config:

imx6q-pcie: probe of 1ffc000.pcie failed with error -22

linux4kix commented 8 years ago

What card are you trying to use? NXP has released errata that their default pcie clock is not accurate enough to reliably drive PCIE 2.0 devices. They recommend adding an external clock to support it. Of course our boards do not have that. I do have about a half dozen cards here which do work fine.

On Wed, Feb 3, 2016 at 2:19 PM, Igor Pečovnik notifications@github.com wrote:

Compiled with default config:

imx6q-pcie: probe of 1ffc000pcie failed with error -22

— Reply to this email directly or view it on GitHub https://github.com/SolidRun/linux-fslc/issues/37.

igorpecovnik commented 8 years ago

it's Atheros AR9485 which works on all other kernels. Pci bus itself is not here if I remove card.

linux4kix commented 8 years ago

You don't have these additional messages?

[ 0.440599] imx6q-pcie 1ffc000.pcie: phy link never came up [ 0.440614] imx6q-pcie 1ffc000.pcie: Failed to bring link up! [ 0.440631] imx6q-pcie 1ffc000.pcie: failed to initialize host [ 0.441069] imx6q-pcie: probe of 1ffc000.pcie failed with error -22

That is normal if you don't have a card connected. In general I have not had any problems with any Atheros cards.

On Wed, Feb 3, 2016 at 2:43 PM, Igor Pečovnik notifications@github.com wrote:

it's some Atheros which works on all other kernels but the pci bus itself is not here

— Reply to this email directly or view it on GitHub https://github.com/SolidRun/linux-fslc/issues/37#issuecomment-179240491.

igorpecovnik commented 8 years ago

Yes, I have the same output on no card. When card is connected it stuck on init. Strange

linux4kix commented 8 years ago

Can you send me the part number to see if I have something close here?

On Wed, Feb 3, 2016 at 2:46 PM, Igor Pečovnik notifications@github.com wrote:

Yes, I have the same output on no card. When card is connected it stuck on init. Strange

— Reply to this email directly or view it on GitHub https://github.com/SolidRun/linux-fslc/issues/37#issuecomment-179242035.

igorpecovnik commented 8 years ago

Azurewave AW-NB097H ... I am opening my notebook for more testing ;)

igorpecovnik commented 8 years ago

I made a test with different Atheros card. Boot log: http://pastebin.com/nXHNfw9h

Except boot arguments, everything else is more or less default.

orikad commented 8 years ago

I'm having the same issue, would like to know if there's a fix planned. Thanks!

crazystick commented 8 years ago

I also have this issue using this card: http://silverstonetek.com/product.php?area=en&pid=551

The chip is Ralink RT3090BC4 V20A. dmesg is as you expected:

[ 0.437719] imx6q-pcie 1ffc000.pcie: phy link never came up [ 0.437749] imx6q-pcie 1ffc000.pcie: Failed to bring link up! [ 0.437768] imx6q-pcie 1ffc000.pcie: failed to initialize host [ 0.437916] imx6q-pcie: probe of 1ffc000.pcie failed with error -22

Any idea when we can expect a fix for this?

igorpecovnik commented 8 years ago

I made a "workaround" ... merged Hummigboard 2 into old official 3.14.x kernel ... (PCI) working fine. http://www.armbian.com/hummingboard2/

= stock kernel + those patches

linux4kix commented 8 years ago

I have been waiting to obtain a card that has this problem. All my cards work fine. I am aware that it is a patch NXP has added in their bsp, but without the hardware there is no place to start. I should be receiving a card in the next few days.

I have now tested 14 different cards that all function properly.

On Thu, May 5, 2016, 5:04 PM Igor Pečovnik notifications@github.com wrote:

I made a "workaround" ... merged Hummigboard 2 into old official 3.14.x kernel ... (PCI) working fine. http://www.armbian.com/hummingboard2/

= stock kernel + those patches https://github.com/igorpecovnik/lib/tree/master/patch/kernel/cubox-default

— You are receiving this because you commented.

Reply to this email directly or view it on GitHub https://github.com/SolidRun/linux-fslc/issues/37#issuecomment-217178547

crazystick commented 8 years ago

I'd be happy to ship you one of these cards if it would help, also be grateful if you could tell me if any of your working cards have bluetooth and support WiFi access point mode.

linux4kix commented 8 years ago

Most my cards are older but all the atheros, and Intel I have do. The broadcom aren't so great. With the atheros cards you get there best success disabling hwcrypto and btcoesc.

Like I said the new problematic board should be here tomorrow or Saturday and I am holding the latest patch bump until I sort this problem out.

On Thu, May 5, 2016, 5:31 PM Paul Adams notifications@github.com wrote:

I'd be happy to ship you one of these cards if it would help, also be grateful if you could tell me if any of your working cards have bluetooth and support WiFi access point mode.

— You are receiving this because you commented.

Reply to this email directly or view it on GitHub https://github.com/SolidRun/linux-fslc/issues/37#issuecomment-217187151

crazystick commented 8 years ago

So I got an Intel 7260HMW and it sort of works. I also have a mSATA disk on the HB Pro and its causing some issues.

If I boot without the network card, all is fine. If I then shutdown, but leave the power connected, plug in the network card, I can boot. If I remove the power, when I reconnect, I can't boot anymore, until I remove the network card. Its complaining about the SATA disk (which is where my rootfs is located) not being there.

Let me know if there's anything else I can do.

linux4kix commented 8 years ago

The problem you are seeing with the Intel card is one that I know about and is Intel specific and happens on non SolidRun machines as well. Intel implements the W_DISABLE pin which was added for PCIe later than the generation on the board. If this isn't implemented on the board then that is fine, however our board ties the W_DISABLE pin for both the mSata and mPCIe to the same line with a pullup on it. I have a feeling that this configuration is causing the strangeness you are seeing.

Could you try putting a small piece of tape over pin 20 of the Intel card and see if this fixes the situation for you?

On Tue, May 10, 2016 at 5:15 PM, Paul Adams notifications@github.com wrote:

So I got an Intel 7260HMW and it sort of works. I also have a mSATA disk on the HB Pro and its causing some issues.

If I boot without the network card, all is fine. If I then shutdown, but leave the power connected, plug in the network card, I can boot. If I remove the power, when I reconnect, I can't boot anymore, until I remove the network card. Its complaining about the SATA disk (which is where my rootfs is located) not being there.

Let me know if there's anything else I can do.

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/SolidRun/linux-fslc/issues/37#issuecomment-218189986

linux4kix commented 8 years ago

Please try reverting commits d24a5df30aed6e85e19e9bfe92f184b933debbdb and cb7015a7ebce3aac1fcbe6487bb21d898b19d325

The first one may need some manual editing but is pretty straight forward. Basically Freescale/NXP had changed the default ethernet pll clock for one of their newer boards. I had used device-tree to override this setting for our ethernet phy. You can run into an issue where ethernet and pcie are being brought up at the same time the reclocking of the ethernet phy can cause interruptions with the PCIe reference clock...enough that some cards don't get detected, or crash.

These changes have fixed the misbehaving card I have here, but please report back if it also fixes your problems.

crazystick commented 8 years ago

Unfortunately for me it doesn't seem to make much difference. With the old Intel 5100 card (which I've been using for a long time with the previous kernel), and the 7260 with the pins taped, mSATA is still failing. Sometimes it also fails even without any PCIe card.

[    3.817025] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    3.831708] ata1.00: model number mismatch 'InnoDisk Corp. - mSATA 3IE' != 'Generic FCR SATA Loader Loader Device'
[    3.850667] ata1.00: revalidation failed (errno=-19)
[    3.864152] ata1: limiting SATA link speed to 1.5 Gbps
[    8.831089] ata1: hard resetting link
[    9.303019] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[    9.317871] ata1.00: model number mismatch 'InnoDisk Corp. - mSATA 3IE' != 'Generic FCR SATA Loader Loader Device'
[    9.337002] ata1.00: revalidation failed (errno=-19)
crazystick commented 7 years ago

FYI, retesting this after quite a long time, this issue appears to be gone. At least on Arch Linux ARM (which has its own kernel at https://github.com/moonman/linux-fslc-sr but is presumably mostly the same).

3.14.79-1-ARCH #1 SMP Tue Sep 13 01:21:17 MDT 2016 armv7l GNU/Linux

Setup is using mSATA and Intel PCIe 7260 (with no pin taping). Disk, WiFi and Bluetooth all appear working.

orikad commented 7 years ago

@crazystick what board are you using? I'm using this exact kernel version with hummingboard i2ex and cannot get pcie working. On previous versions (3.0 Edit: I meant 3.14.58-1) it is working with the same board and pcie card.

crazystick commented 7 years ago

@orikad I also have the Hummingboard i2eX. Are you also using ALARM?

orikad commented 7 years ago

@crazystick yes. Actually it works fine on 3.14.58-1 and it does not work on 3.14.79-1. I haven't tested on 3.0.

crazystick commented 7 years ago

@orikad yep, that sounds like around the time that the kernel was switched over to this current fslc one. It was working for me prior to that, and it's working again now for me.

I have my rootfs on mSATA and the Intel 7260HMW WiFi/Bluetooth card installed.

user@host ~ % lspci
00:00.0 PCI bridge: Synopsys, Inc. Device abcd (rev 01)
01:00.0 Network controller: Intel Corporation Wireless 7260 (rev bb)
user@host ~ % lsusb
Bus 002 Device 003: ID 8087:07dc Intel Corp. 
Bus 002 Device 002: ID 04b4:6570 Cypress Semiconductor Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
crazystick commented 7 years ago

FYI, I tried with my original card, the Ralink RT3090BC4 mentioned above, and that one still doesn't work. I tried reverting those two commits mentioned earlier, but no improvement. At least it does still boot from mSATA even with this error.

% dmesg | grep pcie
[    0.659954] imx6q-pcie 1ffc000.pcie: phy link never came up
[    0.659968] imx6q-pcie 1ffc000.pcie: Failed to bring link up!
[    0.659980] imx6q-pcie 1ffc000.pcie: failed to initialize host
[    0.660108] imx6q-pcie: probe of 1ffc000.pcie failed with error -22
% uname -a
Linux muninn 3.14.79-2-ARCH #1 SMP Tue Nov 15 06:00:39 EET 2016 armv7l GNU/Linux
% lspci
% lsusb
Bus 002 Device 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 002 Device 002: ID 04b4:6570 Cypress Semiconductor Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
jnettlet commented 6 years ago

If this is still a problem please test with the latest 4.9 branch if possible. https://github.com/SolidRun/linux-fslc From my initial testing this seems to have most PCI issues resolved.