neil@philmtl.philips.ca (Neil Pitman) (06/07/91)
I am writing an OSI protocol stack under LANMAN. On our intellegent card the protocol and the MAC layer resides on the card, so that the processing done on the host is minimal (relaying NETBIOS commands and passing up interrupts). On the non-intellegent cards we use the NDIS interface which allows us to use any of the supplied NDIS MAC drivers supplied with LANMAN. All this works fine in theory. In practice, under certain conditions, LANMAN calls my NETBIOS entry-point with less than 256 bytes of stack. The interrupt stack is fine (I use the RegisterStackUsage fn). The stack segment is 0038 so it seems to be specific to level 2. As a solution I have installed my own stack. This alleviates the problem however now I experience protection violations in the bowels of OS/2-LANMAN (e.g. VerifyRamSemAddr) from some asynchronous task, including the kernel debugger if I am stupid enough to set a breakpoint within the stack-exchanged region. (The programme is trying to access some goodies from SS:FFDE and they are at that offset of segment 0038 - the original SS). This obviously means that I committed some crime of omission in setting up my personnel stack. Although I want to find the solution, I really want the channel through which to find the solution. I have tried Microsoft ONLINE, local MicroSoft reps, LANMAN people in Microsoft through OEM contacts, Microsoft University, Microsoft Press. Some of these failed, some are still working through. I have the NDIS 2.0 spec and the Device Drivers Reference. I do not have the NDDK because it would only be peripherally helpful. Have anyone suggestions on how I should procede? Neil Pitman Sofware designer Philips Electronics Voice (514)744-8983 Fax (514)744-5081