SIO VMODEM Trap

(DE) System, Installation, Konfiguration, Hardware, Treiber, Netzwerk, Virtualisierung, etc.
(EN) System, Installation, Configuration, Hardware, Drivers, Network, Virtualisation, etc.
hneubert
Posts: 36
Joined: Mon 24. Aug 2015, 15:04

SIO VMODEM Trap

Post by hneubert »

Zum Testen habe ich vor ein paar Jahren eine ältere SIO-Version 1.60 D (März 1997) heruntergeladen und unter OS/2 Warp 4.52 installiert. Es sollte damit eine virtueller COM-Port installiert werden. Leider hat dies nicht geklappt und wurde seinerzeit liegen gelassen, weil eine Lösung nicht angesagt war. Bevor die Sache ganz verworfen wird, hier eine Schilderung der Problematik:

Beim Rechnerstart wird SIO.SYS ordnungsgemäss durchlaufen. Es wird auch angezeigt, dass ein virtueller COM-Port zusätzlich zu den normalen COM-Ports installiert ist.

Bei dem im Anschluss nötigen Start des VMDOEM.EXE erscheint der Fehler

SYS2070:
Ein Segment der Anwendung konnte nicht geladen werden.
VMODEM->TCP32DLL.46 ist fehlerhaft.

Die betreffende TCP32DLL.DLL des Systems ist vom 18.09.2001/17.48 und 19293 Bytes lang.
Ein "downgrade" auf eine ältere DLL-Version scheint nicht sinnvoll, da es bestimmt andere nachteilige Effekte gibt.

Kann VMODEM unter OS/2 Warp 4.52 irgendwie zum laufen gebracht werden?

hneubert
Posts: 36
Joined: Mon 24. Aug 2015, 15:04

Post by hneubert »

Gibt es hier im Forum irgendeinen Nutzer von VMODEM?

erdmann
Posts: 442
Joined: Mon 4. Jan 2016, 14:36

Post by erdmann »

In der Tat gibt es das Ordinal 46 nicht in TCP32DLL.DLL:

exehdr.exe \mptn\dll\tcp32dll.dll | find "46"

liefert nichts zurück (sollte aber).
Kann es sein, dass eine gleichnamige Datei mit VMODEM mitgeliefert wird ? Dann solltest du sicherstellen, dass diese VOR der Version in \mptn\dll gefunden wird. Z.B. indem du ein Batchfile schreibst und BEGINLIBPATH entsprechend setzt und dann VMODEM aufrufst.
Auf die gleiche Art und Weise könntest du auch eine ältere Version von tcp32dll.dll nutzen.

erdmann
Posts: 442
Joined: Mon 4. Jan 2016, 14:36

Post by erdmann »

Wie ich schon vermutet hatte: VMODEM benutzt noch die DLLs des alten 16-bittigen TCP/IP Stacks.

Die 16-bittige Version von TCP32DLL.DLL findest du in diesem Fixpak:
https://www.os2site.com/sw/upgrades/mpt ... index.html

Allerdings musst du:
1) diese Fixpack Dateien entpacken, z.B. mit "dskxtrct" (findest du auch auf Hobbes oder OS2site)
2) dann die darin gepackte TCP32DLL.DL_ noch entpacken: unpack TCP32DLL.DL_


Dann mußt du wie schon erwähnt diese Datei irgendwo hinkopieren, von wo du sie dann mittels BEGINLIBPATH und LIBPATHSTRICT bevorzugt lädst (über ein Batchfile).

erdmann
Posts: 442
Joined: Mon 4. Jan 2016, 14:36

Post by erdmann »

Wenn dir das Ganze mit der älteren TCP32DLL.DLL um die Ohren fliegt, kann es auch sein, dass du stattdessen VMODEM.EXE anpassen musst:

dllrname.exe VMODEM.EXE TCP32DLL=TCPIPDLL

Damit wird dann statt TCP32DLL.DLL TCPIPDLL.DLL geladen und diese DLL enthält eine Funktion mit Ordinal 46. Du merkst schon, etwas trial and error wird vonnöten sein.

"dllrname.exe" findet du bei Hobbes oder OS2SITE. Vorher Backup von VMODEM.EXE machen !


Gruß,
Lars

hneubert
Posts: 36
Joined: Mon 24. Aug 2015, 15:04

Post by hneubert »

Vielen Dank für die Hinweise. Das alles übersteigt zwar etwas mein Verständnis, aber ich werde versuchen, die Info abzuarbeiten, wenn ich Zugriff auf das System und die Resourcen habe.