===================================================================
 ALi M5261 Fast Ethernet Controller SROM Programming Program v1.03
===================================================================

I.   Introduction 
     PGSROM is a program to write data to SROM.

II.  Files Description 

     \Psrom103\PGSROM.EXE            M5261 SROM Programming Program
     \Psrom103\SROM.DAT              M5261 SROM Format v3.0 Data File
     \Psrom103\ADDR.MAX              M5261 Maximum Node ID File
     \Psrom103\ADDR.LOG              M5261 Programmed Node ID Log File
     \Psrom103\SROM.LOG              M5261 Programmed SROM Data Log File
     \Psrom103\DUMP.DAT              M5261 Dump/Load SROM Data File
     \Psrom103\Readme.txt            M5261 Read Me file

III. PGSROM Command Line Parameters 

  Syntax : PGSROM [/n] [/b] [/m] [/i] [/a] [/d] [/l] [/txxxxxxxxxxxx] [/h]
      /n : Program SROM without WARNING Message
      /b : Re-input Starting Node ID and re-create SROM data file
      /m : Re-input DM9102(A) Maximum Node ID to ADDR.MAX file
      /i : NO Check Increament Node ID by 1 from ADDR.LOG file
      /a : Reload the EEPROM after SROM programmed OK (only for DM9102A)
      /d : Dump the SROM data to DUMP.DAT file
      /l : Load the SROM data from DUMP.DAT file
      /txxxxxxxxxxxx : Check Trust Card Node ID (xxxxxxxxxxxx)
                       (The Trust Node ID must be 12 characters of 0..F)
      /h : Display Help Message

      (NOTICE: Between Two Parameters MUST be the SPACE character !!)

  Return code :

      0 : Normal Quit Code
      1 : Abort Quit Code
      2 : No Card Error Code
      3 : Broadcast Node ID Error Code (FF FF FF FF FF FF)
      4 : Beyond Max. Node ID Error Code
      5 : Write SROM Error Code
      6 : Null Node ID Error Code (00 00 00 00 00 00)
      7 : Trust Node ID Error Code
      8 : Can't read EEPROM Error Code
      9 : Can't open DUMP.DAT File Error Code

IV.  M5261 SROM Format v3.0 Data Description (SROM.DAT) 

  (Mark '*' field means that you must modify it, when you run PGSROM.EXE
   at first time and no SROM.DAT file)

    SubVendorID  = 10 B9                    ==> *Sub-System Vendor ID (10B9h)
    SubDeviceID  = 52 61                    ==> *Sub-System Device ID (5261h)
    NCE_AutoLoad = 01 AA                    ==>  NCE and Auto_Load_Control
    PCIVendorID  = 10 B9                    ==>  PCI Vendor ID (10B9h)
    PCIDeviceID  = 52 61                    ==>  PCI Device ID (5261h)
    PMCSR_PMC    = 00 C4                    ==>  PMCSR and PMC
    NodeAddress  = 00 90 E6 00 00 01        ==> *Ethernet ID (0090E6000001)
    STATUS_MODE  = 01                       ==> *PHY have Link status pin : 00 , otherwise : 01
    SelectedType = 00 08                    ==>  Selected Connected Type (0800h)
    GprControl   = 80                       ==>  General Purpose Control (80h)
    BlockCount   = 06                       ==>  Block Count (6 Blocks)
    Block0       = 8E 01 01                 ==>  Block0 Length, Type, *PHY Address
       GPR init  = 00                       ==>  GPR Length
       PHY reset = 02 80 00                 ==>  Reset Sequence Length, Data
       PHY info  = 00 78 E0 01 00 50 00 18  ==>  Block0 Other Data
    Block1       = 85 80 00 20 00 40        ==>  Block1 Data
    Block2       = 85 00 00 00 87 00        ==>  Block2 Data
    Block3       = 85 00 01 00 87 00        ==>  Block3 Data
    Block4       = 85 00 04 00 87 00        ==>  Block4 Data
    Block5       = 85 00 05 00 87 00        ==>  Block5 Data

V.  Please follow these steps to program srom   

    A. Make sure the contents in SROM.DAT is correct especially the following two points.
      1. NodeAddress (MAC address) :
      
         The MAC address is composed of 6 bytes
      
         byte6:byte5:byte4:byte3:byte2:byte1

         byte6~byte4: Company ID and is depend on vendor. (ex : 00:09:E6 for ALi)
         byte3~byte1: Board No, no specific rule for this except don't use the same No for different board.

      2. STATUS_MODE :
  
         STATUS_MODE  = 00 (indicate that PHY in this motherboard have link status pin) 
         STATUS_MODE  = 01 (indicate that PHY in this motherboard doesn't have link status pin) 

    B. Make sure the contents in ADDR.MAX is correct.

      1. The upper three bytes in "M5261 MaxNodeID" is vendor specific

         ex : M5261 MaxNodeID = 00 90 E6 FF FF FF (00 90 E6 : for ALi)

    C. Execute the "pgsrom.exe" by the following steps.

      1. Boot your PC in DOS mode.
      2. Check whether these file are in your local directory:
         a). pgsrom.exe
         b). addr.max
         c). srom.dat
      3. Check informations in SROM.DAT and addr.max
         a) SROM.DAT example:
            NodeAddress  = 00 90 E6 00 00 01  ===>     Begin MAC Address
         b) addr.max example:
            M5261 MaxNodeID = 00 90 E6 FF FF FF  ===>     Maximum MAC Address
      
      4. Run "pgsrom /i" 
      5. If return code is equal to zero, programming is successful.  

VI. Change List

  v1.03:
       1. Auto reload EEPROM after the execution of pgsrom.exe.
  v1.02:
       1. Add "STATUS_MODE" in "Srom.dat".


ALi Corporation. (ALi) web sites:
  http://www.ali.com.tw/ (Taiwan)
  http://www.aliusa.com/ (America) 