Thread: [Ndiswrapper-general] Centrino: Early initialisation problems
Status: Beta
Brought to you by:
pgiri
From: Stefan <ste...@gy...> - 2003-11-28 07:58:46
|
Hello, I analysed the problems with the centrino wlan driver that are occuring in the worker function. Pontus' workquere implementation is generally fine, I think, I commented out the line which calls the worker function provided by the driver and the workquere implementation works fine(with a small change made by me, I mailed it to Pontus). But when I call the work it crashes with a "unable to handle kernel virtual reference at xxxxxx". I think this problem comes from some point in the very early driver initialition because: *I wrote that the driver loads quite stable for me. Whenever loading succeeded the system was fully bootet up with all other drivers activated and the X-Window system started. *Loading the driver on console succeeds only when KDE is started. *The driver never loaded in single user mode. *Loading does not work with kernel 2.6 *Nobody else could load the driver(at least nobody has mailed me about). I think an unimplemented(or better a poorly implemented function) returns a couple of unhandled, and thus uninitialised pointers to the ndis drivers. When loading the driver succeeds this random values satisfy the driver and they are not fatal at this point, but the work function seems to use them and crashes. There are still four unimplementet functions called, NdisInitializeString, NdisUnchainBufferAtBack, NdisSetEvent and NdisWriteConfiguration. I have an implementation of NdisUnchainBufferAtBack which I mailed a few days ago to this list, so I don't think this is the problem. I poisoned the pointers of NdisInitializeString, but the addresses I set do not occur in the crashing work. I do not suspect NdisSetEvent because NdisWaitEvent is never called, and I don't think NdisWriteConfiguration is the cause. Is there any poorly implemented function which is used in the very early initialisation. I attached a log of an unsuccessfull load. The driver calls NdisWriteErrorLogEntry, tries to unload and crashes during the unload(unloading always crashes). I will have a look on the pointers passed to the driver by initialisation functions and compare them with the addresses of the crash. When the work crashes the output looks like this: Nov 27 18:41:58 laptop kernel: worker Calling work at da5c0000 (rva f4d30000)with parameter e58ba5c0 Nov 27 18:41:58 laptop kernel: Unable to handle kernel paging request at virtual address 01161089 Nov 27 18:41:58 laptop kernel: printing eip: Nov 27 18:41:58 laptop kernel: da5c0000 Nov 27 18:41:58 laptop kernel: *pde = 00000000 Nov 27 18:41:58 laptop kernel: Oops: 0002 Nov 27 18:41:58 laptop kernel: CPU: 0 Nov 27 18:41:58 laptop kernel: EIP: 0010:[<da5c0000>] Tainted: P Nov 27 18:41:58 laptop kernel: EFLAGS: 00010286 Nov 27 18:41:58 laptop kernel: eax: 00000046 ebx: da5c0398 ecx: e58ba5c0 edx: dd165f7c Nov 27 18:41:58 laptop kernel: esi: da5c0000 edi: 00000000 ebp: c1596000 esp: c1597f6c Nov 27 18:41:58 laptop kernel: ds: 0018 es: 0018 ss: 0018 Nov 27 18:41:58 laptop kernel: Process keventd (pid: 2, stackpage=c1597000) Nov 27 18:41:58 laptop kernel: Stack: e1351d34 da5c0398 e58ba5c0 c1597f88 c1597f88 c011afaa 00000000 e1355d20 Nov 27 18:41:58 laptop kernel: e1355d20 00000700 c02308fe c0123bea c0253360 c1597fb0 00000000 c1596570 Nov 27 18:41:58 laptop kernel: c1596560 00000001 00000000 c0251140 00010000 00000000 00000700 c0123a30 Nov 27 18:41:58 laptop kernel: Call Trace: [<e1351d34>] [<c011afaa>] [<e1355d20>] [<e1355d20>] [<c0123bea>] Nov 27 18:41:58 laptop kernel: [<c0123a30>] [<c0105000>] [<c01073ee>] [<c0123a30>] Nov 27 18:41:58 laptop kernel: Nov 27 18:41:58 laptop kernel: Code: 86 80 43 10 16 01 90 02 04 00 80 02 08 40 00 00 00 60 20 d0 This is a unsuccessfull load of the driver: Nov 27 20:00:38 laptop kernel: Putting driver size 2370688 Nov 27 20:00:38 laptop kernel: Image is at e5852000 Nov 27 20:00:38 laptop kernel: Calling entry at e5852300 rva(00010300) Nov 27 20:00:38 laptop kernel: NdisInitializeWrapper handle=cae9de04, SS1=dd835800, SS2=cae9def0 Nov 27 20:00:38 laptop kernel: NdisMRegisterMiniport driver: dd835800 Nov 27 20:00:38 laptop kernel: Version 5.1 Nov 27 20:00:38 laptop kernel: Len: 0000007c:00000044 Nov 27 20:00:38 laptop kernel: Past entry: Version: 5.1 Nov 27 20:00:38 laptop kernel: Nov 27 20:00:38 laptop kernel: Nov 27 20:00:38 laptop kernel: e5852ae0 (rva 00010ae0):CheckForHangTimer Nov 27 20:00:38 laptop kernel: e586f210 (rva 0002d210):DisableInterruptHandler Nov 27 20:00:38 laptop kernel: e586f230 (rva 0002d230):EnableInterruptHandler Nov 27 20:00:38 laptop kernel: e5852910 (rva 00010910):halt Nov 27 20:00:38 laptop kernel: e586f250 (rva 0002d250):HandleInterruptHandler Nov 27 20:00:38 laptop kernel: e5852440 (rva 00010440):init Nov 27 20:00:38 laptop kernel: e586f4c0 (rva 0002d4c0):ISRHandler Nov 27 20:00:38 laptop kernel: e5857d40 (rva 00015d40):query Nov 27 20:00:38 laptop kernel: 00000000 (rva 00000000):ReconfigureHandler Nov 27 20:00:38 laptop kernel: e5852d70 (rva 00010d70):ResetHandler Nov 27 20:00:38 laptop kernel: e585f090 (rva 0001d090):SendHandler Nov 27 20:00:38 laptop kernel: e585ba80 (rva 00019a80):SetInformationHandler Nov 27 20:00:38 laptop kernel: 00000000 (rva 00000000):TransferDataHandler Nov 27 20:00:38 laptop kernel: e586e0b0 (rva 0002c0b0):ReturnPacketHandler Nov 27 20:00:38 laptop kernel: e585f0b0 (rva 0001d0b0):SendPacketsHandler Nov 27 20:00:38 laptop kernel: 00000000 (rva 00000000):AllocateCompleteHandler Nov 27 20:00:38 laptop kernel: ndis_init_one Nov 27 20:00:38 laptop kernel: Calling init at e5852440 rva(00010440) Nov 27 20:00:38 laptop kernel: NdisOpenConfiguration: Handle: de290960 Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:DebugFlag Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:ForceFail Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Builting found value for Environment Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:CPULock Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:BandMode Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:IBSSBandMode Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:beaconInterval Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:BSSMode Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:BTCoexistence Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:BCScan Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:CardType Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:FWTxQueueTimeout Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:FWScanKeepAliveTimeout Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:StealthEnable Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:ChannelB Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:Diversity Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:AtimWindow Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:2. key:Mandatory_BSS_ID Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:1. key:MBIT_1 Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:1. key:MBIT_2 Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:1. key:MBIT_5_5 Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:1. key:MBIT_11 Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:1. key:MBIT_6 Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:1. key:MBIT_9 Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:1. key:MBIT_12 Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:1. key:MBIT_18 Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:1. key:MBIT_24 Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:1. key:MBIT_36 Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:1. key:MBIT_48 Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:1. key:MBIT_54 Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:MSDUTxRates Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:MaxFrameSize Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:TBDNumberPower Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:RBDNumberPower Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:MaxNumBDPerPacket Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:PortType Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:RTS_Threshold Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:FragmentationThreshold Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:2. key:ESS_ID Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:PowerIndex Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:FastPSP Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:MaxPSP Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:Ess_TxPower Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:Adhoc_TxPower Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:LongPreamble Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:2. key:StationName Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:2. key:PCCardPacketFilter Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:2. key:DriverDesc Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:2. key:Provider Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:2. key:ProfileName Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:IntlRoaming Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:Support8021x Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:RadioEnable Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:EncryptionKeyId Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:MUEncryptionAlgorithm Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:MUAuthenticationMode Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:AssociatingTimeout Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:EmptyListScanPeriod Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:IdleListScanPeriod Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:AcceptPortTypeCmdTimeout Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:IntlTimeout Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:LostAssociationTimeout Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:ScanListValidPeriod Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:NonAssocScanListValidPeriod Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:DCScanListValidPeriod Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:NonAssocScanTrigger Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:NonAssocScanDelta Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:EmptyListMaxPeriod Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:IdleListMaxPeriod Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:SweepTableRequestTimeout Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:LostAssocDirectScanDelay Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:AssociatingDirectScanDelay Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:UseMACinEEPROM Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:UseEEPROMParameters Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:D0StandbyDisabled Nov 27 20:00:38 laptop kernel: NdisReadConfiguration: Key not found type:0. key:OEMNicType Nov 27 20:00:38 laptop kernel: NdisCloseConfiguration: confhandle: de290960 Nov 27 20:00:38 laptop kernel: NdisMSetAttributesEx, de290960, dbacc000 5 00000028, 5 Nov 27 20:00:38 laptop kernel: NdisMQueryAdapterResources handle: de290960. buf: cae9dd48, len: 184. IRQ:11 Nov 27 20:00:38 laptop kernel: resource list v1.0 len 2, size=40 Nov 27 20:00:38 laptop kernel: Resource: 3: d0206000 00000000 00001000, 0 Nov 27 20:00:38 laptop kernel: Resource: 2: 0000000b 0000000b ffffffff, 0 Nov 27 20:00:38 laptop kernel: NdisMInitializeTimer: dbacc430 de290960, e585f050, dbacc000 Nov 27 20:00:38 laptop kernel: Allocated timer at cfac24a0 Nov 27 20:00:38 laptop kernel: NdisMInitializeTimer: dbacc488 de290960, e585ba40, dbacc000 Nov 27 20:00:38 laptop kernel: Allocated timer at cfac25e0 Nov 27 20:00:38 laptop kernel: NdisMInitializeTimer: dbacc4e0 de290960, e5866ae0, dbacc000 Nov 27 20:00:38 laptop kernel: Allocated timer at cfac2b20 Nov 27 20:00:38 laptop kernel: NdisMInitializeTimer: dbacc538 de290960, e5866b90, dbacc000 Nov 27 20:00:38 laptop kernel: Allocated timer at cfac25a0 Nov 27 20:00:38 laptop kernel: NdisMInitializeTimer: dbacc6f0 de290960, e5862140, dbacc000 Nov 27 20:00:38 laptop kernel: Allocated timer at cfac2420 Nov 27 20:00:38 laptop kernel: NdisMInitializeTimer: dbacc590 de290960, e5866cf0, dbacc000 Nov 27 20:00:38 laptop kernel: Allocated timer at cfac2b60 Nov 27 20:00:38 laptop kernel: NdisMInitializeTimer: dbacc5e8 de290960, e5862060, dbacc000 Nov 27 20:00:38 laptop kernel: Allocated timer at cfac2ba0 Nov 27 20:00:38 laptop kernel: NdisMInitializeTimer: dbacc640 de290960, e5861f80, dbacc000 Nov 27 20:00:38 laptop kernel: Allocated timer at cfac2be0 Nov 27 20:00:38 laptop kernel: NdisMInitializeTimer: dbacc698 de290960, e5862010, dbacc000 Nov 27 20:00:38 laptop kernel: Allocated timer at cfac2c20 Nov 27 20:00:38 laptop kernel: NdisMInitializeTimer: dbacc0b8 de290960, e586ff40, dbacc000 Nov 27 20:00:38 laptop kernel: Allocated timer at cfac2c60 Nov 27 20:00:38 laptop kernel: NdisMInitializeTimer: dbace960 de290960, e5866d90, dbacc000 Nov 27 20:00:38 laptop kernel: Allocated timer at cfac2ca0 Nov 27 20:00:38 laptop kernel: NdisMInitializeTimer: dbacc758 de290960, e586bd40, dbacc000 Nov 27 20:00:38 laptop kernel: Allocated timer at cfac2ce0 Nov 27 20:00:38 laptop kernel: NdisMInitializeTimer: dbacc7b8 de290960, e586bfc0, dbacc000 Nov 27 20:00:38 laptop kernel: Allocated timer at cfac2d20 Nov 27 20:00:38 laptop kernel: NdisMInitializeTimer: dbacc888 de290960, e586c240, dbacc000 Nov 27 20:00:38 laptop kernel: Allocated timer at cfac2d60 Nov 27 20:00:38 laptop kernel: NdisMInitializeTimer: dbacc828 de290960, e586c260, dbacc000 Nov 27 20:00:38 laptop kernel: Allocated timer at cfac2da0 Nov 27 20:00:38 laptop kernel: NdisMInitializeTimer: dbace7a0 de290960, e586c290, dbacc000 Nov 27 20:00:38 laptop kernel: Allocated timer at cfac2de0 Nov 27 20:00:38 laptop kernel: NdisMInitializeTimer: dbace810 de290960, e586c2c0, dbacc000 Nov 27 20:00:38 laptop kernel: Allocated timer at cfac2e20 Nov 27 20:00:38 laptop kernel: NdisMInitializeTimer: dbacc8e8 de290960, e586c3d0, dbacc000 Nov 27 20:00:38 laptop kernel: Allocated timer at cfac2e60 Nov 27 20:00:38 laptop kernel: NdisMInitializeTimer: dbacc948 de290960, e586c380, dbacc000 Nov 27 20:00:38 laptop kernel: Allocated timer at cfac2ea0 Nov 27 20:00:38 laptop kernel: NdisMInitializeTimer: dbacc9a8 de290960, e586c2f0, dbacc000 Nov 27 20:00:38 laptop kernel: Allocated timer at cfac2ee0 Nov 27 20:00:38 laptop kernel: NdisMMapIoSpace: d0206000, 4096 Nov 27 20:00:38 laptop kernel: ioremap successful e1211000 Nov 27 20:00:38 laptop kernel: NdisMRegisterInterrupt. dbacc244, vector:11, level:11, req_isr:1, shared:1, mode:0 sp:cae9ddc8 Nov 27 20:00:38 laptop kernel: NdisMInitializeScatterGatherDma: 64bit=0, maxtransfer=1514 Nov 27 20:00:38 laptop kernel: NdisMSleep called to sleep for 1 us Nov 27 20:00:38 laptop kernel: NdisMSleep woke up Nov 27 20:00:38 laptop kernel: NdisMSleep called to sleep for 50 us Nov 27 20:00:38 laptop kernel: NdisMSleep woke up ---many similar calls, I removed them because of the 40 k limit--- Nov 27 20:00:38 laptop kernel: NdisMSleep called to sleep for 10 us Nov 27 20:00:38 laptop kernel: NdisMSleep woke up Nov 27 20:00:38 laptop kernel: NdisWriteErrorLogEntry: error: c000138a, 2 00000000 Nov 27 20:00:38 laptop kernel: NdisWriteErrorLogEntry: error: c000138d, 2 00000000 Nov 27 20:00:38 laptop kernel: NdisMUnmapIoSpace: e1211000, 4096 Nov 27 20:00:38 laptop kernel: NdisMDeregisterInterrupt: cbdee520 11 de290960 Nov 27 20:00:38 laptop kernel: NdisUnchainBufferAtBack --UNIMPLEMENTED-- Nov 27 20:00:38 laptop kernel: Unable to handle kernel NULL pointer dereference at virtual address 0000000c Nov 27 20:00:38 laptop kernel: printing eip: Nov 27 20:00:38 laptop kernel: c012ec0a Nov 27 20:00:38 laptop kernel: *pde = 00000000 Nov 27 20:00:38 laptop kernel: Oops: 0000 Nov 27 20:00:38 laptop kernel: CPU: 0 Nov 27 20:00:38 laptop kernel: EIP: 0010:[<c012ec0a>] Tainted: P Nov 27 20:00:38 laptop kernel: EFLAGS: 00010003 Nov 27 20:00:38 laptop kernel: eax: cae9de28 ebx: 00036911 ecx: 00000000 edx: 000780bf Nov 27 20:00:38 laptop kernel: esi: 00000000 edi: 00000286 ebp: cae9de14 esp: cae9ddd0 Nov 27 20:00:38 laptop kernel: ds: 0018 es: 0018 ss: 0018 Nov 27 20:00:38 laptop kernel: Process loaddriver (pid: 2010, stackpage=cae9d000) Nov 27 20:00:38 laptop kernel: Stack: cae9ddfc e5852440 e5842000 de290960 e5852440 cae9de38 cae9de14 e584c41a Nov 27 20:00:38 laptop kernel: cae9de28 e5842000 e586eef4 cae9de28 d8c1b8e0 cae9de10 cfac2f20 00000000 Nov 27 20:00:38 laptop kernel: cae9de28 cae9de28 e586dff7 dbacc000 d8c1bde0 cbdee620 00000000 00000000 Nov 27 20:00:38 laptop kernel: Call Trace: [<e584c41a>] [<e584a870>] [<e584d980>] [<c01c81da>] [<e584aeda>] Nov 27 20:00:38 laptop kernel: [<c01c8445>] [<c01c84e4>] [<e584aff5>] [<e584b5c1>] [<c019cf65>] [<c019a78b>] Nov 27 20:00:38 laptop kernel: [<c019ea50>] [<c014602b>] [<c0108f47>] Nov 27 20:00:38 laptop kernel: Nov 27 20:00:38 laptop kernel: Code: 8b 51 0c 8b 59 14 29 d0 31 d2 f7 76 18 89 5c 81 18 8b 51 10 /Stefan |
From: Pontus F. <pon...@ta...> - 2003-11-28 09:00:27
|
On Fri, 2003-11-28 at 08:58, Stefan D=C3=B6singer wrote: > Hello, > I analysed the problems with the centrino wlan driver that are occuring i= n the=20 > worker function. Pontus' workquere implementation is generally fine, I th= ink,=20 > I commented out the line which calls the worker function provided by the=20 > driver and the workquere implementation works fine(with a small change ma= de=20 > by me, I mailed it to Pontus). But when I call the work it crashes with a= =20 > "unable to handle kernel virtual reference at xxxxxx". There was a bunch of bugs in the workqueue stuff. I'm as you know unable to test this code so it will take some time to iron out the bugs. > I think this problem comes from some point in the very early driver=20 > initialition because: >=20 > *I wrote that the driver loads quite stable for me. Whenever loading succ= eeded=20 > the system was fully bootet up with all other drivers activated and the=20 > X-Window system started. >=20 > *Loading the driver on console succeeds only when KDE is started. >=20 > *The driver never loaded in single user mode. Can we have the full dmesg when you do this. Remove the NdisMSleep debugging since it overruns the dmesg causing the first (and important) information to be load. The most important thing is line "Image is at xxxxxxxx" which comes in the very beginning. > *Loading does not work with kernel 2.6 >=20 > *Nobody else could load the driver(at least nobody has mailed me about). >=20 > I think an unimplemented(or better a poorly implemented function) returns= a=20 > couple of unhandled, and thus uninitialised pointers to the ndis drivers.= =20 > When loading the driver succeeds this random values satisfy the driver an= d=20 > they are not fatal at this point, but the work function seems to use them= and=20 > crashes. This is very possible. > There are still four unimplementet functions called, NdisInitializeString= ,=20 > NdisUnchainBufferAtBack, NdisSetEvent and NdisWriteConfiguration. I have = an=20 > implementation of NdisUnchainBufferAtBack which I mailed a few days ago t= o=20 > this list, so I don't think this is the problem. I poisoned the pointers = of=20 > NdisInitializeString, but the addresses I set do not occur in the crashin= g=20 > work. I do not suspect NdisSetEvent because NdisWaitEvent is never called= ,=20 > and I don't think NdisWriteConfiguration is the cause. The event stuff is implemented but you need to test it since I have no driver that uses it. > Is there any poorly implemented function which is used in the very early=20 > initialisation. I attached a log of an unsuccessfull load. The driver cal= ls=20 > NdisWriteErrorLogEntry, tries to unload and crashes during the=20 > unload(unloading always crashes). I think the parser has problems with your inf-file which causes some important parameter to be missing. This is probably the reason you see calls to NdisWriteConfiguration, string functions etc. Can you send me your inf-file. Pehaps Joseph can help use here? Pontus |