public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] Help U-Boot NFS filesystem.
@ 2006-06-08 16:34 muqiyong
       [not found] ` <008501c68b19$639091e0$8ed3fea9@first>
  2006-06-09  8:48 ` [U-Boot-Users] Help U-Boot NFS filesystem Alex Zeffertt
  0 siblings, 2 replies; 24+ messages in thread
From: muqiyong @ 2006-06-08 16:34 UTC (permalink / raw)
  To: u-boot

Hi all,
	I try to mount NFS filesystem onto my AT91RM9200DK board,
But the eth0 device failed, from the boot message it looks that
I didn't set the MAC addr:
at91_ether: Your bootloader did not configure a MAC address.
eth0: Link now 100-FullDuplex
eth0: AT91 ethernet at 0xfefbc000 int=24 100-FullDuplex (00:00:00:00:00:00)
----------------------------------------------------------------------------
	But I've set it in the U-Boot env:
----------------------------------------------------------------------------
U-Boot> printenv
bootdelay=3
baudrate=115200
serverip=192.168.0.182
ipaddr=192.168.0.66
netmask=255.255.255.0
ethaddr=00:10:ec:00:87:73
bootargs=root=/dev/nfs rw nfsroot=${serverip}:${rootpath}
ip=${ipaddr}:${serveri
p}:${gatewayip}:${netmask}:${hostname}::off
rootpath=/opt/eldk_arm/arm
hostname=mqy
gatewayip=192.168.0.182
bootfile=/tftpboot/uImage
bootcmd=bootm 10080000
ok=ok
stdin=serial
stdout=serial
stderr=serial

Environment size: 403/65532 bytes
U-Boot>
---------------------------------------------------------------------------
	And this is full boot message
----------------------------------------------------------------------------
-


U-Boot 1.1.4 (May 29 2006 - 18:53:58)

DRAM:  32 MB
Atmel: ATM_ID_BV322DT (32Mbit)
Flash:  4 MB
In:    serial
Out:   serial
Err:   serial
U-Boot 1.1.4 (May 29 2006 - 18:53:58)

DRAM:  32 MB
Atmel: ATM_ID_BV322DT (32Mbit)
Flash:  4 MB
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
## Booting image at 10080000 ...
   Image Name:   Linux-2.6.16
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1103380 Bytes =  1.1 MB
   Load Address: 20008000
   Entry Point:  20008000
   Verifying Checksum ... OK
OK

Starting kernel ...

Uncompressing
Linux.............................................................
............. done, booting the kernel.
Linux version 2.6.16 (root at second) (gcc version 4.0.0 (DENX ELDK 4.0 4.0.0))
#16
 Thu Jun 8 03:40:10 AQTT 2006
CPU: ARM920Tid(wb) [41129200] revision 0 (ARMv4T)
Machine: Atmel AT91RM9200-DK
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 179 MHz, master 59 MHz, main 18.432 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
Built 1 zonelists
Kernel command line: root=/dev/nfs rw nfsroot=${serverip}:${rootpath}
ip=${ipadd
r}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
AT91: 128 gpio irqs in 4 banks
PID hash table entries: 256 (order: 8, 4096 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 32MB = 32MB total
Memory: 30044KB available (1844K code, 402K data, 92K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
usbcore: registered new driver usbfs
usbcore: registered new driver hub
NetWinder Floating Point Emulator V0.97 (double precision)
Initializing Cryptographic API
io scheduler noop registered
io scheduler anticipatory registered (default)
AT91 Real Time Clock driver.
AT91 SPI driver loaded
AT91 Watchdog Timer enabled (5 seconds, nowayout=1)
at91_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a AT91_SERIAL
at91_usart.1: ttyS1 at MMIO 0xfffc4000 (irq = 7) is a AT91_SERIAL
RAMDISK driver initialized: 16 RAM disks of 32768K size 1024 blocksize
at91_ether: Your bootloader did not configure a MAC address.
eth0: Link now 100-FullDuplex
eth0: AT91 ethernet at 0xfefbc000 int=24 100-FullDuplex (00:00:00:00:00:00)
eth0: Davicom 9196 PHY (Copper)
physmap flash device: 200000 at 10000000
phys_mapped_flash: Found 1 x16 devices at 0x0 in 16-bit bank
 Amd/Fujitsu Extended Query Table at 0x0041
phys_mapped_flash: CFI does not contain boot bank location. Assuming top.
number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
RedBoot partition parsing not available
at91_cf: irqs det #64, io #0
at91_ohci at91_ohci: AT91 OHCI
at91_ohci at91_ohci: new USB bus registered, assigned bus number 1
at91_ohci at91_ohci: irq 23, io mem 0x00300000
usb usb1: Product: AT91 OHCI
usb usb1: Manufacturer: Linux 2.6.16 ohci_hcd
usb usb1: SerialNumber: at91
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
udc: at91_udc version 8 March 2005
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
at91_i2c at91_i2c: AT91 i2c bus driver.
NET: Registered protocol family 2
IP route cache hash table entries: 512 (order: -1, 2048 bytes)
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
IP-Config: Failed to open eth0
IP-Config: No network devices available.
Root-NFS: No NFS server available, giving up.
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "nfs" or unknown-block(2,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on
unknown-block(2,0)


Thanks a lot!
KylongMu

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot-Users] Help U-Boot NFS filesystem.
       [not found] ` <008501c68b19$639091e0$8ed3fea9@first>
@ 2006-06-08 16:57   ` Wolfgang Denk
  2006-06-08 17:57     ` Marco Cavallini
  0 siblings, 1 reply; 24+ messages in thread
From: Wolfgang Denk @ 2006-06-08 16:57 UTC (permalink / raw)
  To: u-boot

In message <BAY107-DAV10BFF455E74EC007966499C58B0@phx.gbl> <008501c68b19$639091e0$8ed3fea9@first> you wrote:
>
> 	I try to mount NFS filesystem onto my AT91RM9200DK board,
> But the eth0 device failed, from the boot message it looks that
> I didn't set the MAC addr:
> at91_ether: Your bootloader did not configure a MAC address.
> eth0: Link now 100-FullDuplex
> eth0: AT91 ethernet at 0xfefbc000 int=24 100-FullDuplex (00:00:00:00:00:00)

You are right. You did not set your MAC address in Linux.

But this is a Linux problem and actually off topic here.

> 	But I've set it in the U-Boot env:

So what? Please see the FAQ:
http://www.denx.de/wiki/view/DULG/EthernetDoesNotWorkInLinux

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
If ignorance is bliss, why aren't there more happy people?

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot-Users] Help U-Boot NFS filesystem.
  2006-06-08 16:57   ` Wolfgang Denk
@ 2006-06-08 17:57     ` Marco Cavallini
  2006-06-08 19:49       ` Wolfgang Denk
  0 siblings, 1 reply; 24+ messages in thread
From: Marco Cavallini @ 2006-06-08 17:57 UTC (permalink / raw)
  To: u-boot

Wolfgang Denk ha scritto:
>> 	I try to mount NFS filesystem onto my AT91RM9200DK board,
>> But the eth0 device failed, from the boot message it looks that
>> I didn't set the MAC addr:
>> at91_ether: Your bootloader did not configure a MAC address.
>> eth0: Link now 100-FullDuplex
>> eth0: AT91 ethernet at 0xfefbc000 int=24 100-FullDuplex (00:00:00:00:00:00)
> 
> You are right. You did not set your MAC address in Linux.
> 
> But this is a Linux problem and actually off topic here.
> 
>> 	But I've set it in the U-Boot env:
> 
> So what? Please see the FAQ:
> http://www.denx.de/wiki/view/DULG/EthernetDoesNotWorkInLinux
> 
> Best regards,
 >
> Wolfgang Denk
> 

Wolfgang is right.
BTW if you really want a quick and dirty solution you can use this 
little patch.
http://www.koansoftware.com/it/art.php?art=86

Just a little hack ;-)

Ciao
-- 
Marco Cavallini
Koan s.a.s. - Bergamo - ITALIA
Embedded and Real-Time Software Engineering
www.KoanSoftware.com   |    www.KaeilOS.com

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot-Users] Help U-Boot NFS filesystem.
  2006-06-08 17:57     ` Marco Cavallini
@ 2006-06-08 19:49       ` Wolfgang Denk
  2006-06-08 20:22         ` Marco Cavallini
  2006-06-08 20:40         ` [U-Boot-Users] Help U-Boot NFS filesystem->bootloader MAC NZG
  0 siblings, 2 replies; 24+ messages in thread
From: Wolfgang Denk @ 2006-06-08 19:49 UTC (permalink / raw)
  To: u-boot

Dear Marco,

in message <448864F6.8060106@koansoftware.com> you wrote:
>
> BTW if you really want a quick and dirty solution you can use this 
> little patch.
> http://www.koansoftware.com/it/art.php?art=86

May I please ask you to pay a little more respect to Copyright?  This
article   was   stolen^H^H^H^H^H^Hcopied   from   our   DULG  without
permission, without including a copyright notice and a pointer to the
license used, and without any credit to previous authors.

You cannot do that.


Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"May your future be limited only by your dreams."
- Christa McAuliffe

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot-Users] Help U-Boot NFS filesystem.
  2006-06-08 19:49       ` Wolfgang Denk
@ 2006-06-08 20:22         ` Marco Cavallini
  2006-06-08 20:59           ` Wolfgang Denk
  2006-06-08 20:40         ` [U-Boot-Users] Help U-Boot NFS filesystem->bootloader MAC NZG
  1 sibling, 1 reply; 24+ messages in thread
From: Marco Cavallini @ 2006-06-08 20:22 UTC (permalink / raw)
  To: u-boot

Wolfgang Denk ha scritto:
> Dear Marco,
>> BTW if you really want a quick and dirty solution you can use this 
>> little patch.
>> http://www.koansoftware.com/it/art.php?art=86
> 
> May I please ask you to pay a little more respect to Copyright?  This
> article   was   stolen^H^H^H^H^H^Hcopied   from   our   DULG  without
> permission, without including a copyright notice and a pointer to the
> license used, and without any credit to previous authors.
> 
> You cannot do that.
> 
> 

Wolfgang,
my apologies.
I included a link to the original source (your website)
if this is not enough for you, I'm going to promptly remove it.
Sorry again.
-- 
Marco Cavallini
Koan s.a.s. - Bergamo - ITALIA
Embedded and Real-Time Software Engineering
www.KoanSoftware.com   |    www.KaeilOS.com

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot-Users] Help U-Boot NFS filesystem->bootloader MAC
  2006-06-08 19:49       ` Wolfgang Denk
  2006-06-08 20:22         ` Marco Cavallini
@ 2006-06-08 20:40         ` NZG
  2006-06-08 21:40           ` Wolfgang Denk
  1 sibling, 1 reply; 24+ messages in thread
From: NZG @ 2006-06-08 20:40 UTC (permalink / raw)
  To: u-boot

>  In general, a Linux driver shall not make any assumptions about any
> initialization being done (or not done) by a boot loader; instead, that
> driver is responsible for performing all of the necessary initialization
> itself.
IMHO the MAC is an exception to this.
Since it's supposed to be hardcoded to the board it's inappropriate for the OS 
to be dynamically assigning it.
Currently we set the MAC from the protected flash of U-Boot into our 
Coldfire's fec before starting the OS(which is not necessarily Linux).
The boards can then be appropriatly shipped to customers with pre-programmed 
MAC addresses identifying the module, independent of the OS.

I realize this discussion centers around an ARM, however, so there may be 
hardware weirdness I don't know about that prevents this type of approach.

NZG


On Thursday 08 June 2006 2:49 pm, Wolfgang Denk wrote:
> Dear Marco,
>
> in message <448864F6.8060106@koansoftware.com> you wrote:
> > BTW if you really want a quick and dirty solution you can use this
> > little patch.
> > http://www.koansoftware.com/it/art.php?art=86
>
> May I please ask you to pay a little more respect to Copyright?  This
> article   was   stolen^H^H^H^H^H^Hcopied   from   our   DULG  without
> permission, without including a copyright notice and a pointer to the
> license used, and without any credit to previous authors.
>
> You cannot do that.
>
>
> Wolfgang Denk

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot-Users] Help U-Boot NFS filesystem.
  2006-06-08 20:22         ` Marco Cavallini
@ 2006-06-08 20:59           ` Wolfgang Denk
  0 siblings, 0 replies; 24+ messages in thread
From: Wolfgang Denk @ 2006-06-08 20:59 UTC (permalink / raw)
  To: u-boot

Dear Marco,

in message <44888704.5090909@koansoftware.com> you wrote:
>
> my apologies.
> I included a link to the original source (your website)
> if this is not enough for you, I'm going to promptly remove it.

Please don't misunderstand me. You are welcome to use  and  copy  the
stuff,  it's  intentionally under a free license. All I ask you is to
include a copyright notice and a pointer to  the  license  used,  and
credit to previous authors.

> Sorry again.

Thanks.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
But the only way of discovering the limits  of  the  possible  is  to
venture a little way past them into the impossible.
                         - _Profiles of the Future_ (1962; rev. 1973)
                  ``Hazards of Prophecy: The Failure of Imagination''

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot-Users] Help U-Boot NFS filesystem->bootloader MAC
  2006-06-08 20:40         ` [U-Boot-Users] Help U-Boot NFS filesystem->bootloader MAC NZG
@ 2006-06-08 21:40           ` Wolfgang Denk
  2006-06-08 22:31             ` [U-Boot-Users] bootloader MAC NZG
  0 siblings, 1 reply; 24+ messages in thread
From: Wolfgang Denk @ 2006-06-08 21:40 UTC (permalink / raw)
  To: u-boot

In message <200606081540.31714.ngustavson@emacinc.com> you wrote:
> >  In general, a Linux driver shall not make any assumptions about any
> > initialization being done (or not done) by a boot loader; instead, that
> > driver is responsible for performing all of the necessary initialization
> > itself.
> IMHO the MAC is an exception to this.
> Since it's supposed to be hardcoded to the board it's inappropriate for the OS 
> to be dynamically assigning it.

Nobody is talking about about dynamical assignemnt.

It's just that the *Linux* *driver* is responsible to initialize  it,
no matter which boot loader you use and what the boot loader is doing
or not doing.

See the FAQ, and follow the links. If you still  doubt  this,  seacht
the  ARM  Linux  mailing  list  archive. This has been discussed many
times before.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
What is tolerance? -- it is the consequence of humanity. We  are  all
formed  of frailty and error; let us pardon reciprocally each other's
folly -- that is the first law of nature.                  - Voltaire

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot-Users] bootloader MAC
  2006-06-08 21:40           ` Wolfgang Denk
@ 2006-06-08 22:31             ` NZG
  2006-06-08 22:58               ` Rune Torgersen
  2006-06-09  0:44               ` Wolfgang Denk
  0 siblings, 2 replies; 24+ messages in thread
From: NZG @ 2006-06-08 22:31 UTC (permalink / raw)
  To: u-boot

On Thursday 08 June 2006 4:40 pm, Wolfgang Denk wrote:
> Nobody is talking about about dynamical assignemnt.
>
> It's just that the *Linux* *driver* is responsible to initialize ?it,
> no matter which boot loader you use and what the boot loader is doing
> or not doing.
In some cases that would amount to dynamic reassignment, such as in the 
Coldfire fec, which does not provide the typical load from eeprom 
functionality for it's MAC. It must be assigned by software somewhere, I am 
of the opinion that the bootloader should do it.
Why?
Because when we ship a board, we have to program the bootloader into it so 
customers can load an OS, the MAC goes into a protected region of flash, 
which it's not likely to be accidentally removed. We buy chunks of MAC 
addresses and assign them to boards we ship in quantity.
I look at the bootloader like the BIOS of a PC without the system calls. It 
initializes the hardware to a minimal point (you've at least got to turn on 
the DRAM, an IMHO make sure the MAC is valid) and loads the OS.
The OS will probably change with time, but the BIOS/bootloader is less likely 
too. 

> This has been discussed many
> times before.
I know, I lurk, but I have yet to see any real discussion other than quick 
fixes.
I've pulled out the most relevant ones I can find below, if you know of a 
better one please send a link.

I see:
http://lists.arm.linux.org.uk/pipermail/linux-arm/2005-July/010246.html
Which discusses using gen_eth_addrl for generating MAC address, but of course 
this is only useful for testing
http://www.denx.de/wiki/bin/view/DULG/EthernetDoesNotWork

I see:
http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2004-July/023572.html
Which was never resolved on list

I see:
http://lists.arm.linux.org.uk/pipermail/linux-arm/2004-December/008936.html
In which using ifconfig to set the MAC is recommended in conjunction with 
purchasing a block of MAC addresses for at least $550.
This is pretty non-standard. We manufacture boards here and all of them are 
shipped with a pre-programmed valid address, Advantech and Aeon and every 
other major board manufacturer I know of, do the same.
I also have never seen a Linux distribution that set's it's MAC on bootup 
through ifconfig, usually it's set on bootup by reading an EEPROM.

And finally:
http://lists.arm.linux.org.uk/pipermail/linux-arm/2002-October/004300.html
In which the solution was to contact the board manufacturer (rightfully so as 
they should be providing the MAC)

NZG

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot-Users] bootloader MAC
  2006-06-08 22:31             ` [U-Boot-Users] bootloader MAC NZG
@ 2006-06-08 22:58               ` Rune Torgersen
  2006-06-08 23:16                 ` NZG
  2006-06-09  0:44               ` Wolfgang Denk
  1 sibling, 1 reply; 24+ messages in thread
From: Rune Torgersen @ 2006-06-08 22:58 UTC (permalink / raw)
  To: u-boot

> -----Original Message-----
> From: u-boot-users-bounces at lists.sourceforge.net 
> [mailto:u-boot-users-bounces at lists.sourceforge.net] On Behalf Of NZG
> Sent: Thursday, June 08, 2006 17:32
> To: u-boot-users at lists.sourceforge.net
> Subject: [U-Boot-Users] bootloader MAC
> 
> On Thursday 08 June 2006 4:40 pm, Wolfgang Denk wrote:
> > Nobody is talking about about dynamical assignemnt.
> >
> > It's just that the *Linux* *driver* is responsible to 
> initialize ?it,
> > no matter which boot loader you use and what the boot 
> loader is doing
> > or not doing.
> In some cases that would amount to dynamic reassignment, such 
> as in the 
> Coldfire fec, which does not provide the typical load from eeprom 
> functionality for it's MAC. It must be assigned by software 
> somewhere, I am 
> of the opinion that the bootloader should do it.
> Why?
> Because when we ship a board, we have to program the 
> bootloader into it so 
> customers can load an OS, the MAC goes into a protected 
> region of flash, 
> which it's not likely to be accidentally removed. We buy 
> chunks of MAC 
> addresses and assign them to boards we ship in quantity.
> I look at the bootloader like the BIOS of a PC without the 
> system calls. It 
> initializes the hardware to a minimal point (you've at least 
> got to turn on 
> the DRAM, an IMHO make sure the MAC is valid) and loads the OS.
> The OS will probably change with time, but the 
> BIOS/bootloader is less likely 
> too. 

On PPC we have the MAC proframmed in FLASH as a u-boot evironment variable. THis is in turn passed to the kernel on th ebd_T struct, and the *Linux* driver initializes the MAC on the ethernety interface when the ethernet driver is initialized.

Do the same. Pass the MAC to the kernel and let the driver init set the MAC to the hardware.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot-Users] bootloader MAC
  2006-06-08 22:58               ` Rune Torgersen
@ 2006-06-08 23:16                 ` NZG
  2006-06-08 23:24                   ` Rune Torgersen
  0 siblings, 1 reply; 24+ messages in thread
From: NZG @ 2006-06-08 23:16 UTC (permalink / raw)
  To: u-boot

On Thursday 08 June 2006 5:58 pm, Rune Torgersen wrote:
> On PPC we have the MAC proframmed in FLASH as a u-boot evironment variable.
> THis is in turn passed to the kernel on th ebd_T struct, and the *Linux*
> driver initializes the MAC on the ethernety interface when the ethernet
> driver is initialized.
>
> Do the same. Pass the MAC to the kernel and let the driver init set the MAC
> to the hardware
Why is this a superior approach?

The method you've outlined assumes that the OS will make a special provision 
to grab the MAC from the bootloader, you can modify Linux for this certainly, 
but what if the board isn't running Linux?
Also note, that it's still the bootloader that's setting the flash, just in a 
much more complex way.

Since typically it's loaded directly by the hardware, most OS's expect it to 
be there.
Why not just have the bootloader put it there directly? 

thx,
NZG

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot-Users] bootloader MAC
  2006-06-08 23:16                 ` NZG
@ 2006-06-08 23:24                   ` Rune Torgersen
  2006-06-09  0:49                     ` Wolfgang Denk
  0 siblings, 1 reply; 24+ messages in thread
From: Rune Torgersen @ 2006-06-08 23:24 UTC (permalink / raw)
  To: u-boot

> -----Original Message-----
> From: NZG
> Sent: Thursday, June 08, 2006 18:16
> On Thursday 08 June 2006 5:58 pm, Rune Torgersen wrote:
> > Do the same. Pass the MAC to the kernel and let the driver 
> init set the MAC
> > to the hardware
> Why is this a superior approach?

It is not necessarily superior, but works.
One situation it is better (not that I have seen this used) is if the
ethernet driver needs to reset the hardware ethernet. If it doesn't know
the MAC, you are now without a MAC address.

It also means you depend on the state of the hardware. You cannot jut
issue a full reset to the etherner chip, and set it up fully from there.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot-Users] bootloader MAC
  2006-06-08 22:31             ` [U-Boot-Users] bootloader MAC NZG
  2006-06-08 22:58               ` Rune Torgersen
@ 2006-06-09  0:44               ` Wolfgang Denk
  2006-06-09  4:06                 ` NZG
  1 sibling, 1 reply; 24+ messages in thread
From: Wolfgang Denk @ 2006-06-09  0:44 UTC (permalink / raw)
  To: u-boot

In message <200606081731.49365.ngustavson@emacinc.com> you wrote:
>
> > It's just that the *Linux* *driver* is responsible to initialize =A0it,
> > no matter which boot loader you use and what the boot loader is doing
> > or not doing.
> In some cases that would amount to dynamic reassignment, such as in the
> Coldfire fec, which does not provide the typical load from eeprom

So what? Is there any reason why the Linux ethernet driver could  not
perform the same actions that U-Boot can perform?

> functionality for it's MAC. It must be assigned by software somewhere, I am
> of the opinion that the bootloader should do it.

You are wrong. It is teh responsibility of the Linux driver to adjust
the settings it needs for correct operation.

> I look at the bootloader like the BIOS of a PC without the system calls. It
> initializes the hardware to a minimal point (you've at least got to turn on
> the DRAM, an IMHO make sure the MAC is valid) and loads the OS.

I agree with the RAM, but the MAC has nothing to do here. The BIOS on
a PC does not care about any MAC addresses either.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
It is wrong always, everywhere and for everyone to  believe  anything
upon  insufficient  evidence.  - W. K. Clifford, British philosopher,
circa 1876

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot-Users] bootloader MAC
  2006-06-08 23:24                   ` Rune Torgersen
@ 2006-06-09  0:49                     ` Wolfgang Denk
  0 siblings, 0 replies; 24+ messages in thread
From: Wolfgang Denk @ 2006-06-09  0:49 UTC (permalink / raw)
  To: u-boot

In message <DCEAAC0833DD314AB0B58112AD99B93B0189DE21@ismail.innsys.innovsys.com> you wrote:
>
> One situation it is better (not that I have seen this used) is if the
> ethernet driver needs to reset the hardware ethernet. If it doesn't know
> the MAC, you are now without a MAC address.
> 
> It also means you depend on the state of the hardware. You cannot jut
> issue a full reset to the etherner chip, and set it up fully from there.

Right. And one important area where this plays a role in real life is
when you have to optimize power consumption on your system (like when
runningfrom batteries), and you power on the ethernet port only  when
you  want  to use it. Now don't tell me that you want to reaboot your
system in such a situation.

It does not matter where the Linux driver is grabbing the MAC address
from - from a EEPROM,  or  from  the  U-Boto  environment,  from  the
bd_info  struct  or  from some OF tree - fact is, that it's the Linux
driver's responsibility to program the MAC.

'nuff said.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Mr. Cole's Axiom:
        The sum of the intelligence on the planet is a constant;
        the population is growing.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot-Users] bootloader MAC
  2006-06-09  0:44               ` Wolfgang Denk
@ 2006-06-09  4:06                 ` NZG
  2006-06-09  7:44                   ` Wolfgang Denk
  0 siblings, 1 reply; 24+ messages in thread
From: NZG @ 2006-06-09  4:06 UTC (permalink / raw)
  To: u-boot

> So what? Is there any reason why the Linux ethernet driver could ?not
> perform the same actions that U-Boot can perform?
Yes, the board won't necessarily be booting a version Linux we specify, or 
Linux at all for that matter.  As an OEM we can't modify every OS in the 
world to check these things, but we can ensure that the MAC address is 
correctly installed in the bootloader when we ship it out. If we do not put 
the MAC address in, there are Linux versions out there(all of them to my 
knowledge) that won't do it either. Somebody has to take responsibility for 
it.

> It does not matter where the Linux driver is grabbing the MAC address
> from - from a EEPROM,  or  from  the  U-Boto  environment,  from  the
> bd_info  struct  or  from some OF tree - fact is, that it's the Linux
> driver's responsibility to program the MAC.
It's a common practice among ethernet controllers, such as the Realtek 8139 
and the Intel 82559 to have the MAC address automatically load from the 
EEPROM upon reset with no intervention from any sort of driver. There isn't 
really anything incorrect about expecting the MAC to be valid upon loading 
the OS,It's typical of the industry.  I agree you will have a more robust OS 
if your driver's do not assume things to be initialized, but I would not go 
so far as to call it the OS's "responsibility". Even if it is, it's not 
typically being furfilled, so how about some redundancy?

Did your copy of Windows come with a MAC address? Did you buy one for you 
Linux distro? Of course not, it came with the hardware. It isn't set 
specifically by the BIOS but it's part of the core package, it has nothing to 
do with the OS. 
By putting it in the bootloader I'm attempting to maintain this typical 
arrangement by delivering a piece of hardware that can use any OS, but comes 
with a working bootloader and a pre-installed MAC. 

> Right. And one important area where this plays a role in real life is
> when you have to optimize power consumption on your system (like when
> runningfrom batteries), and you power on the ethernet port only ?when
> you ?want ?to use it. Now don't tell me that you want to reaboot your
> system in such a situation.
In the systems mentioned above, it's automatically loaded from the EEPROM 
without intervention from a driver. In the case of the MCF5282, the MAC 
address is stored in the FEC which is a part of the processor and cannot be 
effectively powered down without powering down the processor. The PHY can be, 
but this won't unset the MAC.  This solution may or may not be as effective 
for the ARM. I'd have to do more research to know, but it is certainly 
effective for the Coldfire.

> You are wrong. It is teh responsibility of the Linux driver to adjust
> the settings it needs for correct operation.
Please offer some justification, or at least evidence of collective agreement 
for your opinions.
To requote your own email:
It is wrong always, everywhere and for everyone to ?believe ?anything
upon ?insufficient ?evidence. ?- W. K. Clifford, British philosopher,

NZG 

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot-Users] bootloader MAC
  2006-06-09  4:06                 ` NZG
@ 2006-06-09  7:44                   ` Wolfgang Denk
  2006-06-09 14:23                     ` NZG
  0 siblings, 1 reply; 24+ messages in thread
From: Wolfgang Denk @ 2006-06-09  7:44 UTC (permalink / raw)
  To: u-boot

In message <200606082306.33226.ngustavson@emacinc.com> you wrote:
>
> In the systems mentioned above, it's automatically loaded from the EEPROM 
> without intervention from a driver. In the case of the MCF5282, the MAC 

You obviously know these things better than me, so I better shut up.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The day-to-day travails of the IBM programmer are so amusing to  most
of us who are fortunate enough never to have been one - like watching
Charlie Chaplin trying to cook a shoe.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot-Users] Help U-Boot NFS filesystem.
  2006-06-08 16:34 [U-Boot-Users] Help U-Boot NFS filesystem muqiyong
       [not found] ` <008501c68b19$639091e0$8ed3fea9@first>
@ 2006-06-09  8:48 ` Alex Zeffertt
  2006-06-09 12:22   ` muqiyong
  1 sibling, 1 reply; 24+ messages in thread
From: Alex Zeffertt @ 2006-06-09  8:48 UTC (permalink / raw)
  To: u-boot

> Uncompressing
> Linux.............................................................
> ............. done, booting the kernel.
> Linux version 2.6.16 (root at second) (gcc version 4.0.0 (DENX ELDK 4.0 4.0.0))
> #16
>  Thu Jun 8 03:40:10 AQTT 2006
> CPU: ARM920Tid(wb) [41129200] revision 0 (ARMv4T)
> Machine: Atmel AT91RM9200-DK
> Memory policy: ECC disabled, Data cache writeback
> Clocks: CPU 179 MHz, master 59 MHz, main 18.432 MHz
> CPU0: D VIVT write-back cache
> CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
> CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
> Built 1 zonelists
> Kernel command line: root=/dev/nfs rw nfsroot=${serverip}:${rootpath}
> ip=${ipadd
> r}:${serverip}:${gatewayip}:${netmask}:${hostname}::off


Quite apart from the MAC address issue, you need to fix your kernel
command line.  The variables in the last line above do not make sense
to the kernel, it needs to be passed actual IP addresses.

Note: if you don't know what the IP addresses will be (because they
are delivered by a DHCP server, for example) you can do this:

setenv bootcmd setenv bootargs root=/dev/nfs rw nfsroot=\${serverip}:\${rootpath} ... \; bootm ...

Alex

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot-Users] Help U-Boot NFS filesystem.
  2006-06-09  8:48 ` [U-Boot-Users] Help U-Boot NFS filesystem Alex Zeffertt
@ 2006-06-09 12:22   ` muqiyong
       [not found]     ` <002401c68bbf$6f7dfd20$8ed3fea9@first>
  0 siblings, 1 reply; 24+ messages in thread
From: muqiyong @ 2006-06-09 12:22 UTC (permalink / raw)
  To: u-boot

> 
> > Uncompressing
> > Linux.............................................................
> > ............. done, booting the kernel.
> > Linux version 2.6.16 (root at second) (gcc version 4.0.0 (DENX ELDK 4.0
4.0.0))
> > #16
> >  Thu Jun 8 03:40:10 AQTT 2006
> > CPU: ARM920Tid(wb) [41129200] revision 0 (ARMv4T)
> > Machine: Atmel AT91RM9200-DK
> > Memory policy: ECC disabled, Data cache writeback
> > Clocks: CPU 179 MHz, master 59 MHz, main 18.432 MHz
> > CPU0: D VIVT write-back cache
> > CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
> > CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
> > Built 1 zonelists
> > Kernel command line: root=/dev/nfs rw nfsroot=${serverip}:${rootpath}
> > ip=${ipadd
> > r}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
> 
> 
> Quite apart from the MAC address issue, you need to fix your kernel
> command line.  The variables in the last line above do not make sense
> to the kernel, it needs to be passed actual IP addresses.
> 
> Note: if you don't know what the IP addresses will be (because they
> are delivered by a DHCP server, for example) you can do this:
> 
> setenv bootcmd setenv bootargs root=/dev/nfs rw
> nfsroot=\${serverip}:\${rootpath} ... \; bootm ...
> 
> Alex
> 
Hi Alex,
	I tried with your way, it's not work.> 
U-Boot> printenv

bootdelay=3
baudrate=115200
serverip=192.168.0.182
ipaddr=192.168.0.66
netmask=255.255.255.0
ethaddr=00:10:ec:00:87:73
rootpath=/opt/eldk_arm/arm
hostname=mqy
gatewayip=192.168.0.182
bootfile=/tftpboot/uImage
bootcmd=bootm 10080000
ok=ok
macaddr=0010ec008773
stdin=serial
stdout=serial
stderr=serial
bootargs=root=/dev/nfs rw nfsroot=192.168.0.182:/opt/eldk_arm/arm
ip=192.168.0.66:192.168.0.182:192.168.0.182:255.255.255.0:mqy::off

Environment size: 433/65532 bytes
U-Boot> bootm

## Booting image at 21000000 ...
   Image Name:   Linux-2.6.16
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1103380 Bytes =  1.1 MB
   Load Address: 20008000
   Entry Point:  20008000
   Verifying Checksum ... OK
OK

Starting kernel ...

Uncompressing
Linux.......................................................................
. done, booting the kernel.

Linux version 2.6.16 (root at second) (gcc version 4.0.0 (DENX ELDK 4.0 4.0.0))
#16 Thu Jun 8 03:40:10 AQTT 2006

CPU: ARM920Tid(wb) [41129200] revision 0 (ARMv4T)

Machine: Atmel AT91RM9200-DK

Memory policy: ECC disabled, Data cache writeback

Clocks: CPU 179 MHz, master 59 MHz, main 18.432 MHz

CPU0: D VIVT write-back cache

CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets

CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets

Built 1 zonelists

Kernel command line: root=/dev/nfs rw
nfsroot=192.168.0.182:/opt/eldk_arm/arm
ip=192.168.0.66:192.168.0.182:192.168.0.182:255.255.255.0:mqy::off

AT91: 128 gpio irqs in 4 banks

PID hash table entries: 256 (order: 8, 4096 bytes)

Console: colour dummy device 80x30

Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)

Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)

Memory: 32MB = 32MB total

Memory: 30044KB available (1844K code, 402K data, 92K init)

Mount-cache hash table entries: 512

CPU: Testing write buffer coherency: ok

NET: Registered protocol family 16

usbcore: registered new driver usbfs

usbcore: registered new driver hub

NetWinder Floating Point Emulator V0.97 (double precision)

Initializing Cryptographic API

io scheduler noop registered

io scheduler anticipatory registered (default)

AT91 Real Time Clock driver.

AT91 SPI driver loaded

AT91 Watchdog Timer enabled (5 seconds, nowayout=1)

at91_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a AT91_SERIAL

at91_usart.1: ttyS1 at MMIO 0xfffc4000 (irq = 7) is a AT91_SERIAL

RAMDISK driver initialized: 16 RAM disks of 32768K size 1024 blocksize

at91_ether: Your bootloader did not configure a MAC address.

eth0: Link down.

eth0: AT91 ethernet at 0xfefbc000 int=24 10-HalfDuplex (00:00:00:00:00:00)

eth0: Davicom 9196 PHY (Copper)

physmap flash device: 200000 at 10000000

phys_mapped_flash: Found 1 x16 devices at 0x0 in 16-bit bank

 Amd/Fujitsu Extended Query Table at 0x0041

phys_mapped_flash: CFI does not contain boot bank location. Assuming top.

number of CFI chips: 1

cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.

RedBoot partition parsing not available

at91_cf: irqs det #64, io #0

at91_ohci at91_ohci: AT91 OHCI

at91_ohci at91_ohci: new USB bus registered, assigned bus number 1

at91_ohci at91_ohci: irq 23, io mem 0x00300000

usb usb1: Product: AT91 OHCI

usb usb1: Manufacturer: Linux 2.6.16 ohci_hcd

usb usb1: SerialNumber: at91

usb usb1: configuration #1 chosen from 1 choice

hub 1-0:1.0: USB hub found

hub 1-0:1.0: 2 ports detected

udc: at91_udc version 8 March 2005

mice: PS/2 mouse device common for all mice

i2c /dev entries driver

at91_i2c at91_i2c: AT91 i2c bus driver.

NET: Registered protocol family 2

IP route cache hash table entries: 512 (order: -1, 2048 bytes)

TCP established hash table entries: 2048 (order: 1, 8192 bytes)

TCP bind hash table entries: 2048 (order: 1, 8192 bytes)

TCP: Hash tables configured (established 2048 bind 2048)

TCP reno registered

TCP bic registered

NET: Registered protocol family 1

NET: Registered protocol family 17

IP-Config: Failed to open eth0

IP-Config: No network devices available.

Looking up port of RPC 100003/2 on 192.168.0.182

portmap: RPC call returned error 101

Root-NFS: Unable to get nfsd port number from server, using default

Looking up port of RPC 100005/1 on 192.168.0.182

portmap: RPC call returned error 101

Root-NFS: Unable to get mountd port number from server, using default

mount: RPC call returned error 101

Root-NFS: Server returned error -101 while mounting /opt/eldk_arm/arm

VFS: Unable to mount root fs via NFS, trying floppy.

VFS: Cannot open root device "nfs" or unknown-block(2,0)

Please append a correct "root=" boot option

Kernel panic - not syncing: VFS: Unable to mount root fs on
unknown-block(2,0)

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot-Users] Help U-Boot NFS filesystem.
       [not found]     ` <002401c68bbf$6f7dfd20$8ed3fea9@first>
@ 2006-06-09 13:08       ` Wolfgang Denk
  2006-06-10  3:18         ` [U-Boot-Users] Help U-Boot NFS filesystem. (Flash error! maybe I need wait my next board) muqiyong
  0 siblings, 1 reply; 24+ messages in thread
From: Wolfgang Denk @ 2006-06-09 13:08 UTC (permalink / raw)
  To: u-boot

In message <BAY107-DAV17B470DE33C807F80BA54CC5880@phx.gbl> <002401c68bbf$6f7dfd20$8ed3fea9@first> you wrote:
>
> 	I tried with your way, it's not work.> 

Of course not. The boot arguments is only ONE of things you  have  to
fix. The uninitialized MAC address is still unfixed:

...
> at91_ether: Your bootloader did not configure a MAC address.
> eth0: Link down.
> eth0: AT91 ethernet at 0xfefbc000 int=24 10-HalfDuplex (00:00:00:00:00:00)

You won't make any progress until you fix this, too.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
You're dead, Jim.
	-- McCoy, "Amok Time", stardate 3372.7

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot-Users] bootloader MAC
  2006-06-09  7:44                   ` Wolfgang Denk
@ 2006-06-09 14:23                     ` NZG
  2006-06-09 16:56                       ` Wolfgang Denk
  0 siblings, 1 reply; 24+ messages in thread
From: NZG @ 2006-06-09 14:23 UTC (permalink / raw)
  To: u-boot

On Friday 09 June 2006 2:44 am, Wolfgang Denk wrote:
> You obviously know these things better than me, so I better shut up.
I've got some hardware experience but you certainly are far more experienced 
with bootloaders than me. 
I do value your input and thank you for taking the time to get engaged in this 
debate.

Nathan Z. Gustavson
Engineer & Perpetual student
EMAC.Inc - www.emacinc.com

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot-Users] bootloader MAC
  2006-06-09 14:23                     ` NZG
@ 2006-06-09 16:56                       ` Wolfgang Denk
  2006-06-09 17:14                         ` NZG
  2006-06-09 17:58                         ` NZG
  0 siblings, 2 replies; 24+ messages in thread
From: Wolfgang Denk @ 2006-06-09 16:56 UTC (permalink / raw)
  To: u-boot

In message <200606090923.18523.ngustavson@emacinc.com> you wrote:
> On Friday 09 June 2006 2:44 am, Wolfgang Denk wrote:
> > You obviously know these things better than me, so I better shut up.
> I've got some hardware experience but you certainly are far more experienced 
> with bootloaders than me. 

Maybe not only bootloaders.

You claim things which you obviously never checked.

For example, you wrote:

> It's a common practice among ethernet controllers, such as the Realtek 8139 
> and the Intel 82559 to have the MAC address automatically load from the 
> EEPROM upon reset with no intervention from any sort of driver. 

You obviouly never bothered to spend a thought on *who* reads the MAC
address from EEPROM on such  systems?  These  cards  don't  have  any
on-board BIOS or so which would do this.

You never bothered to check for example  "drivers/rtl8139.c"  in  the
U-Boot sources or "drivers/net/8139*.c" in the Linux kernel tree.

You never bothered to check for example  "drivers/eepro100.c"   in  the
U-Boot sources or "drivers/net/e100.c"  in the Linux kernel tree.


Otherwise you should have  discovered  the  e100_eeprom_read()  resp.
read_eeprom()  functions  in  these  drivers which do - guess what? -
read the MAC address from EEPROM.

The cards you used as  example  actually  *do*  have  code  in  their
drivers  to  read the MAC address from the EEPROM and program it into
the controller. You see?


But you write:

> There isn't really anything incorrect about expecting the MAC to be
> valid upon loading the OS,It's typical of the industry.

Maybe you should go and read a bit of driver code from some operating
systems, before claiming to know what these do or don't do.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
If there was anything that depressed him more than his own  cynicism,
it was that quite often it still wasn't as cynical as real life.
                                 - Terry Pratchett, _Guards! Guards!_

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot-Users] bootloader MAC
  2006-06-09 16:56                       ` Wolfgang Denk
@ 2006-06-09 17:14                         ` NZG
  2006-06-09 17:58                         ` NZG
  1 sibling, 0 replies; 24+ messages in thread
From: NZG @ 2006-06-09 17:14 UTC (permalink / raw)
  To: u-boot

On Friday 09 June 2006 11:56 am, you wrote:
> You never bothered to check for example  "drivers/rtl8139.c"  in  the
> U-Boot sources or "drivers/net/8139*.c" in the Linux kernel tree.
>
> You never bothered to check for example  "drivers/eepro100.c"   in  the
> U-Boot sources or "drivers/net/e100.c"  in the Linux kernel tree.
Your right I didn't check the driver, but I checked the data sheets which 
states that the MAC is loaded upon any reset. If the driver does it it's 
purely redundancy

>You claim things which you obviously never checked.
> It's a common practice among ethernet controllers, such as the Realtek 8139 
> and the Intel 82559 to have the MAC address automatically load from the 
> EEPROM upon reset with no intervention from any sort of driver.
There is nothing about my statement that is not true.

>But you write:
> There isn't really anything incorrect about expecting the MAC to be
> valid upon loading the OS,It's typical of the industry.
>Maybe you should go and read a bit of driver code from some operating
>systems, before claiming to know what these do or don't do.
I stand by my statement. The core system put's it there, regardless of whether 
the OS reloads it or not. I believe we should do the same.

It is an interesting point however, I was unaware that the drivers are loading 
the MAC, thank you for pointing it out. Nevertheless, the MAC was already 
there, this loading is redundant.

NZG.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot-Users] bootloader MAC
  2006-06-09 16:56                       ` Wolfgang Denk
  2006-06-09 17:14                         ` NZG
@ 2006-06-09 17:58                         ` NZG
  1 sibling, 0 replies; 24+ messages in thread
From: NZG @ 2006-06-09 17:58 UTC (permalink / raw)
  To: u-boot

On Friday 09 June 2006 11:56 am, Wolfgang Denk wrote:
> Otherwise you should have ?discovered ?the ?e100_eeprom_read() ?resp.
> read_eeprom() ?functions ?in ?these ?drivers which do - guess what? -
> read the MAC address from EEPROM.
>
> The cards you used as ?example ?actually ?*do* ?have ?code ?in ?their
> drivers ?to ?read the MAC address from the EEPROM and program it into
> the controller. You see?
I'm going through the e100.c code now.
The drivers do have code to read and write the MAC address, but I don't see 
any reference to them actually doing this during normal operation.
This sort of thing may give you the capability to write the MAC into the 
device if ifconfig, but that would be something the OEM would do once and 
then leave alone.

During diagnostics, 

There is a section fo code in e100 that reads out the MAC:

    memcpy(netdev->dev_addr, nic->eeprom, ETH_ALEN);
         if(!is_valid_ether_addr(netdev->dev_addr)) {
                 DPRINTK(PROBE, ERR, "Invalid MAC address from "
                         "EEPROM, aborting.\n");
                 err = -EAGAIN;
                 goto err_out_free;
         }

But this reads out the MAC into a net device, registering it's MAC with the 
OS, not loading into the physical device.

(on page 35 of the 82559ER Fast Ethernet PCI Controller data sheet)
The 82559ER performs an automatic read of seven words (0H, 1H, 2H, AH, Bh, Ch 
and DH) of the
EEPROM after the de-assertion of Reset.

(0H, 1H, 2H is the MAC)

Haven't been through the Realtek code yet.
But I suspect it's something similar.

NZG

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [U-Boot-Users] Help U-Boot NFS filesystem. (Flash error! maybe I need wait my next board)
  2006-06-09 13:08       ` Wolfgang Denk
@ 2006-06-10  3:18         ` muqiyong
  0 siblings, 0 replies; 24+ messages in thread
From: muqiyong @ 2006-06-10  3:18 UTC (permalink / raw)
  To: u-boot

> > 	I tried with your way, it's not work.>
> 
> Of course not. The boot arguments is only ONE of things you  have  to
> fix. The uninitialized MAC address is still unfixed:
> 
> ...
> > at91_ether: Your bootloader did not configure a MAC address.
> > eth0: Link down.
> > eth0: AT91 ethernet at 0xfefbc000 int=24 10-HalfDuplex
(00:00:00:00:00:00)
> 
> You won't make any progress until you fix this, too.
> 
> Best regards,
> 
> Wolfgang Denk
> 
> --
Dear Denk,
	Thanks for your help, and I do not make any progress till now.
Because during my test, my flash error!
	Because Atmel suggest with AT49BV322 or AT49BV642 to replace
AT49BV6416,
I modified the "flash.c" "flash.h" to support it. And my board with
AT49BV322DT,
This is top boot flash, and it work after modify the flash driver of uboot.
But it failed today, it looks like the Sector failed, but the second Sector
Can work still.
	Or should I use Bottom boot FLASH?
-------------------------------------------------------------------------
U-Boot> protect off 10040000 1006ffff

Un-Protected 3 sectors
U-Boot> fli

Bank # 1: Atmel: AT49BV322DT (32Mbit)
  Size: 4 MB in 71 Sectors
  Sector Start Addresses:
    10000000 (RO) 10010000 (RO) 10020000      10030000      10040000     
    10050000      10060000      10070000      10080000      10090000     
    100A0000      100B0000      100C0000      100D0000      100E0000     
    100F0000      10100000      10110000      10120000      10130000     
    10140000      10150000      10160000      10170000      10180000     
    10190000      101A0000      101B0000      101C0000      101D0000     
    101E0000      101F0000      10200000      10210000      10220000     
    10230000      10240000      10250000      10260000      10270000     
    10280000      10290000      102A0000      102B0000      102C0000     
    102D0000      102E0000      102F0000      10300000      10310000     
    10320000      10330000      10340000      10350000      10360000     
    10370000      10380000      10390000      103A0000      103B0000     
    103C0000      103D0000      103E0000      103F0000      103F2000     
    103F4000      103F6000      103F8000      103FA000      103FC000     
    103FE000    
U-Boot> erase 10040000 1006ffff

Erasing sector  4 ... ok.
Erasing sector  5 ... ok.
Erasing sector  6 ... ok.
Erased 3 sectors
U-Boot> cp.b 21000000 10040000 ffff

Copy to Flash... Flash not Erased
U-Boot> 

U-Boot> cp.b 21000000 10050000 ffff

Copy to Flash... Flash not Erased
U-Boot> 
U-Boot> cp.b 21000000 103fc000 fff

Copy to Flash... done
U-Boot> md 103fc000

103fc000: a502430e 640a022e 0410000b 81188192    .C.....d........
103fc010: 04024822 24624240 0810a000 28801080    "H.. at Bb$.......(
103fc020: f8502400 04a00446 1c140808 88000100    .$P.F...........
103fc030: 13200004 00640611 00c49000 00191182    .. ...d.........
103fc040: 00800022 44460520 00844292 a0998480    "... .FD.B......
103fc050: 4008a080 41040401 c800100c 01808000    ... at ...A........
103fc060: 71ae44f2 42022020 30004000 90000b8d    .D.q  .B. at .0....
103fc070: 00212701 0a004226 9380810c 04989110    .'!.&B..........
103fc080: 00408101 49220133 a0000105 13408910    .. at .3."I...... at .
103fc090: 062ec000 00624006 80214828 10000018    ..... at b.(H!.....
103fc0a0: 2000a042 8020cc80 48188391 840d5018    B.. .. ....H.P..
103fc0b0: 40001018 dc220202 5010901b 01960552    ... at .."....PR...
103fc0c0: 14800143 06030600 98140919 00000c10    C...............
103fc0d0: 002e0010 00607420 80108929 98102800    .... t`.)....(..
103fc0e0: 6480e681 00082c24 08200881 100c9800    ...d$,.... .....
103fc0f0: 40842341 4d2185c7 09058988 80000941    A#. at ..!M....A...
U-Boot> md 21000000

21000000: a502430e 640a022e 0410000b 81188192    .C.....d........
21000010: 04024822 24624240 0810a000 28801080    "H.. at Bb$.......(
21000020: f8502400 04a00446 1c140808 88000100    .$P.F...........
21000030: 13200004 00640611 00c49000 00191182    .. ...d.........
21000040: 00800022 44460520 00844292 a0998480    "... .FD.B......
21000050: 4008a080 41040401 c800100c 01808000    ... at ...A........
21000060: 71ae44f2 42022020 30004000 90000b8d    .D.q  .B. at .0....
21000070: 00212701 0a004226 9380810c 04989110    .'!.&B..........
21000080: 00408101 49220133 a0000105 13408910    .. at .3."I...... at .
21000090: 062ec000 00624006 80214828 10000018    ..... at b.(H!.....
210000a0: 2000a042 8020cc80 48188391 840d5018    B.. .. ....H.P..
210000b0: 40001018 dc220202 5010901b 01960552    ... at .."....PR...
210000c0: 14800143 06030600 98140919 00000c10    C...............
210000d0: 002e0010 00607420 80108929 98102800    .... t`.)....(..
210000e0: 6480e681 00082c24 08200881 100c9800    ...d$,.... .....
210000f0: 40842341 4d2185c7 09058988 80000941    A#. at ..!M....A...

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2006-06-10  3:18 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-08 16:34 [U-Boot-Users] Help U-Boot NFS filesystem muqiyong
     [not found] ` <008501c68b19$639091e0$8ed3fea9@first>
2006-06-08 16:57   ` Wolfgang Denk
2006-06-08 17:57     ` Marco Cavallini
2006-06-08 19:49       ` Wolfgang Denk
2006-06-08 20:22         ` Marco Cavallini
2006-06-08 20:59           ` Wolfgang Denk
2006-06-08 20:40         ` [U-Boot-Users] Help U-Boot NFS filesystem->bootloader MAC NZG
2006-06-08 21:40           ` Wolfgang Denk
2006-06-08 22:31             ` [U-Boot-Users] bootloader MAC NZG
2006-06-08 22:58               ` Rune Torgersen
2006-06-08 23:16                 ` NZG
2006-06-08 23:24                   ` Rune Torgersen
2006-06-09  0:49                     ` Wolfgang Denk
2006-06-09  0:44               ` Wolfgang Denk
2006-06-09  4:06                 ` NZG
2006-06-09  7:44                   ` Wolfgang Denk
2006-06-09 14:23                     ` NZG
2006-06-09 16:56                       ` Wolfgang Denk
2006-06-09 17:14                         ` NZG
2006-06-09 17:58                         ` NZG
2006-06-09  8:48 ` [U-Boot-Users] Help U-Boot NFS filesystem Alex Zeffertt
2006-06-09 12:22   ` muqiyong
     [not found]     ` <002401c68bbf$6f7dfd20$8ed3fea9@first>
2006-06-09 13:08       ` Wolfgang Denk
2006-06-10  3:18         ` [U-Boot-Users] Help U-Boot NFS filesystem. (Flash error! maybe I need wait my next board) muqiyong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox