Console TV micro-SD goes out of screen on PAL TV

Started by robotop, July 31, 2013, 08:07:28 PM

Previous topic - Next topic


Hello all. I recently purchased from Italian distributor of Olimex (RobotItaly) an Olinuxino Maxi board, in bundle with a "default" microSD. After that, I connected the composite video output to my TV that has multiple inputs for HDMI, VGA, SCART and generic A/V with microjack 3mm. When my Olinuxino board boots, I can see the linux logo (the penguin) on the left upper corner and after a while the login prompt. Typing "root" I have access without the need for password. OK.
Now, If I press my TV remote control button to know what video source is actually working, I see the OSD message : A/V input, NTSC 3.58MHz, 60Hz. Ok the console is visible, but goes out of borders. After some command, I reach the end of screen and the lower row becames not visible. Trying the command fbset (without parameters, just to know what mode in running) I receive the text: mode "640x480-110" etc. To shrink the visible area, I tried fbset with various configurations, but always my changes had no effect on video.
Using the command: fbset -g 640 480 640 480 32, the penguin disappeared, but no other changes happened on video. Continuing to send commands, the screen fills and I lose even the first row. Please, note that the console appears to be 80 columns by 30 rows (the first and last rows are partially clipped).
Using a different command, fbset -g 720 576 720 576 32, the situation changed: not only the first and last rows are invisible, but even the first 4/5 characters of each row are out of the screen... and the console size seems to be larger than in the other configuration (one line is more than 90 chars).
Playing with various parameters of fbset, it only modifies the data printed asking for -mode, but doesn't modify the screen at all. Is there a version that defaults on PAL-B mode ? Are there command that I don't know to solve this problem ? How can I modify my micro-SD to reach at boot a fully working console on my TV ?
Another question: I can't load a keymap for my italian keyboard. It seems that isn't included in the FS.
Any suggestion will be highly appreciated... thanks


similar problems here. fbset does not seem to have any visible effect at all, although fbset -x shows that the settings do change. Trying to change the resolution results in errors like: ioctl FBIOPUT_VSCREENINFO: Invalid argument.

update: the error suggests that an incorrect value of some sort is passed. Looking at tvenc.c here: it looks like the PAL and NTSC resolutions and timings are hardcoded.

I'll keep searching to find which function is called by fbset to update the settings to see if tvenc.c implements them. The framebuffer code is here:

what I dont know for sure yet is which fbset is actually included. This is the code that gives the error:
   setmode(&var, &varset);
   if (g_options & OPT_CHANGE) {
      if (g_options & OPT_ALL)
         var.activate = FB_ACTIVATE_ALL;
      if (ioctl(fh, FBIOPUT_VSCREENINFO, &var))
         bb_perror_msg_and_die("ioctl(%sT_VSCREENINFO)", "PU");

The code that module implements the FBIOPUT_VSCREENINFO ioctl is fbmem.c :




Thank you for your answer. I will investigate on your suggestions.
May be the solution will rise from experiments, launching the system with serial terminal connected to the default com port, trying to stop the u-boot program and modifying some environment variable. Actually, I moved to another platform, but the "mission" is just suspended, not cancelled :)

Fabiano Traple


The calculations to generate the video output board are generated by software, not hardware, despite the processor iMX233 have special functions for this, if you change the processing speed of the processor or memory that will affect the calculation, the problem generating quoted .
That's why the Yocto version works better than Arch linux.
I'll have to solve this problem for a project I'm working on, but have not got there yet ...


I've an original 2.6 kernel released by Freescale with perfectly working TV out, get it from here:

> cat /proc/version
Linux version (hehopmajieh@hehopmajieh-office) (gcc version 4.7.1 20120421 (prerelease) (GCC) ) #11 PREEMPT Mon May 21 10:27:52 EEST 2012