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 - Dariusz Piatkowski

Pages: [1] 2 3 ... 9
Web applications / G-Drive just killed access to our FF45.9...alternatives?
« on: September 18, 2021, 05:02:01 pm »

As the subject says, I'm wondering if anyone has figured out a fake User Agent setting that would still allow our FF 45.9 to bring up a working G-Drive page?

I tried FF77 but that still caused a complaint, meanwhile Chrome 62 produces access, but unfortunately not usable beyond just seeing the contents of the page (navigation is completely off, etc.).

If I can't get our native solution to work I'll transition to FreeRDP use of FF, I just hate to have to setup another "FF User" on my Win box and constantly shuffle between a OS/2 native and remote FF screens.


Setup & Installation / CUPS printing - filter deployment how to?
« on: September 09, 2021, 11:22:20 pm »
So I'm up and running with the CUPS framework deployed here (the latest netlabs-EXP release - 2.2.13-1.oc00).

My Brother HL-5470DW printer already has native OS/2 PSCRIPT driver support, although there are a couple of problems with it that may be caused by either a bug in OS/2 printing system, or could be the result of my PPD file import itself.

Therefore, I figured I would try to deploy CUPS to see if I can address the issues I'm seeing through that approach.

However, what I have learned so far is that the Brother release of their CUPS drivers requires one to deploy a printer filter script. Not a terribly complex script by the looks of it, but I have no idea how the heck to do this filter deployment on our OS/2 platform. Most of the generic on-line info I've found doesn't even corelate to our filesystems structure either.

Further on, if I understood the published on-line information re: deploying CUPS on our platform, it would appear that once a printer is finalized within the CUPS framework I still need to replicate the very same printer object on our OS/2. That of course in my case requires the import of the PPD, which I think will cause the same problems I'm already seeing with the native drivers.

Anyways, that last part is just a guess so far, not sure about this. The first step is to figure out how to deploy the filter script...any ideas/suggestions?


3 the title says, this is a brand new install (1:2.2.13-1.oc00) from netlabs-exp repo.

I let ANPM drive this, all RPMs installed successfully, however attempting to start cupsd.exe produces the following in my popuplog.os2 file:

09-08-2021  17:30:00  SYS2070  PID 03fb  TID 0001  Slot 0136

I haven't re-booted, didn't think I needed to actually.

So here is the thing, I thought the RPM based CUPS would actually provide a working CUPS framework, maybe what I'm seeing is netlabs-EXP repo related, not sure as I haven't searched up on the specifics of the error I'm seeing yet.

Either way, it seems like I stil need to rely on a few other pieces to get things up and running...various other pages show that I need specific printer drivers installed, I reading that right?


Networking / speedtest-cli no longer working...or partially...why?
« on: September 04, 2021, 06:19:01 pm »
Hi Everyone,

Just this morning I enabled streaming optimization on my router for a couple of media devices on our LAN, went to my OS/2 box to check the throughput using the speedtest-cli and discovered the following:

Code: [Select]
Selected Test Server :  20916

Retrieving configuration...
Traceback (most recent call last):
  File "speedtest-cli", line 2000, in <module>
  File "speedtest-cli", line 1986, in main
  File "speedtest-cli", line 1875, in shell
  File "speedtest-cli", line 1091, in __init__
  File "speedtest-cli", line 1174, in get_config
    map(int, server_config['ignoreids'].split(','))
ValueError: invalid literal for int() with base 10: ''

This is executing speedtest-cli v2.1.2 and python 2.7.6.

Off I went looking into this, found that 2.1.3 and 2.1.4b1 have been released. Discovered a fix for 2.1.2, applied and that got me further, but for the sake of running the updated stuff (in case there was something else causing the issue) I grabbed them both, and running the stable 2.1.3 I now see the following:

Code: [Select]
Selected Test Server :  20916

Retrieving configuration...
Testing from Managed Network Systems (
Retrieving server list...
ERROR: No matched servers: 20916

...the problem here being that my local good-ol'-trusty ISP server is no longer selectable, although what's weird is that even if I issue the '--list' option to simply show me the speedtest servers I can connect to, at times (this is NOT consistent though) even if I select a listed server ID I still fail to actually successfully test with it...ughhh???!!!  ???

I subsequently spent a little time on-line (hmm, been a couple of hours already actually...LOL) but found no relevant info.

Worse yet, my ISP does certainly support testing through speedtest, they simply poing to the browser GUI ( and go from there. The problem is that browser GUI shows a throughput that's normally 4-5x slower than the CLI does, so from a stable & true results perspective it's really of no use (with our OS/2 browser that is).

Is anyone else seeing this?


So I'm using Dave's excellent FF 49.5 update (Sec #2 I think?). Pretty rock solid, although there does appear to be a slight regression in terms of saving certain types of files, where the tmp location FF uses never re-names the file to the final filename and instead keeps it in that *.*.part format. Anyways, no biggie, I know about it (normally happens when I d/l any Google Photos grouping of files and it's actually a ZIP file that's built).

Alright, but that's not the reason why I'm posting.

I just had one of these rare crashes, FF trapped and I found the following in the TRP file:

Code: [Select]

 Exception Report - created 2021/06/26 10:30:47

 LIBC: Killed by SIGSEGV

 Hostname:         NEUROBOX
 OS2/eCS Version:  2.45
 # of Processors:  6
 Physical Memory:  3199 mb
 Virt Addr Limit:  3072 mb
 Exceptq Version:  7.11.5-shl BETA8 (Jun  1 2020 18:37:02)


 Exception C0000005 - Access Violation

 Process:  G:\APPS\TCPIP\FIREFOX\FIREFOX.EXE (02/21/2021 11:47:09 72,434)
 PID:      5C (92)
 TID:      01 (1)
 Slot:     C3 (195)
 Priority: 200

 Module:   XUL
 Filename: G:\APPS\TCPIP\FIREFOX\XUL.DLL (02/21/2021 11:52:25 39,789,052)
 Address:  005B:BAB6EF7E (0001:02D2EF7E)
 Cause:    Attempted to read from 00000010
           (not a valid address)


 Failing Instruction

 BAB6EF6E  TEST EBP, EBP         (85ed)
 BAB6EF70  JZ   0xbab6f0b0       (0f84 3a010000)
 BAB6EF76  MOV  [ESP], EBP       (892c24)
 BAB6EF79  CALL 0xbab6b080       (e8 02c1ffff)
 BAB6EF7E >MOV  EAX, [EAX+0x10]  (8b40 10)
 BAB6EF81  MOV  EAX, [EAX+0x20]  (8b40 20)
 BAB6EF84  MOV  ECX, [EAX+0x10]  (8b48 10)
 BAB6EF87  TEST ECX, ECX         (85c9)


 EAX : 00000000   EBX  : 0013D14C   ECX : 20C68FCC   EDX  : BA8CEA04
 ESI : 3F549020   EDI  : 0013D0BC
 ESP : 0013D090   EBP  : 20C68EE0   EIP : BAB6EF7E   EFLG : 00210206
 CS  : 005B       CSLIM: FFFFFFFF   SS  : 0053       SSLIM: FFFFFFFF

 EAX : not a valid address
 EBX : read/write memory on this thread's stack
 ECX : read/write memory allocated by LIBCN0
 EDX : read/exec  memory at 0001:02A9CA04 in XUL
 ESI : read/write memory allocated by LIBCN0
 EDI : read/write memory on this thread's stack


 Stack Info for Thread 01

   Size       Base        ESP         Max         Top
 00100000   00140000 -> 0013D090 -> 000CE000 -> 00040000


...but much further down when I see the list of DLLs that process was "aware" of I find the following:

Code: [Select]

 DLLs accessible from this process
BRWSRCMP b7d49000 0001c000 02/21/2021 11:53:01    108,314 G:\APPS\TCPIP\FIREFOX\BROWSER\COMPONENTS\BRWSRCMP.DLL
 LGPLLIBS b7d79000 0000f000 02/21/2021 11:46:07     75,290 G:\APPS\TCPIP\FIREFOX\LGPLLIBS.DLL
 MOZSQLT3 b7d99000 0009d000 02/21/2021 11:46:07    520,683 G:\APPS\TCPIP\FIREFOX\MOZSQLT3.DLL
 XUL      b7e49000 03c2d000 02/21/2021 11:52:25 39,789,052 G:\APPS\TCPIP\FIREFOX\XUL.DLL
 LGPLLIBS bba89000 0000f000 11/17/2020 00:43:25     74,292 G:\APPS\TCPIP\THUNDERBIRD\LGPLLIBS.DLL
 MOZSQLT3 bbaa9000 00098000 11/17/2020 00:43:15    510,726 G:\APPS\TCPIP\THUNDERBIRD\MOZSQLT3.DLL
 LDAP60   bbb69000 00020000 11/17/2020 00:48:04    119,571 G:\APPS\TCPIP\THUNDERBIRD\LDAP60.DLL
 XUL      bbb99000 03c7d000 11/17/2020 00:52:28 41,160,984 G:\APPS\TCPIP\THUNDERBIRD\XUL.DLL

You'll note that the very same DLLs are showing up that are actually loaded by either FF or THUNDERBIRD.

I was always under the impression that with the Mozilla suite of applications this should never be the case, meaning: the process will have visibility to it's own DLLs, which FF does, but would not see same named DLLs that were loaded by another process.

The above conclusion is based on the comments in both the FF and TB readmes that state the following:

Note:  Starting with Firefox 45.9.0 GA, it is not necessary to set LIBPATHSTRICT
       manually or using the Run! utility for it as this is done automatically
       by firefox.exe when loading XUL.DLL and other Mozilla DLLs.

So am I just misunderstanding what the TRP file shows as far as the listing of the DLLs being accessible by the process goes?

I did NOT expect FF to have any visibility to TB's DLLs, or vice versa.

If something needs to be done about this, there is always the option to use the README suggested program object parameter of:

Parameters:         /c set LIBPATHSTRICT=T & seamonkey.exe "%*"

...although I have not tried that approach yet, easy enough to do though.

Hi Martin,

Can't help you with the questions you posed, but I'd like to piggy back off of the topic you started and ask the following question: what WPS class would need to be extended/replaced in order to create a "Most Recently Opened Documents" object which literally shows a list of documents (should have a user adjustable setting to control how many are shown) there were most recently opened.

In short, I wish there was an easy way to re-open the same doc I had just looked at, withouth me having to go off fishing for it once again.

I suppose this would be a Folder like object, but it really would not have any persistent objects (the previously opened Documents) present there, instead maybe shadows could represent each one?

Programming / VSQM.H - errror due to comment?
« on: April 21, 2021, 05:35:21 pm »
Looking at this header file and found the following:

Code: [Select]
/*                                                                    */
/* String table IDs                                                   */
/*                                                                    */
#define IDSNAME          10
#define IDSTITLE         20
#define IDSHELP          21    /* Help window title string
#define IDSDTLSTL        30
#define IDSQUEUE1        40

It would appear to me that the "/* Help window title string" has an un-ended comment which actually causes all teh remaining #define's to be commented out as well.

This carries on for about 40 line of code until the following:

Code: [Select]
#define VQBADPRIOSTR     84

#define ID_LISTBOX       90     /* Queues listbox ID

/*                                                                    */
/* Menu IDs                                                           */
/*                                                                    */

...which despite being an un-ended comment is OK since the "/* Queues listbox IS" is followed by multi-line comment anyways which correctly ends the full comment section.

Does anyone know if this is correct? Or is this an un-documented but otherwise intentional exclusion of all these DEFINEs?

Programming / OS2MEDEF.H typedef - what is it?
« on: April 17, 2021, 06:45:09 pm »
So there is this declaration in the OS2MEDEF.H header file and I'm having a hard time interpretting it.

Alright, looks like 'FNMCI' is a function, the argument types follow in the parenthesis, but from a tagging perspective (DEFINE vs STRUCT vs TYPEDEF) should this alias be treated as a VARIABLE or a FUNCTION (as I write this I'm actuallying questioning whether this is even the rigth way to put this very question)?

Code: [Select]

I'm asking b/c I'm progressing with my VSLICK OS2 Toolkit tagging project and can't quite figure out where this one belongs.


Programming / VSLICK - OS/2 Toolkit Support Package
« on: April 08, 2021, 03:06:49 am » why feel like a second-class citizen and languish in the "forgotten about" category of Developers???  :o

I have been using Visual SlickEdit for some years now, formerly professionally, and having had great experience with it I had actually purchased the official software way back in the day when it was still available.

So fast forward to today and as I'm trying to do a bit more in support of our platform, and therefore spending a LOT more time on reading either existing code, or trying out new things, I realized that by all accounts we are sort of stuck even in terms of the look'n'feel of the tools we use (regardless of just how old these very tools themselves are).

But...VSLICK is incredibly customizable...I mean just about everything in there is. No, I'm not trying to sell you on it (heck, there is nothing to buy out there), but the ability to re-configure things also means that we have a way to bring a little bit of that modern look'n'feel to our platform, and by extension I hope it may be easier for anyone new to developing on our platform to actually give things a try.

As such, I have been crazily busy trying to assemble a decent 'OS/2 Toolkit Support Package' for VSLICK.

What I mean by that is the following:
1) modern theme
2) syntax highlighting
3) recognition of the native OS/2 Toolkit declarations (DEFINEs, TYPEDEFs, STRUCTs, etc.)
4) pre-built 'Project Definition' modules that allow you to build projects using any C/C++ environments you may be using

Attached screenshot is what my DISKIO source looks like now..heck of a lot easier to read then with the default and/or no syntax highlighting, or no OS/2 Toolkit recognition.

So far I have covered the following Toolkit header files:
1) OS2.H
4) BSE.H
10) PM.H
14) PMWP.H

There are a pile more, I haven't touched on any of the networking stuff yet. I think hitting the ol' OS2EMX.H is probably a must, even if that is needed just to simplify reading any existing code base.

Beyond what I have I'm looking for recommendations as to what else I need to prioritize? Which header files should I go through before we have something that feels like it covers most of the stuff one might normally use?

Programming / DosDevIOCtl API references?
« on: March 22, 2021, 04:49:28 pm »
Can someone point me to good references with whatever sample code one can find on the subject of DosDevIOCtl API?

I have the DEV Toolkit stuff here, along with a few OS/2 DEV books, but really they all seem to just re-hash what's in the Toolkit docs, which isn't much.

I am specifically asking because of the following: modifying DISKIO has allowed for greater range of device coverage (as far as the bigger numbers that newer devices provided and the various overflow issues the older version of DISKIO had). However, all that is predicated on the 512 byte sector size, and that was fine in the case of the old spinning drives.

The SSDs for the most part require a 4K sized sector. Not that they will NOT run with different setups, but due to the memory sizes 4K is the preferred option.

So here is the thing: attempting to re-define DISKIO code to deal with 4K sector sizes eventually produces a RC=87 from DosDevIOCtl, which means: "87_ERROR_INVALID_PARAMETER"...great!!!, but what does that mean??? LOL

I'm seeing this failure only in the Bus/Cache testing code and I think I understand why, but I haven't fully grasped it all.

Anyways, tossing the 4k setups in place causes the RC=87 failure which I'm trying to understand the reason for.


Storage / "cannot operate the hard disk"...seems familiar, right?
« on: March 17, 2021, 09:09:27 pm »
...except that what I'm seeing is a bit weird, let me explain.

I have an OS/2 4.52 box here, currently installed on a Samsung 850 Evo 250G SSD, with the following layout:
1) Boot Manager - 7M
2) Maintenance - 54M
3) OS/2 - 233G

Recently I bought a Samsung 860 Evo SSD, but a 500G size, idea being to just toss everything onto that single partition.

Normally in the past when I made the moves between different drives, or from a HD to a SSD, I simply xcopied the drive contents, swapped the drive letters and off I went booting from the NEW drive.

There may have been the occasional sysinstx needed, but never ran into a problem.

Now this time around I'm seeing something strange. I use DANI drivers (latest ones) and the AOS JFS drivers (1.09.09), including the most recent fix to the cache issue. These updates have been pushed out to my main OS/2 boot drive as well as the Maintenance partition.

So I make a copy of the MAINT partition, swap the drive letters and attempt to boot into that partition from within Boot Manager menu. Strangely enough the OS/2 boot starts but soon after the DANI drivers get loaded I get the "cannot operate the hard disk" error message, the boot stops.

Strange, but alright I thought maybe I'm running into some sort of issue with the larger drive???

I re-booted back to my main OS/2 partition, brought up LVM, checked things out to make sure all was good, and it was. I then went ahead and re-booted back into the MAINT partition...lo and behold, all of a sudden my MAINT partition booted just fine.

THE ONLY difference here is that I booted into the main OS/2 partition, fired up LVM, checked things and re-booted back to the previously non-bootable MAINT partition.

I thought this was super weird...I went ahead and replicated this several times, each time exactly the same behaviour:
1) swap drive letters
2) attempt to boot the MAINT partition - FAIL
3) boot into the main OS/2 boot partition
4) shut down and re-boot into the Boot Manager menu to select the MAINT partition
5) MAINT partition successfully boots


What gives here? Is there something off with the MBR on the MAINT partition maybe??? Do I need to update the MBR? This behaviour just doesn't make sense to me, but I'm hoping I'm just missing something that others have seen...


Applications / AccountMgr - corrupt DB maybe?
« on: March 11, 2021, 06:03:08 pm »
Hi Everyone!

I've been using Mario Sebastiani's AccountManager application for a number of years now. Pretty simple way to track various ID/PASS combinations.

However, sometime last week my machine locked up as I was testing some other software, it was a hard lock so only power OFF/ON worked. Re-boot brought things back up (did have a clean CHKDSK run) so it all seemed fine. However attempting to start AccoungManager today produces a DrRexx error, end result being: I cannot get to any of my ID/PASS combos.

Since my drive backups are nightly and I didn't catch this one in time, the previous version of the DB was overwritten with what I presume to be the corrupted one.

I do not know this for a fact, but I'm guessing this is where the problem lies.

The error I'm seeing is:
Code: [Select]
SYNTAX ERROR: Bad arithmetic conversion in:
SAY "  do i ="   do i

I am not familiar with DrRexx, however it would appear that it has the ability to query up the program runtime environment, so I'm wondering if anyone can shed some light on how to do so?

In parallel to this, does anyone know what DB format AccountManager uses? I reached out to Mario but some 20 yrs have passed since he released this app and all links to his emails and website are dead.

There is a text export of the iDB nformation that's about a quarter of the year old, not ideal but heck I'll take it!!! So not all is lost, ideally though I'd rather try to figure out where things are dying now to recover as much info as possible.


Applications / NewView (VIEW replacement) - what font do I need?
« on: February 15, 2021, 05:07:12 am »
I haven't been able to tweak this by trying various available fonts through the built-in configuration option.

Please take a look at the attached image, my main font is WarpSans, and I use 'Courier New 10' as a substitue for 'Courier 18x12'.

It looks like a monospaced font is what the table display should use, but instead it's using something else, and whatever it's using, it's not controlled by the user adjustable settings.


Storage / Best way to copy a volume?
« on: February 08, 2021, 03:55:43 pm »
The goal here is to move my OS2 install from the current 850 Evo SSD to the new 860 Evo SSD (250G to 500G).

In the past I've relied on the good ol' trusty XCOPY (/h /o /t /s /e /r /v), followed by the SYSINSTX, etc. The only downside to this approach is the fact that all the directory date/time-stamps are the CURRENT sysdate values and the old stuff is not preserved.

I'd like to avoid that outcome.

My thinking is that I could execute the XCOPY first (from within my maintenance partition) followed by a RSYNC run to get all the other stuff nice 'n' tidy. Haven't tried this yet on a test partition, most likely will though just to be sure.

I have seen people talk of archiving the source volume, so literally toss everything into a ZIP file and un-zip in the target drive. Yup, I could do this given that I have a couple of spare drives (that do nightly volume backups), but I'm thinking there must be some kind of ZIP file size limitation here to deal with...?

In the meantime, can anyone suggest an alternative and/or perhaps better way to go about this? Maybe DFSEE has an option I should pursue? The only caveat here is that the volume sizes are different (source is 250G and target is 500G).

Beyond that, at the hardware level, do we worry about the 4k alignment for the SSDs? The FS is JFS, but having tried this once before (when originally moving from a HDD to the SSD) and running into some major screwups (lost a volume that way but managed to re-cover from the nightly backup..yey!) I'm hesitant to try this again.


Storage / DANIS506 - SATA III capable or not?
« on: February 02, 2021, 06:34:37 pm » maybe this whole point I am about to make and therefore this post are pointless, but it is sort of bothering me so I'd like to understand whether the results I'm seeing are due to my specific hardware (which is a bit dated, circa 2010/2011) or are they due to some assumptions our equally dated software holds.

So the big Q: is the DANIS506 driver SATA III (6G/s) aware? Is it 66MHz PCI-bus aware? Is it smart enough to ramp up device timings to max out the usable hardware capabilities?

Why am I asking?

Well, I recently picked up a Samsung 860 Evo 500G on sale ($65 Canuck, man can't go wrong with that price!). I already have the 850 Evo in my rig and the sustained disk xfer rates bumped up to a steady 400M/s once I deployed it in a SATA III capable motherboard (previously in SATA II mode they would max out around 250M/s or thereabouts). Having said that, the cache/bus rates never really got any higher than 200 (based on previous tests) and really for reasons un-known to me today they are about 150-155M/s.

Here is an example of a test run:
Code: [Select]
Disk I/O disk 0-2: 238473 MB - Samsung SSD 850 EVO 250GB
   Avg. data access time :       --.---    milliseconds
   Cache/Bus xfer rate   :      155.318    Megabytes/second
   Track 0 xfer rate fwd :      395.163    Megabytes/second
   Middle trk rate fwds. :      400.412    Megabytes/second
   Last track rate bwds. :      367.077    Megabytes/second
   Average Transfer rate :      387.551    Megabytes/second
   Disk use CPU load     :        3.740    percent
   Total                 :       --.---    Disk I/O-marks

Bottom line being: it feels like the DANIS506 drivers allowed for higher performance when deployed to capable hardware.

Good off I go to install the new 860 Evo, find a SATA connector, yup, all good.

I boot up and run SysBench, now that shows the following results for my new 860 SSD:
Code: [Select]
Disk I/O disk 1-4: 476938 MB - Samsung SSD 860 EVO 500GB
   Avg. data access time :       --.---    milliseconds
   Cache/Bus xfer rate   :      407.757    Megabytes/second
   Track 0 xfer rate fwd :        8.146    Megabytes/second
   Middle trk rate fwds. :      405.977    Megabytes/second
   Last track rate bwds. :      401.950    Megabytes/second
   Average Transfer rate :      272.024    Megabytes/second
   Disk use CPU load     :        4.060    percent
   Total                 :       --.---    Disk I/O-marks

I'm not complaining, I know the 860 is faster than 850, but boy that cache/bux xfer rate is really a night and day type of a difference.

So off I went digging a little deeper into this.

1) DANIS506 device driver info for the SSD devices

Here is what the boot-up screen reports:
Code: [Select]
R1.8.15      /VLL /LPM:3 /APM:254 /PF:3
            Daniela's Bus Master IDE Driver for OS/2 Version 1.8.15
Controller:0  Port:9000 IRQ:13  Status:OK BusMaster Scatter/Gather
  ATI IXP SATA host (1002:4390 rev:40) on PCI 0:17.0#0
 Unit:0 Status:OK LBA BusMaster no speed BPB
  Model:Samsung SSD 850 EVO 250GB               EMT03B6Q
   OS2:log   phys   BPB/BIOS   IDE:log   phys     Total Sectors
  C  30401  65535                65535  16383   Avail  488397168
  H    255     16        255        16     16   OS2    488392065
  S     63     63         63        63     63   % Used     99.99


Code: [Select]
Controller:1  Port:7000 IRQ:13  Status:OK BusMaster Scatter/Gather
  ATI IXP SATA host (1002:4390 rev:40) on PCI 0:17.0#1
 Unit:0 Status:OK LBA BusMaster no speed BIOS
  Model:Samsung SSD 860 EVO 500GB               RVT04B6Q
   OS2:log   phys   BPB/BIOS   IDE:log   phys     Total Sectors
  C  60801  65535                65535  16383   Avail  976773168
  H    255     16        255        16     16   OS2    976768065
  S     63     63         63        63     63   % Used     99.99

...but lo and behold, the driver says "BusMaster no speed BPB", instead of providing some kind of a spec, and I honestly was expecting to see a 6.0GBit/s SATA III listed here.

2) DANIS506 device driver info for one of my traditional HDD devices (WD VelociRaptor)

Code: [Select]
Unit:1 Status:OK SMS:16 LBA NL:126 BusMaster 3.0GBit/s BPB
 Model:WDC WD3000HLFS-01G6U0                   04.04V01
  OS2:log   phys   BPB/BIOS   IDE:log   phys     Total Sectors
 C  36481  65535                65535  16383   Avail  586072368
 H    255     16        255        16     16   OS2    586067265
 S     63     63         63        63     63   % Used     99.99

Here you can clearly see the device being recognized as a BusMaster capable 3.0GBit/s drive.

Alright, so I went to DiskInfo utility and ran 'diskinfo 0m cviI' to pull the numbers for both devices, here is the kicker:

1) 850 Evo
Code: [Select]
0/m: Samsung SSD 850 EVO 250GB                EMT03B6QR S3PZNF0JB03446T
Port 9000/8002, Irq 19, SATA, Busmaster, PIO4, Ultra DMA6

ATA device, with non-removable media
        Model Number:       Samsung SSD 850 EVO 250GB
        Serial Number:      S3PZNF0JB03446T
        Firmware Revision:  EMT03B6Q
        Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5
        Used: unknown (minor revision code 0x0039)
        Supported: 9 8 7 6 5
        Likely used: 9

        LBA, IORDY(can be disabled)
        Queue depth: 32
        Standby timer values: spec'd by Standard, no device specific minimum
        R/W multiple sector transfer: Max = 1   Current = 1
        DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
             Cycle time: min=120ns recommended=120ns
        PIO: pio0 pio1 pio2 pio3 pio4
             Cycle time: no flow control=120ns  IORDY flow control=120ns

        Enabled Supported:

           (bunch of stuff deleted)

           *    SATA-I signaling speed (1.5Gb/s)
           *    SATA-II signaling speed (3.0Gb/s)
           *    unknown 76[3]
           *    Native Command Queueing (NCQ)
           *    Phy event counters
           *    unknown 76[15]

2) 860 Evo
Code: [Select]
1/m: Samsung SSD 860 EVO 500GB                RVT04B6QR S598NJ0NA33886X
Port 7000/6002, Irq 19, SATA, Busmaster, PIO4, Ultra DMA6

ATA device, with non-removable media
        Model Number:       Samsung SSD 860 EVO 500GB
        Serial Number:      S598NJ0NA33886X
        Firmware Revision:  RVT04B6Q
        Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5
        Used: unknown (minor revision code 0x005e)
        Supported: 11 8 7 6 5
        Likely used: 11

        LBA, IORDY(can be disabled)
        Queue depth: 32
        Standby timer values: spec'd by Standard, no device specific minimum
        R/W multiple sector transfer: Max = 1   Current = 1
        DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
             Cycle time: min=120ns recommended=120ns
        PIO: pio0 pio1 pio2 pio3 pio4
             Cycle time: no flow control=120ns  IORDY flow control=120ns

        Enabled Supported:

           (bunch of stuff deleted)

           *    SATA-I signaling speed (1.5Gb/s)
           *    SATA-II signaling speed (3.0Gb/s)
           *    unknown 76[3]
           *    Native Command Queueing (NCQ)
           *    Phy event counters
           *    unknown 76[15]

Both drives appear to be ONLY recognized as SATA-II, although both show "unknown 76[3]", which I suspect may in fact indicate a SATA-III capability.

And that is only part of the story.

Daniela wrote a pretty awesome device driver, and the DOCs she published were equally impressive. So I went looking at what may be causing this result. Eventually I focused on the PCI bus clock rate where the driver README has a pretty extensive section dealing with some adjustability. Back in the day the standard PCI clock was 33MHz, but some chipsets differed, so the /PCI parameter provides a way to deal with this.

Now with PCI 2.1 a 66MHz bus-clock was introduced, and your hardware will announce this to the driver if need be. In fact, runng PCI scan here produces the following stats for the SATA controller:

Code: [Select]
Bus 0 (PCI Express), Device Number 17, Device Function 0
Vendor 1002h Advanced Micro Devices, Inc. [AMD/ATI]
Device 4390h SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode]
Command 0107h (I/O Access, Memory Access, BusMaster, System Errors)
Status 0230h (Has Capabilities List, Supports 66MHz, Medium Timing)
Revision 40h, Header Type 00h, Bus Latency Timer 40h
Self test 00h (Self test not supported)
Cache line size 64 Bytes (16 DWords)
PCI Class Storage, type IDE (ATA)
PCI EIDE Controller Features :
  BusMaster EIDE is supported
  Primary   Channel is in native mode at Addresses 0 & 1
  Secondary Channel is in native mode at Addresses 2 & 3
Subsystem ID 76401462h Unknown
Subsystem Vendor 1462h Micro-Star International Co., Ltd. [MSI]
Address 0 is an I/O Port : 9000h..9007h
Address 1 is an I/O Port : 8000h..8003h
Address 2 is an I/O Port : 7000h..7007h
Address 3 is an I/O Port : 6000h..6003h
Address 4 is an I/O Port : 5000h..5007h
Address 5 is a Memory Address (0-4GiB) : FE4FF000h..FE4FF3FFh
System IRQ 19, INT# A
New Capabilities List Present:
  Message Signalled Interrupt Capability
    MSI is disabled
    MSI function can generate 64-bit addresses
  Unknown Capability (Code 12h)!!
  Unknown Capability (Code 13h)!!

The interesting part in the above is: "Status 0230h (Has Capabilities List, Supports 66MHz, Medium Timing)".

My interpretation of this says that the SATA controller is capable of executing at 66MHz PCI bus clock.

As such this begs the question: does the DANIS506 driver know anything about this capability, and if so, does it do anything with it? After all, if the hardware capability is there I sure want to use it.

Tying this back to my main point at the start of the post: is DANIS506 driver smart enough to adjust to the faster SATA-III and/or 66MHz bus timings?

Further on, has anyone else experimented with different /PCI values to account for the faster PCI bus clocks?

Pages: [1] 2 3 ... 9