Skip to contentSkip to conversation

regarding pci vga card output with powerpc

DISCUSSION urwithsudheer 2 participants 5 messages Aug 7, 2006 – Aug 10, 2006

lore
Share & tools
lore
#0 lore raw

Hello All,
I am working with a pci based vga card. I have connected the vga card next to the pci slot of my target processor on the baseboard.
I have connected a monitor to the vga card.
When i boot linux from minicom, i could see all the kernel log messages on both the minicom and vga card monitor. But on the vga monitor, i could not see any messages after asking for login as below:
.
.

Mounting filesystems
Running depmod
Setting up networking on loopback device:
Setting up networking on eth0:
eth0: PHY is Marvell 88E11x1 (1410cc2)
Adding static route for default gateway to 192.168.3.1:
Setting nameserver to 192.168.0.1 in /etc/resolv.conf:
Starting inetd:

login:

Though i am entering my login and passwd at the minicom, nothing comes on to the vga monitor. But i am able to write to vga monitor using the following commands from minicom:

# echo "Hello" > /dev/tty1
# echo "Hi " > /dev/tty1
My requirement is to get on the vga monitor whatever i am typing on the minicom after logging into the linux like .
ls or pwd commands.

Anyone pl help me.

Thanks & Regards
Sudheer

#1 lore raw
Quoted 26 lines · urwithsudheer

Hello All,
I am working with a pci based vga card. I have connected the vga card next to the pci slot of my target processor on the baseboard.
I have connected a monitor to the vga card.
When i boot linux from minicom, i could see all the kernel log messages on both the minicom and vga card monitor. But on the vga monitor, i could not see any messages after asking for login as below:
.
.

Mounting filesystems
Running depmod
Setting up networking on loopback device:
Setting up networking on eth0:
eth0: PHY is Marvell 88E11x1 (1410cc2)
Adding static route for default gateway to 192.168.3.1:
Setting nameserver to 192.168.0.1 in /etc/resolv.conf:
Starting inetd:

login:

Though i am entering my login and passwd at the minicom, nothing comes on to the vga monitor. But i am able to write to vga monitor using the following commands from minicom:

# echo "Hello" > /dev/tty1
# echo "Hi " > /dev/tty1
My requirement is to get on the vga monitor whatever i am typing on the minicom after logging into the linux like .
ls or pwd commands.
Quoted 5 lines

Anyone pl help me.

Thanks & Regards
Sudheer

See Documentation/kernel-parameters.txt.

If be short, add:

console=/dev/ttySxx console=/dev/tty1

(both) to a kernel parameters string.

--
Regards
Andrey

author
#2 lore raw
Quoted 33 lines · Andrey Volkov
Quoted 26 lines · urwithsudheer

Hello All,
I am working with a pci based vga card. I have connected the vga card next to the pci slot of my target processor on the baseboard.
I have connected a monitor to the vga card.
When i boot linux from minicom, i could see all the kernel log messages on both the minicom and vga card monitor. But on the vga monitor, i could not see any messages after asking for login as below:
.
.

Mounting filesystems
Running depmod
Setting up networking on loopback device:
Setting up networking on eth0:
eth0: PHY is Marvell 88E11x1 (1410cc2)
Adding static route for default gateway to 192.168.3.1:
Setting nameserver to 192.168.0.1 in /etc/resolv.conf:
Starting inetd:

login:

Though i am entering my login and passwd at the minicom, nothing comes on to the vga monitor. But i am able to write to vga monitor using the following commands from minicom:

# echo "Hello" > /dev/tty1
# echo "Hi " > /dev/tty1
My requirement is to get on the vga monitor whatever i am typing on the minicom after logging into the linux like .
ls or pwd commands.
Quoted 5 lines

Anyone pl help me.

Thanks & Regards
Sudheer

Quoted 8 lines

See Documentation/kernel-parameters.txt.

If be short, add:

console=/dev/ttySxx console=/dev/tty1

(both) to a kernel parameters string.

I got upto login prompt on the vga monitor only after giving the above parameters in my u-boot bootargs. u-boot=> set bootargs console=tty1 console=ttyS0,115200.

I have added in the serial driver linux/drivers/serial/serial_core.c
in the function uart_write(struct tty_struct *tty, const unsigned
char * buf, int count)
The lines in the if directive.

if (c <= 0)

                       break;
               memcpy(circ->buf + circ->head, buf, c);
/* added to test vga */
#if 1
               memcpy(tempbuf, circ->buf + circ->head, c);
                 for(i=0;i<c;i++)
                 printk("%c", tempbuf[i]);

#endif

circ->head = (circ->head + c) & (UART_XMIT_SIZE - 1);
               buf += c;

Then as i expected, all the letters i enter in the minicom came twice on the minicom.

login:rroooott
Password: Password:
login on ttyS0'ogin on ttyS0'login[83]: root

~ # ~ # llss
~ # ~ # iiffccoonnffiigg

And whatever i enter on the minicom also gets print on the vga monitor but only once. When i comment the if directive, On the vga monitor i could see only upto login prompt.

I don't know why the printk statement i added in the serial driver prints on the vga monitor.

As said by shkatikannan, i am going through the vga driver to copy to the frambuffer. But yet couldn't get it exactly in the code where to copy.

Please tell me if i am in the wrong path.

Thanks & Regards
Sudheer

Quoted 5 lines
Signature · 2 lines
Regards
Andrey
#3 lore raw
Quoted 66 lines · sudheer
Quoted 39 lines · Andrey Volkov
Quoted 32 lines · urwithsudheer

Hello All,
I am working with a pci based vga card. I have connected the vga card next to the pci slot of my target processor on the baseboard. I have connected a monitor to the vga card.
When i boot linux from minicom, i could see all the kernel log messages on both the minicom and vga card monitor. But on the vga monitor, i could not see any messages after asking for login as below:
.
.

Mounting filesystems
Running depmod
Setting up networking on loopback device:
Setting up networking on eth0:
eth0: PHY is Marvell 88E11x1 (1410cc2)
Adding static route for default gateway to 192.168.3.1:
Setting nameserver to 192.168.0.1 in /etc/resolv.conf:
Starting inetd:

login:

Though i am entering my login and passwd at the minicom, nothing comes on to the vga monitor. But i am able to write to vga monitor using the following commands from minicom:

# echo "Hello" > /dev/tty1
# echo "Hi " > /dev/tty1
My requirement is to get on the vga monitor whatever i am typing on
the minicom after logging into the linux like .
ls or pwd commands.
Quoted 5 lines

Anyone pl help me.

Thanks & Regards
Sudheer

Quoted 8 lines

See Documentation/kernel-parameters.txt.

If be short, add:

console=/dev/ttySxx console=/dev/tty1

(both) to a kernel parameters string.

I got upto login prompt on the vga monitor only after giving the above parameters in my u-boot bootargs.
u-boot=> set bootargs console=tty1 console=ttyS0,115200.

I have added in the serial driver linux/drivers/serial/serial_core.c
in the function uart_write(struct tty_struct *tty, const unsigned
char * buf, int count)
The lines in the if directive.

if (c <= 0)

                        break;
                memcpy(circ->buf + circ->head, buf, c);
/* added to test vga */
#if 1
                memcpy(tempbuf, circ->buf + circ->head, c);
                  for(i=0;i<c;i++)
                  printk("%c", tempbuf[i]);
Quoted 7 lines

#endif

 circ->head = (circ->head + c) & (UART_XMIT_SIZE - 1);
                buf += c;

Then as i expected, all the letters i enter in the minicom came twice on the minicom.

Because printk didn't print to an dedicated device, but to a klog stream. So check your /etc/inittab and /etc/securetty, its similar that something wrong in this files.

Quoted 24 lines

login:rroooott
Password: Password:
login on ttyS0'ogin on ttyS0'login[83]: root

~ # ~ # llss
~ # ~ # iiffccoonnffiigg

And whatever i enter on the minicom also gets print on the vga monitor but only once.
When i comment the if directive, On the vga monitor i could see only upto login prompt.

I don't know why the printk statement i added in the serial driver prints on the vga monitor.

As said by shkatikannan, i am going through the vga driver to copy to the frambuffer. But yet couldn't get it exactly in the code where to copy.

Please tell me if i am in the wrong path.

Thanks & Regards
Sudheer

Signature · 2 lines
Regards
Andrey
author
#4 lore raw
Quoted 76 lines · Andrey Volkov
Quoted 74 lines · sudheer
Quoted 40 lines · Andrey Volkov
Quoted 32 lines · urwithsudheer

Hello All,
I am working with a pci based vga card. I have connected the vga card next to the pci slot of my target processor on the baseboard. I have connected a monitor to the vga card.
When i boot linux from minicom, i could see all the kernel log messages on both the minicom and vga card monitor. But on the vga monitor, i could not see any messages after asking for login as below:
.
.

Mounting filesystems
Running depmod
Setting up networking on loopback device:
Setting up networking on eth0:
eth0: PHY is Marvell 88E11x1 (1410cc2)
Adding static route for default gateway to 192.168.3.1:
Setting nameserver to 192.168.0.1 in /etc/resolv.conf:
Starting inetd:

login:

Though i am entering my login and passwd at the minicom, nothing comes on to the vga monitor. But i am able to write to vga monitor using the following commands from minicom:

# echo "Hello" > /dev/tty1
# echo "Hi " > /dev/tty1
My requirement is to get on the vga monitor whatever i am typing on
the minicom after logging into the linux like .
ls or pwd commands.
Quoted 6 lines

Anyone pl help me.

Thanks & Regards
Sudheer

Quoted 9 lines

See Documentation/kernel-parameters.txt.

If be short, add:

console=/dev/ttySxx console=/dev/tty1

(both) to a kernel parameters string.

I got upto login prompt on the vga monitor only after giving the above parameters in my u-boot bootargs.
u-boot=> set bootargs console=tty1 console=ttyS0,115200.

I have added in the serial driver linux/drivers/serial/serial_core.c
in the function uart_write(struct tty_struct *tty, const unsigned
char * buf, int count)
The lines in the if directive.

if (c <= 0)

                        break;
                memcpy(circ->buf + circ->head, buf, c);
/* added to test vga */
#if 1
                memcpy(tempbuf, circ->buf + circ->head, c);
                  for(i=0;i<c;i++)
                  printk("%c", tempbuf[i]);

#endif

 circ->head = (circ->head + c) & (UART_XMIT_SIZE - 1);
                buf += c;
Quoted 8 lines
Quoted 3 lines

Then as i expected, all the letters i enter in the minicom came twice on the minicom.

Because printk didn't print to an dedicated device, but to a klog stream. So check your /etc/inittab and /etc/securetty, its similar that something wrong in this files.

oh..sorry, i forgot to tell you about the other two modifications done in the kernel config and ramdisk. In the kernel config-- I have selected the virtual terminal option.
In the ramdisk- etc/inittab - i added the following line:
::respawn:/sbin/getty tty1 115200 vt100.
The etc/securetty contains the following:
console
fb0
tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8
ttyS0
ttyS1
ttyS2
ttyS3
ttyp0
ttyp1
ttyp2
ttyp3
ttyAM0
ttyAM1
tts/0
tts/1

Do i need to use fb0, to send the serial data to frame buffer ?

Quoted 24 lines
Quoted 24 lines

login:rroooott
Password: Password:
login on ttyS0'ogin on ttyS0'login[83]: root

~ # ~ # llss
~ # ~ # iiffccoonnffiigg

And whatever i enter on the minicom also gets print on the vga monitor but only once. When i comment the if directive, On the vga monitor i could see only upto login prompt.

I don't know why the printk statement i added in the serial driver prints on the vga monitor.

As said by shkatikannan, i am going through the vga driver to copy to the frambuffer. But yet couldn't get it exactly in the code where to copy.

Please tell me if i am in the wrong path.

Thanks & Regards
Sudheer