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++

eth0 device not found

Altera_Forum
Honored Contributor II
1,854 Views

I am running a uClinux kernel (2.6.16) from DDR2 SDRAM on an Altera Cyclone II DSP Board. I have a Microtronix USB/Ethernet daughter card connected. 

 

I enabled the Davicom DM9000 ethernet and TCP support in my kernel configuration.  

I am using a crossover ethernet cable to connect the board to a laptop. The LED on the ethernet daughter card does not light (indicates that there is no link) and the laptop does not recognize the ethernet connection ("Network cable unplugged") (firewalls are disabled).  

 

I am able to ping the ethernet card from the Altera board in a local loopback.  

 

I can change the ip address when referencing "lo" (What is lo?) but recieve errors ("no such device") when referencing "eth0". 

 

 

The following is bootup and the commands i have tried: 

 

<div class='quotetop'>QUOTE </div> 

--- Quote Start ---  

/> Uncompressing Linux... Ok, booting the kernel. 

Linux version 2.6.16-uc0 (dani@localhost) (gcc version 3.4.6)# 22 PREEMPT Tue Se 

p 5 15:54:45 Local time zone must be set--see 

 

 

uClinux/Nios II 

Altera Nios II support © 2004 Microtronix Datacom Ltd. 

 

setup_arch: No persistant network settings signature at 00FF0000 

Built 1 zonelists 

Kernel command line: 

PID hash table entries: 2048 (order: 11, 32768 bytes) 

Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) 

Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) 

Memory available: 258048k/262144k RAM, 0k/0k ROM (1182k kernel code, 331k data) 

Mount-cache hash table entries: 512 

NET: Registered protocol family 16 

io scheduler noop registered 

io scheduler deadline registered (default) 

Serial: JTAG UART driver $Revision: 1.4 $ 

ttyJ0 at MMIO 0x80001200 (irq = 2) is a jtag_uart 

dmfe_probe:eth0, 100000 Khz Nios 

dmfe_probe: eth0 VID: 0x2B2A2928 .ne. 0x90000A46 

NET: Registered protocol family 2 

IP route cache hash table entries: 4096 (order: 2, 16384 bytes) 

TCP established hash table entries: 16384 (order: 4, 65536 bytes) 

TCP bind hash table entries: 16384 (order: 4, 65536 bytes) 

TCP: Hash tables configured (established 16384 bind 16384) 

TCP reno registered 

TCP bic registered 

NET: Registered protocol family 1 

NET: Registered protocol family 17 

Freeing unused kernel memory: 224k freed (0x10136000 - 0x1016d000) 

Shell invoked to run file: /etc/rc 

Command: hostname uClinux 

Command: mount -t proc proc /proc 

Command: mount -t sysfs sysfs /sys 

Command: mount -t usbfs none /proc/bus/usb 

mount failed: No such file or directory 

Command: mkdir /var/tmp 

Command: mkdir /var/log 

Command: mkdir /var/run 

Command: mkdir /var/lock 

Command: mkdir /var/empty 

Command: ifconfig lo 127.0.0.1 

Command: route add -net 127.0.0.0 netmask 255.0.0.0 lo 

Command: cat /etc/motd 

Welcome to 

          ____ _  _ 

        /  __| ||_| 

    _  _| |  | | _ ____  _  _  _  _ 

  | | | | |  | || |  _ \| | | |\ \/ / 

  | |_| | |__| || | | | | |_| |/     

  |  ___\____|_||_|_| |_|\____|\_/\_/ 

  | | 

  |_| 

 

For further information check: 

http://www.uclinux.org/ (http://www.uclinux.org/

 

Execution Finished, Exiting 

 

Sash command shell (version 1.1.1) 

/> ifconfig 

lo        Link encap:Local Loopback 

          inet addr:127.0.0.1  Mask:255.0.0.0 

          UP LOOPBACK RUNNING  MTU:16436  Metric:1 

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0 

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 

          collisions:0 txqueuelen:0 

          RX bytes:0 (0.0 http://forum.niosforum.com/work2/style_emoticons/<#EMO_DIR#>/cool.gif   TX bytes:0 (0.0 http://forum.niosforum.com/work2/style_emoticons/<#EMO_DIR#>/cool.gif  

 

/> ping 1270.0.1 

ping: 1270.0.1: Unknown host 

/> ping 127.0.0.1 

127.0.0.1 is alive! 

/> ifconfig eth0 

ifconfig: eth0: error fetching interface information: Device not found 

 

/> ls /mnt 

/> ifconfig eth0 192.168.0.101 

SIOCSIFADDR: No such device 

/> ifconfig lo 192.168.0.101 netmask 255.255.255.0 

/> ifconfig eth0 192.168.0.101 netmask 255.255.255.0 

SIOCSIFADDR: No such device 

SIOCSIFNETMASK: No such device 

/> ifconfig 

lo        Link encap:Local Loopback 

          inet addr:192.168.0.101  Mask:255.255.255.0 

          UP LOOPBACK RUNNING  MTU:16436  Metric:1 

          RX packets:2 errors:0 dropped:0 overruns:0 frame:0 

          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0 

          collisions:0 txqueuelen:0 

          RX bytes:424 (424.0 http://forum.niosforum.com/work2/style_emoticons/<#EMO_DIR#>/cool.gif   TX bytes:424 (424.0 http://forum.niosforum.com/work2/style_emoticons/<#EMO_DIR#>/cool.gif [/b] 

--- Quote End ---  

 

 

 

What have I missed? How can I connect to the Ethernet card?
0 Kudos
4 Replies
Altera_Forum
Honored Contributor II
854 Views

According to other posts and tutorials I have found, I have added DHCP support to my kernel. I also placed the DM9000 on a seperate tristate bridge in the SOPC builder.  

Still I have not been able to connect to the ethernet card...Anyone have any ideas???
0 Kudos
Altera_Forum
Honored Contributor II
854 Views

 

--- Quote Start ---  

originally posted by daniellew@Sep 7 2006, 07:55 AM 

according to other posts and tutorials i have found, i have added dhcp support to my kernel. i also placed the dm9000 on a seperate tristate bridge in the sopc builder.  

still i have not been able to connect to the ethernet card...anyone have any ideas??? 

<div align='right'><{post_snapback}> (index.php?act=findpost&pid=18134) 

--- quote end ---  

 

--- Quote End ---  

 

 

Maybe you have to add the correct ethernet drivers to the kernel. Someone similar happened to me before adding them. Yo have to go to kernel configuration, and then device drivers, Network device support. I don&#39;t know which eth driver will suit your eth device. Mine was Ethernet (10 or 100Mb) -> SMC 91111. 

 

aLeX
0 Kudos
Altera_Forum
Honored Contributor II
854 Views

I am using the Microtronix USB/Ethernet Daughter Board which has the DM9000 ethernet chip. So I have added Ethernet 10/100Mbit , Davicom DM9000 10_100 Ethernet chip support in my kernel. 

 

--EDIT-- 

 

Although I have added the DM9000 support in my kernel I am not seeing the driver during bootup. Shouldn&#39;t I see it sometime in the boot script? Is there a step I&#39;m missing?  

 

<div class='quotetop'>QUOTE </div> 

--- Quote Start ---  

/> Uncompressing Linux... Uncompressing Linux... Ok, booting the kernel. 

Linux version 2.6.16-uc0 (dani@localhost) (gcc version 3.4.6)# 28 PREEMPT Thu Se 

p 7 12:36:12 Local time zone must be set--see 

 

 

uClinux/Nios II 

Altera Nios II support © 2004 Microtronix Datacom Ltd. 

 

setup_arch: No persistant network settings signature at 00FF0000 

Built 1 zonelists 

Kernel command line: 

PID hash table entries: 2048 (order: 11, 32768 bytes) 

Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) 

Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) 

Memory available: 258048k/262144k RAM, 0k/0k ROM (1197k kernel code, 341k data) 

Mount-cache hash table entries: 512 

NET: Registered protocol family 16 

io scheduler noop registered 

io scheduler deadline registered (default) 

Serial: JTAG UART driver $Revision: 1.4 $ 

ttyJ0 at MMIO 0x80001200 (irq = 2) is a jtag_uart 

 

shouldn’t there be a DM9000 driver or something that references DM9000 about here??? 

 

dmfe_probe:eth0, 100000 Khz Nios 

dmfe_probe: eth0 VID: 0x2B2A2928 .ne. 0x90000A46 

NET: Registered protocol family 2 

IP route cache hash table entries: 4096 (order: 2, 16384 bytes) 

TCP established hash table entries: 16384 (order: 4, 65536 bytes) 

TCP bind hash table entries: 16384 (order: 4, 65536 bytes) 

TCP: Hash tables configured (established 16384 bind 16384) 

TCP reno registered 

TCP bic registered 

NET: Registered protocol family 1 

NET: Registered protocol family 17 

Freeing unused kernel memory: 232k freed (0x1013a000 - 0x10173000) 

Shell invoked to run file: /etc/rc 

Command: hostname uClinux 

Command: mount -t proc proc /proc 

Command: mount -t sysfs sysfs /sys 

Command: mount -t usbfs none /proc/bus/usb 

mount failed: No such file or directory 

Command: mkdir /var/tmp 

Command: mkdir /var/log 

Command: mkdir /var/run 

Command: mkdir /var/lock 

Command: mkdir /var/empty 

Command: ifconfig lo 127.0.0.1 

Command: route add -net 127.0.0.0 netmask 255.0.0.0 lo 

Command: cat /etc/motd 

Welcome to 

          ____ _  _ 

        /  __| ||_| 

    _  _| |  | | _ ____  _  _  _  _ 

  | | | | |  | || |  _ \| | | |\ \/ / 

  | |_| | |__| || | | | | |_| |/     

  |  ___\____|_||_|_| |_|\____|\_/\_/ 

  | | 

  |_| 

 

For further information check: 

http://www.uclinux.org/ (http://www.uclinux.org/

 

Execution Finished, Exiting 

 

Sash command shell (version 1.1.1) 

/>[/b] 

--- Quote End ---  

0 Kudos
Altera_Forum
Honored Contributor II
854 Views

<div class='quotetop'>QUOTE </div> 

--- Quote Start ---  

Serial: JTAG UART driver $Revision: 1.4 $ 

ttyJ0 at MMIO 0x80001200 (irq = 2) is a jtag_uart 

 

dmfe_probe:eth0, 100000 Khz Nios 

dmfe_probe: eth0 VID: 0x2B2A2928 .ne. 0x90000A46 

NET: Registered protocol family 2[/b] 

--- Quote End ---  

 

 

I think dmfe_probe has something to do with your DM9000 driver. In my system, I have smc_probe (which has to do with DM91111) and after: 

 

SMSC LAN91C111 DRIVER eth0: SMC91C11xFD (rev:1) NET: Registered protocol family 2 

 

So it seems that dmf_probe does not succeed looking for devices ... ¿? 

 

aLeX
0 Kudos
Reply