DEC Alpha 3000-300 mit openVMS - Anfängerecke

  • wo? Auf der Alpha?


    Auf dem Server (Windows mit Xming) habe ich sowas nicht. Ich habe connect von allen IP Adressen erlaubt.

  • zwischen Alpha und dem Server. Der Client und Server unterhalten sich über die Rechte, die mit "xauth" oder "xhost" gesteuert werden.

    Leider kenne ich das bei VMS gar nicht. Deinem Server musst du erlauben, dass ein Client seine Fenster darauf öffnen darf. Das geht mit xhost +<clientname> auf dem Server. Wenn andere Clients auf deinem Server Fenster öffnen dürfen, müsstest du das aber schon gemacht haben. Mit "xhost +" erlaubt man den Zugriff für alle Clients. Dann sollte die Alpha aber auch funktionieren. Jetzt wäre noch die Frage, welche Version dein Server ist. Vielleicht müsstest du bei einem neueren X11-Server einen Switch aktivieren, damit er auch mit älteren Clients (weiss auch nicht, welche X11-Version deine Alpha fährt) die Authorities austauschen kann..

  • Wie ich schon schrieb, der Server (hier Xming unter Windows), hat "access control = off" - entspricht wohl "xhost +". Andere Rechner (nicht aber die Alpha) können auch ungefragt Fenster erzeugen. Andere Schalter gibt es da nicht.


    Auf welcher Version die Alpha aufbaut, weiss ich nicht. Nur, dass manches das Netzwerk betreffend doch anders ist als man so von unix/Linux gewohnt ist.

    Unter Linux sage ich ja "export DISPLAY=192.168.1.131:0.0" und alles ist gut.


    Leider hilft Dr. Google bei openVMS oft überhaupt nicht weiter.

  • Und schauen, wie das mit der "sh" ist, wenn das eine ssh ist, dann muß das explizit erlaubt werden, daß da X11 Sachen drüber laufen. Auf dem Server im sshd Dämon muß X11Forwarding auf Yes stehen und die Shell muß auch nochmal mitteilen, daß sie gerne X Content haben will, unter Linux mit "ssh -X ... ".

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • 1. Screen ist 0 und auch so erfasst. Siehe Post eiter oben

    2. sh/ssh geht doch am Thema vorbei. Ich will den (völlig unsicheren) Transport TCP/IP-Port 6000, wie das andere Systeme auch können (unter linux: export DISPLAY= <ip-addr>:0.0 ; xeyes&). Dann wird doch nix über SSH getunnelt...?

    Nochmals: ich kann kreuz und quer zwischen den vorhandenen Linux Systemen und Windows mit TCP Port 6000 X-Client-Server Verbindungen aufbauen (überall natürlich das Equivalent von "xhost +" eingestellt)


    Ich will auch kein Remote Login machen, sondern nur ein banales Fenster eines Programmes, welches auf der Alpha läuft, auf einem anderen Rechner erscheinen lassen!


    Ich vermute nun eher, dass es auf der Alpha/VMS noch irgendwelcher Kunstgriffe bedarf, bis eine X11-Verbindung über Port 6000 klappt.

  • Der Fehler "Can't open display" zeigt aber ein Problem des Servers an, nicht des Clients auf der Alpha. Ich vermute eher eine Inkompatibilität beim Aushandeln der Authorities. Hast du mal versucht, einen X-Server unter Linux von der Alpha aus anzusprechen?

  • 2. sh/ssh geht doch am Thema vorbei. Ich will den (völlig unsicheren) Transport TCP/IP-Port 6000, wie das andere Systeme auch können (unter linux: export DISPLAY= <ip-addr>:0.0 ; xeyes&). Dann wird doch nix über SSH getunnelt...?

    Ich hab das ja auch nur geschrieben, weil ich damit mal ca. 1 1/2 Stunden verbracht habe, bis ich das dann dort quasi "einfach nur" freigeschaltet hatte. Deshalb dachte ich, es sei evtl. gut wenigstens nachzuschauen, ob das evtl. ein Thema sein könnte.

    ( war aber auch unter einem FreeBSD - und der wollte auch nicht, no way ; mit ssh -X gings dann )


    Hier mal zum Gucken, vielleicht probierst Du es einfach mal

    http://blog.boreas.ro/2008/03/…ction-on-openvms-and.html

    http://blog.boreas.ro/2007/10/…with-ssh-x-and-xming.html


    Wahrscheinlich geht es auch irgendwie ohne.


    Das X-Server Logfile sagt evtl. auch noch was interessantes dazu (?).

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • Hast du mal versucht, einen X-Server unter Linux von der Alpha aus anzusprechen?

    Klar, das war auch mein erster Versuch. Erst danach habe ich Xming unter Windows probiert.

    Gerade nochmals weiter probiert: selbst eine nicht vorhandene IP-Adresse produziert sofort die gleiche Fehlermeldung. Soviel zum Thema "der Server ist das Problem". Ich vermute mal, die Alpha probiert erst gar keine abgehende Verbindung, sondern dieser Fehler wirk lokal produziert.


    Wenn ich X11 über Port 6000 mache, gibt es keine "Authoirities". Das ist völlig ungesichert!

  • Server-Logs gibts nicht.

    Wäre zu klären, ob es ein Client Log gibt, in dem dann mehr als das lapidare "%DECW-E-CANT_OPEN_DISPL, Can't open display" drin steht...


    Gerade noch etwas getestet:


    Code
    $ telnet 192.168.1.131 6000
    %TELNET-I-TRYING, Trying ... 192.168.1.131
    %TELNET-I-SESSION, Session 01, host 192.168.1.131, port 6000
    -TELNET-I-ESCAPE, Escape character is ^]
    fghxfgh
    fg
    %TELNET-S-REMCLOSED, Remote connection closed

    geht. D.h. die Verbindung zum X11-Server auf dem PC ist grundsätzlich möglich.

    Ich sehe dann auch die beendete Verbindung im "netstat" als "Wartend" - was korrekt ist.

    Mache ich das

    Code
    create/terminal/detach
    -oder-
    MC DECW$STARTLOGIN

    kommt auf dem PC überhaupt keine Verbindung an. Im "netstat" ist nichts zu sehen, es müsste ja sonst zumindest wieder "Wartend" zu sehen sein, hätte der X11-Server des PCs die Verbindung bekommen und sogleich getrennt.

  • Reinhard : Hast Du mal von Alpha zu Alpha probiert? Vielleicht erst mal in einem Universum probieren, bevor sie Systemschranke überschritten wird?

    Ich habe keine zweite Alpha...

    Ich bin so naiv, dass ich glaubte, mit XWindows gäbe es keine Systemschranken ;)

    Es würde mit TCPIP nicht funktionieren, da der XDM nicht auf Port 6000 am "Hören" ist:

    Auf Port 177 ist zumindest das X Display Manager Control Protocol (XDMCP) aktiv.

    Alle anderen Ports kann ich auch als "gewollt" nachvollziehen...

    5151 wäre nach offizieller Tabelle ESRI SDE Instance - ist aber wohl PCNFS


    Aber: dies wäre eine 2. Baustelle (die Alpha als X Server zu nutzen) - es sei denn, das fehlende Listen auf Port 6000 wäre ein gemeinsames Symptom davon, dass immer noch keine abgehenden Verbindungen von Clients auf der Alpha auf X Server an anderen Rechner gemacht werden können.

  • https://comp.os.vms.narkive.co…ls-help-with-x-over-tcpip


    Da geht es explizit darum, DECWindows TCP/IP beizubringen. Evtl. des Lesens wert?

    Danke für all diese Links, ich habe jeden einzelnen durchgesehen, und vieles ausprobiert, nichts davon hat geholfen.

    Viele davon haben das "Can't open Display" Problem, enthalten aber auch keine (bei mir funktionierende) Lösung dafür.


    Es muss sich um ein grundsätzliches Problem handeln.


    Ich habe aber nun genug Zeit hinein gesteckt und glaube nicht mehr, dass ich das lokal hier hinbekomme.

    Ich werde die Alpha irgendwann in die Nähe des PCs bringen (derzeit 20m weg) und dann die Ausgaben meiner X Programme lokal auf der Alpha ansehen können. Ich editiere diese in einer SSH Sitzung auf dem PC, und wollte die eben starten können und auf dem PC das Ergebnis sehen.


    Ich könnte natürlich die Alpha über SSH von aussen erreichbar gestalten, falls einer von euch mal reinschauen möchte...


  • Meine 2. Alpha ist gestern angekommen:

    * Systemgehäuse komplett ohne Festplatten, dafür aber 96MB RAM und zweite Grafik.

    * Kabel RGB auf BNC Stecker.

    * Tastatur - beschädigt wegen unzureichender Verpackung

    * Rechteckige Maus


    Was mir nun noch fehlt:

    * Kabel 15-pol zu Tastatur/Maus.


    Das ist doch sicher nur Kabel, keine Elektronik drin, oder?

    Hat das jemand schon mal durchgeklingelt? Sonst mache ich das und baue es nach.


    Die teildefekte Tastatur kann ich notdürftig reparieren, mit Tastenkappen der Funktionstasten auf die wichtigeren Positionen umgesteckt.


    Schön ist, dass da drin zwei Festplatten Montagerahmen sind.


    PS: jetzt werde ich wohl doch mal DECNET aktivieren und "Clustern"...

  • So, zwei Nachmittage damit verbracht mein 1985er Raytrace Programm (damals auf PC unter TURBO C!) auf die ALPHA zu Portieren.


    Leider hat die AXP 3000-X nur 8 Bit/Pixel mit Lookup Tabelle. Insofern geht der ganze RGB888 Farbraum nur per Dithering auf RGB222.


    Auf dem PC brauchte damals so ein Bild Stunden, jetzt geht es in Sekunden/Minuten.


    (640x480)


    (1280x1024)


    (Die Textur der Erde ist irgendwie nicht ganz richtig, das muss ich noch klären)

  • Ich bräuchte jetzt Tipps, wie ich von einem C-Programm aus die serielle Schnittstelle anspeche.


    Original geht darauf alternativ zur Grafik auch die Konsole, laut Symbol am Gehäuse ist diese aber auch für Druckeranschluss gedacht.


    Ich möchte aber nicht über einen Druckerspooler gehen sondern das vom Programm aus ansprechen.


    Unter linux wäre das ja ungefähr so:


    open ("/dev/tty.."), ioctl(für Baudrate usw.) dann read() und write()

  • Ach.. und eine ganz banale Frage: wie fahre ich das openVMS runter OHNE mich dazu zunächst einzuloggen?

  • Ach.. und eine ganz banale Frage: wie fahre ich das openVMS runter OHNE mich dazu zunächst einzuloggen?

    Gar nicht ;)

    Diese Antwort würde ich ja gerne "Disliken" aber solch einen Knopf gibt's ja nicht :cry2:


    Dafür geht jetzt der erste Plotter, aber leider nicht an der ALPHA.

  • Moin,


    zum Thema serielle Schnittstelle und ihre Nutzung in Programmiersprachen fällt mit spontan "QIO" ein.

    Das ist das DEC eigene System, das zur Kommunikation mit jeder Art von Schnittstelle aus allen Sprachen genutzt werden kann.

    Es findet sich sehr viel im Internet, wenn man danach sucht.

    Ein weiterer Einstieg... es gab früher mal zu der Nutzung aller DEC spezifischen Programmiermöglichkeiten Beispiele

    Eine Suche nach DEC, EXAMPLES, "hier Deine Sprache einsetzen", QIO, QIOW sollte Ergebnisse bringen.

    Wenn nichts anderes hilft... "Programming the serial port on an Alphaserver 200" zeigt schon mal die Konzepte.

    Wenn es weitere Fragen gibt, sprich mich bitte an.


    MfG

    Bernhard

  • Ah, Vielen Dank für den Link. Ich weiss nun schon einmal, dass die Schnittstelle "TTA1" ist und Default auch auf 9600 Baud steht, denn mit


    und gleich dem ersten Versuch mit


    Code
    $ copy earth.c tta1:


    kommt der Dateiinhalt richtig auf der seriellen Schnittstelle heraus.

    Allerdings läuft dort auch ein Login, sobald ich dort Return eingebe, kommt der Login prompt. Das muss natürlich noch weg...

  • Moin,

    das klingt doch schon mal toll, das das funktioniert.

    Interessanter wird es, wenn Du Dir ein

    $SHOW TERMINAL

    des betreffenden Anschlusses ansiehts.

    Hier findest Du alle notwendigen Infos der aktuellen Einstellung des Ports.

    Der Login (Username...) Process versteckt sich hinter der Einstellung INTERACTIVE.

    Mit einen

    $SET TERMINAL /NOINTERACTIVE /PERM (???)

    sollte sich der Login Process vom Terminal fernhalten lassen.

    hier bin ich mir nicht sicher, habe aktuell kein System am Laufen.

    Notfalls mal in der Hilfe ($Help Set Terminal...) nachsehen.
    Weitere gute Punkte, die sich lohnen fest einzustellen...

    Broadcast, Autobaud, Line-Editing abschalten,

    Baudrate, StopBits fest einstellen,

    Protection passend zum User einstellen, das der (und nur der) den Port schreibend und lesend benutzen kann.

    Ich schau mal nach, was ich noch finde.

    Diese Einstellungen sind bei jedem Systemstart neu vorzunehmen,

    also am besten in die Startup Procedure tun.


    Bernhard

  • $SET TERMINAL /NOINTERACTIVE /PERM (???)

    sollte sich der Login Process vom Terminal fernhalten lassen.

    leider nicht. Diese ganzen Terminal Einstellungen hatte ich schon gefunden, aber die verstellen wohl nur das Verhalten der Schnittstelle, nicht aber, ob ein Return zum Start eines Login Prozesses führt. Bis auf....


    Durch Suchen fand ich dass:

    Code
    SET TERMINAL/NOTYPEAHEAD/PERMANENT <Schnittstelle>

    helfen soll und das tut es auch.

    Die Logik dahinter?

  • Moin,


    Deine Einstellung (nicht nur Die, auch die auf dem OpenVMS System) ist goldrichtig!

    Mit dem

    $ SET TERMINAL /NOTYPEAHEAD <schnittstelle>

    schaltet man den Login ab, da das System dann nicht mehr "weiss" was es mit den ungefragt einlaufenden Daten tun soll.

    Es kommt also kein Login mehr zustande.

    Nach der Eingabe des Kommandos, sollte sich auch eine Änderung des "INTERACTIVE" im $SHOW TERMINAL ergeben.

    Viele, aber nicht alle, Einstellungen lassen sich mit NOxxx bzw. xxx Aus-/Einschalten, nur Interactive bzw. Application eben nicht.

    Mehr siehe hier http://hoffmanlabs.org/vmsfaq/vmsfaq_010.html unter Punkt 5.27.


    Bitteschoen.


    Bernhard, DL1BWB

  • QIO und QIOWait bin ich fit. Ich bin dabei ::pc::

    Vielleicht hast mal ein kleines Beispiel dazu?


    Sozusagen das Equivalent der UNIX Aufrufe open(), ioctl(), read(), write(), close()


    Wie bekomme ich den Channel?


    Zitat

    I/O channel assigned to the device to which the request is directed. The chan argument is a word value containing the number of the I/O channel; however, $QIO uses only the low-order word.