Intel 82574 Eboot EEPROM issues

  • Follow


Target board: x86 with Intel 82574 gigabit ethernet on PCI-X bus
Host: Windows CE 6.0 Platform builder
BSP: Intel Unified BSP 2.4

When I try to boot my target board with eboot.bin from my release build, I 
get the following message over COM1:

Microsoft Windows CE BIOS Bootloader Version 2.2 (Built Jul 14 2005)         
   
INFO: code=0x4.                                                              
   
INFO: code=0x4.                                                              
   
INFO: code=0x4.                                                              
   
Jumping to image (address=0x1397FC)                                          
   
                                                                             
   
                                                                             
   
Microsoft Windows CE Bootloader Common Library Version 1.4 Built Dec  1 2009 
163
Microsoft Windows CE Ethernet Bootloader 3.7 for CE/PC (Dec  1 2009)         
   
Boot Args @ 0x1FFF00 and  ucLoaderFlags is 1                                 
   
PCI Device Configurations (6 PCI bus(es) present)...                         
   
========================================================                     
   
 Bus, Device, Function = 0, 2, 0                                             
   
 Vendor ID, Device ID  = 0x8086, 0x8108                                      
   
 Base Class, Subclass  = 3, 0 => DISPLAY_CTLR                                
   
 Interrupt             = 10                                                  
   
 BaseAddress[0]        = 0xDFE80000 (Memory)                                 
   
 BaseAddress[1]        = 0xEC88 (I/O)                                        
   
 BaseAddress[2]        = 0xD0000000 (Memory)                                 
   
 BaseAddress[3]        = 0xDFE60000 (Memory)                                 
   
========================================================                     
   
 Bus, Device, Function = 0, 26, 0                                            
   
 Vendor ID, Device ID  = 0x8086, 0x8118                                      
   
 Base Class, Subclass  = 12, 3 => SERIAL_BUS_CTLR                            
   
 Interrupt             = 10                                                  
   
 BaseAddress[0]        = 0xDFE5B000 (Memory)                                 
   
========================================================                     
   
 Bus, Device, Function = 0, 27, 0                                            
   
 Vendor ID, Device ID  = 0x8086, 0x811B                                      
   
 Base Class, Subclass  = 4, 3 => MULTIMEDIA_DEV                              
   
 Interrupt             = 10                                                  
   
 BaseAddress[0]        = 0xDFE5C000 (Memory)                                 
   
========================================================                     
   
 Bus, Device, Function = 0, 29, 0                                            
   
 Vendor ID, Device ID  = 0x8086, 0x8114                                      
   
 Base Class, Subclass  = 12, 3 => SERIAL_BUS_CTLR                            
   
 Interrupt             = 10                                                  
   
 BaseAddress[4]        = 0xECA0 (I/O)                                        
   
========================================================                     
   
 Bus, Device, Function = 0, 29, 1                                            
   
 Vendor ID, Device ID  = 0x8086, 0x8115                                      
   
 Base Class, Subclass  = 12, 3 => SERIAL_BUS_CTLR                            
   
 Interrupt             = 11                                                  
   
 BaseAddress[4]        = 0xECC0 (I/O)                                        
   
========================================================                     
   
 Bus, Device, Function = 0, 29, 2                                            
   
 Vendor ID, Device ID  = 0x8086, 0x8116                                      
   
 Base Class, Subclass  = 12, 3 => SERIAL_BUS_CTLR                            
   
 Interrupt             = 15                                                  
   
 BaseAddress[4]        = 0xECE0 (I/O)                                        
   
========================================================                     
   
 Bus, Device, Function = 3, 0, 0                                             
   
 Vendor ID, Device ID  = 0x8086, 0x10D3                                      
   
 Base Class, Subclass  = 2, 0 => NETWORK_CTLR                                
   
 Interrupt             = 10                                                  
   
 BaseAddress[0]        = 0xDFFC0000 (Memory)                                 
   
 BaseAddress[1]        = 0xDFF00000 (Memory)                                 
   
 BaseAddress[2]        = 0xFCE0 (I/O)                                        
   
 BaseAddress[3]        = 0xDFFF8000 (Memory)                                 
   
========================================================                     
   
InitKitlNIC: Searching for PCI Ethernet NIC (dwIrq = 0, dwIoBase = 0, 
dwDfltTyp.
Intel(R) PRO/1000 KITL driver [Build: Dec  1 2009  16:15:24]                 
   
Found E1000 NIC DevID:0x10D3 MacType:17                                      
   
InitKitlNIC: Found PCI Ethernet NIC (type = 10, IRQ=10, IOBase=0xFCE0).      
   
E1000InitDMABuffer: memory 0xDFFC0000, flash 0x0                             
   
E1000InitDMABuffer: DMA buffer 0x200000-0x21FFFF                             
   
TxDesc=0x200000(256) RxDesc=0x208100(256)                                    
   
PHY reset is blocked due to SOL/IDER session.                                
   
The EEPROM Checksum Is Not Valid                                             
   
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv                                
   
---------------------------------------------                                
   
 Failed to initialize Ethernet board!                                        
   
 Please check that the Ethernet card is                                      
   
 properly installed and configured.                                          
   
---------------------------------------------                                
   
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  

As far as I know the EEPROM is programmed correctly. The ethernet works fine 
on Windows XP and other operating systems. It seems that there is something 
that CE 6 does not like the way my ethernet is configured because when I boot 
even from nk.bin directly on the target board, it does not recognize my 
ethernet card onec CE 6 desktop loads even though the driver for it is 
included.

Also, I am not sure what does the line:
PHY reset is blocked due to SOL/IDER session.  
means?

I am wondering if anybody has seen these messages before or perhaps can give 
me some clue as to what should I try to do next?

Thanks

0
Reply Utf 12/3/2009 7:16:01 PM

I've never used it but in 
%_WINCEROOT%\PLATFORM\Intel_CS\SRC\DRIVERS\E1000dbg you can find the code 
for the ethernet bootloader library and see where the error
comes from (e1000_validate_eeprom_checksum is the function); in addition you 
can even modify the code to continue even if EEPROM check fails (if it is 
applicable).

Analyzing the same code will lead you to see what 'PHY reset is blocked due 
to SOL/IDER session' message means (although it does not seem the cause of 
the failure which is the
EEPROM check


-- 
Luca Calligaris (MVP-Windows Embedded)
l.calligaris.nospam@eurotech.it.nospam
www.eurotech.it


"modest" <modest@discussions.microsoft.com> ha scritto nel messaggio 
news:545CD65D-1C13-4691-B101-206FE372F3CC@microsoft.com...
> Target board: x86 with Intel 82574 gigabit ethernet on PCI-X bus
> Host: Windows CE 6.0 Platform builder
> BSP: Intel Unified BSP 2.4
>
> When I try to boot my target board with eboot.bin from my release build, I
> get the following message over COM1:
>
> Microsoft Windows CE BIOS Bootloader Version 2.2 (Built Jul 14 2005)
>
> INFO: code=0x4.
>
> INFO: code=0x4.
>
> INFO: code=0x4.
>
> Jumping to image (address=0x1397FC)
>
>
>
>
>
> Microsoft Windows CE Bootloader Common Library Version 1.4 Built Dec  1 
> 2009
> 163
> Microsoft Windows CE Ethernet Bootloader 3.7 for CE/PC (Dec  1 2009)
>
> Boot Args @ 0x1FFF00 and  ucLoaderFlags is 1
>
> PCI Device Configurations (6 PCI bus(es) present)...
>
> ========================================================
>
> Bus, Device, Function = 0, 2, 0
>
> Vendor ID, Device ID  = 0x8086, 0x8108
>
> Base Class, Subclass  = 3, 0 => DISPLAY_CTLR
>
> Interrupt             = 10
>
> BaseAddress[0]        = 0xDFE80000 (Memory)
>
> BaseAddress[1]        = 0xEC88 (I/O)
>
> BaseAddress[2]        = 0xD0000000 (Memory)
>
> BaseAddress[3]        = 0xDFE60000 (Memory)
>
> ========================================================
>
> Bus, Device, Function = 0, 26, 0
>
> Vendor ID, Device ID  = 0x8086, 0x8118
>
> Base Class, Subclass  = 12, 3 => SERIAL_BUS_CTLR
>
> Interrupt             = 10
>
> BaseAddress[0]        = 0xDFE5B000 (Memory)
>
> ========================================================
>
> Bus, Device, Function = 0, 27, 0
>
> Vendor ID, Device ID  = 0x8086, 0x811B
>
> Base Class, Subclass  = 4, 3 => MULTIMEDIA_DEV
>
> Interrupt             = 10
>
> BaseAddress[0]        = 0xDFE5C000 (Memory)
>
> ========================================================
>
> Bus, Device, Function = 0, 29, 0
>
> Vendor ID, Device ID  = 0x8086, 0x8114
>
> Base Class, Subclass  = 12, 3 => SERIAL_BUS_CTLR
>
> Interrupt             = 10
>
> BaseAddress[4]        = 0xECA0 (I/O)
>
> ========================================================
>
> Bus, Device, Function = 0, 29, 1
>
> Vendor ID, Device ID  = 0x8086, 0x8115
>
> Base Class, Subclass  = 12, 3 => SERIAL_BUS_CTLR
>
> Interrupt             = 11
>
> BaseAddress[4]        = 0xECC0 (I/O)
>
> ========================================================
>
> Bus, Device, Function = 0, 29, 2
>
> Vendor ID, Device ID  = 0x8086, 0x8116
>
> Base Class, Subclass  = 12, 3 => SERIAL_BUS_CTLR
>
> Interrupt             = 15
>
> BaseAddress[4]        = 0xECE0 (I/O)
>
> ========================================================
>
> Bus, Device, Function = 3, 0, 0
>
> Vendor ID, Device ID  = 0x8086, 0x10D3
>
> Base Class, Subclass  = 2, 0 => NETWORK_CTLR
>
> Interrupt             = 10
>
> BaseAddress[0]        = 0xDFFC0000 (Memory)
>
> BaseAddress[1]        = 0xDFF00000 (Memory)
>
> BaseAddress[2]        = 0xFCE0 (I/O)
>
> BaseAddress[3]        = 0xDFFF8000 (Memory)
>
> ========================================================
>
> InitKitlNIC: Searching for PCI Ethernet NIC (dwIrq = 0, dwIoBase = 0,
> dwDfltTyp.
> Intel(R) PRO/1000 KITL driver [Build: Dec  1 2009  16:15:24]
>
> Found E1000 NIC DevID:0x10D3 MacType:17
>
> InitKitlNIC: Found PCI Ethernet NIC (type = 10, IRQ=10, IOBase=0xFCE0).
>
> E1000InitDMABuffer: memory 0xDFFC0000, flash 0x0
>
> E1000InitDMABuffer: DMA buffer 0x200000-0x21FFFF
>
> TxDesc=0x200000(256) RxDesc=0x208100(256)
>
> PHY reset is blocked due to SOL/IDER session.
>
> The EEPROM Checksum Is Not Valid
>
> vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
>
> ---------------------------------------------
>
> Failed to initialize Ethernet board!
>
> Please check that the Ethernet card is
>
> properly installed and configured.
>
> ---------------------------------------------
>
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> As far as I know the EEPROM is programmed correctly. The ethernet works 
> fine
> on Windows XP and other operating systems. It seems that there is 
> something
> that CE 6 does not like the way my ethernet is configured because when I 
> boot
> even from nk.bin directly on the target board, it does not recognize my
> ethernet card onec CE 6 desktop loads even though the driver for it is
> included.
>
> Also, I am not sure what does the line:
> PHY reset is blocked due to SOL/IDER session.
> means?
>
> I am wondering if anybody has seen these messages before or perhaps can 
> give
> me some clue as to what should I try to do next?
>
> Thanks
> 


0
Reply Luca 12/4/2009 1:21:37 PM


Hi Luca,

Thank you for your reply. I finally figured out what was the issue. For some 
reason the BIOS was not initializing the command register of 82574 properly. 
It was all zeros. After changing the value to reflect values on normal 
systems having 82574, the eboot started working fine.

P.S. Sorry for the delayed reply as I had forgotten to check on "Notify me 
of replies".


"Luca Calligaris [eMVP]" wrote:

> I've never used it but in 
> %_WINCEROOT%\PLATFORM\Intel_CS\SRC\DRIVERS\E1000dbg you can find the code 
> for the ethernet bootloader library and see where the error
> comes from (e1000_validate_eeprom_checksum is the function); in addition you 
> can even modify the code to continue even if EEPROM check fails (if it is 
> applicable).
> 
> Analyzing the same code will lead you to see what 'PHY reset is blocked due 
> to SOL/IDER session' message means (although it does not seem the cause of 
> the failure which is the
> EEPROM check
> 
> 
> -- 
> Luca Calligaris (MVP-Windows Embedded)
> l.calligaris.nospam@eurotech.it.nospam
> www.eurotech.it
> 
> 
> "modest" <modest@discussions.microsoft.com> ha scritto nel messaggio 
> news:545CD65D-1C13-4691-B101-206FE372F3CC@microsoft.com...
> > Target board: x86 with Intel 82574 gigabit ethernet on PCI-X bus
> > Host: Windows CE 6.0 Platform builder
> > BSP: Intel Unified BSP 2.4
> >
> > When I try to boot my target board with eboot.bin from my release build, I
> > get the following message over COM1:
> >
> > Microsoft Windows CE BIOS Bootloader Version 2.2 (Built Jul 14 2005)
> >
> > INFO: code=0x4.
> >
> > INFO: code=0x4.
> >
> > INFO: code=0x4.
> >
> > Jumping to image (address=0x1397FC)
> >
> >
> >
> >
> >
> > Microsoft Windows CE Bootloader Common Library Version 1.4 Built Dec  1 
> > 2009
> > 163
> > Microsoft Windows CE Ethernet Bootloader 3.7 for CE/PC (Dec  1 2009)
> >
> > Boot Args @ 0x1FFF00 and  ucLoaderFlags is 1
> >
> > PCI Device Configurations (6 PCI bus(es) present)...
> >
> > ========================================================
> >
> > Bus, Device, Function = 0, 2, 0
> >
> > Vendor ID, Device ID  = 0x8086, 0x8108
> >
> > Base Class, Subclass  = 3, 0 => DISPLAY_CTLR
> >
> > Interrupt             = 10
> >
> > BaseAddress[0]        = 0xDFE80000 (Memory)
> >
> > BaseAddress[1]        = 0xEC88 (I/O)
> >
> > BaseAddress[2]        = 0xD0000000 (Memory)
> >
> > BaseAddress[3]        = 0xDFE60000 (Memory)
> >
> > ========================================================
> >
> > Bus, Device, Function = 0, 26, 0
> >
> > Vendor ID, Device ID  = 0x8086, 0x8118
> >
> > Base Class, Subclass  = 12, 3 => SERIAL_BUS_CTLR
> >
> > Interrupt             = 10
> >
> > BaseAddress[0]        = 0xDFE5B000 (Memory)
> >
> > ========================================================
> >
> > Bus, Device, Function = 0, 27, 0
> >
> > Vendor ID, Device ID  = 0x8086, 0x811B
> >
> > Base Class, Subclass  = 4, 3 => MULTIMEDIA_DEV
> >
> > Interrupt             = 10
> >
> > BaseAddress[0]        = 0xDFE5C000 (Memory)
> >
> > ========================================================
> >
> > Bus, Device, Function = 0, 29, 0
> >
> > Vendor ID, Device ID  = 0x8086, 0x8114
> >
> > Base Class, Subclass  = 12, 3 => SERIAL_BUS_CTLR
> >
> > Interrupt             = 10
> >
> > BaseAddress[4]        = 0xECA0 (I/O)
> >
> > ========================================================
> >
> > Bus, Device, Function = 0, 29, 1
> >
> > Vendor ID, Device ID  = 0x8086, 0x8115
> >
> > Base Class, Subclass  = 12, 3 => SERIAL_BUS_CTLR
> >
> > Interrupt             = 11
> >
> > BaseAddress[4]        = 0xECC0 (I/O)
> >
> > ========================================================
> >
> > Bus, Device, Function = 0, 29, 2
> >
> > Vendor ID, Device ID  = 0x8086, 0x8116
> >
> > Base Class, Subclass  = 12, 3 => SERIAL_BUS_CTLR
> >
> > Interrupt             = 15
> >
> > BaseAddress[4]        = 0xECE0 (I/O)
> >
> > ========================================================
> >
> > Bus, Device, Function = 3, 0, 0
> >
> > Vendor ID, Device ID  = 0x8086, 0x10D3
> >
> > Base Class, Subclass  = 2, 0 => NETWORK_CTLR
> >
> > Interrupt             = 10
> >
> > BaseAddress[0]        = 0xDFFC0000 (Memory)
> >
> > BaseAddress[1]        = 0xDFF00000 (Memory)
> >
> > BaseAddress[2]        = 0xFCE0 (I/O)
> >
> > BaseAddress[3]        = 0xDFFF8000 (Memory)
> >
> > ========================================================
> >
> > InitKitlNIC: Searching for PCI Ethernet NIC (dwIrq = 0, dwIoBase = 0,
> > dwDfltTyp.
> > Intel(R) PRO/1000 KITL driver [Build: Dec  1 2009  16:15:24]
> >
> > Found E1000 NIC DevID:0x10D3 MacType:17
> >
> > InitKitlNIC: Found PCI Ethernet NIC (type = 10, IRQ=10, IOBase=0xFCE0).
> >
> > E1000InitDMABuffer: memory 0xDFFC0000, flash 0x0
> >
> > E1000InitDMABuffer: DMA buffer 0x200000-0x21FFFF
> >
> > TxDesc=0x200000(256) RxDesc=0x208100(256)
> >
> > PHY reset is blocked due to SOL/IDER session.
> >
> > The EEPROM Checksum Is Not Valid
> >
> > vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
> >
> > ---------------------------------------------
> >
> > Failed to initialize Ethernet board!
> >
> > Please check that the Ethernet card is
> >
> > properly installed and configured.
> >
> > ---------------------------------------------
> >
> > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >
> > As far as I know the EEPROM is programmed correctly. The ethernet works 
> > fine
> > on Windows XP and other operating systems. It seems that there is 
> > something
> > that CE 6 does not like the way my ethernet is configured because when I 
> > boot
> > even from nk.bin directly on the target board, it does not recognize my
> > ethernet card onec CE 6 desktop loads even though the driver for it is
> > included.
> >
> > Also, I am not sure what does the line:
> > PHY reset is blocked due to SOL/IDER session.
> > means?
> >
> > I am wondering if anybody has seen these messages before or perhaps can 
> > give
> > me some clue as to what should I try to do next?
> >
> > Thanks
> > 
> 
> 
> .
> 
0
Reply Utf 12/12/2009 10:28:02 PM

2 Replies
509 Views

(page loaded in 1.441 seconds)

Similiar Articles:

7/20/2012 4:44:06 PM


Reply: