SOL,obmc-console-client can't connect to the host OS
xiuzhi
1450335857 at qq.com
Fri Nov 23 20:39:48 AEDT 2018
Hi Jeremy,
------------------ Original ------------------From: "jk";<jk at ozlabs.org>;
Send time: Friday, Nov 23, 2018 1:13 PM
To: "xiuzhi"<1450335857 at qq.com>; "openbmc"<openbmc at lists.ozlabs.org>;
Subject: Re: SOL,obmc-console-client can't connect to the host OS
>Hi Xiuzhi,
>> I am debugging the SOL, the obmc-console-client didn't work.
>> My BMC and host OS runtime environments are:
>> 1, BMC:
>> 1) obmc-console-server is good
>> # systemctl status obmc-console\@ttyVUART0
>> [[0;1;32m●[[0m obmc-console at ttyVUART0.service - Phosphor Console Muxer
>> listening on device /dev/ttyVUART0
>> Loaded: loaded (/lib/systemd/system/obmc-console at .service;
>> indirect; vendor preset: enabled)
>> Active: [[0;1;32mactive (running)[[0m since Fri 1998-01-02 19:42:56
>> UTC; 38min ago
>> Main PID: 1616 (obmc-console-se)
>> CGroup: /system.slice/system-obmc\
>> x2dconsole.slice/obmc-console at ttyVUART0.service
>> └─1616 obmc-console-server --config /etc/obmc-console.conf
>> ttyVUART0
>>
>> Jan 02 19:42:56 haiguang1 systemd[1]: Started Phosphor Console Muxer
>> listening on device /dev/ttyVUART0.
>> 2) /etc/ obmc-console.conf
>> lpc-address = 0x3f8
>> sirq = 4
>> local-tty = ttyS0
>> local-tty-baud = 115200
>>
>> 2, Host OS: redhat 7
>What hardware platform is this?
My platform is AMD X86 platform.
>> It seemed to lock and output nothing when I run "obmc-console-client"
>> on BMC. And there is nothing in the log /var/log/obmc-console.log
>This doesn't necessarily indicate a problem with the BMC though - are
>you sure that the host is connecting something (like a getty) to its
>serial device? Is there something on the host side of the serial
>connection? (what are you expecting to see there?)
>If the host is definitely using up that serial console, this could
>either be an issue with the obmc-console infrastructure, or the UART
>devices.
>You can split up the debugging to eliminate parts of the stack there.
>Try:
> - Stop obmc-console-server
> - from the BMC, read directly from the VUART (say,
`cat /dev/ttyVUART0`)
> - from the host, write to the UART (`echo hello > /dev/ttyS0`,
changing to whatever tty is connected to the BMC, if it isn't
ttyS0.).
>If that works, then you know that the UART channel is OK, and it's
either obmc-console, or that nothing on the host is using that serial
port.
I tried the above instruments, but can't read anything on my BMC console screen.
My AST2500 hardware uses the following gpios to connect to host hardware :
GPIOF5_NRTS4_LHFRAME#
GPIOF6_TXD4_LHSIRQ#
GPIOF7_RXD4_LHRST#
so, I append uart4 in my .dts file:
&uart4 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_txd4_default
&pinctrl_rxd4_default
&pinctrl_ncts4_default
&pinctrl_nrts4_default>;
and this is my bmc serials information:
root at haiguang1:~# cat /proc/tty/driver/serial
serinfo:1.0 driver revision:
0: uart:16550A mmio:0x1E783000 irq:31 tx:0 rx:0 RTS|CTS|DTR|DSR|CD
1: uart:unknown port:00000000 irq:0
2: uart:unknown port:00000000 irq:0
3: uart:16550A mmio:0x1E78F000 irq:35 tx:0 rx:0 4: uart:16550A mmio:0x1E784000 irq:32 tx:14139 rx:383 RTS|CTS|DTR|DSR|CD
5: uart:16550A mmio:0x1E787000 irq:33 tx:0 rx:0 RTS|DTR
Here ,the uart4 tx:14139 rx:383 shows it has data flow.
root at haiguang1:~# stty -F /dev/ttyVUART0 -a
speed 9600 baud;stty: /dev/ttyVUART0
line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>;
swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V;
flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany
-imaxbel -iutf8
-opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke
On host OS side:
#cat /proc/tty/device/serial
serinfo:1.0 driver revision:
0: uart:16450 port:000003F8 irq:4 tx:17204 rx:0 RTS|DTR|DSR|CD|RI
1: uart:16450 port:000002F8 irq:3
2: uart:unknown port:000003E8 irq:4
3: uart:unknown port:000002E8 irq:3
[root at localhost ~]#stty -F /dev/ttyS0 -a
speed 9600 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt
-echoctl -echoke
.
I input the following command on one host OS console:
# mgetty -r -x 9 /dev/ttyS0 &
# echo "123" > /dev/ttyS0
And on BMC side:
# cat /dev/ttyVUART0
I can see nothing.
But the uart4 tx and rx number increased when do:
cat /proc/tty/device/serial
before:
4: uart:16550A mmio:0x1E784000 irq:32 tx:15416 rx:498 RTS|CTS|DTR|DSR|CD
after host input: echo "123" > /dev/ttyS0
4: uart:16550A mmio:0x1E784000 irq:32 tx:16171 rx:586 RTS|CTS|DTR|DSR|CD
Why can't I see nothing on bmc side?
Which serial parameter should I use in the BMC file etc/obmc-console.conf, BMC uart4 port or Host uart0?
Best,
Xiuzhi
>Regards,
>Jeremy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20181123/ae4b310f/attachment-0001.html>
More information about the openbmc
mailing list