Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Lars

Pages: [1] 2 3
I am writing a small tool (or rather, a DLL routine that integrates into the VAC workframe) to search in each archive file of a ZIP file if it contains a keyword/keystring or not.
The first approach was to unzip each archive file from the ZIP to stdout via "unzip -p" and pipe into "find" which then searches for the keyword and gives the proper return code if the keyword was found or not.
That worked but was incredibly slow (for the ZIP file size I was working on). I now decided to run "unzip -c" on the complete ZIP and pipe the output into memory. The "-c" instead of the "-p" will also add the archive names, preceding the archive content, which provides the discriminator to individually search each archive content for the keystring.
The problem is that I need to allocate enough memory for the unzipped content. I just allocated 100 MB (which is eventually freed) but that is potentially a large waste of memory.
Is there an easy and efficient way to determine the overall sum size of the UNZIPPED archive files contained in a ZIP file ?
I need something that I can integrate into an application, not a standalone solution.

Networking / Virtualbox, NAT and using ICAT
« on: April 20, 2020, 08:54:02 pm »

I have OS/2 running as a guest under Virtualbox on a Win 10 machine. Within that virtual machine I want to run ICAT in UDP mode.
Then I have a MUT which is running native OS/2 with the debug kernel.
The 2 machines are connected to my router, both use WIFI. The router has IP address

1) the MUT has a statically assigned IP address of
2) the MUT needs to run KDBNET.SYS t so that you can connect via UDP and KDBNET.SYS needs to know the MUTs IP address and a netmask. I have set up IP address and netmask
3) the OS/2 guest is using DHCP. In the past I had also configured with a static IP address in the 192.168.178.x range but occasionally I want to connect to another WIFI access point than my home network in which case this approach will fail (at least I don't know how to make that work).
4) ICAT (executing in the OS/2 guest) requires a target IP address (of the MUT) and a port for correct operation. In the past, I had been using "bridged networking" for the OS/2 guest and I specified as the IP address and port 1000 (the default) which worked fine. Note that port 1001 is also used for the KBDNET connection.

Bridged networking works very unreliably with a WIFI connection and often fails in requesting an IP address via DHCP. Therefore I switched to NAT.
The OS/2 guest now has good network connectivity, but the IP address of my OS/2 guest now is in the range of 10.0.2.x. That results in ICAT failing to connect to the MUT.
What do I have to set up where in order for the connection to succeed ? Do I need to specify some port forwarding for the NAT and if yes which one ?
Or do I need to specify some routes ? If yes, where, in the OS/2 guest or in the MUT ?


Utilities / VLC traps Panorama driver
« on: April 04, 2020, 09:24:26 pm »

when I attempt to play an AVI movie in VLC, then VLC will trap in VBE2GRAD.DLL at the very end of the movie. I am using Panorama V1.15.
Is anyone else seeing this problem and can report that as a bug to AN (I am no longer entitled to report bugs).
Here is the POPUPLOG.OS2 and also the partial TRP file from VLC:

Code: [Select]
04-04-2020  20:51:57  SYS3175  PID 0049  TID 0001  Slot 0096
P1=00000001  P2=bebe25e0  P3=XXXXXXXX  P4=XXXXXXXX 
EAX=00000134  EBX=bf3e25e0  ECX=000001f0  EDX=bebe25e0
ESI=bebe25e0  EDI=bf3e25e0 
DS=0053  DSACC=d0f3  DSLIM=bfffffff 
ES=0053  ESACC=d0f3  ESLIM=bfffffff 
FS=150b  FSACC=00f3  FSLIM=00000030
GS=0000  GSACC=****  GSLIM=********
CS:EIP=005b:1ed81fe9  CSACC=d0df  CSLIM=bfffffff
SS:ESP=0053:0012f06c  SSACC=d0f3  SSLIM=bfffffff
EBP=0012f088  FLG=00010297

VBE2GRAD.DLL 0001:00001fe9

Code: [Select]

 Exception Report - created 2020/04/04 20:51:44

 OS2/eCS Version:  2.45
 # of Processors:  4
 Physical Memory:  3059 mb
 Virt Addr Limit:  3072 mb
 Exceptq Version:  7.11.3-shl (Jul  5 2016)


 Exception C0000005 - Access Violation

 Process:  Z:\VLC2\USR\LOCAL\BIN\VLC.EXE (08/24/2019 14:13:20 10,715)
 PID:      49 (73)
 TID:      03 (3)
 Priority: 200

 Filename: D:\OS2\DLL\VBE2GRAD.DLL (09/02/2019 12:47:03 64,585)
 Address:  005B:1ED81FE9 (0001:00001FE9)
 Cause:    Attempted to read from BEBEDC80
           (unallocated memory)


 Failing Instruction

 1ED81FE0  JA        0x1ed82002         (77 20)
 1ED81FE2  MOV       ECX, [ESP]         (8b0c24)
 1ED81FE5  MOV       ESI, EDX           (89d6)
 1ED81FE7  MOV       EDI, EBX           (89df)
 1ED81FE9 >REP MOVSD                    (f3 a5)
 1ED81FEB  MOV       ESI, [ESP+0x4]     (8b7424 04)
 1ED81FEF  MOV       EAX, [0x1ed9005c]  (a1 5c00d91e)
 1ED81FF4  INC       ESI                (46)



 EAX : 0000013A   EBX  : BF3EDC80   ECX : 00000078   EDX  : BEBEDC80
 ESP : 0292E720   EBP  : 0292E73C   EIP : 1ED81FE9   EFLG : 00210293
 CS  : 005B       CSLIM: FFFFFFFF   SS  : 0053       SSLIM: FFFFFFFF

 EAX : not a valid address
 EBX : read/write memory allocated by DRIVER
 ECX : not a valid address
 EDX : unallocated memory
 ESI : unallocated memory
 EDI : read/write memory allocated by DRIVER


 Stack Info for Thread 03

   Size       Base        ESP         Max         Top
 00100000   02930000 -> 0292E720 -> 02920000 -> 02830000


 Call Stack

   EBP     Address    Module     Obj:Offset    Nearest Public Symbol
 --------  ---------  --------  -------------  -----------------------
 Trap  ->  1ED81FE9   VBE2GRAD  0001:00001FE9  between UpdateRect + C9 and SetMTRR - 47

 0292E73C  0000014E   Invalid address: 0000014E

The trap happens in routine "UpdateRect" on a MOVSD instruction because the source address (in register ESI) is invalid.

General Discussion / How to upload to Hobbes pub/incoming
« on: March 01, 2020, 03:26:35 pm »
Anyone know what is wrong with Hobbes ? I cannot upload to pub/incoming and I also can neither delete nor rename files that I downloaded but resulted in zero filelength.
Who to turn to ? How to rename or delete files that are now in the way ?


Utilities / symbol file for kernel 14.106 or latest XR_C006
« on: January 31, 2020, 08:29:30 am »
Can anyone provide me with the symbol file for OS2KRNL 14.106 or with the second release of the XR_C006 fixpak ?

I do have the first release of XR_C006 but XR_C006 fixpak was released twice, an initial release that contained OS2KRNL 14.105 (and the symbol file for it) and a second release that contained OS2KRNL 14.106 (and hopefully the symbol file for it). The contained file "README.1ST" will state that it is for 14.105 (for the initial release) or 14.106 (for the second release). Also file "README2" for the first release will show:
Convenience Package Release 1
V4.51 fixed APARs
Fix Pack Name= XR_C001
Build level = 14.072

where "README2" from the second release will show:
Convenience Package Release 2 refresh
V4.52 fixed APARs
Fix Pack Name= XR_C006
Build level = 14.106

Any help greatly appreciated.

Hallo Martin,

I think it would be a good idea to not upload outdated drivers to Hobbes:

1) the Hobbes incoming directory is completely clogged up with old drivers and nobody seems to have interest to move that stuff to the final destination. This leads to the problem that other apps and drivers (like DFSee or my new USB drivers and other interesting apps) also get stuck in the incoming directory and never reach their final destination

2) there is a risk that people will download outdated drivers which have long been replaced by newer ones. This leads to all kinds of questions and requests for help which are unnecessary because various problems have been solved by newer drivers.

On the other hand, if you have old source code to upload, then go ahead. Old source code is always a good place to start off to create new stuff.


Hardware / USBDRV 10.230 - fixes for USBCALLS + USBRESMG
« on: September 24, 2019, 08:49:10 am »
I had to reissue the USB drivers as I was pointed to some annoying bugs when using USBCALLS + USBRESMG. There are quite a few applications that rely on the correct working of USBCALLS+USBRESMG (like for example "lsusb.exe" to show device info) so I thought it to be a good idea to fix it immediately.
I hope to thave these problems fixed now.

Applications / Firefox 45.9.0 can no longer play Youtube movies ?
« on: September 20, 2019, 08:09:16 am »
I can no longer get Firefox 45.9.0 to play Youtube movies. It used to work in the past but I cannot remember when that would no longer work.
Is this a known problem ? And is there a solution ?

Events / USB maintainer wanted!
« on: August 09, 2019, 08:40:10 am »
In October I will be working in a foreign country for 2 years.
That will also be the moment in time where I will move away from OS/2.
If there is interest to take over the USB repository and if you have the necessary skills to maintain/further develop the drivers then please let me know and I can help you to quickly pick up.

General Discussion / Email address of Dave McKenna ?
« on: August 04, 2019, 03:14:07 pm »
Can anyone provide me with his email address ?
If yes, please do not post it publicly on this forum but send it privately via email:
lars dot erdmann at arcor dot de


I always had the problem that closing and restarting the Volume applet repeatedly while a video (with sound) was playing in Firefox would eventually blow up the whole system with a subsequent reboot.

I have now found the reason: the CWMM classes (which the volume applet is part of) come with 2 resource DLLs: MMRES_EN.DLL and MMRES_DE.DLL ( in the \MMOS2\MMCLASS\BIN directory).
On my system which has set LANG to de_DE, the volume applet would attempt to load MMRES_DE.DLL, for all others that would be MMRES_EN.DLL.
Apparently, somebody decided to just copy the file MMRES_EN.DLL over to MMRES_DE.DLL as a shortcut to producing the german resources DLL.
However that leads to the following: the file is called MMRES_DE.DLL but the internal module name (set during link time) is MMRES_EN.
The volume applet attempts to load the resource DLL dynamically. It fails because the filename (stem) does not match the internal module name. But what's more: this mismatch between the filename and the internal module name will eventually massively confuse/screw up the module loader (if done repeatedly) until the whole system reboots without showing any trap screen or the like.
My solution was to LXLITE /X (unpack) the DLL, use a hex editor to modify the internal module name from MMRES_EN to MMRES_DE and do an LXLITE to pack it again. Now the proper resource DLL is loaded (even though it still contains english resources ...).
Now my system does not reboot anymore on running the volume applet.

If someone has an AN account I suggest to raise a problem report against this module loader oddity.

Hardware / WLAN to LAN Adapter that works under OS/2 available ?
« on: November 26, 2018, 08:27:17 am »

I changed my telephone/internet provider. As a result, my router now moved from my work desk into the living room.
Because of that I can no longer connect to the router via LAN cable but need to use WLAN. I have a desktop PC that does not have built-in WLAN anyway. I know that USB is not an option as we have no USB WLAN drivers.

Does anyone know of a WLAN-to-LAN Adapter that works under OS/2 (or is likely to work) ?

I hope that these adapters are generic enough to look like an ethernet cable to the built-in LAN HW.
If not, I guess that will the final curtain for OS/2 on my computers ...

Hardware / USBDRV 10.225 - full support for USB audio
« on: November 14, 2018, 07:27:49 am »
The new package now contains drivers for USB audio standard 1.0 and also audio standard 2.0 (has nothing to do with USB 1.x vs. USB 2.0).
That should cover all current sound devices. The supported bit depths and sample rates are what is in use today, more details in the contained "readusb.txt" file.
Really, only playback has been tested, I am not sure in how far or to what extent recording will work.

If you need sound and if UNIAUD does not work for you then you might consider buying a set of USB speakers or a USB audio stick for plugging in earphones instead.


Applications / OS/2 memory manager: memory corruption ?
« on: November 04, 2018, 01:11:20 pm »

look here:

Could anyone confirm that he also sees this problem on his system ? I even doubt that it is Firefox specific.
I have the bad feeling that there is a general flaw in OS/2's memory manager, in particular with regard to high memory.


Hardware / USBKBD now supports multimedia keys and system keys, but ...
« on: October 28, 2018, 07:07:43 pm »
I finally managed to get USBKBD.SYS to properly recognize and translate the additional keyboard keys (like fast forward, WWW home etc.).
USBKBD.SYS will now properly read these keys and translate them to the proper PS/2 make and break scancodes as defined in this document:

But we now have this limitation: the created PS/2 scancodes are passed to IBMKBD.SYS. It now appears that the scancode range that is now possible exceed that of what IBMKBD.SYS can handle. There are now scancodes that need 2 bytes to be fully represented which IBMKBD.SYS does not properly handle.

Is there an interest to have the full key range ? That would require to rework IBMKBD.SYS.

What does work already is to register these keys as new function keys if you have XWorkplace installed.
And use them from the "symbol" page in the setup notebook. For example I have registered the "WWW home" key to start my Firefox object.

Pages: [1] 2 3