Forum Discussion

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

lan91c111 autonegation

Hi

First let me start by describing the hardware that I am using. I am

using the SMSC LAN91C111 ethernet MAC & PHY which is driven by the

NIOS II processor . I am not using a EEPROM in

conjunction with the SMSC device hence the EEPEN pin is tied low and

the IOS0-2 pins are left floating. Furthermore RBIAS is tied via a 11K

resistor to ground.

As the hardware stands at present, I am able to write and read data to

the MAC correctly. This has been verified for all 4 reg banks of the

MAC. i can able to read the phy status register but i am unable get the link is up

I am using Micro os,it is giving autonegation time out and it also giving DHCP time out.

The data sheet doesn't mention what the maximum speed for

communicating with the PHY is. Can anyone shed some light on this?

Also, does anyone have any other suggestions for me to try as I am now

starting to get desperate? I have looked at the SMSC trouble shooting

FAQ and have ensured that all the bits are set/cleared correctly as

recommended in order to solve this type of problem. Still no luck

though.

6 Replies

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

    Hello,

    What have you configured the autoneg link advertise register to be? Have you tried connected it to a link partner with autoneg disabled? i.e. connect it to your PC, and force your PC to 100MB HD? Or disabled autoneg on your side and try to link it with a device. Can you read the link partner advertised ability register? Make sure you are advertising abilities you have in common with the link partner.

    Good luck.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    HI

    i have tried by disabling the autonegation mode,i have forced to 100 mbs,still the link is no up, i am able to read the advertise register ,the below is the message what i have got while running in autonegation and 100 mbs mode.

    FOR autonegation

    Starting initalization

    OS Start

    Initializing network dev

    InterNiche Portable TCP/IP, v3.1

    Copyright 1996-2008 by InterNiche Technologies. All rights reserved.

    Your Ethernet MAC address is 00:01:02:03:04:05

    prepped 1 interface, initializing...

    Created "Inet main" task (Prio: 2)

    Created "clock tick" task (Prio: 3)

    the value of status reg is 7809

    the value of autonegation reg is 1e1

    the value of autonegation reg capable is 0

    the value of ack is 20

    smsc91c111 Auto-negotiation: ERROR; timed out

    SMSC ethernet Rev: 0x3392, ram: 8192

    mctest init called

    IP address of et1 : 192.168.1.100

    DHCP timed out, going back to default IP address(es)

    Simple Socket Server starting up

    [sss_task] Simple Socket Server listening on port 30

    Created "simple socket server" task (Prio: 4)

    FOR 100 MBPS

    OS Start

    Initializing network dev

    InterNiche Portable TCP/IP, v3.1

    Copyright 1996-2008 by InterNiche Technologies. All rights reserved.

    Your Ethernet MAC address is 00:01:02:03:04:05

    prepped 1 interface, initializing...

    Created "Inet main" task (Prio: 2)

    Created "clock tick" task (Prio: 3)

    100 Mbps,

    Half Duplex

    SMSC ethernet Rev: 0x3392, ram: 8192

    mctest init called

    IP address of et1 : 192.168.1.100

    DHCP timed out, going back to default IP address(es)

    Simple Socket Server starting up

    [sss_task] Simple Socket Server listening on port 30

    Created "simple socket server" task (Prio: 4)
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I noticed under your "FOR autonegation" section, there's a line that reads "the value of autonegation reg capable is 0". Is that local or remote end capability register? Do you have a scope? Can you verify if your sending FLPs if autonegotiation is enabled or MLT3 if you enabled 100MB. If aneg is enabled, can you break the link, verify with a scope you see FLPs, reattach the link, and see if it transitions from sending FLPs to MLT3/idle? Just for grins, have you tried enabling any loopbacks (client or line side) to verify communication?

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

    The line that Reads "the value of auto navigation reg capable is 0". the Register is Auto Negation Remote End capability Register.I have verified FLP by using the scope,nothing i can see,i have tried using the external Loop-back,but same result.can i send my total software folder weather anything i need to change the in code.

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

    So you verified the smsc device is sending FLPs, if you probe with the scope at the phy input, can you see the link partner's FLPs? When connected, does either device ever stop sending FLPs? If you read the smcs's link partner ability register, and it reads 0, it doesn't sound like the phy is seeing anything on the rx side. If you configured the link partner for 100mb fixed, what do you see on either side when you probe? Can you probe right at the rx pins on the phy?