Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
15 years ago

Fixing smsc91c111 to 10Base-T.

I've built a prototype board which includes the Cyclone III + smsc91c111 ethernet chips.

Under Quartus-II version 9.0 + Nios II + muCOS-II + smsc91c111, the auto-negotiation fails during initialization of the driver. Could you tell me how to modify the driver so the chip skips the auto-negotiation, and fixes to 10Base-T (or 100Base-T)?

Thanks.

1 Reply

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi Mhori,

    Search IP device drivers for the file smsc_phy.c.

    You'll find the s91_phy_init() function which performs auto negotiation.

    With minor changes you can:

    - skip auto-negotiation

    - ignore negotiation errors

    - force the link speed

    In the first two cases you must ensure your system can restart auto-negotiation when needed.

    Cris