Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++

Ethernet on NEEK

Altera_Forum
Honored Contributor II
1,060 Views

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? 

 

0 Kudos
2 Replies
Altera_Forum
Honored Contributor II
306 Views

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.

0 Kudos
Altera_Forum
Honored Contributor II
306 Views

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);
0 Kudos
Reply