Der tty jumbo Patch 100513-04 kann auf dem Sun3/3x-Archiv gefunden werden.
Das Verzeichnis Sun-Patches enthält alle relevanten Sun3 Patches, die Sun veröffentlicht hat. Wenn Sie ihre Sun3 regelmässig nutzen und am Internet angeschlossen haben, dann sollten Sie eine Reihe von Patches einspielen, insbesondere solche, die echte Fehler beheben und Sicherheitslöcher schliessen.
Der hardware handshake Patch ist ebenfalls auf dem Sun3/3x-Archiv zu finden.
Daneben gibt es aber noch eine Reihe anderer nützlicher Patches auf dem Sun3/3x-Archiv. Ich selbst benutze ständig hsfs, st, tty und ufs, denn sie bringen echt was.
Folgende Dinge müssen Sie also haben:
Zuerst installieren Sie bitte den Patch 100513-04. Er ersetzt folgende Objekte des Kerns: mcp_async.o, mti.o, zs_async.o, cons.o, tty_ldterm.o und tty_pty.o. Folgen Sie den Instuktionen im README.
Als nächstes installieren Sie bitte den tty.hwh.patch. Das ist noch einfacher, denn hier wird nur zs_async.o ausgetauscht. Nun würde ich vorschlagen, dass Sie einen neuen Kern bauen und testen, denn die folgenden Schritte sind etwas komplizierter.
Kommen wir zu cslip-2.7. Im README wird behauptet, Sie bräuchten auch einen neuen Netzwerk-Code, aber moderne Modems sind durchaus schnell genug, damit auch der alte Netzwerk-Code keine Probleme macht.
cp common/net/* /sys/net cp common/net/*.h /usr/include/net cp sunos4/net/* /sys/net cp sunos4/net/*.h /usr/include/netÄndern Sie /sys/conf.common/files.cmn ab und fügen Sie folgende Zeilen (da wo die anderen net/* Sachen stehen) hinzu:
net/bpf.c optional bpfilter net/bpf_filter.c optional bpfilter net/if_sl.c optional sl INET net/slcompress.c standardÄndern Sie /sys/sun/str_conf.c und fügen Sie folgende Zeilen (gleich hinter dem Eintrag für db.h und NDB) hinzu:
#include "sl.h" : : NSL > 0 extern struct streamtab if_slinfo; #endif : : NSL > 0 { "slip", &if_slinfo }, #endifÄndern Sie Ihre Kern-Konfiguration ab und fügen Sie folgende Zeilen (am Besten hinter pseudo-device loop) hinzu:
# # Two slip interfaces # pseudo-device sl2 init slattachWenn Sie noch keine eigene Kern-Konfiguration haben, machen Sie sich eine Kopie von GENERIC und geben Sie ihm einen lustigen Namen (MYKERNEL zum Beispiel) und machen Sie die Änderungen daran. Dann bauen sie einen neuen Kern, installieren ihn und rebooten. Der neue Kern sollte dann folgende zwei Zeilen anzeigen:
sl0 attached sl1 attachedWenn Sie ifconfig -a aufrufen, werden sie zwei POINTTOPOINT Interfaces sehen, die aber noch DOWN sind.
Bauen Sie sie Programme:
make clean foreach i ( myetheraddr slinfo sliplogin slstats ) cd $i make cd .. end cd tools/ifconfig make -f Makefile.oldmake cd ../..Installieren Sie sie:
mv /usr/bin/tip /usr/bin/tip.old chmod 700 /usr/bin/tip.old install -m 4750 -o uucp -g uucp tip/tip /usr/bin/tip install -m 750 -g uucp sliplogin/sliplogin /usr/bin/sliplogin install -m 444 sliplogin/sliplogin.8 /usr/man/man8/sliplogin.8 install -m 750 -g uucp slstats/slstats /usr/bin/slstats install -m 444 slstats/slstats.8 /usr/man/man8/slstats.8 install -m 750 -g uucp slinfo/slinfo /usr/bin/slinfo install -m 444 slinfo/slinfo.8 /usr/man/man8/slinfo.8 install -m 750 -g uucp myetheraddr/myetheraddr /usr/bin/myetheraddr install -m 444 myetheraddr/myetheraddr.8 /usr/man/man8/myetheraddr.8 install -m 750 -g uucp tools/ifconfig/ifconfig /usr/bin/ifconfig.slip install -m 444 tools/ifconfig/ifconfig.8c /usr/man/man8/ifconfig.slip.8Installieren Sie auch die Konfigurationsdateien:
install -m 640 -g uucp sliplogin/slip.logout /etc install -m 640 -g uucp sliplogin/slip.login /etc install -m 640 -g uucp sliplogin/slip.hosts /etc install -m 640 -g uucp tip/login.script.unix /etc install -m 640 -g uucp tip/login.script.netblazer /etcÄndern Sie /etc/slip.login und kommentieren sie folgende Zeile aus:
# route set $R $L mtu 552 pipesize 2048 rtt 5 || exit 2Ändern Sie alle Vorkommen von "ifconfig" in "ifconfig.slip".
Anschliessend sollten Sie das README lesen und den Anweisungen folgen, um Einträge für /etc/remote zu erzeugen. Um SLIP auch benutzen zu können, müssen auch in der /etc/passwd passende Einträge gemacht werden. Davon abgesehen sind die Einträge in /etc/remote auch nützlich, wenn man mit Hilfe von "tip" das Modem konfigurieren will:
modem:\ :dv=/dev/cua0:br#38400:el=^C^S^Q^U^D:ie=%$:oe=^D: dial38400:\ :dv=/dev/cua0:br#38400:nt:fc:at=mymodem:du: mymodem|US Robotics Courier V.everything:\ :el=^U^C^R^O^D^S^Q@:ie=#%$:oe=^D:tc=dial38400: dial-foo:\ :pn=dt06331800510:tc=mymodem: foo|slip-foo:\ :st=slip:ls=/etc/login.script.unix S%h {passwd}:\ :cc=/etc/sliplogin Sfoo:tc=dial-foo:Bemerkungen: /dev/cua0 ist der Gegenpart zu ttya für ausgehende Verbindungen. Die Geschwindigkeit ist auf 38400 baud begrenzt. Die Telefonnumer gibt man nach pn= an. Der Zielrechner heisst im Beispiel "foo". Verwenden Sie kurze Rechnernamen!
Die Devices für ausgehende Verbindungen werden wiefolgt angelegt:
mknod /dev/cua0 c 12 128 mknod /dev/cua1 c 12 129 chgrp uupc /dev/tty? /dev/cua? chmod g+rw /dev/tty? /dev/cua?Ändern Sie /etc/gettytab und /etc/ttytab:
p8.38400|38400-baud-8bit:\ :sp#38400:p8: H|D38400|Fast-Dial-38400:\ :nx=D38400:fc:fd@:tc=38400-baud: ttya "/usr/etc/getty D38400" dialup on remoteWenn Sie einen anderen SLIP-Rechner kennen, dann können Sie ja mal versuchen, SLIP an's Laufen zu bekommen. Ich hatte leider keine Möglichkeit dazu. Die Dokumentation von cslip-2.7 beschreibt aber akkurat alle notwendigen Schritte.
Die Installation von ppp-2.1.2b ist der letzte Schritt. Leider ist modload in SunOS 4.1.1 unbrauchbar, sodass man die Objekte direkt in den Kern einbauen muss. In der Beschreibung wird als Verzeichnis /sys/os angegeben, aber natürlich muss es /sys/net lauten! ppp-2.1.2b überschreibt dabei slcompress.c, aber cslip-2.7 funktioniert auch mit dem neuen slcompress.c, da nur einige Erweiterungen für PPP dazugekommen sind.
Ändern Sie /sys/conf.common/files.cmn:
net/slcompress.c standard net/ppp_if.c optional ppp INET net/ppp_async.c optional ppp INETÄndern Sie /sys/sun/str_conf.c:
#include "ppp.h" : : #if NPPP > 0 extern struct streamtab ppp_asyncinfo; extern struct streamtab ppp_ifinfo; #endif : : #if NPPP > 0 { "pppif", &ppp_ifinfo }, { "pppasync", &ppp_asyncinfo }, #endifDie Einträge können Sie direkt hinter die entsprechenden SLIP-Einträge setzen.
Ändern Sie die Kern-Konfiguration (MYKERNEL):
# # Two ppp interfaces # pseudo-device ppp2 init ppp_attachÄndern Sie ppp_if.c und fügen Sie (hinter #include <netinet/ip.h>)folgendes ein:
#include <net/slcompress.h> #include <net/if_ppp.h>In if_ppp.h und ppp_str.h gibt es zwei Einträge, die
typedef u_long ext_accm[8];lauten. Ändern Sie diese ab in
#ifndef EXT_ACCM typedef u_long ext_accm[8]; #define EXT_ACCM #endifKopieren Sie nun den ganzen Kram in die richtigen Verzeichnisse:
cp sunos/*.c /sys/net cp net/*.h /sys/net cp net/*.h /usr/include/netNun wird es entgültig Zeit einen neuen Kern zu bauen.
cd /sys/sun3/conf config MYKERNEL cd ../MYKERNEL makeNachdem der neue Kern installiert und die Maschine rebooted ist, sollten Sie vier POINTTOPOINT Interfaces ppp0, ppp1, sl0 und sl1 sehen.
Prima!
Nun fehlen nur noch die PPP-Programme. Sie müssen aber zuvor sicherstellen, dass alle Programme die selben Lock-Dateien benutzen. Schauen Sie sich daher die Quellen und das Makefile genau an.
foreach i (chat pppstats pppd) cd $i rm Makefile ln -s Makefile.sun Makefile make clean make cd .. end install -m 4750 -o root -g uucp pppd/pppd /usr/bin install -m 444 pppd/pppd.8 /usr/man/man8 install -m 4750 -o root -g uucp pppstats/pppstats /usr/bin install -m 750 -o root -g uucp chat/chat /usr/bin install -m 444 chat/chat.8 /usr/man/man8
Es ist eine gute Idee, alle Programme, die mit ttys arbeiten, in die selbe Gruppe zu stecken. Benutzer, die Zugang zu den Modems haben sollen, bekommen dann diese Gruppe und können die Programme aufrufen. Ich benutze dazu die (bereits vorhandene) Gruppe "uucp". Auch die Devices sollten dieser Gruppe gehören. Die cua-Devices müssen dem Benutzer uucp gehören.