IMX51, no ethernetaddress in linux

cancel
Showing results for 
Search instead for 
Did you mean: 

IMX51, no ethernetaddress in linux

311 Views
Contributor IV

Hello all,

 

We have a design, based on the IMX51 EVK. Bootloader is uboot and operating system is linux (2.6.31). Now I have this problem that linux seems to be unable to find its macaddress. It's defined in uboot though. So I'm unable to start the network once linux is started. If I boot the kernel from the network (tftp), everything is fine.

Anybody any clue?

Tags (1)
0 Kudos
20 Replies

3 Views
Contributor II

I have not tried NAND Flash, but can you check the setting through env. var. Even If you have to use NAND_Flash, you have to set it right!

0 Kudos

3 Views
Contributor I

Hi Wouter Vanhauwaert,

I am facing similar issue, could not able to start the network. If you found the solution could you please let us know.

The mac address in my case when I issue "ifconfig -a" shows 00:00:00:00:00:00 and thus the probable reason of not communicating over  the network. Let me be clear I am using static network settings to boot the kernel via NAND Flash and   have no issue regarding using NFS mode.

0 Kudos

3 Views
NXP Employee
NXP Employee
just for reminder, the uboot must use with the same release of kernel, as there are some colock setting dependency.
0 Kudos

3 Views
NXP Employee
NXP Employee

Please try a more recent kernel, such as 2.6.35.

 

Regards,

 

Fabio Estevam

0 Kudos

3 Views
Contributor I

Hi

Regarding your strange chars: As you probably already know, this is typically a baudrate setting. Since the bootloader obviously has the correct settings, you will also need to set the clocks correctly for the selected baudrate in the kernel. I don't know for sure, but I think there is some early_uart_setup which requires you to set the baudrate.

From your log it looks like the setting is simply wrong in the kernel.

0 Kudos

3 Views
Contributor IV

My board is connected via RS232


And I'm using putty in stead of minicom

 

The output you saw in previous post, was serial output (so the "Loading kernele and a lot of strange letters)

 

Krishna Pavan said:

That is what I have been telling.

I have some Questions to you?

 

1.Is your board connected via RS-232/Ethernet?

2.Is minicom installed? so that you can check through?

0 Kudos

3 Views
Contributor II

That is what I have been telling.

I have some Questions to you?

 

1.Is your board connected via RS-232/Ethernet?

2.Is minicom installed? so that you can check through?

0 Kudos

3 Views
Contributor IV
Yes, but baudrate should be 115200, also set like that in uboot kernel args and kernel itself...

Krishna Pavan said:

You can change the baudrate and port from minicom.

 

I did not quite understand that "Serial OUtput".

0 Kudos

3 Views
Contributor II

You can change the baudrate and port from minicom.

 

I did not quite understand that "Serial OUtput".

0 Kudos

3 Views
Contributor IV

I just rebuilt the kernel, and the address is now correct 70008000, however, there seems to be another problem (baudrate related? Something else? Serial output, then it hangs)

Uncompressing Linux... done, booting the kernel.
Éñ+Áæ)Ëûñ&æ'ÓÎÞ:Ö'ÎÎÏ涸ÍÉ&&2ï3j/Ø9Þ#)Ë2Ï+ùóÆæ''0Ðcæ''  fÞææÎp
Y62Î`M+#
        ë
         ZRÀc   ×/0#6mÓ&&Ö&¤#
                             d9à
                                ÖÃ))Ï`M+'î92¤âû+6       'ærÛ\0ðkÖ
                                                                 dyÉ1ËûñÖ2)/'ØÙ\óû

Wouter Vanhauwaert said:

Yes, but I really know for sure that I selected the IMX51 everywhere. at the start of ltib, in ltib itself, as platform, ...


I did it in a new clean machine to double check... At the moment I'm recompiling after reconfiguring the kernel and sign of every other IMX-based board than the imx51bbg in the kernel architecture selection...


Krishna Pavan said:

You can change in the configuration when you are preparing your kernel image to be loaded.

 

Probably you may have to change and rebuild, if you have wrongly selected i.MX53

0 Kudos

3 Views
Contributor IV

Yes, but I really know for sure that I selected the IMX51 everywhere. at the start of ltib, in ltib itself, as platform, ...


I did it in a new clean machine to double check... At the moment I'm recompiling after reconfiguring the kernel and sign of every other IMX-based board than the imx51bbg in the kernel architecture selection...


Krishna Pavan said:

You can change in the configuration when you are preparing your kernel image to be loaded.

 

Probably you may have to change and rebuild, if you have wrongly selected i.MX53

0 Kudos

3 Views
Contributor II

You can change in the configuration when you are preparing your kernel image to be loaded.

 

Probably you may have to change and rebuild, if you have wrongly selected i.MX53

0 Kudos

3 Views
Contributor IV
Yes, I know, and that's what concerns me. I selected the IMX51 everywhere I could. Only thing I left behind, was the kernel configuration, but I should think, it gets its configuration imx51-specific when selected everywhere else?

Thomas Linder said:

Are you sure you selected the i.MX51 where needed?

Because for the i.MX53 the DDR starts at 0x7000 0000

0 Kudos

3 Views
Contributor I

Are you sure you selected the i.MX51 where needed?

Because for the i.MX53 the DDR starts at 0x7000 0000

0 Kudos

3 Views
Contributor II

When fetching kernel image using TFTP, probably you can make any changes to the address, check and see

0 Kudos

3 Views
Contributor IV

Another issue I'm having. I just did a test by installing ltib 10.11.01 in a clean fresh ubuntu 11.04. After some alternations to the packagelist to be able for ltib to start, it compiles just fine, and I got a uImage file. When it tries to start, I get:

Load Address: 70008000
   Entry Point:  70008000

But this can't be correct. On the Imx51, RAM starts from only 90000000, so should be 90008000. As far as I know, I've selected the IMX51 Bbg everywhere... How can I change this? I know I can look at arch/arm/mach-mx5/Makefile.boot, but for the imx51, it's filled in as 90008000, so for some reason, I get another configuration...?

0 Kudos

3 Views
Contributor IV

I use Uboot

Relevant parts:


bootdelay=3
baudrate=115200
loadaddr=0x90800000
ethprime=FEC0
uboot_addr=0xa0000000
uboot=u-boot.bin
kernel=uImage
bootargs_base=setenv bootargs console=ttymxc0,115200
ethact=FEC0
ipaddr=10.0.56.91
ethaddr=00:0E:3D:10:01:C8
bootargs=noinitrd console=ttymxc0,115200 root=/dev/mmcblk0p2 ip=dhcp
serverip=10.0.40.22
bootargs_mmc=setenv bootargs ${bootargs} root=/dev/mmcblk0p1 rootwait rw init=/init
bootcmd=run bootcmd_mmc
bootcmd_mmc=run bootargs_base bootargs_mmc; mmc read 0 ${loadaddr} 0x800 0x1800;bootm
stdin=serial
stdout=serial
stderr=serial

 

And in Linux, eth0 is down, with an error while booting. But ifconfig eth0 gives me that the mac-addres is 00:00:00:00:00:00.

If I try to spoof the macaddress via

'ifconfig eth0 hw ether 00:0E:3D:10:01:C8' , everything blocks. Also, when I alter the /etc/network/interfaces file with this mac-address, the device is unable to complete boot

0 Kudos

3 Views
Contributor II

What is the bootloader that you are using?

U-boot/Redboot?

 

Also tell me the procedure, i mean the initial steps that you followed to give the commands in the respective shell.

0 Kudos

3 Views
Contributor IV
No, I can't, and if I want to spoof it via ifconfig, everything blocks

Krishna Pavan said:

Probably you can set the property from the shell

 

Check your environment variables and then set the parameter

0 Kudos

3 Views
Contributor II

Probably you can set the property from the shell

 

Check your environment variables and then set the parameter

0 Kudos