Mailing List os2-wireless_users@2rosenthals.com Archived Message #6624

From: "Thomas Dennis" <os2-wireless_users@2rosenthals.com> Full Headers
Undecoded message
Subject: Re: [OS2Wireless] GenMac driver
Date: Wed, 24 Feb 2010 13:16:07 +0100
To: OS/2 Wireless Users Mailing List <os2-wireless_users@2rosenthals.com>

Lewis G Rosenthal wrote:
On 02/23/10 07:35 pm, Thomas Dennis thus wrote :
Lewis G Rosenthal wrote:
Sorry for the delay; turning out to be a busy day...

On 02/22/10 12:47 pm, Thomas Dennis thus wrote :
Lewis G Rosenthal wrote:
Hi, Thomas...

Thomas Dennis wrote:
Lewis G Rosenthal wrote:


On 02/21/10 03:32 am, Thomas Dennis thus wrote :
Hi All:
I must have done something right because I now get the
GenMac Sign-on message.  But there is a small detail that
I haven't been able to correct.
And that's a green blinking notice that:
"No valid hardware found for (WRND32$)"
<snip>
What is this section in the PROTOCOL.ini [W8086x4224_NIF]
designed for. It looks like it would be something for an Intel chip.
I have no such entry in my PROTOCOL.ini.
Nor should you. Indeed, that is the entry for *my* Intel chip. Yours will be something like [W168Cx001C_NIF] for an Atheros AR5008, for example.
Is that due to the fact that the Chip Set in the D-Link
card is from Atheros?
Yes. The 168C is the manufacturer code, and the 001C is the model code. Put them together (168C:001C) and you have a PCI ID string. Each PCI device has a (hopefully) unique ID string.
<snip>
Because our cards are different. These refer to the filenames of the Windows driver files located in the wrapper directory.
From where do these two entries originate?
If my understanding is correct than these two files should
be in x:\IBMCOM\MACS but these files aren't there.
No. Only the GenMAC nif and GENM32W.OS2 driver will be there. The wrapper files stay under the GenMAC tree.

Your wrapper nif is also incorrect. Under the FILE section, it should read:

[FILE]
Name = GENM32W.OS2
Path = IBMCOM\MACS

<snip>
Or are these two from Windows?
Yes. You need to put them in your wrapper directory.
<snip>
 
The Windows drivers for the D-Link/AR5008 card are
"ar5416.sys" and "net5416.inf".
So I see. You still have an error in your PROTOCOL.INI file:

[W168CX001C]

  DriverName = WRND32$
  VENDOR = 0x168C
  DEVICE = 0x001C
  NDIS_SYS = "ar5416.sys"
  NDIS_INF = "net5416.nif"
  SSID = "ANY"
  DEBUGLEVEL = "NONE"
  OPTIONS = "UNSUPPORTED"

The section name should correspond to what's up at the top, so it should be:

[W168CX001C_NIF]

This is why you should probably have put the files in place and let MPTS edit the file for you. No matter; it should be right when you make this change (unless someone else on the list has picked up on something I missed?)...

The nif looks fine.
Question.
Where should I put these files so the program can
find them?

I thought I covered this in my presentation, but perhaps I didn't create a slide for it... Anyway, follow along:

To answer your previous question (and then this one, by extension), somewhere on your drive, you have a "genmac" directory. This is either under the root of your boot drive or under \ecs\system. Starting from there, you should have a directory tree (what I referred to earlier as the "GenMAC tree") which looks like this:

genmac\
   bin\
   driver\
      WRAPPER_168C_001C\ <- you need to create this (obviously without the trailing "\"!); this is the wrapper directory
   inf\
   nif\

Copy the Win32 driver & inf to the newly created genmac\driver\WRAPPER_168C_001C directory. Copy the nif you edited into the nif directory (and your \IBMCOM\PROTOCOL\MACS directory, if you like).

Your CONFIG.SYS should be ready to go, as GENM32W.OS2 will pick up the Win32 driver it is supposed to load from the entries in PROTOCOL.INI.

Remember that there is NO GUARANTY that this will work. I do not know of anyone who has tried the AR5008 chipset, so we're all anxiously awaiting news.

GL
Lewis:
When you have the time, check the two files for errors.  I think everything has been corrected and they are now
the way they should be.  But who knows.  I'm only human.
First, I'm assuming that you have confirmed via pci.exe that 0023 is indeed your device ID.

In the nif, the section:

[DEVICE]
Display = "0023"
Type = Hexadecimal
Range = 0-FFFF
Optional = UNSUPPORTED
Editable = NO
Default  = 0023
Help= "Device-ID of your NIC"

should read:

[DEVICE]
Display = "0023"
Type = Hexadecimal
Range = 0-FFFF
Optional = NO
Editable = NO
Default  = 0023
Help= "Device-ID of your NIC"

and the section:

[OPTIONS]
Display = "Wrapper Options"
Type = String
StrLength = 64
Default = "NONE"
Optional = YES
Editable = YES
Help= "You need to provide the OPTIONS."

should more properly read (unless you were to edit your PROTOCOL.INI manually):

[OPTIONS]
Display = "Wrapper Options"
Type = String
StrLength = 64
Default = "UNSUPPORTED"
Optional = YES
Editable = YES
Help= "You need to provide the OPTIONS."

PROTOCOL.INI looks like it makes sense.
I went looking for the MACS folder at \IBMCOM\PROTOCOL but it doesn't seem to be at that location.
It's at \IBMCOM\MACS.  Is this an error?

My error. The IBMCOM tree should look like this:

\IBMCOM\
   \DLL\
   \MACS\
   \PROTOCOL\

MAC drivers (network devices) and nifs go under MACS. Protocol drivers (TCP/IP, NetBIOS, ODI2NDI, etc.) and their related nifs go under PROTOCOL.

Lewis:
Yes, have confirmed in two places that that this D-Link card uses the
168C:0023 value.  By the PCI snooper and in the Win Registry.

We have come another step forward.
Under the GenMacs sign-on message when booting we now have the following:

Loaded for device : Unsupported DEVICE!!!  [168C:0023]  (WRND32$)

I think that means that the s/w is now able to use the W168Cx0023.nif and
the PROTOCOL.ini files and that they are probably as good as you are going
to get them.
The .ini and the .nif files both contain the date and the time which they
were last updated.
The Win .sys and .inf files are from Win2k.

Thomas
W168Cx0023.nif

[W168Cx0023]
Type = NDIS
Title =  "GenMac Wrapper Atheros Wlan CARDBUS [168C:0023]"
Version = 1.0
DriverName = wnd32$
Xports = NETBEUI, LANDD
CopyFile = GENM32M.MSG

[FILE]
Name = GENM32W.OS2
Path = IBMCOM\MACS

[VENDOR]
Display = "168C"
Type = Hexadecimal
Range = 0-FFFF
Optional = UNSUPPORTED
Editable = NO
Default  = 168C
Help= "Vendor-ID of your NIC"

[DEVICE]
Display = "0023"
Type = Hexadecimal
Range = 0-FFFF
Optional = UNSUPPORTED
Editable = NO
Default  = 0023
Help= "Device-ID of your NIC"

[NDIS_SYS]
Display = "Windows SYS-Filename"
Type = String
StrLength = 32
Default = "ar5416.sys"
Optional = YES
Editable = YES
Help= "You should not modify this value."

[NDIS_INF]
Display = "Windows INF-Filename"
Type = String
StrLength = 32
Default = "net5416.INF"
Optional = YES
Editable = YES
Help= "You should not modify this value."

[SSID]
Display = "Network Name (SSID)"
Type = String
StrLength = 32
Default = "ANY"
Optional = YES
Editable = YES
Help= "You need to provide the Service Set ID of your Wireless LAN."

[DEBUGLEVEL]
Display = "Debuglevel"
Type = String
StrLength = 64
Default = "NONE"
Optional = YES
Editable = YES
Help= "You need to provide the DEBUGLEVELS."

[OPTIONS]
Display = "Wrapper Options"
Type = String
StrLength = 64
Default = "NONE"
Optional = YES
Editable = YES
Help= "You need to provide the OPTIONS."
Attached File:  PROTOCOL.INI (969 bytes)
Attached File:  ar5416.sys (1027581 bytes)
;/*++
;
;Copyright (c) 2001-2006 Atheros Communications, Incorporated All Rights Reserved
;
;Module Name:
;
;    net5416.inf
;
;Abstract:
;    INF file for installing Atheros AR5008 Wireless Network Adapter
;
;    Installs ar5416.sys (NDIS 5/5.1 driver) on NT platforms (2000, XP and greater)
;    Installs ar54169x.sys (NDIS 5 driver) on 9x platforms
;
;--*/

[Version]
Signature   = "$CHICAGO$"
Class       = Net
ClassGUID   = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider    = %ATHEROS%
Compatible  = 1
DriverVer   = 05/26/2006,6.0.0.180
Catalogfile.nt = net5416.cat
;Catalogfile = net5416.cat

[Manufacturer]
%ATHEROS%     = Atheros

[ControlFlags]
ExcludeFromSelect = \  ;for win95 and legacy support
  PCI\VEN_168C&DEV_0013

[Atheros]
; DisplayName               Section                 DeviceID
; -----------               -------                 --------
; Generic
;;%ATHER.DeviceDesc.0023%  = ATHER_DEV_0023.ndi,    PCI\VEN_168C&DEV_0023
%ATHER.DeviceDesc.0023%  = ATHER_DEV_0023.ndi,    PCI\VEN_168C&DEV_0024
%ATHER.DeviceDesc.0023%  = ATHER_DEV_0023.ndi,    PCI\VEN_168C&DEV_FF1C
%ATHER.DeviceDesc.0023%  = ATHER_DEV_0023.ndi,    PCI\VEN_168C&DEV_FF1D
%ATHER.DeviceDesc.0023%  = ATHER_DEV_0023.ndi,    PCI\VEN_168C&DEV_0024&SUBSYS_0033168c
%ATHER.DeviceDesc.0023%  = ATHER_DEV_0023.ndi,    PCI\VEN_168C&DEV_0023&SUBSYS_3A0907D1

; Atheros

; Other

; Windows 9X specific entries

[ATHER_DEV_0023.ndi]
AddReg          = ATHER_DEV_0023.id.reg, 5211.reg, ATHER.win.reg, 5416.abgncb.reg
CopyFiles       = ATHER.win.CopyFiles, DEFAULTDESTDIRS
DelFiles        = ATHER.DelIniFiles
DelReg          = 5211.DelReg

; Windows NT specific entries

[ATHER_DEV_0023.ndi.NT]
Characteristics = 0x84 ; NCF_PHYSICAL | NCF_HAS_UI
BusType         = 5
DelReg          = 5211.DelReg
AddReg          = 5211.reg, ATHER.reg, 5211.reg, 5416.abgncb.reg, sys.TcpParams.reg
CopyFiles       = ATHER.CopyFiles.nt, DEFAULTDESTDIRS
DelFiles        = ATHER.DelIniFiles

[ATHER_DEV_0023.ndi.NT.Services]
AddService      = AR5416, 2, ATHER.Service, common.EventLog

;----------------------------------------------------------------------------
; Win9x id registry sections
; These are not needed by NT


[ATHER_DEV_0023.id.reg]
HKR, Ndi, DeviceID, 0, "PCI\VEN_168C&DEV_0023"

;
; 5211 Enumerated Types
;
[5416.abgncb.reg]
HKR, ,                                  NetBand,                        0x00002,  "8203"
HKR, CustomParams\Configurations,       NicType,                        0x10003,  1
HKR, ,                                  SleepMode,                      0x00002,  "0"
HKR, ,                                  rmEnable,                       0x00002,  "0"
HKR, ,                                  abolt,                          0x00002,  "0"
HKR, ,                                  rateCtrlEnable,                 0x00002,  "1"
HKR, ,                                  rxChainSelect,                  0,  7

;-----------------------------------------------------------------------------

;
; 5211 common
;
[5211.DelReg]
HKR,,NetBand
HKR,,ssid
HKR,,ssid2
HKR,,ssid3
HKR,,prefBssid1
HKR,,prefBssid2
HKR,,prefBssid3
HKR,,prefBssid4
HKR,Ndi\Params\tpc
HKR,,tpc
HKR,Ndi\Params\authTypeUseOnly
HKR,,authTypeUseOnly
HKR,,AdHocBand
HKR,,AwakeTimePerf
HKR,,beaconInterval
HKR,,bkScanEnable
HKR,,bssType
HKR,,ccode
HKR,,clist
HKR,,defaultKey
HKR,,EncryptionAlg
HKR,,FragThreshold
HKR,,HwTxRetries
HKR,,privacyInvoked
HKR,,QoS
HKR,,rateCtrlEnable
HKR,,RTSThreshold
HKR,,scanType
HKR,,SwTxRetryScale
HKR,,SmeEnable
HKR,,aifs
HKR,,cwmin

[oahu.reg]
HKR, ,                                  WmmEnabled,                     0x00002,  "0"

[5211.reg]
;Willis add
HKR,,gpioLEDCustom,0, "1"
HKR,,gpioPinFunc0,0, "1"
HKR,,gpioPinFunc1,0, "2"
HKR,,gpioFunc1ActHi,0, "0"

HKR, Ndi\params\MapRegisters,           ParamDesc,                      0,  %MapRegisters%
HKR, Ndi\params\MapRegisters,           default,                        0,  "256"
HKR, Ndi\params\MapRegisters,           min,                            0,  "32"
HKR, Ndi\params\MapRegisters,           max,                            0,  "512"
HKR, Ndi\params\MapRegisters,           step,                           0,  "8"
HKR, Ndi\params\MapRegisters,           base,                           0,  "10"
HKR, Ndi\params\MapRegisters,           type,                           0,  "int"

HKR, Ndi\params\NetworkAddress,         ParamDesc,                      0,  %NetworkAddress%
HKR, Ndi\params\NetworkAddress,         default,                        0,  ""
HKR, Ndi\params\NetworkAddress,         LimitText,                      0,  "12"
HKR, Ndi\params\NetworkAddress,         UpperCase,                      0,  "1"
HKR, Ndi\params\NetworkAddress,         optional,                       0,  "1"
HKR, Ndi\params\NetworkAddress,         type,                           0,  "edit"

HKR, Ndi\params\sleepMode,              ParamDesc,                      0,  %sleepMode%
HKR, Ndi\params\sleepMode,              Base,                           0,  "10"
HKR, Ndi\params\sleepMode,              default,                        0,  "0"
HKR, Ndi\params\sleepMode,              type,                           0,  "enum"
HKR, Ndi\params\sleepMode\enum,         "0",                            0,  %sleepModeOff%
HKR, Ndi\params\sleepMode\enum,         "2",                            0,  %sleepModeNormal%
HKR, Ndi\params\sleepMode\enum,         "1",                            0,  %sleepModeMax%

HKR, Ndi\params\shortPreamble,          ParamDesc,                      0,  %shortPreamble%
HKR, Ndi\params\shortPreamble,          Base,                           0,  "10"
HKR, Ndi\params\shortPreamble,          default,                        0,  "1"
HKR, Ndi\params\shortPreamble,          type,                           0,  "enum"
HKR, Ndi\params\shortPreamble\enum,     "1",                            0,  %shortPreambleEnable%
HKR, Ndi\params\shortPreamble\enum,     "0",                            0,  %shortPreambleDisable%

HKR, Ndi\params\radioEnable,            ParamDesc,                      0,  %radioEnable%
HKR, Ndi\params\radioEnable,            Base,                           0,  "10"
HKR, Ndi\params\radioEnable,            default,                        0,  "1"
HKR, Ndi\params\radioEnable,            type,                           0,  "enum"
HKR, Ndi\params\radioEnable\enum,       "1",                            0,  %radioEnableOn%
HKR, Ndi\params\radioEnable\enum,       "0",                            0,  %radioEnableOff%

HKR, Ndi\params\scanTimeValid,          ParamDesc,                      0,  %scanTimeValid%
HKR, Ndi\params\scanTimeValid,          default,                        0,  "60"
HKR, Ndi\params\scanTimeValid,          min,                            0,  "20"
HKR, Ndi\params\scanTimeValid,          max,                            0,  "120"
HKR, Ndi\params\scanTimeValid,          step,                           0,  "5"
HKR, Ndi\params\scanTimeValid,          base,                           0,  "10"
HKR, Ndi\params\scanTimeValid,          type,                           0,  "int"

HKR, CustomParams\Configurations,       MajorVersion,                   0x10003,  2
HKR, CustomParams\Configurations,       MinorVersion,                   0x10003,  0

HKR, CustomParams\Configurations,       SelectedConfigurationIndex,     0x10003,  0
HKR, CustomParams\Configurations,       SelectedConfigurationName,      0x00002,  "Default"

; Allow non admin uses to switch profiles
[5211.reg.security]
"D:ARAI(A;;GA;;;BA)(A;;GA;;;SY)(A;CI;GA;;;IU)"

;-----------------------------------------------------------------------------
; ATHER NT specific
;

[ATHER.reg]
HKR, Ndi,             Service,      0, "AR5416"
HKR, Ndi\Interfaces,  UpperRange,   0, "ndis5"
HKR, Ndi\Interfaces,  LowerRange,   0, "ethernet, wifi"

[ATHER.Service]
DisplayName     = %ATHER.Service.DispName%
ServiceType     = 1 ;%SERVICE_KERNEL_DRIVER%
StartType       = 3 ;%SERVICE_DEMAND_START%
ErrorControl    = 1 ;%SERVICE_ERROR_NORMAL%
ServiceBinary   = %12%\ar5416.sys
LoadOrderGroup  = NDIS

;-----------------------------------------------------------------------------
; ATHER NT/XP common
;
[common.EventLog]
AddReg = common.AddEventLog.reg

[common.AddEventLog.reg]
HKR, ,                  EventMessageFile,   0x00020000,   "%%SystemRoot%%\System32\netevent.dll"
HKR, ,                  TypesSupported,     0x00010001,   7

;----------------------------------------------------------------------------
; ATHER Win9x specific
;
[ATHER.win.reg]
HKR, ,                  DevLoader,          0,            "*ndis"
HKR, ,                  DeviceVxDs,         0,            "ar54169x.sys"
HKR, ,                  EnumPropPages,      0,            "netdi.dll,EnumPropPages"

HKR, Ndi\Interfaces,    DefUpper,           0,            "ndis3"
HKR, Ndi\Interfaces,    DefLower,           0,            "ethernet"
HKR, Ndi\Interfaces,    UpperRange,         0,            "ndis3"
HKR, Ndi\Interfaces,    LowerRange,         0,            "ethernet, wifi"


HKR, NDIS,              LogDriverName,      0,            "AR54169X"
HKR, NDIS,              MajorNdisVersion,   1,            03
HKR, NDIS,              MinorNdisVersion,   1,            0A

HKR, Ndi\Install,       ndis3,              0,            "ATHER.install"

;----------------------------------------------------------------------------
; System TCPIP parameter changes
;
[sys.TcpParams.reg]
HKLM, SYSTEM\CurrentControlSet\Services\Tcpip\Parameters, Tcp1323Opts, 0x00010001, 0x00000003
HKLM, SYSTEM\CurrentControlSet\Services\Tcpip\Parameters, TcpWindowSize, 0x00010001, 0x00040000

;----------------------------------------------------------------------------
; Win9x Files to Copy
[ATHER.win.CopyFiles]
ar54169x.sys,,,2

;----------------------------------------------------------------------------
; NT Files to Copy
[ATHER.CopyFiles.nt]
ar5416.sys,,,2

[ATHER.DelIniFiles]
Athnic.ini,,,1

[SourceDisksNames]
;
; diskid = description[, [tagfile] [, <unused>, subdir]]
;
1 = %Atheros_Disk%,,,

;----------------------------------------------------------------------------
; Source Files
[SourceDisksFiles]
ar54169x.sys                 = 1,, ; on distribution disk 1
ar5416.sys                   = 1,, ; on distribution disk 1


[DestinationDirs]
ATHER.CopyFiles.nt           = 12
ATHER.win.CopyFiles          = 10,system32\drivers ; %SystemRoot%\system32\drivers
ATHER.DelIniFiles            = 10,system32\drivers ; %SystemRoot%\system32\drivers
DefaultDestDir               = 11

[DEFAULTDESTDIRS]
;


[Strings]
Atheros                      = "Atheros"
MapRegisters                 = "Map Registers"
NetworkAddress               = "Network Address"
sleepMode                    = "Power Save Mode"
scanTimeValid                = "Scan Valid Interval"
sleepModeOff                 = "Off"
sleepModeNormal              = "Normal"
sleepModeMax                 = "Maximum"
shortPreamble                = "802.11b Preamble"
shortPreambleEnable          = "Long and Short"
shortPreambleDisable         = "Long only"
radioEnable                  = "Radio On/Off"
radioEnableOn                = "On"
radioEnableOff               = "Off"

;;Atheros_Disk                 = "Atheros Driver Disk 1"
;;ATHER.Service.DispName       = "Atheros AR5008 Wireless Network Adapter Service"
;;ATHER.DeviceDesc.0023        = "Atheros AR5008 Wireless Network Adapter"
Atheros_Disk                 = "D-Link Driver Disk 1"
ATHER.Service.DispName       = "D-Link RangeBooster N 650 Service"
ATHER.DeviceDesc.0023        = "D-Link RangeBooster N 650"

Subscribe: Feed, Digest, Index.
Unsubscribe
Mail to ListMaster