OS2World OLD-STATIC-BACKUP Forum

OS/2 - Technical => Networking => Topic started by: Peter400 on 2010.07.29, 02:32:59

Title: Networking configuration issue - boot does not complete
Post by: Peter400 on 2010.07.29, 02:32:59
Hi,

I installed Warp4 with all the free fixpacks for MPTN and TCP/IP. Then I tried to add and configure a networking card (PCMCIA Xircom CE3 10/100).  I added "IBM 802.3" and "TCP/IP" protocols. I configured TCP/IP to use DHCP, but somehow I do not think it matters.
With the Xircom card in place, the system no longer boots. The driver recognizes the card, but later the boot process hangs indefinitely.

The LANTRAN.LOG contains the following:

IBM OS/2 LANMSGDD [04/18/00] 5.05 is loaded and operational.
IBM OS/2 LANDD [04/18/00] 5.00.02
IBM OS/2 LANDLLDD 2.01 
IBM OS/2 LANDLLDD is loaded and operational.
IBM OS/2 LAN Netbind
IBM LANDD is accessing IBM 802.3 LAN Interface.
LT00055: An unexpected error was returned when the program tried to transmit the duplicate node address test. The CE3OS2_nif MAC return code is 11.
Adapter 1 is using node address 0080C70D1C2A.  The Token-Ring format is 0001E3B03854.
IBM LANDD was successfully bound to MAC: CE3OS2_nif->VECTOR.

I suspect that the LT00055 error above is responsible for this behavior, but then again, LANDD says that it was successfully bound to MAC, so I'm not sure.

With the networking cable plugged out, the behavior is identical, so it looks like it is purely an internal system problem. I also tried to boot the system after using Alt+F4 to perform a step-by-step boot. This did not help, and the boot process stopped at the network startup (MPTSTART.CMD) step.

Does anyone have an idea how to further debug and fix this issue?

Peter

Title: Re: Networking configuration issue - boot does not complete
Post by: warpcafe on 2010.07.29, 16:39:16
Hi Peter,

although this might perhaps not help - PCMCIA and OS/2 is a pain in the arse.  >:(

I've been running Xircom cards for quite some time (but years ago) - and all I can tell is that I was only able to get this to funtion correctly with the "point enabler" stuff... but don't ask me questions, it's too long ago. There is a plug-and-play package for pcmcia (dunno what that was called again) which I never was able to get it to run. So: Point enabler is the keyword to go for.
I am sure others here will have better solutions.

The only thing that makes me really puzzle is that line stating "Token Ring" something in your lantran.log.
Isn't that Xircom card an ETHERNET type? ("CE3 10/100" sound rather like Ethernet, not Token Ring)

Perhaps there is some misconfiguration with your protocols or drivers here.
I am sure it won't hurt to share your protocol.ini (and other tcpip or mpts setup files) with us... the guys here will surely ask for that in order to better understand what's up at your end. :)

A good read about PCMCIA (or PCCard) topics is at
http://homepage.mac.com/ruske/ruske/pcmcia.htm
...which I can recommend to anyone interested. However, it does perhaps not help at all as well...

Hope this helps (somehow),
Thomas
Title: Re: Networking configuration issue - boot does not complete
Post by: RobertM on 2010.07.29, 18:34:54
Remove 802.3 support. I have found that enabling it (I believe it is standard thick coax Token Ring Support) is a very good way of ensuring that standard networking support does not work. So, hopefully, that too is your problem.

The confusing thing (not so confusing when one considers IBM is pretty anal about what is on the dialogs) is that 10BaseT and so on are updates to the 802.3 spec (such as 802.3i) - but that is not what the dialog says - it says 802.3 which is probably (knowing IBM) exactly what they meant, and is designed to implement/enable solely that support, and solely for legacy systems that use a Token Ring or "thick coax" setup. 802.3 is not 10BaseT, using different packet sizes and more. One cannot have standard MTUs of 1544 (used by 802.3i and others) and expect it to run on 802.3 (which uses an MTU of 1518).

Anyway, without a lot of work (and possibly not even then), I have found that enabling 802.3 support will prevent networking from functioning. I always make sure I have not enabled it, or go into MPTS (or TCPCFG/TCPCFG2 depending on OS/2 version) and uncheck it.

There are a few other settings in there that are ambiguous - but that one I believe to be the key one affecting your scenario.

Also, go into mptn\etc and look for setup.cmd

Search that for your dhcpstrt command and add a -d 0 to that line (or change the number to a zero, if that line already exists) and see what happens on boot.


Best,
Robert
Title: Re: Networking configuration issue - boot does not complete
Post by: Peter400 on 2010.07.30, 07:25:53
Thanks guys for your suggestions.
I removed "IBM 802.3" protocol from the configuration, and added "-d 0" to DHCPSTRT.CMD
The system still does not boot and hangs at the same place, i.e. when MPTSTART.CMD is invoked.

The contents of MPTSTART.CMD:
@ECHO OFF
IF NOT EXIST E:\MPTN\BIN\SETUP.CMD GOTO NBSETUP
INETWAIT 1>NUL
IF ERRORLEVEL 1 GOTO END
CALL E:\MPTN\BIN\SETUP.CMD
:NBSETUP
IF NOT EXIST E:\MPTN\BIN\NBSETUP.CMD GOTO END
CALL E:\MPTN\BIN\NBSETUP.CMD
:END

The contents of SETUP.CMD:
route -fh
REM ifconfig lan0
ifconfig lan1
REM ifconfig lan2
REM ifconfig lan3
REM ifconfig lan4
REM ifconfig lan5
REM ifconfig lan6
REM ifconfig lan7
dhcpstrt -i lan1 -d 0
REM ifconfig sl0
ipgate off

There's no NBSETUP.CMD

And here's the contents of PROTOCOL.INI:
[PROT_MAN]

   DRIVERNAME = PROTMAN$

[IBMLXCFG]

   tcpip_nif = tcpip.nif
   NONETADP_nif = NONETADP.NIF
   CE3OS2_nif = CE3OS2.nif

[tcpip_nif]

   DriverName = TCPIP$
   Bindings = NONETADP_nif,CE3OS2_nif

[NONETADP_nif]

   DriverName = NULLNDS$

[CE3OS2_nif]

   DriverName = XIRCOM$
   SOCKET = 1

And now my LANTRAN.LOG contains just two lines:
IBM OS/2 LANMSGDD [04/18/00] 5.05 is loaded and operational.
IBM OS/2 LAN Netbind

I'll now try to search for "point enabler" and see whether it'll help.

Peter
Title: Re: Networking Xircom card configuration issue - boot does not complete
Post by: Peter400 on 2010.08.04, 22:29:50
OK, I educated myself a bit on the subject now ...

It looks like all Xircom drivers include buil-in point enablers. Xircom documentation does not use the term "point enabler", but it says to "disable Socket and Card Services according to the IBM instructions".
The only IBM instructions I was able to find are enclosed with PC Card Director, where one can open one or more PCMCIA sockets for a card that is not capable of using or not requiring the socket services. Coincidently, IBM instructions list Xircom cards as an example of such cards.

My original attempts to configure the Xircom card were not using the PC Card Director or any PCMCIA drivers at all.

I installed PC Card Director 5, "disabled" one socket (the one with the Xircom card inserted), but there's no change in behavior, except that my LANTRAN.LOG file is now empty. It looks like this is not the right way to go.

One more detail: regardless of whether PC card director is installed or not, the Xircom driver is not capable of finding any available IRQs, and always starts in "polling mode". But I know for sure that there are unused IRQs.

When I configure the driver (in MPTS configuration dialog) to use a specific IRQ (and I tried a few of them), the driver says "the specified IRQ failed resource checking" and reports starting in polling mode again. I also tried to use RESERVE.SYS driver to "reserve" the specified IRQ, but it made no difference.

So I'm running out of ideas - I do not know what else to try.

Any suggestions are welcome!

Peter
Title: Re: Networking configuration issue - boot does not complete
Post by: warpcafe on 2010.08.05, 12:44:52
Hi Peter,

I am not perfectly sure about this, but I got the feeling that there is one driver missing - the point enabler.
Usually, the point enabler should be rather static and stupid - it locks itself onto the resources specified.
Frowm your description it seems that this is not the case.

I could now suggest you to REM out everything related to pcmcia and go step by step... but since I don't know by heart which drivers that would mean, I don't get you started for safety reasons. I had a perfectly working setup some years ago which ran on a total of 3 laptops over time... and I think I have saved the stuff somewhere (because I knew it was "precious", given the pcmcia mess...) but I am afraid it is on some floppy disk. And I don't know where the floppy exactly is and if it is intact... and if I can assemble a system with a floppy in order to try it.
I need time. Sorry... but I promise to check it.

I still find it strange that there is no "CE3_NDIS" (or something with "NDIS" in its name) showing up in your config files. AFAIK, the "NDIS" driver was what the Xircom card was using... well, anyway, too much guesswork here. I'll check it.

Regards,
Thomas
Title: Re: Networking configuration issue - boot does not complete
Post by: Andi on 2010.08.05, 14:37:11
I have written about how I got my Xircom running in a Thinkpad here at os2world some time ago. But can not find it yet. Maybe in the old forum?

Maybe this may help -
http://www.os2world.com/cgi-bin/ultraboard/UltraBoard.cgi?action=Read&BID=62&TID=1518&SID=

I think I had some device=reserve.sys ... in front of my config.sys. I think this Thinkpad with the Xircom should even work today. Have to boot and check the actual config.sys if it helps.

One more note - are you sure the driver tries to find the IRQ automatically? AFAIR I always had to set the IRQ with some DOS tool and then tell the driver the correct IRQ and maybe base address. As it was usual with these ISA stuff...

Another note - I vaguely remember I had to start with 'full hardware detection' to get things running.
Title: Re: Networking configuration issue - boot does not complete
Post by: RobertM on 2010.08.05, 18:39:27
Does anyone have the ThinkpadConfig.zip file that used to be hosted at this link?
- http://web.utanet.at/abuchin1/Download/ThinkpadConfig.zip

Thanks,
Rob
Title: Re: Networking configuration issue - boot does not complete
Post by: Andi on 2010.08.05, 20:44:23
Sure I have. But have to search where it is....

Unfortunately I run into my ISPs quota limit 2 days ago and so deleted old stuff from there.

Edit: Should be back there now.

I think the key to get it working was -
BASEDEV=IBM2SS01.SYS /s0=2 /IG0=2

But I had another driver for my Xircom -
BASEDEV=PCMCIA.SYS
DEVICE=E:\OS2\MDOS\VPCMCIA.SYS
...
DEVICE=E:\OS2\BOOT\AUTODRV2.SYS E:\OS2\AUTODRV2.INI
BASEDEV=IBM2SS01.SYS /s0=2 /IG0=2
..
BASEDEV=AODBSMD.SYS
DEVICE=e:\IBMCOM\MACS\XPSNDIS.OS2
Title: Re: Networking configuration issue - boot does not complete
Post by: RobertM on 2010.08.05, 21:16:45
Quote from: Andi on 2010.08.05, 20:44:23
Sure I have. But have to search where it is....

Unfortunately I run into my ISPs quota limit 2 days ago and so deleted old stuff from there.


Well, to make things a little easier for you (and hopefully help you not reach your quota), I have begun hosting the file. It is located at:
- http://www.aibpc.com/Warp/Drivers/Thinkpad/ThinkpadConfig.zip

Best,
Rob
Title: Some progress, apparently
Post by: Peter400 on 2010.08.10, 01:29:35
Hi guys,

Thanks for all responses.

I found the following parametre for the driver:

[NOCHECK]
Display   = "Disable resource checking?"
Type      = None
Set       = "Yes", "No"
Optional  = Yes
help = "This parameter disables verification of adapter resources.
If the driver resource detection and verification code is causing
problems when the driver loads, this keyword can be used to turn
the feature off."

When I set this parameter to "Yes", and specify IRQ manually, OS/2 boot completes! This is a step in the right direction, I hope, as Xircom apparently knew a thing or two about issues with their driver on boot.

To be more precise: it looks like the boot hangs if and only if the network adapter driver says it is started in "polled mode". It starts in polled mode if I do not specify an IRQ, or if it goes back to polled mode on its own after claiming that the specified IRQ failed resource checking ...

However, the network still does not work. I tried using DHCP or a static IP address, it makes no difference and it looks like no packets are sent out or nothing is received.

I looked carefully at the config.sys file from ThinkpadConfig.zip.
There's one line there, which looks like a point enabler:
   DEVICE=E:\OS2\BOOT\AUTODRV2.SYS E:\OS2\AUTODRV2.INI

Andi, do you still have the contents of your AUTODRV2.INI anywhere?

In version 5 of PC Card Director (this is what I got), AUTODRV2.SYS is loaded by BASEDEV, not DEVICE, and the documentation does not mention any parameters that can be specified, so I'm not sure it this is a good route to go, but perhaps it is worth giving it a try.

As for specifying the /s0= parameter for IBM2SS01.SYS, this did not work. First of all, the file I got with PCCard Director is named a bit differently, IBM2SS14.SYS. And it does not accept /s0=, saying "invalid parameter specified" during boot.

So, currently I try to use the driver without any socket and card services, and my config.sys file looks like this:

Rem BASEDEV=PCMCIA.SYS
Rem BASEDEV=IBM2SS14.SYS /S0=1 /IG0=1
Rem BASEDEV=AUTODRV2.SYS
Rem DEVICE=E:\PCMCIA\VPCMCIA.SYS
Rem DEVICE=E:\PCMCIA\PCMSSDIF.SYS
Rem DEVICE=E:\PCMCIA\PCM2SRAM.SYS
Rem DEVICE=E:\PCMCIA\FLSH2MTD.SYS
Rem DEVICE=E:\PCMCIA\PCM2FLSH.SYS

CALL=E:\IBMCOM\PROTOCOL\NETBIND.EXE
RUN=E:\IBMCOM\LANMSGEX.EXE

SET ETC=E:\MPTN\ETC
DEVICE=E:\IBMCOM\MACS\NULLNDIS.OS2

SET TMP=e:\tcpip\tmp
DEVICE=e:\tcpip\bin\vdostcp.sys

BASEDEV=OS2PCARD.DMD
Rem DEVICE=E:\OS2\$ICPMOS2.SYS /G
DEVICE=E:\IBMCOM\MACS\CE3NDIS.OS2                      <---- this is my Xircom card driver
DEVICE=E:\MPTN\PROTOCOL\SOCKETS.SYS
DEVICE=E:\MPTN\PROTOCOL\AFOS2.SYS
DEVICE=E:\MPTN\PROTOCOL\AFINET.SYS
DEVICE=E:\MPTN\BIN\VDOSTCP.VDD
RUN=E:\MPTN\BIN\CNTRL.EXE
CALL=E:\OS2\CMD.EXE /Q /C E:\MPTN\BIN\MPTSTART.CMD >NUL
RUN=E:\MPTN\BIN\VDOSCTL.EXE

The next thing I'm going to do is to use AUTODRV2.SYS (point enabler) which came with PCCardDirector 5. The documentation says that custom scripts can be prepared, so I'm going to give it try. This might not be easy though, as I'm not sure I know what I'll be doing ...

As usual, any suggestions will be appreciated

Peter
Title: Re: Networking configuration issue - boot does not complete
Post by: Peter400 on 2010.08.10, 01:32:35
Oh, and I thought it might be useful to say that the laptop is an old HP OmniBook 900 (circa 1998), and the PCMCIA chipset seems to be TI-1225.  (which was also used on some Thinkpads).

Peter
Title: Re: Networking configuration issue - boot does not complete
Post by: melf on 2010.08.10, 02:02:47
Don't know if this is any help for you, but here is a quotation from Apsofts uder guide for their socket service sspcic.sys .

"Most Xircom Network Card drivers are not designed to act as Card Services clients. They
are shipped with a "point enabler" that tries to manage the PC Card as a private resource.
As the Xircom driver does not register the card with the IBM Card Services driver, Card
Services assumes that the card was not configured and turns off the power to the card - the
card in no longer operational.
These Xircom Card NDIS drivers are not compliant with the PC Card standard and cannot
co-exist with the IBM Card Services (PCMCIA) driver. Therefore, you cannot configure
Warp to use Xircom network cards at the same time as compliant PC Cards under
SSPCIC.SYS. You must maintain two separate configurations and reboot the system in one
or the other mode. As an alternative you can reserve the socket with the highest number for
the Xircom card using the /MS switch. E.g., if your adapter has two sockets (0 and 1) you
can add a /MS:0,1 switch to the SSPCIC.SYS command line. Card Services will only handle
one socket (socket 0). It will allow you to use the Xircom card in socket 1 with the Xircom
enabler. The same technique can be used for any other similar card."

Title: Re: Some progress, apparently
Post by: Andi on 2010.08.10, 13:40:33
Quote from: Peter400 on 2010.08.10, 01:29:35
.....
However, the network still does not work. I tried using DHCP or a static IP address, it makes no difference and it looks like no packets are sent out or nothing is received.
I would test the network with ifconfig lan0 or ifconfig lan1 (depends on how many network cards you've configured).
f.i. issuing from a command line 'ifconfig lan0 192.168.1.1' results in 'sioaffc error' (or similar) or 'interface not available' the driver does not work and no need to play with tcpcfg2 any further. Might save you some time....

Quote
I looked carefully at the config.sys file from ThinkpadConfig.zip.
There's one line there, which looks like a point enabler:
   DEVICE=E:\OS2\BOOT\AUTODRV2.SYS E:\OS2\AUTODRV2.INI

Andi, do you still have the contents of your AUTODRV2.INI anywhere?
I've very little knowledge about this PCMCIA stuff but always thought AUTODRV is necessary for Flash drives or maybe cards which are configured by the card services which is NOT the case with MY Xircom. I'm rather sure this entry does have nothing to do with my Xircom as my Xircom seems to be one of the 'PointEnabler' types. I can post this file when at home but most likely there is nothing in there for the Xircom.

Quote
In version 5 of PC Card Director (this is what I got), AUTODRV2.SYS is loaded by BASEDEV, not DEVICE, and the documentation does not mention any parameters that can be specified, so I'm not sure it this is a good route to go, but perhaps it is worth giving it a try.

As for specifying the /s0= parameter for IBM2SS01.SYS, this did not work. First of all, the file I got with PCCard Director is named a bit differently, IBM2SS14.SYS. And it does not accept /s0=, saying "invalid parameter specified" during boot.

So, currently I try to use the driver without any socket and card services, and my config.sys file looks like this:
Remember my setup is a Warp3 with I think no fixpacks but Lan Server 4.0 components on top. So I don't know which PCCard Director / Ezlite version is installed there. And my Xircom seems to be a different one as yours.

Quote
...
The next thing I'm going to do is to use AUTODRV2.SYS (point enabler) which came with PCCardDirector 5. The documentation says that custom scripts can be prepared, so I'm going to give it try. This might not be easy though, as I'm not sure I know what I'll be doing ...

As usual, any suggestions will be appreciated

Peter

If your card could not be controlled by PCCard Services, which is much likely with Xircoms, then I think the key is to disable the correct slot in card services (/S0=1 /IG0=1 --- not sure anymore what each param does and how it works with v5.0).

One drawback with the Xircom I remember is that power management will not work (no Hibernate). So for the Thinkpad I setup a few weeks ago I used a 3Com card. Even with the 3Com it took me hours (and an old TP380 Thinkpad on which the DOS utility will run cause on the T41 it crashes) to get it to work.

Once I had a Xircom user manual where the steps for setting up with OS/2 are described. But now only found one version without any OS/2 references anymore. To bad it seems I've lost the other one...
Title: Re: Networking configuration issue - boot does not complete
Post by: Peter400 on 2010.08.11, 18:54:21
Quote from: Andi on 2010.08.10, 13:40:33
Quote from: Peter400 on 2010.08.10, 01:29:35
.....
However, the network still does not work. I tried using DHCP or a static IP address, it makes no difference and it looks like no packets are sent out or nothing is received.
I would test the network with ifconfig lan0 or ifconfig lan1 (depends on how many network cards you've configured).
f.i. issuing from a command line 'ifconfig lan0 192.168.1.1' results in 'sioaffc error' (or similar) or 'interface not available' the driver does not work and no need to play with tcpcfg2 any further. Might save you some time....

Yes, the driver is there ... here are the results:

>ifconfig lan1 192.168.4.1                      <= my router IP address
ioctl (SIOCAIFADDR): File exists

>ifconfig lan1 192.168.4.44

>ifconfig lan1
lan1: flags=8843<UP,BROADCAST,RUNNING,MULTICAST,LOOPBRD>
        inet 192.168.4.44  netmask 0xffffff00 broadcast 192.168.4.255

>ifconfig lan2 192.168.4.34                     <= lan2 is not configured
ioctl (SIOCAIFADDR): Invalid argument

When the driver loads, a light on the router comes up, indicating an active link.
But when I try to ping the router:
>ping 192.168.4.1

nothing is sent successfully

Peter
Title: Re: Networking configuration issue - boot does not complete
Post by: Andi on 2010.08.12, 13:38:57
Quote from: Peter400 on 2010.08.11, 18:54:21
...
>ifconfig lan1 192.168.4.1                      <= my router IP address
ioctl (SIOCAIFADDR): File exists

>ifconfig lan1 192.168.4.44

>ifconfig lan1
lan1: flags=8843<UP,BROADCAST,RUNNING,MULTICAST,LOOPBRD>
        inet 192.168.4.44  netmask 0xffffff00 broadcast 192.168.4.255

>ifconfig lan2 192.168.4.34                     <= lan2 is not configured
ioctl (SIOCAIFADDR): Invalid argument

When the driver loads, a light on the router comes up, indicating an active link.
But when I try to ping the router:
>ping 192.168.4.1

nothing is sent successfully

Peter

Now I run out of ideas :-(

As the answer from 'ifconfig lan1' tell us the driver is loaded and seems to work. I would interpret 'ioctl (SIOCAIFADDR): File exists' that your machine even sees the router. The netmask seems to be okay. No clue about the other flags.

As stated before I would check IRQ setting - which one has you set and is it shared with others? Personally I wouldn't trust any 'automatic resource assignment' software with ISA (PCMCIA). Maybe the output of pci.exe gives some ideas.

I don't think that a wrong route setting can make a ping within the same subnet fail. But not sure about this. Anyway it's in the \mptn\bin\setup.cmd. Does not hurt if you post your current version as the older one you posted before is with DHCP. If there's still no default route in there you can set one with 'route add ....' on the fly or in tcpcfg2.
Title: Re: Networking configuration issue - boot does not complete
Post by: Peter400 on 2010.08.23, 22:36:49
Update:

After many tests, also with a different PCMCIA card, I came to the conclusion that there's nothing wrong with the networking setup, the problem is with the PCMCIA controller. The interrupts do not pass from the card to the driver, they are lost on their way somewhere in the PCMCIA controller or bridge.
Trying wireless MA401 (with generic Prism driver), I saw on my router service page (from a different computer, of course) that it leased an IP address to my OS/2 laptop - yet OS/2 never recognized this, and the corresponding LAN was in a permanent "configuring" state.

I tried to manually configure many different IRQs, and to reserve them using RESERVE.SYS. The Xircom driver says on boot-up that it accepts the given IRQ (I still have to disable the resource checking though). Generic Prism driver does not work with other IRQs either.

So DHCP does not work, because the driver never sees the response. The same with ping, because the driver never sees the acknowledgement packet which arrives as the reponse (the ping packets are reported as sent, but not "successfully").

I also tried using CBENABLE.SYS from Veit Kannegieser (this required using a different socket driver, TI1225CB.SYS, and also his SPCIIRQ package), but it made no difference.

The hardware is not defective, both cards work just fine under Linux.

So, my original subject line is no longer correct, now I have to figure out how to unblock these interrupts in the PCMCIA controller so they'll reach the Xircom driver.

Peter

Title: Re: Networking configuration issue - boot does not complete
Post by: warpcafe on 2010.08.24, 12:26:39
Hi Peter,

okay, I cannot wait any longer to double-check since it will take some time for me to get back to the machine again... I was successful in digging out the old floppy disk I used for storing the network setup and have even found a floppy drive that was able to read at least some of the files (the floppy was in a box for about 8 years).

While I cannot give you the perfect 100% setup instructions, there is one thing I want you to check:
In your protocol.ini there must be a section (somewhere to the bottom) that is named [cemndis] something or similar... (something with either xircom and/or ndis in it). In this section there are parameters like "irq = 10" or similar (I can't check here!!) ... BUT:

Make sure there is a line that reads
SHAREIRQ = YES
I remember THAT was the key point to make the crap work in my case.

What would help is that you send me the drivers you are using - especially, there should ba a file with the extension of ".NIF", possibly contained in a (sub)directory called "NDIS" perhaps below/within a (sub)directory called "OS2".
Best would be to ZIP the whole stuff and send me. The problem is that I can't access these thing on the old floppy disk ;) so perhaps we can make something work here...

Cheers, HTH,
Thomas
Title: Re: Networking configuration issue - boot does not complete
Post by: warpcafe on 2010.08.24, 17:46:57
Hi,

okay - a little more information... I was able to dig out something on the internet.

Quote
PROTOCOL.INI Example

    [XIRCOMNET]
    DRIVERNAME=XIRCOM
    MEM=0xD2000
    MODE=IO

The protocol.ini section name "[XIRCOMNET]" does not apply in your case, obviously it should be something different.
You will find a relating entry in your protocol.ini somewhere at the top...

Here are explanations/samples for nearly all the keywords supported (the amount of supported keywords may vary with your driver)


Keyword Default Valid Values
COMx AUTO (x = 1, 2, 3, or 4)
COMIRQ= AUTO (3 to 15)
COMBASE= AUTO (0x248 to 0x3F8)
DRIVERNAME=XIRCOM$ (required first item in PROTOCOL.INI)
INTERRUPT= AUTO (3 - 15)
IOADDRESS= AUTO (100 - FF0)
IOWAITSTATES= 0 (1 - 3)
LINESPEED= auto (10 or 100)
LINKDISABLE (no keyword = link integrity enabled)
MEMORY= AUTO (C0000 to EE000)
MEMWAITSTATES= 0 (1 - 3)
MODE= MEM (MEM or IO)
NOCHECK (no keyword = adapter resource verification enabled)
NOCOM (no keyword = MODEM enabled)
NOEARLYRX (no keyword = early receive enabled)
NOEARLYTX (no keyword = early transmit enabled)
NOLED (no keyword = LEDs enabled)
SHAREIRQ  
SOCKET= Auto (1 - 4)
WORDSIZE= 16 (8 or 16)


Now, from what I recall, I had the following entries in my protocol.ini for the NDIS driver:
(But I will check this once I have access to the old floppy again...)


    [CE2NDIS]
    DRIVERNAME={depends_on_your_driver-just_keep_existing_entry}
    MEM=0xD2000
    MODE=MEM
    INTERRUPT=11
    SHAREIRQ


...as you might have noticed, it's not "shareirq=yes" but rather the keyword "shareirq" only that needs to be present.
And as a final hint to find the "NDIS" driver: Sometimes you might find it under "IBM LAN Manager driver"...

Let me close by stating the key message: For Xircom PC-Cards and OS/2, there is only 1 thing that counts - the correct entries in protocol.ini
(At least my experience)

HTH,
Thomas
Title: Re: Networking configuration issue - boot does not complete
Post by: Peter400 on 2010.08.24, 19:14:28
Hi Thomas,

Thanks for your replay. I'll post my current protocol.ini after I get home tonight.
My Xircom card model is CE3B-100.
I downloaded the driver from Hobbes http://hobbes.nmsu.edu/download/pub/os2/system/drivers/network/ce3b-os2.zip
As you can see, the NIF file does not list any options for IRQ sharing, but of course I'll try it anyway!

Peter

I
Title: Re: Networking configuration issue - boot does not complete
Post by: warpcafe on 2010.08.24, 23:19:17
Hi Peter,

...but a look (view, hex...) into the first part of the driver reveals that "shareirq" is a value that the driver looks for in the protocol.ini ;) anyway... yes, please, send your files. I cannot promise to solve this but I'll do my best.
BTW: The "shareirq" apparently tells the Xircom card to use the same IRQ for modem and network components (perhaps OS/2 had problems assigning multiple interrupts to 1 PCCard...). In your case, however, this wouldn't apply since you have a "network only" card I guess... (?).

Let's see what your files tell us. ;)
Cheers,
Thomas
Title: Re: Networking configuration issue - boot does not complete
Post by: Peter400 on 2010.08.25, 04:49:51
Hi Thomas,

My PROTOCOL.INI says:

[CE3OS2_nif]
  DriveName = XIRCOM$
  IRQ = 10
  SOCKET = 1
  MODE = "IO"
  NOCHECK
  LINESPEED = 10


Adding SHAREIRQ made no difference.

I also tried it without enforcing IO mode, and without enforcing line speed - no success.
I'm using 10 Mbit setting, because the card is said to work in full duplex mode at this speed. Only half-duplex is possible with 100 Mbit.

Peter
Title: Re: Networking configuration issue - boot does not complete
Post by: Andi on 2010.08.25, 11:31:42
Quote from: Peter400 on 2010.08.25, 04:49:51
....
I also tried it without enforcing IO mode, and without enforcing line speed - no success.
I'm using 10 Mbit setting, because the card is said to work in full duplex mode at this speed. Only half-duplex is possible with 100 Mbit.

Peter

Usually forcing Link speed/mode is a bad thing. It is guaranteed to work ONLY when the link partner is forced to the same settings too. Of course most times it will work if the other one is in Auto mode, but not for sure.

Your are sure your cabling is okay? Have you tried this setup with other OSes?
Title: Re: Networking configuration issue - boot does not complete
Post by: warpcafe on 2010.08.25, 11:32:15
Hi Peter,

okay, there is one thing that looks "wrong" with the protocol.ini in my mind:
For the operation mode ("MODE=...") you have selected "IO" however, there is no IO-Address specified... and I'm pretty sure the driver is not capable of "auto-assigning" itself an IO address even if "IOADDRESS=AUTO" is in there... which in theory means it will fallback to a default IO address (in the best case - otherwise it will simply fail). And even if it is assigned a default IOAddress, that particular one might already be used by something else.

I suggest you try
IOADDRESS=320
as an additional entry in protocol.ini... obviously, one should use an address that is available, however I can't tell how to check if that is free, IIRC there is something like "rmview /IO" on the command-line that shows the adresses in use... if that helps.

To see if the IRQ is available, you can use "rmview /irq" on the command-line respectively.

There is also a switch for memory... not sure how that was called though.
The reason I talk about "memory" is that, as far as I recall from my experience, I always used the "MEM" operation mode instead of "IO". Try something like that:

[CE3OS2_nif]
 DriveName = XIRCOM$
 IRQ = 10
 SOCKET = 1
 MODE = "MEM"
 MEMORY=0xD2000
 NOCHECK
 LINESPEED = 10

Make sure you have the right socket (1,...4) specified.
BTW - is there no error message displayed at driver load?
There are loads of messages built into the driver like
- A card was not detected in the selected slot
- The specified IRQ failed resource checking
- The selected I/O address is in use
et cetera...
This could really be helpful ;)
In order for this to work, you must remove the "NOCHECK" line - because right now, with that "nocheck", the resources allocated by the driver will not be checked and you will not be given error messages in case they are unavailable. Here's a complete protocol.ini (the included IOADDRESS is "inactive" and just for information because mode is "MEM"ory...)

[CE3OS2_nif]
 DriveName = XIRCOM$
 IRQ = 10
 SOCKET = 1
 MODE = "MEM"
 MEMORY=0xD2000
 IOADDRESS=320
 LINESPEED = 10

I remember that for me it was a question of a couple of reboots (with power off/back on to ensure proper hardware re-initialization) until I had a working combination of IRQ and memory address.

Keeping fingers crossed... please let us know if your driver issues useful error messages at load time...
Thomas
Title: Re: Networking configuration issue - boot does not complete
Post by: Andi on 2010.08.25, 12:51:18
Quote from: warpcafe on 2010.08.25, 11:32:15
...
Which brings us back to the DOS config tool I mentioned above. Does this not exist for this special card? Can this card be configured through the driver? All PCMCIA network cards I've seen till now have to be configured with the DOS program before using it. Or at least I've used the DOS utility to find out the settings. I only have to tell the driver which settings the card was configured before.

If there's no DOS configurartion utility I suggested using pci utility. Maybe this will show the 'configured' settings for IO and IRQ...
Title: Re: Networking configuration issue - boot does not complete
Post by: warpcafe on 2010.08.25, 13:52:42
Hi Andi,

...although I know that Xircom is now Intel I was not successful in finding anything useful and OS/2-related at their end.
Perhaps there is something available hidden in a "full driver set" ZIP... whatever. My personal copies of driver CDs and files have vanished to Valhalla some years ago. Perhaps there's some FTP servers around or hobbes if we are lucky (which we mostly are not...) and perhaps that belgian site (os2warp.be?) has some remains.

However, I did not check at Intel for DOS stuff. And IIRC there is some. ;)

Cheers,
Thomas
Title: Re: Networking configuration issue - boot does not complete
Post by: warpcafe on 2010.08.25, 14:12:58
Hi again,

well, there still is this one:
http://os2warp.be/index2.php?name=nicpak

It's a link to Chuck McKinnis' Nicpak which also lists a zip file for PCMCIA cards (an the ZIP can be downloaded).
This ZIP from Chuck has drivers for various Xircom pccards (listed on the page).
While Nicpak installer cannot detect PCMCIA cards and thus install drivers automatically, it at least HAS drivers in case we need. ;)
(Just as a last resort in case there is someting fishy about Peters drivers...)

And another request from my side:
Peter, can you add a line "VERBOSE=YES" to the protocol.ini section in question?
This will turn on diagnostic messages (like pccard controller detected et cetera).

HTH,
Thomas
Title: Re: Networking configuration issue - boot does not complete
Post by: Peter400 on 2010.08.25, 20:50:55
Quote from: warpcafe on 2010.08.25, 11:32:15
Hi Peter,

okay, there is one thing that looks "wrong" with the protocol.ini in my mind:
For the operation mode ("MODE=...") you have selected "IO" however, there is no IO-Address specified... and I'm pretty sure the driver is not capable of "auto-assigning" itself an IO address even if "IOADDRESS=AUTO" is in there... which in theory means it will fallback to a default IO address (in the best case - otherwise it will simply fail). And even if it is assigned a default IOAddress, that particular one might already be used by something else.

I suggest you try
IOADDRESS=320
as an additional entry in protocol.ini... obviously, one should use an address that is available, however I can't tell how to check if that is free, IIRC there is something like "rmview /IO" on the command-line that shows the adresses in use... if that helps.

Yes, it uses the default IO addres 320 - see below.

Quote
Make sure you have the right socket (1,...4) specified.
BTW - is there no error message displayed at driver load?
There are loads of messages built into the driver like
- A card was not detected in the selected slot
- The specified IRQ failed resource checking
- The selected I/O address is in use
et cetera...
This could really be helpful ;)

When the driver loads, it displays the following message:

Xircom CreditCard Ethernet Adapter NDIS v2.90 (000107)
Copyright (C) Xircom, Inc. 1995-1999 All Rights Reserved
Resource checking has been disabled
Forcing 10 Mbit operation
Using Socket 1
IO Address 320, IRQ 10, Node Address <MAC-address-here>

Quote
In order for this to work, you must remove the "NOCHECK" line - because right now, with that "nocheck", the resources allocated by the driver will not be checked and you will not be given error messages in case they are unavailable. Here's a complete protocol.ini (the included IOADDRESS is "inactive" and just for information because mode is "MEM"ory...)

[CE3OS2_nif]
  DriveName = XIRCOM$
  IRQ = 10
  SOCKET = 1
  MODE = "MEM"
  MEMORY=0xD2000
  IOADDRESS=320
  LINESPEED = 10

I remember that for me it was a question of a couple of reboots (with power off/back on to ensure proper hardware re-initialization) until I had a working combination of IRQ and memory address.

Keeping fingers crossed... please let us know if your driver issues useful error messages at load time...
Thomas

If I remove NOCHECK, the driver says "The specified IRQ failed resource checking", no matter what IRQ I put in (and I have still a few unused ones). Then it says that it starts in "polled mode". And I back to my original problem - the boot does not complete (see my earlier posts) ...

Peter
Title: Re: Networking configuration issue - boot does not complete
Post by: Peter400 on 2010.08.25, 20:57:30
Quote from: warpcafe on 2010.08.25, 14:12:58
And another request from my side:
Peter, can you add a line "VERBOSE=YES" to the protocol.ini section in question?
This will turn on diagnostic messages (like pccard controller detected et cetera).

HTH,
Thomas

Well, with VERBOSE=YES the driver crashes the boot badly. I get a register dump on the screen (I did not care to write down the values) and I have to turn the power down and up to get going ... and I did not notice any useful information displayed just before the crash either.

Peter
Title: Re: Networking configuration issue - boot does not complete
Post by: Peter400 on 2010.08.25, 21:06:12
Hi Andi,

Quote from: Andi on 2010.08.25, 11:31:42
Quote from: Peter400 on 2010.08.25, 04:49:51
....
I also tried it without enforcing IO mode, and without enforcing line speed - no success.
I'm using 10 Mbit setting, because the card is said to work in full duplex mode at this speed. Only half-duplex is possible with 100 Mbit.

Peter

Usually forcing Link speed/mode is a bad thing. It is guaranteed to work ONLY when the link partner is forced to the same settings too. Of course most times it will work if the other one is in Auto mode, but not for sure.

Your are sure your cabling is okay? Have you tried this setup with other OSes?

Yes, my router should handle 10 Mbit Ethernet. And another reason I went with 10 Mbit is that the Xircom dongle has a little light which is supposed to go on when the card works in 10 Mbit mode. The light goes on, so it provides me yet another assurance that the driver actually talks to the card.

The setup works without any changes in Linux and Windows 98.
Linux says on startup (dmesg):
   eth0: Xircom: port 0x300, irq 3, hwaddr <MAC-address-here>

In Windows I see the following resources:
  Input/Output Range   1020-102F
  Interrupt Request  03
  Memory Range    0A000000 - 0A000FFF
  Memory Range    0A001000 - 0A001FFF

In case you wonder, yes, I tried using IRQ 3 as well. It made no difference.

Peter
Title: Re: Networking configuration issue - boot does not complete
Post by: RobertM on 2010.08.25, 23:35:32
IO Address 320 may conflict with various sound cards, if memory serves. I (back in the day) avoided (like the plague) anything between 300 and 340. Disabling any MIDI support (or, assuming it disables MIDI and other sound functions; disabling sound support) may prevent the issues, if it's similar to the ones I had. It has been a very long time, but I seem to remember it overlapping MIDI support (SB and compatibles and standard "back in the day" MIDI) or control support (some ESS/CS/mWave implementations) for various sound devices.

IF I recall correctly, the base address for MIDI/Game was usually 300, 330, or (configured to) something inbetween (such as 320) usually in increments of 10 (ie: 300/310/320/330). If memory serves, it's usually 330 and otherwise 300 by default on most of the common sound cards, but I have found other variants (310, 320, 500s, and so on).

hth,
Rob
Title: Re: Networking configuration issue - boot does not complete
Post by: Peter400 on 2010.08.26, 23:24:02
Quote from: RobertM on 2010.08.25, 23:35:32
IF I recall correctly, the base address for MIDI/Game was usually 300, 330, or (configured to) something inbetween (such as 320) usually in increments of 10 (ie: 300/310/320/330). If memory serves, it's usually 330 and otherwise 300 by default on most of the common sound cards, but I have found other variants (310, 320, 500s, and so on).

hth,
Rob

I double checked, and there's no conflict. I do have a sound card, but it uses some addresses in the 500s range.
Nevertheless I tried to use 2C0 for a change, but the result is identical - The driver talks to the card, but all transmissions fail.

Peter
Title: Re: Networking configuration issue - boot does not complete
Post by: Peter400 on 2010.08.26, 23:35:43
Quote from: warpcafe on 2010.08.25, 14:12:58
well, there still is this one:
http://os2warp.be/index2.php?name=nicpak

It's a link to Chuck McKinnis' Nicpak which also lists a zip file for PCMCIA cards (an the ZIP can be downloaded).
This ZIP from Chuck has drivers for various Xircom pccards (listed on the page).
While Nicpak installer cannot detect PCMCIA cards and thus install drivers automatically, it at least HAS drivers in case we need. ;)
(Just as a last resort in case there is someting fishy about Peters drivers...)

I downloaded this package + pcmcia.zip and I see that the driver contained there is the same I'm already using.
But speaking of Chuck McKinnis, here's an old note from him on Xircom card success:

http://www.os2voice.org/VNL/past_issues/VNL0701H/vnewsft.htm

Unfortunately, this does not work on my laptop >:(

Peter
Title: Re: Networking configuration issue - boot does not complete
Post by: Andi on 2010.08.26, 23:53:43
Quote from: Peter400 on 2010.08.25, 21:06:12
Hi Andi,

Quote from: Andi on 2010.08.25, 11:31:42
Quote from: Peter400 on 2010.08.25, 04:49:51
....
I also tried it without enforcing IO mode, and without enforcing line speed - no success.
I'm using 10 Mbit setting, because the card is said to work in full duplex mode at this speed. Only half-duplex is possible with 100 Mbit.

Peter

Usually forcing Link speed/mode is a bad thing. It is guaranteed to work ONLY when the link partner is forced to the same settings too. Of course most times it will work if the other one is in Auto mode, but not for sure.

Your are sure your cabling is okay? Have you tried this setup with other OSes?

Yes, my router should handle 10 Mbit Ethernet. And another reason I went with 10 Mbit is that the Xircom dongle has a little light which is supposed to go on when the card works in 10 Mbit mode. The light goes on, so it provides me yet another assurance that the driver actually talks to the card.
You missed my point here. I'm pretty sure your router is able to work in 10Base-T mode. But if your router is set up to 'Auto negotiate', which I think every 100Base-TX capable device per default is, it's not guaranteed that it will link to any 'forced' device. Point is, don't force any device or force both devices. Otherwise it's not guaranteed to work.

When the LED lits up this usually means the PHY has established a link. As PHYs usually do not need any configuration, this may indicate something driver related or not. It may indicates only that the PCMCIA card is powered up. But that's a guess.

Although most times it works, sometimes even with link established (LED lits)  no data can travel over the connection. I saw this especially with bad or too long cables. That's why I asked for your cabling.

Quote
The setup works without any changes in Linux and Windows 98.
Linux says on startup (dmesg):
   eth0: Xircom: port 0x300, irq 3, hwaddr <MAC-address-here>

In Windows I see the following resources:
  Input/Output Range   1020-102F
  Interrupt Request  03
  Memory Range    0A000000 - 0A000FFF
  Memory Range    0A001000 - 0A001FFF

In case you wonder, yes, I tried using IRQ 3 as well. It made no difference.

Peter

You suppose the driver can set up IO-Addresses and IRQs as in another post you wrote you'll try to use addresses starting at 320 and IRQ 10 which is different to what you use in W98. I've never seen a PCMCIA network card/driver which can do this. That does not mean that it is impossible. But in my experience it is not very likely. Or maybe I'm only used to older cards/drivers which definitely can not do such things.
Title: Re: Networking configuration issue - boot does not complete
Post by: Peter400 on 2010.08.27, 20:30:52
Quote from: Andi on 2010.08.26, 23:53:43
You suppose the driver can set up IO-Addresses and IRQs as in another post you wrote you'll try to use addresses starting at 320 and IRQ 10 which is different to what you use in W98. I've never seen a PCMCIA network card/driver which can do this. That does not mean that it is impossible. But in my experience it is not very likely. Or maybe I'm only used to older cards/drivers which definitely can not do such things.

Yes, you are right. I expect the driver to assign IO address and IRQ as configured. (Whether the card will work after that is a completely different matter.)
If it was not the case, the card would have a hard-coded IRQ of 3. I find this unlikely, because by default this IRQ had been used by serial communication ports for decades. It just happens that this is the lowest unused IRQ on my laptop, so both Windows and Linux grab and use it for the card.

Also, if I do not specify any IRQ, the driver says "A working IRQ could not be found" and then "The network is running in polled mode" before the boot process freezes.

Furthermore, the .NIF file description for the IRQ setting lists this piece of help: "This parameter selects a hardware interrupt for use by the adapter.", suggesting that the driver is in control of which IRQ will be used.

Peter

Title: No longer an issue
Post by: Peter400 on 2010.09.17, 22:34:10
Hi folks,

I was not able to get to the bootom of the original problem and solve it. I still think there's something wrong with the interrupts from the PC Cards - they do not reach the driver.

Anyway, I found another Xircom card: RealPort CardBus Ethernet 10/100 + Modem 56. This is a newer and better card (the other ones I tried were just PCMCIA cards, not CardBus), and the driver is newer, too. And the best part is that it all works! DHCP works, too! (well, most of the time...)
So I no longer need to solve the PC Card problem ...

I did not have to change any settings. I'm not using any socket and card services (as instructed by Xircom).

Interestingly, while the driver loads, it displays the following message:

Xircom CardBus Ethernet 10/100 Adapter NDIS v3.14 (010612)
...
PCI IRQ routing unavailable - the driver is using ISA IRQ routing
Memory address 5B800000, IO Address F500, IRQ 11, Node Address <node-addr>


I do not really understand the IRQ routing secrets, but the message above seems to confirm that there's probably something unusual with my laptop's CardBus controller TI-1225, something that confuses OS/2 only, because Windows and Linux did not have a problem.

Once again thanks for everyone's help

Peter