Find the answer to your Linux question:
Page 2 of 3 FirstFirst 1 2 3 LastLast
Results 11 to 20 of 23
Hi, thank you for you advice. Sadly I've not managed to get any further. It seems like the display hardware is disabled towards the end of posting. I have attached ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #11
    Just Joined!
    Join Date
    Aug 2012
    Posts
    39

    Hi, thank you for you advice.

    Sadly I've not managed to get any further. It seems like the display hardware is disabled towards the end of posting.

    I have attached a verbose log which show the output from power up through to when the kernel is running.

    When posting I see the same text as on lines 217 -> 464, and the penguin logo on the screen. Shortly after seeing the line "IROM disabled" the screen goes blank.

    Where in the kernel source can I find the place where the frame buffer driver is loaded, and set what parameters are passed (currently it is forced to 1600x1050) I would like to set a lower resoltuion.

    I have the following enabled in my kernel config:
    Device drivers-->Character devices->Virtual terminal
    Device drivers-->Character devices-> Support for binding and unbinding console drivers
    Device drivers--> Graphics support--> Support for frame buffer devices -->Enable firmware EDID
    Device drivers--> Graphics support--> Support for frame buffer devices -->Enable Video Mode Handling Helpers
    Device drivers--> Graphics support--> Support for frame buffer devices -->MCS8142 FramBuffer Driver
    Device drivers--> Graphics support--> Console display driver support-->Framebuffer Console support
    Device drivers--> Graphics support--> Console display driver support-->Map the console to the primary display device
    Device drivers--> Graphics support--> Console display driver support-->Select compiled-in fonts


    I cannot see what else I need to do. Does anyone have any further suggestions?

    I have contacted Moschip several times about the issue, but they just don't answer
    Attached Files Attached Files

  2. #12
    Trusted Penguin
    Join Date
    May 2011
    Posts
    4,353
    These are your kernel parameters, based upon your log:

    Code:
    Kernel command line: root=/dev/mtdblock3 rootfstype=jffs2 rw console=ttyMCS console=tty0 CONSOLE=tty0 mem=64M@0x0 panic=4 MCS8142VGA=792
    it probably doesn't make a difference, but you have console=tty0 twice.

    have you tried leaving off console=ttyMCS entirely, to see if you get to a login prompt?

    also, try leaving off the MCS8142VGA=792, or changing it, to lower the resolution. See these Linux kernel documents for an explanation of mode setting:

    http://en.wikipedia.org/wiki/VESA_BIOS_Extensions

    http://www.kernel.org/doc/Documentation/fb/vesafb.txt

  3. #13
    Just Joined!
    Join Date
    Aug 2012
    Posts
    39
    Thank you for your suggestions. Unfortunately I'm no further forward

    Something is disabling the display output, but I cannot see what.

    I managed to boot WinCE on the same system, and it worked fine, so I'm 100% confident the hardware is ok. I cannot work out what is disabling the display when the kernel has finished booting.

    Looking at these listings:

    # ls sys/class/graphics/
    fb0 fbcon
    # ls sys/class/tty/
    console tty14 tty22 tty30 tty39 tty47 tty55 tty63
    ptmx tty15 tty23 tty31 tty4 tty48 tty56 tty7
    tty tty16 tty24 tty32 tty40 tty49 tty57 tty8
    tty0 tty17 tty25 tty33 tty41 tty5 tty58 tty9
    tty1 tty18 tty26 tty34 tty42 tty50 tty59 ttyMCS0
    tty10 tty19 tty27 tty35 tty43 tty51 tty6
    tty11 tty2 tty28 tty36 tty44 tty52 tty60
    tty12 tty20 tty29 tty37 tty45 tty53 tty61
    tty13 tty21 tty3 tty38 tty46 tty54 tty62


    The console should be appearing on the screen. The most annoying thing is it's probably something really simple causing this!

  4. $spacer_open
    $spacer_close
  5. #14
    Trusted Penguin
    Join Date
    May 2011
    Posts
    4,353
    man, this is frustrating.

    what about the /dev/console character device, does that exist?

    Code:
    $ls -l /dev/console
    crw-------  1 root root 5, 1 2012-06-29 22:46 /dev/console
    or the /dev/tty* char devices?

    Code:
    $ ll /dev/tty[0-6]
    crw-rw----  1 root root 4, 0 2012-06-29 22:36 /dev/tty0
    crw-------  1 root root 4, 1 2012-06-29 22:46 /dev/tty1
    crw-------  1 root root 4, 2 2012-06-29 22:46 /dev/tty2
    crw-------  1 root root 4, 3 2012-06-29 22:46 /dev/tty3
    crw-------  1 root root 4, 4 2012-06-29 22:46 /dev/tty4
    crw-------  1 root root 4, 5 2012-06-29 22:46 /dev/tty5
    crw-------  1 root root 4, 6 2012-06-29 22:46 /dev/tty6

  6. #15
    Just Joined!
    Join Date
    Aug 2012
    Posts
    39
    If I type ls -l /dev/ I see the following:

    lrwxrwxrwx 1 root root 6 Sep 26 2012 console -> ttyMCS
    crw-r--r-- 1 root root 29, 0 Jan 1 00:02 fb0
    crw-rw-rw- 1 root root 5, 0 Oct 2 2012 tty
    crw-rw-rw- 1 root root 4, 0 Oct 2 2012 tty0
    crw-rw-rw- 1 root root 4, 1 Oct 2 2012 tty1
    crw-rw-rw- 1 root root 4, 2 Oct 2 2012 tty2
    crw-rw-rw- 1 root root 4, 3 Oct 2 2012 tty3
    crw-rw-rw- 1 root root 4, 4 Oct 2 2012 tty4
    crw-rw-rw- 1 root root 4, 5 Oct 2 2012 tty5
    crw-r----- 1 root root 204, 32 Jan 1 00:00 ttyMCS
    lrwxrwxrwx 1 root root 6 Sep 26 2012 ttyS0 -> ttyMCS

    from the above I can clearly see that console is being set to point to ttyMCS which is the serial port device on my system.

    I tried compiling the attached program con2fb with the parameters /dev/fb0 /dev/console but my system crashed. Somehow I need to get console to point to tty0.
    Attached Files Attached Files

  7. #16
    Trusted Penguin
    Join Date
    May 2011
    Posts
    4,353
    remove that symlink

    Code:
    rm -f /dev/console
    and create the true console character device:

    Code:
    mknod /dev/console c 5 1
    chmod 0600 /dev/console
    then reboot and see.

  8. #17
    Just Joined!
    Join Date
    Aug 2012
    Posts
    39
    There is nothing appearing on the display, although the console is no longer pointed to serial port, although all output appears on the serial port:
    Code:
     ls -l /dev/console
    crw-------    1 root     root       5,   1 Jan  1 00:00 /dev/console
    I tried the following:

    Code:
     fbset -fb /dev/fb0 vga
    fbset: can't open '/etc/fb.modes': No such file or directory
    #
    and

    Code:
     setconsole /dev/tty0 < /dev/console
    Neither of the above worked. I cannot find /etc/fb.modes on my system, and am not sure how to create it. Do I need to create fb.modes, and if so how?

  9. #18
    Trusted Penguin
    Join Date
    May 2011
    Posts
    4,353
    i don't think you need to worry about the fb stuff. you should be able to get a console going w/out that. but let me back up a second and ask a couple of questions:

    1) i assume you have a keyboard and VGA monitor attached to this computer, is this true?

    2) if so, then by console, do you mean that you want a login prompt to appear on this VGA monitor, when the kernel is done booting?

    3) i know that now, it currently gives you a login over the serial port, but before it gets there, does the VGA monitor properly display output while the kernel is booting?

    4) when you first power on the device, do you get output on the VGA monitor and can you interact w/the keyboard?

    If the answer to all these is "yes", then, provided that you have console=tty0 as last console= statement in your kernel arguments, I think your problem is in your /etc/inittab, or whatever init is calling. you have some sort of getty program listening on tty0, right? If you log in over the serial port, can you check dmesg or /var/log/messages for any errors about the getty program?

  10. #19
    Just Joined!
    Join Date
    Aug 2012
    Posts
    39
    1) i assume you have a keyboard and VGA monitor attached to this computer, is this true?
    Yes

    2) if so, then by console, do you mean that you want a login prompt to appear on this VGA monitor, when the kernel is done booting?
    Yes. Basically I want what is currently coming over the serial port to appear on the screen instead.

    3) i know that now, it currently gives you a login over the serial port, but before it gets there, does the VGA monitor properly display output while the kernel is booting?
    When the system boots, I see the penguin logo, and all the text in the attached file up to line 217 where it says "**IROM Disabled", then the screen turns off (IROM is the equivalent to the BIOS on a PC).

    4) when you first power on the device, do you get output on the VGA monitor and can you interact w/the keyboard?
    I cannot intereact with any of the text because it is the boot up text. If I press ctrl+alt+del then the system reboots.

    I haven't specifically setup a getty program, perhaps that's the problem? How do I do that for tty0?

    My inittab is:

    Code:
    ::sysinit:/etc/init.d/rcS
    tty0::askfirst:-/bin/sh
    ttyMCS::askfirst:-/bin/sh
    #::askfirst:/bin/sh
    #::respawn:/sbin/getty -L ttyMCS 115200 vt100
    Previously you suggested using mingetty, but I don't have that on my system
    Attached Files Attached Files

  11. #20
    Trusted Penguin
    Join Date
    May 2011
    Posts
    4,353
    Quote Originally Posted by AJEllisuk View Post
    I haven't specifically setup a getty program, perhaps that's the problem? How do I do that for tty0?

    My inittab is:

    Code:
    ::sysinit:/etc/init.d/rcS
    tty0::askfirst:-/bin/sh
    ttyMCS::askfirst:-/bin/sh
    #::askfirst:/bin/sh
    #::respawn:/sbin/getty -L ttyMCS 115200 vt100
    Previously you suggested using mingetty, but I don't have that on my system
    search your system for getty programs:
    Code:
    find / -executable -name '*get*'
    also, is this system based on busybox? if so, that means your inittab is "special" and might explain some weirdness. to see if it is busybox, try this command:

    Code:
    ls -l /bin
    if it lists a bunch of symlinks pointing to busybox, then it is busybox based. and if so, check out this info on inittab:

    busybox - BusyBox: The Swiss Army Knife of Embedded Linux

    Here is an interesting bit:


    # Format for each entry: <id>:<runlevels>:<action>:<process>
    #
    # <id>: WARNING: This field has a non-traditional meaning for BusyBox init!
    #
    # The id field is used by BusyBox init to specify the controlling tty for
    # the specified process to run on. The contents of this field are
    # appended to "/dev/" and used as-is. There is no need for this field to
    # be unique, although if it isn't you may have strange results. If this
    # field is left blank, it is completely ignored. Also note that if
    # BusyBox detects that a serial console is in use, then all entries
    # containing non-empty id fields will be ignored. BusyBox init does
    # nothing with utmp. We don't need no stinkin' utmp.


    so it may be that you just need to comment out the line that is calling the serial login
    Code:
    #ttyMCS::askfirst:-/bin/sh
    even if it is not busybox, i would try removing/commenting out that ttyMCS line.

    the line above it should be starting the console on tty0. it should ask you first ("askfirst"), and then run whatever is listed in the 4th column (/bin/sh -> a shell).

    btw, i don't know if commenting it out is sufficient or if you need to actually remove it.

Page 2 of 3 FirstFirst 1 2 3 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •