Jump to content

Driver compatibility issues for W9X


jds

Recommended Posts

It was once common practice to write device driver packages to support both W9X and NT. However, without proper testing, you may sometimes encounter issues with W9X compatibility. Here are two examples that I've encountered so far :

1. INF files are limited to just under 64KB with W9X.

I first encountered this issue with a Ralink device driver where, as new OEM's had been added to the relevant INF file, this had grown beyond 64KB in size. Once I realized that was the problem, I removed the sections and models related to a few OEM's (not the one for my piece of hardware, of course), until the size was satisfactory. Then everything installed OK.

2. Section Names are limited to 28 characters with W9X.

I've just encountered this issue with a Connexant driver that refused to install. The W2K DDK says "A section name has a maximum length of 255 bytes on Microsoft Windows 2000. On Windows 98, section names should be no longer than 28 characters. INFs designed to work on both platforms must adhere to the smaller limit." I can confirm that any Section Name exceeding 31 characters will prevent such a driver installing on W98SE.

HTH

Joe.

Link to comment
Share on other sites


2. Section Names are limited to 28 characters with W9X.

I've just encountered this issue with a Connexant driver that refused to install. The W2K DDK says "A section name has a maximum length of 255 bytes on Microsoft Windows 2000. On Windows 98, section names should be no longer than 28 characters. INFs designed to work on both platforms must adhere to the smaller limit." I can confirm that any Section Name exceeding 31 characters will prevent such a driver installing on W98SE.

Good to know :)

Just in order to disambiguate 28 characters plus the square brackets, right?

Like:

[ABCDEFGHIJKLMNOPQRSTUVWXYZ12]

being valid and

[ABCDEFGHIJKLMNOPQRSTUVWXYZ123]

being not.

jaclaz

Link to comment
Share on other sites

Just in order to disambiguate 28 characters plus the square brackets, right?

Like:

[ABCDEFGHIJKLMNOPQRSTUVWXYZ12]

being valid and

[ABCDEFGHIJKLMNOPQRSTUVWXYZ123]

being not.

Yes, that is my understanding (once I managed to find the paragraph in the DDK documentation).

Initially what I found was that "decorated" Section Names for NT (which are correspondingly longer than the "undecorated" ones) were preventing the driver loading in W98SE, when they exceeded 31 characters. The documentation says they should be no more than 28 characters, so I don't know if there are more subtle problems in the 29-31 character range.

Joe.

Link to comment
Share on other sites

  • 2 weeks later...

I did some brief experimentation on MSW-ME over the weekend, and this seemed able to install drivers whose INF's had Section Names exceeding 31 characters.

However, the WinXP-SP1-DDK had this to say :

General Syntax Rules for INF Files

...

Section Names

...

A section name has a maximum length of 255 bytes on NT-based operating systems. On Windows 98/Me, section names should be no longer than 28 characters. INF files designed to work on both platforms must adhere to the smaller limit.

So, either the symptoms with MSW-ME are more subtle, or else it doesn't have the same limitation on length of Section Names, in which case the above DDK documentation is in error (at least regarding MSW-ME).

Joe.

Link to comment
Share on other sites

jds, can you please tell, which ralink card are you using? I'm trying get to work ralink rt2070, but still no sucess.

Well, I can sympathize with you.

I couldn't find much information on the RT2070, but have a suspicion it's related to the RT2870 and the RT3070.

What I did find were some clues here : http://wiki.debian.org/rt2870sta

This indicates the D-Link WUA-2340 is an RT2070 product. If you download its driver, you find that the INF file includes support for W9X, yet the package is missing a driver file called 'A5AGU9x.sys'. However, if you download the D-Link DWL-G132 driver, you will find a file with that name in its '98ME' directory. So perhaps you can try this file with the WUA-2340 drivers and perhaps it may work. You will also note that the DWL-G132 driver package also includes support for the WUA-2340 but under a different PID, perhaps this same model number has been used with two different chipset designs. BTW, you may need to persuade the Driver Installation Wizard that you are installing a WUA-2340.

As for my Ralink adaptors, one is the Edimax EW-7108PCg (PCI, based on RT2500), the other is the Edimax EW-7318USg (USB, based on RT73). The latest W9X-capable drivers I could locate for these were :


'IS_AP_STA_6x_D-1.2.3.0_VA-2.1.0.0_2500_D-3.2.0.0_VA-3.2.0.0_RU-2.0.4.0_VA-2.0.4.0_AU-1.2.1.0_VA-1.0.4.0_101707_0.1.0.29.exe'
and
'IS_AP_STA_7x_D-1.3.0.0_VA-3.1.4.0_2500_D-2.1.1.0_VA-3.1.0.0_RU-2.1.1.0_VA-2.1.1.0_AU-2.0.0.0_VA-2.0.0.0_030508_0.1.0.46.exe'.

The latter's 'rt73.inf' file had to be pruned down, to under 64K, before it could install.

Joe.

PS. Confirmation that D-Link model number has been recycled : https://usb-ids.gowdy.us/read/UD/07d1 (Atheros drivers aint gonna work with Ralink silicon!)

Edited by jds
Link to comment
Share on other sites

Yes, RT2070 seems to be similar to RT2870, but without "802.11n" support.

'A5AGU9x.sys' yep, it's Atheros driver, WUA-2340 model number has been recycled.

I'm trying to find oldest ralink driver for RT2870 (found 1.4.1.0), but while it's NDIS5.0 and have "$Chicago$" signature, it doesn't have any W9x entries in inf. :(

Funny enough, I specialy bought adapter without 802.11n in hope it will work with W98 :)

Link to comment
Share on other sites

Driver authors being lazy still exists today. Either they make a "Windows 7" driver using the Vista version (because Windows 7 will install a 6.x driver) or using generic sections instead. Its concerning when I encounter such drivers as I often do not even want to use them. Of course, by "driver authors" I don't speak specifically of companies, as even companies that have nice INFs can also have ambiguous ones too! :(

This is a 32bit mesrle:

[Intel.NTx86.6.0]

Oh but let's be lazy with 64bit

[Intel.NTamd64]

Some things never change.

:rolleyes:

Link to comment
Share on other sites

  • 2 weeks later...

Oh, one more mistake you may encounter in dual-target drivers that haven't been tested properly on W9X :

Unicode (UTF16) INF files. You'll need to convert them to ASCII or ANSI or whatever (eg. use "Save As" in wordpad and select DOS text).

Joe.

Link to comment
Share on other sites

  • 2 months later...

A while back I almost asked if someone had written a tool to make these checks and do any needed patching--then realized it would be tantamount to volunteering! :unsure:

minf - minimize an INF file :angel

Neato! :)

If you manage to succeed with "Create 9x sections from 2k/XP if missing" (from your To Do list), that will be like magic! (Of course, compatibility of binaries could then be a headache.)

Joe.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...