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