Монитор пишет "OUT OF RANGE"

На мониторе не отображаются консоли и/или графический режим кассы, вместо этого монитор пишет "out of range".

Для решения проблемы необходимо:

  1. В параметры ядра добавить опцию nomodeset

    В консоли
    mcedit /etc/default/grub

    Добавить опцию в переменную GRUB_CMDLINE_LINUX_DEFAULT

    В консоли
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"

    Обновить grub и перезагрузить кассу

    В консоли
    update-grub
    reboot
  2. Установить необходимое разрешение. Пример файла настроек /linuxcash/cash/conf/graphicsmode.conf.

    graphicsmode.conf
    [main]
    ; Устанавливать режим мониторов. По умолчанию false
    setMode = true
     
    ; Разрешение по умолчанию для всех мониторов. 800x600 если не задано
    mode = 800x600

После установки на кассе отображается черный экран (POSIFLEX XT-4015-B-RT)

Для решения проблемы необходимо отредактировать настройки grub, которые хранятся в /etc/default/grub, добавив две строки:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nopti nomodeset"  
...
GRUB_GFXMODE=1024x768

Тогда весь файл примет вид:

Пример настройки
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=3
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nopti nomodeset"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=1024x768

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

Чтобы изменения применились, необходимо выполнить команду:

update-grub


Некорректно отображаются символы кириллицы в консоли

Оригинальная статья http://help.ubuntu.ru/wiki/russian_font_in_console

Нужно включить поддержку фреймбуфера на этапе инициализации ядра. Это в свою очередь разрешит выполнение нужных скриптов, которые загрузят фонты на самом раннем этапе инициализации ядра. Для этого:

  1. Используя любой текстовый редактор, в файл /etc/initramfs-tools/initramfs.conf добавить строчку FRAMEBUFFER=Y.

    echo 'FRAMEBUFFER=Y' >> /etc/initramfs-tools/initramfs.conf
  2. Обновить образ рамдиска периода инициализации ядра (initrd).

    update-initramfs -u
  3. Поле этих манипуляций наконец начнут работать настройки сделанные командой

    dpkg-reconfigure console-setup

Видеокарта VIA (Posiflex 2200)

При использовании видеокарты Posiflex 2200 могут возникнуть проблемы с подключением некоторых мониторов, например в графическом режиме отображается просто черный экран.

Проблема проявилась на кассе Posiflex 2200 видеокарта VGA compatible controller: VIA Technologies, Inc. CN700/P4M800 Pro/P4M800 CE/VN800 Graphics [S3 UniChrome Pro] (rev 01) при использовании монитора от FrontMaster или TVS LP-10R01(02).

В этом случае при использовании монитора FrontMaser в BIOS параметр Panel Type должен быть установлен в 02, а при использовании монитора TVS параметр должен быть установлен в 01.

Проблема решается использованием драйвера vesa вместо стандартного драйвера openchrome для VIA видеокарт. Для этого надо в /etc/X11/xorg.conf прописать:

Section "ServerLayout"
    Identifier "X.org Configured"
    Option "BlankTime" "0"
    Option "StandbyTime" "0"
    Option "SuspendTime" "0"
    Option "OffTime" "0"
EndSection

Section "Device"
    Identifier "Configured Video Device"
    Driver "vesa"
EndSection

Section "Screen"
    Identifier "Default Screen"
    Monitor "Configured Monitor"
    Device "Configured Video Device"
    SubSection "Display"
        Virtual 800 600
    EndSubSection
EndSection

Для изменения разрешения надо изменить строку Virtual 800 600 на требуемое значение.

Видеокарта VIA (Posiflex 2200) + Монитор TVS LP-10R21

Проблема решается следующим образом:

В /etc/X11/xorg.conf надо прописать (драйвер openchrome, не vesa):

Section "ServerLayout"
    Identifier "X.org Configured"
    Option "BlankTime" "0"
    Option "StandbyTime" "0"
    Option "SuspendTime" "0"
    Option "OffTime" "0"
EndSection

Section "Device"
    Identifier "Configured Video Device"
    Driver "openchrome"
EndSection

Section "Screen"
    Identifier "Default Screen"
    Monitor "Configured Monitor"
    Device "Configured Video Device"
    SubSection "Display"
        Virtual 800 600
    EndSubSection
EndSection

Далее создать исполняемый скрипт /linuxcash/cash/conf/autostart/xrandr.sh со следующим содержимым:

#!/bin/bash
xrandr --newmode "800x600_60.00"  38.50  800 832 912 1024  600 603 607 624 -hsync +vsync
xrandr --addmode VGA-1 800x600_60.00
xrandr --output VGA-1 --mode 800x600_60.00

где VGA-1 надо заменить на соответствующий интерфейс, если он отличается. Посмотреть интерфейсы можно при помощи команды /linuxcash/cash/bin/graphicsmode.py -q.

Проверялось только на разрешении 800х600.

При исправлении ошибки происходит следующее:

  1. В xorg.conf принудительно устанавливается разрешение 800х600 (оно устанавливается даже если нет монитора).
  2. Этот монитор на этой видеокарте всегда отображается в xrandr как отключенный (disconnected). То есть отсутствуют режимы и ничего не изменяется штатными средствами. Скрипт в автостарте создает новый режим и устанавливает этот режим для монитора несмотря на то, что он отключен.
  • No labels