If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below. ** If you are logged in, most ads will not be displayed. **

Problems with frame buffer diver with MCS8144

Hi,

I have managed to build the kernel for my project with support for a frame buffer driver. When the kernel is booting I see several messages in the console indicating the driver is loading and I can briefly the linux penguin is shown on the VDU when "mcs8142_vga_probe: platform register", then it disappears shortly after this message is shown, "mcs8142_vga_probe: EXIT, returning 0"
I cannot work out from which point the driver is loaded and where the parameters for a display of 1600x1050 are passed. Can someone please enlighten me on that. If I do an ls /dev/ I cannot see a reference to fb0, but if I compile and run the example app from here Enabling the Linux Framebuffer the application says that The frame buffer device was opened successfully. The application fails when it tries to read fixed information from the driver, so no image is displayed.

How do I enable the display when the kernel has finished booting? In the make menu I have enabled the Framebuffer Console support, and Map the console to the primary display device.

Have you tried passing a video mode to the frame buffer at kernel boot time? It is briefly mentioned in that article you linked (vga=791). If your frame buffer supports it, you should have your virtual terminals (Ctrl+Alt+F1, Ctl+Alt+F2), etc. running in the frame buffer at the resolution you select.

After some further digging around I have found that athe application note I have for my system mentions xorg.conf and x. Neither of those are present with the distribution. The Linux distribution I've been using is 2.6.24 and I cannot find X as part of the distribution.

I have asked Moschip several times about this issue, but I get no answer from them. Do you know where I can get a suitable copy of X from which I can add to my linux build? I have typed the question into google and not found a satisfactory answer. At some point I want to move to a newer kernel, but that will be no small task because I will need to add the necessary patches to enable it to work with an MCS8144

After some further digging around I have found that athe application note I have for my system mentions xorg.conf and x. Neither of those are present with the distribution. The Linux distribution I've been using is 2.6.24 and I cannot find X as part of the distribution.

I have asked Moschip several times about this issue, but I get no answer from them. Do you know where I can get a suitable copy of X from which I can add to my linux build? I have typed the question into google and not found a satisfactory answer. At some point I want to move to a newer kernel, but that will be no small task because I will need to add the necessary patches to enable it to work with an MCS8144

What is your base Linux distro? Or are you attempting to roll your own from scratch (as in LinuxFromScratch)? Most distros come w/the X windowing system and you just need to issue a command using the installer software to install it, e.g.:

yum groupinstall "X Window System"
apt-get install x-window-system

etc.

You can compile X from source, but that can take a while and has lots of dependencies and even when you are done, it is not nicely integrated w/your system.

Before the console=ttyMCS ie serial port. On startup I now see the penguin logo, and several lines of text as the kernel boots (This text previously appeared in Putty on my development PC) However the boot process gets so far, then the Linux system reverts back to using the serial port to output the console rather than the screen.

It has been suggested that I modify /etc/inittab, but I cannot found out how to set it up, the file currently reads:::sysinit:/etc/init.d/rcS
ttyMCS::askfirst:-/bin/sh
#::askfirst:/bin/sh
#::respawn:/sbin/getty -L ttyMCS 115200 vt100

I tried changing the second line to tty0, but that didn't change anything.

Does anyone have any suggestion for what I need to change to make this work please?

1) sending kernel output to the serial port and to the console while the kernel is booting

2) getting a login prompt over either the serial port or via the console

For the first one, you can use the console command multiple times (i.e., send output over both), but the last one listed is treated as the input device also. see this document for a better explanation than I could give:

I want to output the console onto a display rather than via the serial port.

Using your above link I changed the boot process so that the console output is shown on the display and the serial port. the problem I now have is that when the kernel finishes booting the display is turned off and the console output is only sent to the serial port.

My question is how do I set up the kernel so that once it has finished booting it continues to sent all output to the display (tty0 in this case) and not ttyS0?

I want to output the console onto a display rather than via the serial port.

Using your above link I changed the boot process so that the console output is shown on the display and the serial port. the problem I now have is that when the kernel finishes booting the display is turned off and the console output is only sent to the serial port.

My question is how do I set up the kernel so that once it has finished booting it continues to sent all output to the display (tty0 in this case) and not ttyS0?

i thought i understood you...i thought you wanted to output to both console and serial, and then when the kernel is done booting, allow login on the console.

in your kernel boot parameters, do you have console=tty0 listed after all other console= arguments?

does your /etc/inittab have your login program (getty, etc.) listening on a ttyN (which is what you want) or on your serial port device (which is not what you want, but could also have)?

My problem is that I cannot get anything displayed on the screen. When the kernel boots, I can see the Linux penguin logo, and the console text appears whilst booting. Then the screen is disabled and the screen shows "no signal". My question is: when linux has finished booting, how do I enable the screen and get the console to appear on the screen?

I know the keyboard is working, ctrl-alt-del causes the system to reset. fb0 is present in /dev/ I know the dsiplay hardware is working as I can see activity on the screen as the system boots.

Edit:

I have found in /sys/class/graphics/ 2 modules:
fb0 and fbcon.

After some searching around I have found that fbcon will give me a console output on the fb driver. I'm not sure how to load it. The is no node for it in /dev/, but it is present in sys/class/graphics/. How do I load the fbcon and create a node for it?