Forum: PC-Programmierung Linux Console 800x480


von Alex (Gast)


Lesenswert?

Hallo,
wie schon mal beschriebe habe ich Probleme mit meiner Linux Konsole!
Sie funktioniert noch bis 800x350 oder 600x465 !
Bei größerer Auflösung funktioniert zwar KOnsolenausgabe auf Display 
einwandfrei, doch der kernel bootet nicht mehr. Es erscheinen immer 
Fehlermeldungen!
Also an ioremap liegt es nicht. Der Fehler tritt sofort nachdem ich 
meinen Framebuffer registriere auf.
Der Fehler tritt auch auf, wenn die Konsole dann über seriell gehen 
soll!
Es könnte also mit einer Schicht dazwischen, der virtuellen Konsole oder 
so zu tun habenß

Vielen Dank

von Glaskugel-Vergesser (Gast)


Lesenswert?

Wäre interessant zu wissen, was für Fehlermeldungen da kommen..

von Alex (Gast)


Lesenswert?

Hallo,
also jetzt kann ich den Fehler schon sehr genau eingrenzen!
Ich habe in meinem Treiber nur die fb_info, var und fix -Strukturen 
gefüllt!
Aber leider gibt es keinen Videomode 800x480!
Kann mir jemand bitte eine Struvt fb_Videomode die mit 800x480 
funktioniert sagen?
Hab mal 800x600 (Videomode) probiert, der geht auch?(Nur dass halt die 
unteren Zeilen bei mir dann abgeschnitten sind)

Ich bräuchte nur realistische Werte für die syncs, da einfach 
irgendwelche nimmt der Kernel nicht!
Ich benötige aber die syncs nicht, da das alles mein U-Boot schon 
einstellt!
Hoffe das hilft jetzt nach feierabend weiter. Morgen kann ich mal den 
Linux Boot Vorgang mit der Fehlermeldung reinstellen!

Danke Euch

von Dirk B. (sharandac)


Lesenswert?

Hi,

kann es sein das du ein eeePC gekauft hast oder so ? Dann würde ich 
empfehlen eine der Ubuntu-teile zu probieren extra für den eeePC.

CA Dirk

von Thomas L. (tom)


Lesenswert?

Nachdem ich mich selbst schon mit sowas spielen durfte:
Dem Kernel sind die Anzahl der Spalten/Zeilen vor/nach dem eigentlichen 
Signal vollkommen egal. Hab mir das damals mit dem Oszi angesehen. Ich 
bin daraufhin nach dem Datasheet des Displays gegangen, das wollte 
jedoch nie funktionieren - die Werte erschienen mir auch irgendwie 
unsinnig, viel zu lange Zeiten imho.
Wenn der 800x600 Modus eh funktioniert, warum ersetzt du dann nicht 
einfach die Anzahl der Zeilen durch die deines Displays und besserst die 
Pixelclock noch aus. Dafür gibts dann imho eh eine Formel wie sich diese 
genau berechnet.

von Alex (Gast)


Lesenswert?

Hallo,
also ja ich habe in embedded der Firma Phytec!
Es ist ein MPC5200B tiny!
Ich habe da direkt einen Grafikkontroller Lime dran! Der wird mir mit 
Pixel-Clock vom U-Boot eingestellt!
Linux bräuchte sich bei mir um sowas gar nicht kümmern, einfach nur den 
Framebuffer schreiben! Denn der Grafikkontroller läuft intern bei mir 
fest auf 33MHz Pixelclock! Die Syncs und so sind alle fest eingestellt 
im Grafikkontroller!
Es sieht so aus als würde der Kernel nicht klar kommen, denn die Ausgabe 
funktioniert mit jeder Auflösung richtig!
Hier mal die fehlermeldung( die sehe ich seriell als auch genau so am 
Display mit 800x480! Ich bräuchte auch für großes Display 1176x768, die 
auch nicht geht bis jetzt!

Bitte Hilfe!
U-Boot 1.2.0-mpc5200b-tiny-3 (Dec 11 2007 - 11:25:01)

CPU:   MPC5200 v2.2, Core v1.4 at 399.999 MHz
       Bus 133 MHz, IPB 133 MHz, PCI 33 MHz
Board: phyCORE-MPC5200B-tiny
I2C:   ready
DRAM:  64 MB
SP:    0x03f73768
FLASH: 16 MB
Using pcm030 machine description
Linux version 2.6.23.1-rt5-pcm030-1trunk (aschmid@LINUX) (gcc version 
4.1.2) #39
2 PREEMPT RT Tue Dec 11 17:11:00 CET 2007
Zone PFN ranges:
  DMA             0 ->    16384
  Normal      16384 ->    16384
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0:        0 ->    16384
Real-Time Preemption Support (C) 2004-2007 Ingo Molnar
Built 1 zonelists in Zone order.  Total pages: 16256
Kernel command line: video=0x0-16@60 , console=ttyPSC0,115200 
mtdparts=physmap-f
lash.0:256k(ubootl),1792k(kernel),13312k(jffs2),256k(uboot)ro,256k(oftre 
e),-(spa
ce) rw root=/dev/mtdblock2 rootfstype=jffs2
WARNING: experimental RCU implementation.
MPC52xx PIC is up and running!
PID hash table entries: 256 (order: 8, 1024 bytes)
Console: colour dummy device 80x25
console [ttyPSC0] enabled
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 61960k/65536k available (2624k kernel code, 3508k reserved, 144k 
data, 1
06k bss, 124k init)
Mount-cache hash table entries: 512
NET: Registered protocol family 16
PCI: Probing PCI hardware
DMA: MPC52xx BestComm driver
DMA: MPC52xx BestComm engine @f0001200 ok !
Generic PHY: Registered new driver
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 4, 73728 bytes)
TCP bind hash table entries: 2048 (order: 3, 57344 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
io scheduler noop registered (default)
No Options from U-Boot
Lime Driver PROBE
Console: switching to colour frame buffer device 114x34
fb0: Virtual frame buffer device, using 2285K of video memory
stopped custom tracer.
Oops: Exception in kernel mode, sig: 4 [#1]
PREEMPT pcm030
Modules linked in:
NIP: c0008100 LR: c000eeec CTR: c00317c0
REGS: c037fda0 TRAP: 0700   Not tainted  (2.6.23.1-rt5-pcm030-1trunk)
MSR: 00089032 <EE,ME,IR,DR>  CR: 82008080  XER: 00000000
TASK = c07ef420[15] 'khelper' THREAD: c037e000
GPR00: c000eeec c037fe50 c07ef420 c0230000 c02064b8 00004011 c3ffc1b0 
c3ffc1a8
GPR08: c07ef420 c037fe80 c000f254 00000000 00000000 c7ffffff 03fcb000 
ffffffff
GPR16: 00000001 00000000 007ffc00 00000000 c02b8000 c0296830 c0290000 
c0296830
GPR24: c0030000 c00317c0 c3fe00b8 c3fe00c0 c3fe00b8 00804111 c037fe80 
00000000
NIP [c0008100] sys_clone+0x28/0x84
LR [c000eeec] ret_from_syscall+0x0/0x38
Call Trace:
[c037fe50] [c0296830] 0xc0296830 (unreliable)
[c037fe70] [c000eeec] ret_from_syscall+0x0/0x38
--- Exception: c00 at kernel_thread+0x28/0x60
    LR = __call_usermodehelper+0x54/0xac
[c037ff30] [c001b374] task_setprio+0x138/0x178 (unreliable)
[c037ff40] [c00081a0] __switch_to+0x44/0x6c
[c037ff60] [c0031eb8] run_workqueue+0x13c/0x240
[c037ff90] [c0032664] worker_thread+0x74/0xd4
[c037ffd0] [c0036298] kthread+0x48/0x84
[c037fff0] [c000fd2c] kernel_thread+0x44/0x60
Instruction dump:
7c0803a6 4e800020 9421ffe0 7c0802a6 bf61000c 7d3e4b78 7c9f2378 90010024
3c80c020 7c7d1b78 3c60c023 388464b8 <7c002b00> 7c003b00 800900a0 
38637ef0
Oops: Exception in kernel mode, sig: 4 [#2]
PREEMPT pcm030
Modules linked in:
NIP: c0008200 LR: c0022d00 CTR: c0018e90
REGS: c037fbd0 TRAP: 0700   Tainted: G      D 
(2.6.23.1-rt5-pcm030-1trunk)
MSR: 00089032 <EE,ME,IR,DR>  CR: 22004084  XER: 20000000
TASK = c07ef420[15] 'khelper' THREAD: c037e000
GPR00: 00000000 c037fc80 c07ef420 c07ef798 00000000 00000000 00000000 
00000000
GPR08: c07ef420 00000000 00000000 c037e000 22008082 c7ffffff 03fcb000 
ffffffff
GPR16: 00000001 00000000 007ffc00 00000000 c02b8000 c0296830 c0290000 
c0296830
GPR24: c0030000 c00317c0 00000004 c0290000 c07ef798 00000016 c0293658 
c07ef420
NIP [c0008200] discard_lazy_cpu_state+0x38/0x68
LR [c0022d00] do_exit+0x1d8/0x884
Call Trace:
[c037fc80] [00000004] 0x4 (unreliable)
[c037fc90] [c0022d00] do_exit+0x1d8/0x884
[c037fcd0] [c000d46c] kernel_bad_stack+0x0/0x4c
[c037fcf0] [c000d5e8] _exception+0x38/0x104
[c037fd90] [c000f534] ret_from_except_full+0x0/0x4c
--- Exception: 700 at sys_clone+0x28/0x84
    LR = ret_from_syscall+0x0/0x38
[c037fe50] [c0296830] 0xc0296830 (unreliable)
[c037fe70] [c000eeec] ret_from_syscall+0x0/0x38
--- Exception: c00 at kernel_thread+0x28/0x60
    LR = __call_usermodehelper+0x54/0xac
[c037ff30] [c001b374] task_setprio+0x138/0x178 (unreliable)
[c037ff40] [c00081a0] __switch_to+0x44/0x6c
[c037ff60] [c0031eb8] run_workqueue+0x13c/0x240
[c037ff90] [c0032664] worker_thread+0x74/0xd4
[c037ffd0] [c0036298] kthread+0x48/0x84
[c037fff0] [c000fd2c] kernel_thread+0x44/0x60
Instruction dump:
90010014 542b0024 812b000c 39290001 912b000c 3d20c02c 80099064 7f801000
419e002c 812b000c 3929ffff 912b000c <00000000> 00000000 40820020 
80010014
Fixing recursive fault but reboot is needed!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.