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.


Messages - Dave Yeo

Pages: [1] 2 3 ... 222
1
Networking / Re: Squid Cache
« on: Today at 08:13:09 am »
Hi Harald, SIGILL is a bad instruction, usually from targeting a newer processor then the one you're using. What CPU do you have? And what is the failing opcode, be the section "Failing instruction" in your trp report just below the part you quoted.

2
Hardware / Re: Hardware Compatibility Wishlist for 2022
« on: Today at 07:41:29 am »
Yes, but how does the video (and audio) stream get to an application such as a web browser? And how does the application control the camera (perhaps focus for example), get capabilities and such? It does look like Mozilla will handle the transcoding and likely the muxing
Guess I could enable webrtc and see where the compile breaks.

3
Hardware / Re: Hardware Compatibility Wishlist for 2022
« on: Today at 02:03:06 am »
WebRTC is probably the solution for video conferencing. QT5 supports it, as well as our Firefox. Of course it needs to be coded for our platform and currently as far as I know, only USB audio supports microphone input.
https://webrtc.org/

4
Hardware / Re: Hardware Compatibility Wishlist for 2022
« on: January 20, 2022, 11:47:07 pm »
I also think WiFi would be a high priority. Both WiFi and dual screen have been mentioned by Arca Noae on their roadmap.

I'd add an item that is partly software and partly hardware -- I'd like to see video conferencing on our platform. This also seems to be in progress, but at BitWise and in discussions here. That is both audio and video hardware.

Funny enough, the video support is better under VirtualBox then it is on plain HW. My built-in notebook webcam is detected in VirtualBox as a USB video device with bulk endpoint. The combination of libuvc+libusb has no problems using it. What we now need is a port of a Linux web app based on QT (for display) and  livuvc+libusb (for the data streaming). I am not yet clear about audio (synchronized to video).
The OS/2 MMPM subsystem is built upon streams that can be synchronized. But if you use libusb + libuvc, they know nothing about the OS/2 MMPM streaming (manager). You just read video and potentially audio directly from the device but then, these are not synchronized.

Lars

Usually the video and audio are compressed and muxed into a container, AVI, Matroska(webm) etc with syncing happening there. FFmpeg or libavcodec can handle that.
It also raises the question of licensing and such. If something is expecting H264 and AAC, well they're patented. There's libvpx, vorbis etc, does any video conferencing software support them?

5
Applications / Re: SeaMonkey downloads and Unix permissions
« on: January 20, 2022, 03:00:04 am »
Yes, I set it with NO_ERROR. At first I was worried about the scope of rc as it is used throughout the file.  Though thinking about it, I'm not sure what happens if there is an error, whether in the memory allocation or what DosQueryPathInfo() returns, perhaps it should have been passed somehow to the class, nsLocalFile::SetPermissions(uint32_t aPermissions).
https://github.com/bitwiseworks/mozilla-os2/blob/master/xpcom/io/nsLocalFileOS2.cpp about line 1931

6
Applications / Re: SeaMonkey downloads and Unix permissions
« on: January 18, 2022, 06:47:02 pm »
Thanks, that worked, except the EA's are still there. Probably need to strip them later when the tmp file gets moved to the permanent name in download.cpp

7
Applications / Re: SeaMonkey downloads and Unix permissions
« on: January 18, 2022, 08:01:05 am »
In my QE editor and a few other programs, I simply make sure that new files are created without EAs. 

More precisely, because libc creates these file permission EAs on a new file automatically, my save routines all have some logic to immediately delete them if the file was new. (I don't do that when updating an existing file because the user might actually have set them on purpose.)

e.g.
Code: [Select]
    if ( !fileExists ) {
#ifdef __OS2__
        // If this is a new file, get rid of the useless default EAs added by klibc
        deleteEA( pszFileName, (PCSZ) "UID");
        deleteEA( pszFileName, (PCSZ) "GID");
        deleteEA( pszFileName, (PCSZ) "MODE");
        deleteEA( pszFileName, (PCSZ) "INO");
        deleteEA( pszFileName, (PCSZ) "RDEV");
        deleteEA( pszFileName, (PCSZ) "GEN");
        deleteEA( pszFileName, (PCSZ) "FLAGS");
#endif
    }

Code: [Select]
unsigned long deleteEA( char *pszPathName, const char *pszEAName )
{
    PFEA2LIST pFEA2List = NULL;
    PFEA2     pFEA2 = NULL;
    EAOP2     eaop2 = {0};
    size_t    cb = 0;
    APIRET    rc = ERROR_NOT_ENOUGH_MEMORY;

    cb = sizeof( FEA2LIST ) + strlen( pszEAName );
    pFEA2List = (PFEA2LIST) calloc( cb, 1 );
    if ( pFEA2List ) {
        pFEA2List->cbList = cb;
        pFEA2 = pFEA2List->list;
        pFEA2->cbName = (BYTE) strlen( pszEAName );
        strcpy( pFEA2->szName, pszEAName );
        pFEA2->cbValue = 0;

        eaop2.fpFEA2List = pFEA2List;
        rc = DosSetPathInfo( (PCSZ) pszPathName, FIL_QUERYEASIZE,
                             (PBYTE) &eaop2, sizeof( eaop2 ), DSPI_WRTTHRU );
        free( pFEA2List );
    }
    return (unsigned long) rc;
}

Well, so far I've come up with this,
Code: [Select]
diff --git a/xpcom/io/nsLocalFileOS2.cpp b/xpcom/io/nsLocalFileOS2.cpp
index 32715473bd..bb772a8053 100644
--- a/xpcom/io/nsLocalFileOS2.cpp
+++ b/xpcom/io/nsLocalFileOS2.cpp
@@ -16,6 +16,7 @@
 #include "nsIDirectoryEnumerator.h"
 #include "nsIComponentManager.h"
 #include "prlink.h"
+#include "prmem.h"
 
 #include "nsTraceRefcnt.h"
 #include "nsReadableUtils.h"
@@ -233,6 +234,32 @@ static int isleadbyte(int c)
     return retval;
 }
 
+static nsresult deleteEA( char *pszPathName, char *pszEAName )
+  {
+      PFEA2LIST pFEA2List = NULL;
+      PFEA2     pFEA2 = NULL;
+      EAOP2     eaop2 = {0};
+      size_t    cb = 0;
+      APIRET    rc;
+
+      cb = sizeof( FEA2LIST ) + strlen( pszEAName );
+      pFEA2List = (PFEA2LIST) PR_Calloc( cb, 1 );
+      if ( pFEA2List ) {
+          pFEA2List->cbList = cb;
+          pFEA2 = pFEA2List->list;
+          pFEA2->cbName = (BYTE) strlen( pszEAName );
+          strcpy( pFEA2->szName, pszEAName );
+          pFEA2->cbValue = 0;
+
+          eaop2.fpFEA2List = pFEA2List;
+          rc = DosSetPathInfo( (PCSZ) pszPathName, FIL_QUERYEASIZE,
+                               (PBYTE) &eaop2, sizeof( eaop2 ), DSPI_WRTTHRU );
+          PR_Free( pFEA2List );
+      }
+      if (rc != NO_ERROR)
+        return ConvertOS2Error(rc);
+  }
+
 //-----------------------------------------------------------------------------
 // nsDirEnumerator
 //-----------------------------------------------------------------------------
@@ -1956,6 +1983,15 @@ nsLocalFile::SetPermissions(uint32_t aPermissions)
 
     pathInfo.attrFile ^= FILE_READONLY;
 
+//  Get rid of the useless default EAs added by klibc
+    deleteEA( mWorkingPath.get(), (PCSZ) "UID");
+    deleteEA( mWorkingPath.get(), (PCSZ) "GID");
+    deleteEA( mWorkingPath.get(), (PCSZ) "MODE");
+    deleteEA( mWorkingPath.get(), (PCSZ) "INO");
+    deleteEA( mWorkingPath.get(), (PCSZ) "RDEV");
+    deleteEA( mWorkingPath.get(), (PCSZ) "GEN");
+    deleteEA( mWorkingPath.get(), (PCSZ) "FLAGS");
+
     rc = DosSetPathInfo(mWorkingPath.get(), FIL_STANDARD,
                         &pathInfo, sizeof(pathInfo), 0UL);

But the compiler isn't happy with converting the strings, (also the return type)
...
Code: [Select]
Y:/work/cc45-git/mozilla/xpcom/io/nsLocalFileOS2.cpp:1993:31: error: invalid conversion from 'const char_type*' {aka 'const char*'} to 'char*' [-fpermissive]
 1993 |     deleteEA( mWorkingPath.get(), (PCSZ) "FLAGS");
      |               ~~~~~~~~~~~~~~~~^~
      |                               |
      |                               const char_type* {aka const char*}
Y:/work/cc45-git/mozilla/xpcom/io/nsLocalFileOS2.cpp:237:33: note:   initializing argument 1 of 'nsresult deleteEA(char*, char*)'
  237 | static nsresult deleteEA( char *pszPathName, char *pszEAName )
      |                           ~~~~~~^~~~~~~~~~~
Y:/work/cc45-git/mozilla/xpcom/io/nsLocalFileOS2.cpp:1993:35: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
 1993 |     deleteEA( mWorkingPath.get(), (PCSZ) "FLAGS");
      |                                   ^~~~~~~~~~~~~~
Y:/work/cc45-git/mozilla/xpcom/io/nsLocalFileOS2.cpp: In function 'nsresult deleteEA(char*, char*)':
Y:/work/cc45-git/mozilla/xpcom/io/nsLocalFileOS2.cpp:261:3: warning: control reaches end of non-void function [-Wreturn-type]
  261 |   }

Ideas?


8
104b should be on the ArcaOS install ISO,
Code: [Select]
I:\OS2IMAGE\DEBUG\SMP>bldlevel os2krnl
Build Level Display Facility Version 6.12.675 Sep 25 2001
(C) Copyright IBM Corporation 1993-2001
Signature:       @#IBM:14.104b#@_SMP  IBM OS/2 Kernel
Vendor:          IBM
Revision:        14.104
File Version:    14.104
Description:     _SMP  IBM OS/2 Kernel

9
...
The system detected an internal processing error at
location ##0168:a41c - 0010:a41c.
60004, 6009
128606c3 - 00/00 00:00:00.00
Internal revision 14.104b_SMP
The system is stopped.  Record all of the above information and
contact your service representative.
...

That 14.104b_SMP is a very old kernel, in fact the quasi-official latest IBM build was 106. AOS has gone to never kernels since, and that might help.

Isn't that the newest debug kernel? Ok, I see there may be a 14.104c SMP floating around.

10
Programming / Re: Netlabs.org on Github
« on: January 16, 2022, 08:11:54 am »
On the one hand, Github sorta works with our old browsers. On the other hand, it is now owned by Microsoft and a lot of developers don't like it and it seems gitlab is popular.
I started using Bitbucket because I needed something that supported Mercurial, and Bitbucket was one of the very few choices and it worked fine, though slow. Then Atlassian bought it. Things were mostly fine, then I couldn't upload builds of Mozilla anymore, even with Linux or falling back to their API and Curl. Then the worst was, with lots of notice, they not only dropped Mercurial support, but deleted everything. All my Mozilla repositories gone. I moved much of it and converted my Mercurial repositories to Git but it really left a bad taste in my mouth, they could have set everything to read only instead of deleting who knows how many repositories.
I also tried Sourceforge again with a test repository. They insisted on 2 factor login, which was fine, had an app on my phone and just had to copy a 4 digit number. Then I changed phones, didn't think of exporting the stuff from the 2 factor app and lost access to my account. Their response was nothing they could do, no way to reset things and the only way forward was to start over with a new account, which I never got around to.
My takeaway is that hosting services can't be trusted, especially using the free tier and the best thing is to have multiple repositories. One wonderful thing with Git (and Mercurial) is you have a copy of the whole repository locally. Hear of SVN servers going down and all the meta-data is gone. With Git, it is easy to clone everything and have backups.
With that in mind, Github works. Hopefully Martin has copies of all those repositories he has created.

11
Hi S.P., welcome.
I'd guess your ACPI tables are broken and advise opening an issue at Arca Noae. With luck, ACPI might be fixed/worked around for your hardware.
You can also review https://www.arcanoae.com/wiki/acpi/requirements/ in particular the section "Internal Processing Errors reported by the kernel" but there might be other workarounds that help for you.

12
Games / Re: DOS VDM - USB and Game port Gamepad support
« on: January 15, 2022, 05:57:12 pm »
The HID descriptor parser has changed. Don't know where it is implemented. For usbresmg, a typo fix. Other changes probably wouldn't affect things.

13
Games / Re: DOS VDM - USB and Game port Gamepad support
« on: January 15, 2022, 12:03:32 am »
Just that the usbcalls update doesn't break anything

14
Setup & Installation / Re: OS2DASD hangs after 1st stage installation
« on: January 14, 2022, 08:51:33 pm »
Also, I just noticed your DVD is set as slave with no master on the interface, I'd suggest first trying to set the DVD to master and if that doesn't work, cable select. Could even temporarily remove it if you are installing with a USB stick

15
Setup & Installation / Re: OS2DASD hangs after 1st stage installation
« on: January 14, 2022, 08:48:41 pm »
Hi Stefano, looking at your system, I see
Code: [Select]
R1.08.15     /!BIOS
            Daniela's Bus Master IDE Driver for OS/2 Version 1.08.15
Controller:0  Port:F0707080 IRQ:16  Status:OK BusMaster Scatter/Gather
  ATI IXP SATA host (1002:4379 rev:80) on PCI 0:18.0#0
 Unit:0 Status:OK SMS:16 LBA BusMaster 1.5GBit/s BPB
  Model:Lexar 256GB SSD                         H190117D
   OS2:log   phys   BPB/BIOS   IDE:log   phys     Total Sectors
  C  31130  65535                65535  16383   Avail  500118192
  H    255     16        255        16     16   OS2    500103450
  S     63     63         63        63     63   % Used     99.99
Controller:1  Port:01F0 IRQ:0E  Status:OK BusMaster Scatter/Gather
  ATI IXP PATA host (1002:4376 rev:80) on PCI 0:20.1#0
 Unit:0 Status:No Master Device
 Unit:1 Status:OK ATAPI BusMaster UltraDMA2/PIO4
  Model:TOSHIBA DVDW/HD TS-L802A                TF37

Looking at the Danis506 chiplist, I see
Code: [Select]
0x1002 ATI
   0x436E IXP300 SATA                x   x   x    x   ?     x   -       ?   (x)
   0x4379 IXP400 SATA                x   x   x    x   ?     x   -       ?   (x)
   0x437A IXP400 SATA                x   x   x    x   ?     x   -       ?   (x)
   0x4380 IXP600 SATA                x   x   x    x   ?     x   x       ?   (x)
   0x4381 IXP600 SATA                x   x   x    x   ?     x   x       ?   (x)
   0x4390 IXP700/800 SATA            x   x   x    x   ?     x   x       ?   (x)
   0x4391 IXP700/800 SATA            x   x   x    x   ?     x   x       ?   (x)
   0x4392 IXP700/800 SATA            x   x   x    x   ?     x   x       ?   (x)
   0x4393 IXP700/800 SATA            x   x   x    x   ?     x   x       ?   (x)
   0x4394 IXP700/800 SATA            x   x   x    x   ?     x   x       ?   (x)
   0x4395 IXP700/800 SATA            x   x   x    x   ?     x   x       ?   (x)

 IXP300/400 are licenced SiI3112 cores. The same features and bugs apply!
and
Code: [Select]
0x1095 Silicon Image
   0x3112 SiI 3112                   x   x   x    x   -     x   -       x    x
   0x3114 SiI 3114                   x   x   x    x   ?     x   -       ?    x
   0x3512 SiI 3512                   x   x   x    x   ?     x   -       ?   (x)
   0x0240 Adaptec AAR-1210SA         x   x   x    x   ?     x   -       x   (x)

 known bugs:
   - SiI3x12: incompatibilities with some disks:
      * ST320012AS,ST330013AS,ST340017AS,ST360015AS,ST380023AS,ST3120023AS ,ST340014ASL,ST360014ASL,ST380011ASL,ST3120022ASL,ST3160021ASL (no fix)

So it appears that Danis506 sorta supports your disk controller, but with bugs, certain disks?

Suggestions include, trying different disks, IIRC, you did. Try a PATA disk. reopen your ticket, go through the motions that Arca Noae goes through and eventually David will notice this problem and might be able to code a fix for you.
Remember, Arca Noae is a small organization, your problem is often geometry related, Arca Noae will go through the obvious fixes first due to time and often that's all that is needed. And David A. is the only developer working on this stuff and has limited time.
In my experience, trouble shooting starts with David thinking the hardware support is fine, after a bit he realizes it isn't, he then tries to create a fix. Sometimes fixes aren't possible but a bit of searching shows Linux had problems with these controllers and the problems were fixed, so it is likely Arca Noae can come up with a fix.
Don't be impatient and remember Arca Noae has limited resources but do do pretty good at fixing these kinds of things and since your hardware isn't that old, with luck they will come up with a fix but time is always a problem and expecting a fix in 2 days is asking a lot.

Pages: [1] 2 3 ... 222