adding the 82546 Gigabith Ethernet Controller - VxWorks

This is a discussion on adding the 82546 Gigabith Ethernet Controller - VxWorks ; Is anyone successfully using this under vxWorks?...

+ Reply to Thread
Results 1 to 4 of 4

Thread: adding the 82546 Gigabith Ethernet Controller

  1. adding the 82546 Gigabith Ethernet Controller

    Is anyone successfully using this under vxWorks?

  2. Re: adding the 82546 Gigabith Ethernet Controller

    samiam wrote:
    > Is anyone successfully using this under vxWorks?


    What ***VERSION*** of VxWorks?

    Which ***CPU ARCHITECTURE*** are you running it on?

    What ***BOARD/BSP*** are you using?

    People! When you post questions, PLEASE PROVIDE THIS BASIC INFORMATION!

    Now, I happen to know that the 82546 is a dual port NIC, and I bet what
    you really meant to say was:

    "Hey, when I plug in this card, only the first port works. How do I use
    the second one?"

    The answer is that the second port appears as a second PCI function.
    That is, the first port is pci bus0/device0/function0 and the second is
    bus0/device0/function1. However, in many BSPs, the probe/initialization
    stub code for various drivers doesn't handle multifunction devices
    correctly. I've had problems with this in the past. You may have to
    twiddle your BSP a bit to get over this hurdle, but once you do, your
    card should work with the gei82543End driver.

    -Bill


  3. Re: adding the 82546 Gigabith Ethernet Controller

    > What ***VERSION*** of VxWorks?

    5.5


    > Which ***CPU ARCHITECTURE*** are you running it on?


    PPC 74xx


    > What ***BOARD/BSP*** are you using?


    Actually I am adding it to the company' BSP for a ppc based SBC. I
    wanted to make certain the existing gei85xxxEND driver works as
    advertised, and all I need to do is initialize the ENdTbl(), compile
    the source file and write the sys82543BoardInit() function.

    Basically trying to make certain theres no "gotchas"

  4. Re: adding the 82546 Gigabith Ethernet Controller



    On Jan 23, 4:37 pm, samiam wrote:
    > > What ***VERSION*** of VxWorks?

    >
    > 5.5
    >
    > > Which ***CPU ARCHITECTURE*** are you running it on?

    >
    > PPC 74xx
    >
    > > What ***BOARD/BSP*** are you using?


    > Actually I am adding it to the company' BSP for a ppc based SBC. I
    > wanted to make certain the existing gei85xxxEND driver works as
    > advertised, and all I need to do is initialize the ENdTbl(), compile
    > the source file and write the sys82543BoardInit() function.
    >
    > Basically trying to make certain theres no "gotchas"


    The gei driver in 5.5.x does support the 82546 chip. but I'm afraid
    there is a gotcha.

    The gei driver (like most PCI drivers in 5.5.x) has two pieces:
    target/src/drv/end/gei82543End.c (the main driver source) and the BSP
    stub (typically called sysGei82543End.c). The BSP stub is responsible
    for probing the PCI bus, finding the device, and ultimately calling the
    driver's load function and passing it resource info (base address,
    interupt vector) via the load string. The GEI driver's stub serves an
    additional purpose: it contains the code that reads the EEPROM to find
    the NIC's station address. (Sometimes the NIC doesn't have an EEPROM:
    the idea here is to give you the ability to supply a board-specific MAC
    address from the BSP if accessing the EEPROM fails.)

    Unfortunately, not all BSPs shipped with VxWorks support all possible
    PCI devices. Usually the BSP writer will add support for whatever
    device might actually be on board. Some of the more generous ones may
    include support for other devices as a convenience, but this is more
    the exception that the rule. The pcPentium BSPs happen to include
    support for a large selection of drivers (including the gei) because
    x86-based systems don't have a standard on-board ethernet device.

    I don't think there are any 74xx BSPs that ship with support for the
    gei driver. The sandpoint BSPs look like they support the fei, elPci
    and dec drivers, but not gei. This means you'll likely have to write
    your own BSP stub. Normally I'd say 'steal the one from pcPentium and
    hack it to taste' except if you purchased VxWorks/Tornado for PPC only,
    you won't have the x86 BSP CD.

    If you have a support contract that gives you access to BSP updates on
    Windsurf, I would see if there are any x86 BSPs there which might have
    the sysGei82543End.c file and try downloading one. Otherwise, I would
    contact WR support and ask if they can supply a copy to you. I don't
    think there's any particular reason they'd refuse. Once you have the
    file, you'll still need to tweak it to work with your BSP.

    Sorry that it's not more painless.

    -Bill


+ Reply to Thread