Bitratenproblem mit boot auf serieller Schnittstelle (i386)

Hallo OpenBSD-Forum,

vielleicht kann mir jemand mit einem kleinen aber trotzdem nervigen (sprich: bereits viel Zeit investiert) Problem helfen. Es geht darum, die serielle Konsole auf einem i386-System von 9600 bps auf 19200 bps umzukonfigurieren.

Eigentlich habe ich das zu 99.9% geschafft - nur ein kleiner Teil des Bootloaders meldet sich immer noch in 9600 bps, was dann immer mit hässlicher "Noise" äussert. Hier mein Bootvorgang auf der seriellen Schnittstelle:

Code:
PC Engines ALIX.2 v0.99
640 KB Base Memory
261120 KB Extended Memory

01F0 Master 044A CF 4GB                                  
Phys C/H/S 7866/16/63 Log C/H/S 983/128/63
Using drive 0, partition 3;
Loading;...
probing: pc0 com0 pci mem[640K 255M a20=on] 
disk: hd0
>> OpenBSD/i386 BOOT 3.01
-
com0: 19200 baud
switching console to com0
                         ?????Æ?030??????3???3?
                                               ???H?֫?ʒ???Ց????
booting hd0a:/bsd: 5913424+1004644 [52+306864+287943]=0x72a4d4
entry point at 0x200120?
[ using 595232 bytes of bsd ELF symbol table ]
Copyright (c) 1982, 1986, 1989, 1991, 1993
	The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2008 OpenBSD. All rights reserved.  http://www.OpenBSD.org

OpenBSD 4.3 (GENERIC) #698: Wed Mar 12 11:07:05 MDT 2008
    deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC

Ab hier ist alles perfekt. Einzig der Prompt von "boot" kommt noch in 9600 bps. Es scheint ja aber, dass "boot" zunächst (erste Zeile) sauber auf 19200 bps liefert, danach aber kurzfristig auf 9600 bps wechselt, bis meine Einstellung aus boot.conf das wieder auf 19200 bps zurückstellt.

Was ich gemacht habe:

1. BIOS von 9600 auf 19200 gestellt (funktioniert tadellos)
2. boot von 9600 auf 19200 gestellt in /etc/boot.conf:
Code:
set tty com0
stty com0 19200
Das ist der Teil, der nicht ganz funktioniert: boot scheint zunächst vom BIOS die 19200 zu übernehmen, dann auf 9600 zurückzustellen und erst dann wieder meine Einstellung aus boot.conf zu übernehmen. Habe die beiden Zeilen auch vertauscht, mit ähnlichen Ergebnissen.
3. Console in /etc/ttys von 9600 auf 19200 gestellt (funktioniert tadellos):
Code:
tty00   "/usr/libexec/getty std.19200"  vt220    on secure

Vielleicht hat ja jemand eine Ahnung, ob es noch ein weiteres Setting gibt, ich habe trotz längerer Suche nichts gefunden - oder muss ich boot gar neu kompilieren?

Beste Grüsse
und vielen Dank
Beat


dmesg
Code:
OpenBSD 4.3 (GENERIC) #698: Wed Mar 12 11:07:05 MDT 2008
    deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Geode(TM) Integrated Processor by AMD PCS ("AuthenticAMD" 586-class) 499 MHz
cpu0: FPU,DE,PSE,TSC,MSR,CX8,SEP,PGE,CMOV,CFLUSH,MMX
real mem  = 268009472 (255MB)
avail mem = 251097088 (239MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 12/10/07, BIOS32 rev. 0 @ 0xfceb2
pcibios0 at bios0: rev 2.1 @ 0xf0000/0x10000
pcibios0: pcibios_get_intr_routing - function not supported
pcibios0: PCI IRQ Routing information unavailable.
pcibios0: PCI bus #0 is the last bus
bios0: ROM list: 0xe0000/0xa800
cpu0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 1 function 0 "AMD Geode LX" rev 0x33
glxsb0 at pci0 dev 1 function 2 "AMD Geode LX Crypto" rev 0x00: RNG AES
vr0 at pci0 dev 9 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 10, address 00:0d:b9:14:7b:44
ukphy0 at vr0 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034
vr1 at pci0 dev 10 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 11, address 00:0d:b9:14:7b:45
ukphy1 at vr1 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034
vr2 at pci0 dev 11 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 12, address 00:0d:b9:14:7b:46
ukphy2 at vr2 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034
glxpcib0 at pci0 dev 15 function 0 "AMD CS5536 ISA" rev 0x03: rev 0, 32-bit 3579545Hz timer, watchdog, gpio
gpio0 at glxpcib0: 32 pins
pciide0 at pci0 dev 15 function 2 "AMD CS5536 IDE" rev 0x01: DMA, channel 0 wired to compatibility, channel 1 wired to compatibility
wd0 at pciide0 channel 0 drive 0: <CF 4GB>
wd0: 1-sector PIO, LBA, 3871MB, 7928928 sectors
wd0(pciide0:0:0): using PIO mode 4, DMA mode 2
pciide0: channel 1 ignored (disabled)
ohci0 at pci0 dev 15 function 4 "AMD CS5536 USB" rev 0x02: irq 15, version 1.0, legacy support
ehci0 at pci0 dev 15 function 5 "AMD CS5536 USB" rev 0x02: irq 15
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "AMD EHCI root hub" rev 2.00/1.00 addr 1
isa0 at glxpcib0
isadma0 at isa0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pccom0: console
usb1 at ohci0: USB revision 1.0
uhub1 at usb1 "AMD OHCI root hub" rev 1.00/1.00 addr 1
biomask e3ef netmask ffef ttymask ffef
mtrr: K6-family MTRR support (2 registers)
nvram: invalid checksum
softraid0 at root
root on wd0a swap on wd0b dump on wd0b
clock: unknown CMOS layout
 
nur so mal ein schuss ins blaue: wenn du in der boot.conf stty com0 19200 VOR set tty com0 setzt ?
 
Leider nein...

Danke. Die "Garbage-Phase" wird aber je nach Anordnung der beiden einfach etwas kürzer oder länger - aber es bleibt was. Hatte sogar einmal ein
Code:
stty com0 19200
vor und nach dem
Code:
set tty com0
versucht. Hat auch nicht geholfen...
 
er hat doch bereits geschrieben, das er die Reihenfolge vertauscht hat ...

Worueber sprichst du das an? Direkt von seriell zu seriell oder ueber ein USB-zu-seriell Adapter?
 
ganz bloede frage...
brauchst du denn 19200 baud? reichen dir nicht auch 9600?

das gekruessel kommt imho irgendwo aus dem bootloader. vielleicht guckst du dir nochmal mein www.dettus.net/openbsd_at_strato.txt an, da hab ich glaube ich reingeschrieben wie man hart im kernel die baudrate setzt.
 
Noch keine Lösung...

Worueber sprichst du das an? Direkt von seriell zu seriell oder ueber ein USB-zu-seriell Adapter?

Leider spielt das keine Rolle: Egal von wo. Hatte zu Beginn jeweils meinen USB-zu-seriell-Adapter auf meinem Laptop benutzt. Seit die ersten Boxen in Betrieb sind nutze ich aber gleich diese für die Verbindungen auf die, die ich neu aufsetze - also die exakt gleiche serielle Schnitstelle auf beiden Seiten ohne USB-Adapter.

Das sind übrigens die Böxchen: http://www.pcengines.ch/alix2c3.htm - machen sich ansonsten hervorragend mit OpenBSD als Router/Firewalls etc.! Bin dabei, ein ganzen Dutzend davon in Einsatz zu nehmen (die ersten sind schon ein Weilchen produktiv).

brauchst du denn 19200 baud? reichen dir nicht auch 9600?

Die Frage habe ich mir echt auch schon gestellt, ich sollte vielleicht einfach all die Boxen wieder auf 9600 zurückstellen, wo alles tadellos funktioniert hat. :) Ist mehr so, dass da bei mir auch noch anderes Equipment rumsteht (USVs, Switches und Router) auf denen überall 19200 konfiguriert ist. Ist also mehr einfach eine Frage der Einheitlichkeit - man muss dann nicht rumpröbeln oder in der Dokumentation suchen, welches Teil welche Geschwindigkeit hat - was in Notsituationen sehr hilfreich ist.

da hab ich glaube ich reingeschrieben wie man hart im kernel die baudrate setzt

Wenn ich mich beim Querlesen jetzt nicht ganz dumm angestellt habe, hast Du das glaub' ich auch wie ich einfach in boot.conf und ttys gemacht und nicht im Kernel. Aber das wäre wohl schon auch eine Möglichkeit (vielleicht einfach etwas Overkill).

Mit viel Musse versuche ich vielleicht mal, mich durch den i386-Bootloader-Code durchzukämpfen...

Aber es ist ja nicht so, dass das ganze mit 19200 komplett unbenutzbar wäre: Direkt nach dem Bootloader funktioniert ja alles bestens. Es nervt mich einfach etwas - und ich möchte auch meinen Kollegen lieber Systeme hinterlassen, die von Grund auf sauber funktionieren...

Aber Danke schon mal allen für die Hilfsversuche - vielleicht finden wir ja noch die Lösung!
 
Zurück
Oben