Forum Discussion

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

Ethernet on NEEK

I am running with the "video" example that has the Altera TSE MAC on Nios II Embedded Evaluation Kit (NEEK). I have enabled National PHY support in my kernel, and the TSE MAC support as well. At boot, everything looks reasonable (though I am not exactly sure what the initialization sequence should look like):

"

BUG: No TSE MDIO Reset

Altera TSE MII Bus: probed

Found phy with ID=0x20005c90 at address=0x1

Altera TSE MII Bus: MDIO Bus Registered

eth0 (): not using net_device_ops yet

eth0:Successed to register TSE net device

Altera Triple Speed MAC IP Driver(v8.0) developed by SLS,August-2008,--Linux 2.6.27-rc3

TCP cubic registered

NETL Registered protocol family 17

RPC: Registered udp transport module.

RPC: Registered tcp transport module.

"

Everything except "BUG" looks reasonable here.

/proc/net/dev shows eth0

(lo is also up and available B.T.W.)

But when I attempt to either:

ifconfig eth0 <an ip>

or

dhcpcd eth0

I get:

"ioctl SIOCSIFFLAGS: Cannot assign requested address"

Does anyone know what could be my problem here?

2 Replies

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

    I am also having this problem with the Altera SLS ethernet driver on the NEEK. If I run ifconfig -a it tells me that the MAC address for eth0 is all 0s.

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

    Forgot to mention, networking does work on the NEEK using the EXPERIMENTAL driver instead of the Altera SLS one.

    Some progress to get the Altera driver working:

    Can set the MAC address manually using:

    ifconfig eth0 hw ether <address>

    I got the address by using the other driver.

    It then still gives an error initializing the PHY because the driver is using the wrong MDIO address for it. I hardcoded it to get it working. Change linux2.6/drivers/net/altera_tse.c line 853 from snprintf(phy_id, BUS_ID_SIZE, PHY_ID_FMT, mii_id, tse_config->phy_addr);

    to:

    snprintf(phy_id, BUS_ID_SIZE, PHY_ID_FMT, mii_id, 1);