LAN91C111 NDIS Windows CE 4.2 HELP!!!



Hi,

I am trying to make LAN91C111 NDIS driver from SMSC to work with a
custom board. My Physical Address is 0x0c0000000 (ChipSelect 3) and i
have a bootloader with KITL already working.

The instructions from the SMSC driver tells to configure these registry
keys:

"InterruptNumber"=dword:E ;<= interrupt number, in hex
"IoBaseAddress"=dword: ABA00300 ;<= IOBase address, in hex (SEE NOTE)
"Transceiver"=dword:1E;<= Enter the correct sysintr value here

Investigating the driver, there is a strange #if 0 that jumps the
NdisMRegisterIoPortRange and gives a VirtualAlloc/VirtualCopy instead
and uses PXA250_LAN91C111_ADDR value. When i try to use
PXA250_LAN91C111_ADDR as 0x0c0000000 it goes until AdapterVerify and
then gives me the following message: "LAN91C111: ERROR : Invalid LAN
Chip and Driver Combination \r\n"

i suspected that is a problem on the function NdisRawReadPortUshort
that gets the Chip ID and the Revision. Reading the information from
help, it is said that NdisRawReadPortUshort depends on
NdisMRegisterIoPortRange, so i changed the #if 0 to #if 1 in
LAN91C111_MiniportInitialize, but the driver always give me "LAN91C9111
: ERROR - Can't Register I/O Port Range!" when I try any of these
values 0x0c0000000 and 0x0c0000300

I need this driver working till thursday so i really really need some
advice.

I'm using a platform without KITL to avoid conflits, and getting these
messages over the serial port. My platform is a PXA255, modified from
XSC1BD.

With KITL, my ethernet goes OK, i can use VMINI as a normal device.

Also, my register settings are:

"InterruptNumber"=dword:8
"IoBaseAddress"=dword: 0x0c0000300 ;<= IOBase address, in hex (SEE
NOTE)
"Transceiver"=dword:20;<= Enter the correct sysintr value here


Thanks in Advance,
Marcelo

.



Relevant Pages

  • Re: LAN91C and XSCALE
    ... I basically have the driver provided by SMSC, and I went into Lan91C111_Init.C and changed the base IO address to match that my platform uses. ... In my bootloader, I have written some low-level diagnostics to read the chip ID, set the MAC, etc., and all this seems to work so I believe the chip is where I think it is. ... Look at how your driver initializes the I/O address to know whether it wants physical or virtual uncached address (it's not hard to find: look for VirtualCopy using PAGE_PHYSICAL or not). ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Ring buffer overflow and LAN91C111 ethernet driver
    ... And my network driver is SMSC LAN91C111 ethernet controller. ... when ring buffer overflow error is occured. ... driver is not guarding its calls to netJobAdd() correctly. ...
    (comp.os.vxworks)
  • Re: Manual startup sever with TCP/IP
    ... I believe smsc has it available for download. ... having read some more i have no NDIS miniport driver ... >> It sounds like you have no real Ethernet connection. ...
    (microsoft.public.windowsce.platbuilder)
  • Re: 2.6.22-rc: regression: no irda0 interface (2.6.21 was OK), smsc does not find chip
    ... "no irda0 interface, smsc does not find chip" ... But by the time the smsc_ircc2 driver got loaded, ... card and driver and try the patch below? ...
    (Linux-Kernel)
  • Ring buffer overflow and LAN91C111 ethernet driver
    ... And my network driver is SMSC LAN91C111 ethernet controller. ... Actully i am checking my target system that how it responds ... when ring buffer overflow error is occured. ... i refferd the datasheet of SMSC driver. ...
    (comp.os.vxworks)