When starting Linux 4.3-rc2 on Edison
[ 0.287549] serial: probe of 0000:00:04.0 failed with error -16
and I am getting constantly
[ 8.562928] irq 54: nobody cared (try booting with the "irqpoll" option)
root@edison:~# cat /proc/interrupts | grep 54
54: 601793 0 IO-APIC 54-fasteoi serial
I am missing some serial driver... or 8250-pci misses some bits.
I had the same problem when running kernel 4.2.1. It only occurred when running in SMP mode. I think there's a locking problem with multiprocessor setups. Try compile without SMP support and see if that fixes things.
My configuration can be found at
In the older kernels the serial console was achieved thanks to CONFIG_SERIAL_MFD_HSU_CONSOLE=y, I believe.
BTW, there was significant rework of serial drivers for Linux 4.1: https://lkml.org/lkml/2015/4/21/144 LKML: Greg KH: [GIT PULL] TTY/Serial patches for 4.1-rc1
Yes, it used to be a separate driver for that. Now it is covered by 8250_pci. It seems you have the bits enabled in your configuration file (btw, it's not a defconfig: http://stackoverflow.com/questions/27899104/creating-defconfig-file-from-config/27918677 http://stackoverflow.com/questions/27899104/creating-defconfig-file-from-config/27918677) to get it. What is yours kernel command line? I'm using console=tty1 console=ttyS2,115200n8 ignore_loglevel.
One more thing: do you have enabled the following?
I am using similar console parameters. Tried with and without "console=tty1". I am just using loglevel 8.
Tried to use CONFIG_SERIAL_8250_SHARE_IRQ and CONFIG_SERIAL_8250_DETECT_IRQ as well. No luck.
Without SMP mode the serial probe still fails.
Are you not getting serial output at all on the console? I've got the serial console working correctly with this config: http://www.deckle.co.uk/intel-edison/edison-kernel-config-v4.2.1-broken-mmc.conf http://www.deckle.co.uk/intel-edison/edison-kernel-config-v4.2.1-broken-mmc.conf
Note that you need to change your boot parameters to output to ttyS2 rather than ttyMFD2 once you're in later kernels - for both the 'console' and 'earlyprintk' items. This is because the later kernels integrat the original MFD driver into a standard serial TTY instead.
Relevant bits (replied separately, but it's possibly useful to someone else
[ 1.931918] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[ 1.935315] hsu_dma_pci 0000:00:05.0: Found HSU DMA, 12 channels
[ 1.937984] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 1.941259] 0000:00:04.1: ttyS0 at MMIO 0xff010080 (irq = 28, base_baud = 1843200) is a TI16750
[ 1.942505] 0000:00:04.2: ttyS1 at MMIO 0xff010100 (irq = 29, base_baud = 1843200) is a TI16750
[ 1.943628] console [ttyS2] disabled
[ 1.943774] 0000:00:04.3: ttyS2 at MMIO 0xff010180 (irq = 54, base_baud = 1843200) is a TI16750
[ 2.992057] console [ttyS2] enabled
[ 2.997444] Non-volatile memory driver v1.3
[ 3.002747] Linux agpgart interface v0.103
[ 3.007256] [drm] Initialized drm 1.1.0 20060810
[ 3.021119] loop: module loaded
Thanks for looking at our thread!
I think that this really should be continued on - the overarching problem is detailed there. The current kernel we have is way way way too old to work with most hardware, and getting later kernels to work on the Edison doesn't seem feasible. This particular query is an example of the problem.
(For some reason that particular thread is marked as 'answered' - when it shouldn't be, from my understanding.)
I have not found a solution the problem yet. Is it configuration? Is it some missing bit in the kernel?
It would be great to get some indication from Intel if newer kernels have a chance to be supported.
wrobell, Try the configuration I prepared on my github repository. At least it works with Intel Edison board I have access to without mentioned disadvantage.
04:41:55 up 4:41, load average: 0.00, 0.01, 0.00
# dmesg | tail -n10
[ 228.547034] sdhci-pci 0000:00:01.0: No vmmc regulator found
[ 228.552780] sdhci-pci 0000:00:01.0: No vqmmc regulator found
[ 228.570202] mmc0: SDHCI controller on PCI [0000:00:01.0] using ADMA
[ 228.576801] intel_mid_pci_irq_enable 0 >>> 37 2 -1
[ 228.581837] sdhci-pci 0000:00:01.2: SDHCI controller found [8086:1190] (rev 1)
[ 228.589434] intel_mid_pci_irq_enable 0 >>> 38 3 -1
[ 228.594439] sdhci-pci 0000:00:01.3: SDHCI controller found [8086:1190] (rev 1)
[ 228.678326] mmc0: MAN_BKOPS_EN bit is not set
[ 228.692491] mmc0: new DDR MMC card at address 0001
[ 305.637287] mmc0: card 0001 removed
# uname -a
Linux buildroot 4.3.0-rc5-next-20151013+ # 28 SMP Wed Oct 14 16:42:40 EEST 2015 i686 GNU/Linux
There are plans to support newer kernels but so far there haven't been any updates when it will be released. Hopefully it will be available soon but for now there is no additional information.