Hi Jeremy, ------------------ Original ------------------From: "jk";; Send time: Friday, Nov 23, 2018 1:13 PM To: "xiuzhi"<1450335857@qq.com>; "openbmc"; 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@ttyVUART0.service - Phosphor Console Muxer >> listening on device /dev/ttyVUART0 >> Loaded: loaded (/lib/systemd/system/obmc-console@.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@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@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@haiguang1:~# stty -F /dev/ttyVUART0 -a speed 9600 baud;stty: /dev/ttyVUART0 line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = ; eol2 = ; swtch = ; 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@localhost ~]#stty -F /dev/ttyS0 -a speed 9600 baud; rows 24; columns 80; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = ; eol2 = ; swtch = ; 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