Re: Old Asus doesn't seem to support MSI

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Bjorn,

> 1) Krzysztof found a slightly newer BIOS for your system [1].  It's
> conceivable that could help.

I already updated the laptop with this BIOS but it changed nothing.

> 2) If you happen to have Windows, AIDA64 [2] can tell us whether it
> uses MSI.

I don’t have Windows available on this laptop anymore, however if I find a way to install it I’ll do, if I can run AIDA that will help.

Before doing the quirk I found a lead. At the time the laptop was released there was a small linux system running on it called « Asus Express Gate ». The sources are available on the same website that you and Krzysztof pointed out. The kernel used was pretty old (2.6.25.4) however I found some interesting information:

- the kernel configuration contains the following configuration for PCI:
  CONFIG_PCI=y
  CONFIG_PCI_GOANY=y
  CONFIG_PCI_BIOS=y
  CONFIG_PCI_DIRECT=y
  CONFIG_PCI_MMCONFIG=y
  CONFIG_PCI_DOMAINS=y
  CONFIG_ARCH_SUPPORTS_MSI=y
  CONFIG_PCI_MSI=y
  CONFIG_PCI_LEGACY=y
  CONFIG_HT_IRQ=y
  CONFIG_ISA_DMA_API=y
  So I guess MSI is expected to work.

- there’s another patch provided:

diff -Naurp linux-2.6.25.4/drivers/acpi/osl.c linux-2.6.25.4-mod/drivers/acpi/osl.c
--- linux-2.6.25.4/drivers/acpi/osl.c	2008-05-15 23:00:12.000000000 +0800
+++ linux-2.6.25.4-mod/drivers/acpi/osl.c	2008-09-08 11:31:38.000000000 +0800
@@ -132,7 +132,7 @@ static char osi_additional_string[OSI_ST
  * not ignore it will require a kernel source update to
  * add a DMI entry, or a boot-time "acpi_osi=Linux" invocation.
  */
-#define OSI_LINUX_ENABLE 0
+#define OSI_LINUX_ENABLE 1
 
 static struct osi_linux {
 	unsigned int	enable:1;

I’m not sure to understand exactly what it does, but do you think that adding api_osi=Linux would help ?

Damien


> Le 8 juin 2023 à 18:21, Bjorn Helgaas <helgaas@xxxxxxxxxx> a écrit :
> 
> [+cc Krzysztof]
> 
> On Thu, Jun 08, 2023 at 09:57:32AM +0200, Damien Dejean wrote:
>> Thanks for digging into this!
>> 
>>> It's also conceivable that MSI used to work in older kernels, but we
>>> broke something by v5.10.  Do you know whether any old kernels ever
>>> worked without "pci=nomsi”?
>> 
>> I remember trying older linux distributions (Debian oldstable,
>> kernel 4.19) and some older Ubuntu(s) but I don’t remember any of
>> them working. Plus, the Ubuntu wiki pages and various post replies
>> to “… Linux is not working on my x73sl laptop” are always suggesting
>> the pci=nomsi option, so I guess the problem exists since a while.
> 
> OK, more ideas:
> 
> 1) Krzysztof found a slightly newer BIOS for your system [1].  It's
> conceivable that could help.
> 
> 2) If you happen to have Windows, AIDA64 [2] can tell us whether it
> uses MSI.
> 
> 3) I'm inclined to add the attached quirk, which disables MSI on any
> machine with this chipset.  Should fix your ASUS X73SL, and could also
> fix other platforms with the same chipset.  May slow down other
> platforms where MSI *does* work.
> 
> 4) If needed, we could make the quirk specific to ASUS X73SL.
> 
> Bjorn
> 
> [1] https://www.asus.com/us/supportonly/x73sl/helpdesk_bios/
> [2] https://www.aida64.com/downloads
> 
> 
> commit 240bbd06303f ("PCI: Disable MSI on SiS 671")
> Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> Date:   Thu Jun 8 10:13:11 2023 -0500
> 
>    PCI: Disable MSI on SiS 671
> 
>    Damien reports that MSI doesn't work on the SiS 671 chipset, at least on
>    this platform:
> 
>      DMI: ASUSTeK Computer Inc.  F70SL/F70SL     , BIOS 211     02/18/2009
>      pci 0000:00:00.0: [1039:0671] type 00 class 0x060000
> 
>    This prevents devices, e.g., NVIDIA GeForce 9300M GS GPU and an Atheros
>    mini PCIe wifi adapter, from working.  Disable MSI completely on any
>    platform with this chipset.
> 
>    I assume MSI *does* work on Windows on this platform, so there may be a
>    chipset driver or something that configures it.  It's possible that MSI
>    does work on different platforms with SiS 671, so if anybody cares, we
>    *could* make this specific to the ASUS F70SL.
> 
>    Link: https://lore.kernel.org/r/19F46F0C-E9C8-489E-8AA5-2A16E13A6FE9@xxxxxxxxx
>    Reported-by: Damien Dejean <dam.dejean@xxxxxxxxx>
> 
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index f4e2a88729fd..adc58ce82d76 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -2585,6 +2585,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_VT3336, quirk_disab
> DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_VT3351, quirk_disable_all_msi);
> DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_VT3364, quirk_disable_all_msi);
> DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8380_0, quirk_disable_all_msi);
> +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SI, 0x0671, quirk_disable_all_msi);
> DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SI, 0x0761, quirk_disable_all_msi);
> DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SAMSUNG, 0xa5e3, quirk_disable_all_msi);
> 





[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux