Hallo zusammen,
ich möchte Euch heute
kurz meine jüngste Bastelei vorstellen. Wie ich
hier beschrieben habe, nutze ich NDO/BBE inzwischen hauptsächlich auf dem Igel 3210 LX Compact (links im Bild). Bisher habe ich für umfangreiche Entwürfe einen Brother HL-730+ (PCL) direkt angeschlossen und nur finale Dokumente mit Ghostscript ins PDF-Format gespeichert und über den Umweg USB-Stick dann anderswo ausgedruckt. Das hat gut funktioniert bis der Drucker nun nach 16 Jahren den Geist aufgegeben hat

Da der Igel üppige 180K UMBs bereitstellt, habe ich zunächst versucht mit dem MS-Client für DOS meinen neuen via CUPS+Samba freigegebenen EPSON SP1500 einzubinden. Lieder erwarten auch aktuelle Samba-Versionen, dass Clients heute die mit NT eingeführten RPC-Funktionen fürs Drucken benutzen (damit sind DOS/Win9x-Clients aus dem Rennen).
Die Idee zum GlobalPC Server geboren. Wichtigste Komponente und die Brücke zu DOS (u.a. BS der 90er) dabei ist der Netware Emulator
MARS-NWE. Er emuliert Novell Netware 3.11 und stellt Datei- und Druckdienste bereit und war Ende der 90er Jahre recht beliebt und bis Anfang der 2000er in vielen Linux-Distributionen enthalten. Er nutzt statt TCP/IP das IPX-Netzprotokoll, das auch heute noch als Kernelmodul eingebunden werden kann. Ich habe zunächst versucht das Ganze auf meiner Synology Diskstation 409+ (PowerPC CPU) an den Start zu bringen: Cross-Compiler aufgesetzt, IPX-Kernelmodule erzeugt und schließlich auch MARS-NWE übersetzt. Dabei wurde klar, das der Emulator lange nicht mehr gepflegt wurde. Es waren Anpassungen an Make- und Header-Dateien nötig, bis der Compiler den Code dann mit vielen Warnings übersetzt hat - aber es lief

Dann kam jedoch die Enttäuschung: Synology implementiert (nach Aktivierung der Air-Print Funktion) nur ein unvollständiges CUPS. A4 war z.B. nicht möglich und die Ausdrucke waren nicht von guter Qualität.
Ich brauchte ein „richtiges“ CUPS mit original EPSON Treiber, die es für LSB 3.2 konforme Linux-Distributionen auf Intel-Basis gibt. Damit kam der „große Igel“ 4210LX ins Spiel (rechts im Bild). Er bietet, wenn man den Smartcard-Reader entfernt, auf dessen Träger Platz zum Einbau einer 2,5“ PATA Festplatte, sowie einen PCI und PC-Card-Slot. Damit ich den Server später in die Abstellkammer verbannen kann, habe ich ihn mit einer TPLink TL-WN610G WLAN-Karte ausgerüstet. Um Probleme mit den Kernel-Headern zu umgehen, habe ich (erstmal) das leicht angegraute Debian 6.0.10 als BS-Basis verwendet. MARS-NWE läßt sich übersetzen und gibt bringt sogar noch vorkompilierte IPX-Module

.
Im Folgenden nun ein Tipps zum nachbauen:
WLAN konfiurieren
- siehe :
http://netz10.de/2010/02/13/wlan-wpa2-mi…-konfigurieren/
Drucker einrichten
- LSB 3.2 installieren:
|
Quellcode
|
1
|
aptitude install lsb
|
- Druckertreiber laden:
|
Quellcode
|
1
|
wget http://download.ebz.epson.net/dsc/op/stable/debian/dists/lsb3.2/main/binary-i386/epson-inkjet-printer-escpr_1.4.1-1lsb3.2_i386.deb
|
- Druckertreiber installieren:
|
Quellcode
|
1
|
dpkg -i epson-inkjet-printer-escpr_1.4.1-1lsb3.2_i386.deb
|
- CUPS anpassen, damit man von ext. PC darauf via Web zugreifen kann:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
root@gpcserver:/etc/cups# diff -Naur cupsd.conf.default cupsd.conf
--- cupsd.conf.default 2014-05-08 05:36:32.000000000 +0200
+++ cupsd.conf 2015-11-05 21:38:39.000000000 +0100
@@ -15,6 +15,7 @@
# Only listen for connections from the local machine.
Listen localhost:631
+Listen 192.168.178.56
Listen /var/run/cups/cups.sock
# Show shared printers on the local network.
@@ -25,15 +26,18 @@
# Default authentication type, when authentication is required...
DefaultAuthType Basic
+DefaultEncryption IfRequested
# Restrict access to the server...
<Location />
Order allow,deny
+ Allow 192.168.178.*
</Location>
# Restrict access to the admin pages...
<Location /admin>
Order allow,deny
+ Allow 192.168.178.*
</Location>
|
- CUPS neu starten und via Web http://<gpc-ser-ip>:631 konfigurieren
- MARS-NWE kompilieren/installieren (deb folgt bei Interesse)
- MARS-NWE DOS Tools installieren:
|
Quellcode
|
1
2
3
4
5
|
wget http://www.netware-server.de/download/tools/linux/marsdos.tgz
tar xvzf marsdos.tgz netpc/nwnet.exe
less /etc/nwserv.conf
cp netpc/nwnet.exe /var/mars_nwe/sys/
cp netpc/nwnet.exe /var/mars_nwe/sys/login/login.exe
|
- MARS konfigurieren
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
root@gpcserver:/etc/cups# egrep -v '^\s*#.*|^$' /etc/nwserv.conf
1 SYS /var/mars_nwe/sys/ rk 711 600
1 DATA /var/mars_nwe/data/ kio 777 666
1 HOME ~ kiO 700 600
3 auto
4 0x10 wlan0 ethernet_ii 1
5 0x0
6 1 0x2
7 0
8 0x0
9 0751 0640
10 65534
11 65534
12 SUPERVISOR root
13 GUEST nobody - 0x1
13 THOMAS thomas 0x1
15 1 top-secret
16 1
17 0x0
18 0x0
21 SP1500 SYS:\SYSTEM\SP1500.QDR lp -d SP1500 -
22 PS_NWE LP_PS 1
31 0x0
40 /var/spool/nwserv/.volcache
41 /var/spool/nwserv/.locks
42 /var/spool/nwserv
45 /var/nwserv/db
46 /var/nwserv/attrib
47 /var/nwserv/trustees
100 0 # debug IPX KERNEL (0 | 1)
101 1 # debug NWSERV
102 1 # debug NCPSERV
103 0 # debug NWCONN
104 0 # debug (start) NWCLIENT, should *always* be '0' !
105 0 # debug NWBIND
106 1 # debug NWROUTED
200 1 # 0 = no logfile and dont daemonize nwserv/nwrouted
201 /var/log/mars_nwe.log # filename of logfile
202 0x1 # flag in hex notation
210 10 # 1 .. 600 (default 10) seconds after server
211 60 # 10 .. 600 (default 60) broadcasts every x seconds
300 1 # > 0 print routing info to file every x broadcasts.
301 /var/log/mars_nwe.routes # filename of logfile
302 0x1 # flags will be interpreted as hex value.
310 7 # send wdog's only to device net < x ticks.
400 /etc/nwserv.stations # for syntax see file in the examples directory.
401 0 # 0 = ignore entry 400, get nearest response always enabled.
402 0 # 0 = ignore entry 400, create connection always enabled.
|
- MARS-NWE Startdatei erstellen
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
root@gpcserver:/etc/cups# cat /etc/init.d/nwserv
#! /bin/sh
### BEGIN INIT INFO
# Provides: nwserv
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $network $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start Netware server (mars-nwe)
### END INIT INFO
PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/nwserv
NAME=nwserv
DESC="Netware server (mars-nwe)"
test -f $DAEMON || exit 0
set -e
case "$1" in
start)
test -f /etc/nwserv.conf || exit 0
if grep -q "^### NOT CONFIGURED YET ###" /etc/nwserv.conf
then
echo "mars-nwe has not yet been configured."
exit 0;
fi
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON
echo "$NAME."
;;
reload)
#
# If the daemon can reload its config files on the fly
# for example by sending it SIGHUP, do it here.
#
# If the daemon responds to changes in its config file
# directly anyway, make this a do-nothing entry.
#
echo "Reloading $DESC configuration files."
start-stop-daemon --stop --signal 1 --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON
;;
restart|force-reload)
#
# If the "reload" option is implemented, move the "force-reload"
# option to the "reload" entry above. If not, "force-reload" is
# just the same as "restart".
#
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
# echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
|
- NWE Autostart aktivieren:
|
Quellcode
|
1
|
update-rc.d nwserv defaults
|
- SQUID Proxy installieren, damit man auch mit NDO ins Internet (auf die Info-Base

kann:
|
Quellcode
|
1
|
aptitude install squid
|
Nach dieser ganzen Prozedur konnte ich mich dann vom kleinen Igel aus über den VLM-CLient beim Server anmelden

Leider wollte NDO/BBE jedoch keine Dokumente auf den Netzlaufwerken speichern. Nach etlichem Probieren hat sich dann herausgestellt, daß die Ursache beim FreeDOS-Kernel liegt. Weil ich nicht auf M$-WinDOS 7.1 wechseln wollte, habe ich ihn kurzerhand durch den
Enhanced-DR-DOS Kernel, plus sys, format etc.) ersetzt. Das FreeDOS Userland habe ich behalten (es wird aber auch nicht wirklich benötigt, wenn man meine
GPC 2.0+ Pakete nutzt).
Ups! Jetzt muss ich aber schlafen gehen
Gruß Thomas