From: Ed Swierk <hidden> Date: 2007-03-13 03:05:46
I'm having trouble getting the serial console to work on an EP8343M
board when using U-Boot 1.2.0 to start Linux 2.6.20.1. I'm using arch
powerpc and platform MPC834x_SYS (which is perhaps wishful thinking,
as my board is different, although it should at least have the same
serial port configuration).
The symptoms are exactly the same as those in
http://ozlabs.org/pipermail/linuxppc-embedded/2006-September/024457.html:
the console stops working after the call to console_init(). The
suggested solution was to ensure that U-Boot is setting
timebase-frequency, bus-frequency and clock-frequency and passing
those properties to the kernel, and this does indeed seem to be
happening in my case.
I've attached the output from U-Boot (including a dump of the flat
device tree), as well as my kernel config and U-Boot board settings.
Any help would be appreciated.
--Ed
From: Kumar Gala <hidden> Date: 2007-03-13 14:58:13
On Mar 12, 2007, at 10:05 PM, Ed Swierk wrote:
I'm having trouble getting the serial console to work on an EP8343M
board when using U-Boot 1.2.0 to start Linux 2.6.20.1. I'm using arch
powerpc and platform MPC834x_SYS (which is perhaps wishful thinking,
as my board is different, although it should at least have the same
serial port configuration).
The symptoms are exactly the same as those in
http://ozlabs.org/pipermail/linuxppc-embedded/2006-September/
024457.html:
the console stops working after the call to console_init(). The
suggested solution was to ensure that U-Boot is setting
timebase-frequency, bus-frequency and clock-frequency and passing
those properties to the kernel, and this does indeed seem to be
happening in my case.
I've attached the output from U-Boot (including a dump of the flat
device tree), as well as my kernel config and U-Boot board settings.
Any help would be appreciated.
--Ed
Have you tried make the bootargs just console=ttyS0,115200 (or
whatever your baud rate is)?
- k
Hi Kumar,
I don't really know if i twill help you but I face the same problem some
times ago with Linux 2.6.17.4 and Linux 2.6.19.7.
I fixe the console error just by manually creating the node /dev/console
in the root file system to be mounted.
This device was automatically generated when I was using Linux-2.4.26.
I guess it help
Chris
From: Ed Swierk <hidden> Date: 2007-03-13 23:00:56
Another thing I've discovered is that enabling CONFIG_IPMI_HANDLER is
a bad idea, as init_ipmi_si just hangs. I didn't look into why, as I
have no need for IPMI and just disabled it.
--Ed
From: Ed Swierk <hidden> Date: 2007-03-13 23:50:08
On 3/13/07, Kumar Gala [off-list ref] wrote:
Have you tried make the bootargs just console=ttyS0,115200 (or
whatever your baud rate is)?
I've tried that too. I just stepped through most of the
console_initcall sequence with gdb and it seems like everything is
getting set up properly, including irq and mmio settings for the
serial devices, but still nothing gets printed. Maybe interrupts
aren't getting routed?
I just discovered the udbg-immortal command line option, which
prevents console_init from optimistically disabling the udbg console.
Debugging this problem should be a lot easier now that I can see
console output past console_init.
--Ed
From: Ed Swierk <hidden> Date: 2007-03-14 00:28:03
OK, problem solved. Once I kicked out that nasty IPMI driver,
everything works, including the serial console without udbg-immortal.
Lessons learned:
- passing "udbg-immortal loglevel=9 initcall_debug" to the kernel will
give you much more visibility into early init problems (at least on
powerpc arch circa 2.6.20)
- building U-Boot 1.2.0 with DEBUG defined in ft_build.c helps in
troubleshooting flat device tree problems
- the Abatron BDI2000 is an incredibly useful tool: source-level
debugging of U-Boot and the Linux kernel, starting at instruction zero
*swoon*
--Ed