IRQ problems on new Toshiba Libretto
A message that is not in the archive (sent off-list or not yet received): [email protected]
Dear Linus, Alan and Jeff,
thank you very much for your replies. I though it is best, if I respond with one email so we have all in one place.
Quoted 3 lines · Linus Torvalds
Can you add the output of "
dump_pirq" to your logs?
...
together with "lspci -vvvxx" would be useful.
dump_irq returns the following:
-----------------------------------------------------------------------
No PCI interrupt routing table was found.
Interrupt router at 00:07.0: AcerLabs Aladdin M1533 PCI-to-ISA bridge
INT1 (link 1): irq 11
INT2 (link 2): unrouted
INT3 (link 3): unrouted
INT4 (link 4): unrouted
INT5 (link 5): unrouted
INT6 (link 6): unrouted
INT7 (link 7): unrouted
INT8 (link 8): unrouted
Serial IRQ: [enabled] [continuous] [frame=21]
[pulse=8]
-----------------------------------------------------------------------
The output of lspci -vvvxx is a bit longer, so I have put it in:
http://launchers.tripod.com/linux/lspci_vvvxx.txt
Quoted 3 lines · Alan Cox
Did you try the pci=biosirq boot option btw ?
Yes, I tried 'pci=biosirq' as well as 'pci=irqmask=0xfff8', but unfortunately I couldn't see any change.
Quoted 3 lines · Jeff Garzik
I request two additional outputs:
1) lspci -vvvxxx
The putput of lspci -vvvxxx is in:
http://launchers.tripod.com/linux/lspci_vvvxxx.txt
Quoted 5 lines
2) Change
arch/i386/kernel/pci-i386.hnear the top to enable debugging:(quoted diff) +1
-1-#undef DEBUG +#define DEBUG 1and then provide dmesg output as before.
OK, I recompiled the kernel with this change and the output of 'dmesg' is in
http://launchers.tripod.com/linux/dmesg.wDEBUG1.txt
Hope this helps to trace back my problem! Thank you very much again for your help!
Aron
Aron,
Can you also include your kernel .config?
Looking at your dmesg output, there is no mention of a PCI BIOS at all. That either implies there is no kernel support for PCI BIOS built in (ok) or your BIOS doesn't support PCI BIOS (ug).
Further, there is no PCI interrupt routing table found by direct scan of memory, so it looks like your BIOS is not providing interrupt routing info at all. Without that, we can only route irqs on "a wing and a prayer"
Suggestions:
* Build kernel with CONFIG_PCI_GOANY config option.
* Do not build an SMP kernel (CONFIG_SMP) unless you are really using a multiprocessor machine.
* Go through BIOS setup. Check for and enable "PNP OS" setting, and similar settings which reflect an automatically assignment of machine resources.
It is also possible that this machine's interrupt routing info is in ACPI tables.. though I do not believe the Linux ACPI can make use of this yet.
Signature · 3 lines
Jeff Garzik | Andre the Giant has a posse. Building 1024 | MandrakeSoft |
Hi Jeff,
The latest version of my kernel '.config' file is at the end of the file:
http://launchers.tripod.com/linux/libretto_logs_n_kernelconfig.txt
Quoted 2 lines
Suggestions:
* Build kernel withCONFIG_PCI_GOANYconfig option.
Originally CONFIG_PCI_GOANY was set by default. I tried to unset and I have set it again as you suggest, but there seems to be no difference in dmesg and dump_irq.
Quoted 3 lines
* Go through BIOS setup. Check for and enable "PNP OS" setting, and similar settings which reflect an automatically assignment of machine resources.
The problem is that there is no documented way to enter a BIOS setup for this machine. Settings such as the boot sequence are done from a Windows application :-( I will try to ask Toshiba if there are any undocumented possibilities - but it would be a surprise.
Thanks & Cheers!
Aron
Quoted 4 lines · Aron Lentsch
dump_irqreturns the following:
-----------------------------------------------------------------------
No PCI interrupt routing table was found.
Hey, you don't have a pirq table, no wonder Linux cannot find the information.
It's probably an ACPI-only system - rather uncommon, but I bet it will become fairly common especially in laptops with WindowsME and higher only.
There's a ACPI dump utility in the ACPI tools, that might give people some idea on what's up. Right now Linux ACPI only does irq routing on ia64, if I remember correctly, so ACPI per se won't fix the problem, but it would definitely be the next thing to look at.
Oh, well..
Linus
Quoted 2 lines · Linus Torvalds
It's probably an ACPI-only system - rather uncommon,
...
It seems so - at least APM doesn't work, but ACPI does
- at least to so some extent.
Quoted 2 lines
... so ACPI per se won't fix the problem, but it
would definitely be the next thing to look at.
If I understand correctly, I have to wait until someone is taking up this task? Unfortunately I have now clue about kernel proramming - well, in fact I am not even a real programmer (I'm doing rocket engines and reusable launch vehicle stuff). Well in this case, whoever is going to pick-up on this and reading this lines now, please send you your patches, I would be pleased to do some testing on the Libretto.
Question 2: Is there any possible workaround for the moment? Can I e.g. "hardwire" IRQs, e.g. reading them under Windows and hardcoding them? In this case, there could be at least a kernel for the Libretto - the hardware can not be modified anyway.
Thanks,
Aron