[U-Boot-Users] No ethernet functionality.

Dear all,
I'm pretty frustrated and discouraged because my ethernet doesn't work.
I have an at91sam9260ek based board (we tried to copy layout 'n stuff) and after a week trying to get the ethernet connection working I'd like to give up. :-/
I am here now, i.e. the u-boot hangs here after entering a ping command to reach a host within the same network (ethaddr, ipaddr is set properly; link status is ok; link speed is detected; phy is initialized):
-> ether.c: eth_send: entering while ... [my output]
In file ether.c in function eth_send there is that while-loop where the AT91C_EMAC_COMP bit is tested in register EMAC_TSR (transm. status register). This bit is never set, that's why the while-loop loops eternaly.
The simple question is: Why?
Any hints that might lead to the answer?
Oliver.
P.S.: Please excuse any attached disclaimer or note after this. It get's attached out of my control. ---
This message (including any attachments) contains confidential and/or proprietary information intended only for the addressee. Any unauthorized disclosure, copying, distribution or reliance on the contents of this information is strictly prohibited and may constitute a violation of law. If you are not the intended recipient, please notify the sender immediately by responding to this e-mail, and delete the message from your system. If you have any questions about this e-mail please notify the sender immediately.

Hi:
In the http://www.denx.de/wiki/view/DULG/CommandLineParsing, chapter 14.2.11.2, bullet 3 from the top says:
" In the current implementation, the local variables space and global environment variables space are separated. Local variables are those you define by simply typing like name=value. To access a local variable later on, you have to write '$name' or '${name}'; to execute the contents of a variable directly you can type '$name' at the command prompt."
...which implies that local variables can be used to save commands and execute them later. It doesn't contradict with the statement in previous bullet that
"... only environment variables can be used with run command"
since it merely states that "run <command>" format is invalid for local variables, not that their execution itself is impossible.
Using local variables I could run some scripts indeed:
U-Boot$ scr='echo Hello World' U-Boot$ $scr Hello World U-Boot$
U-Boot$ scr='a=100 b=200' U-Boot$ $scr U-Boot$ echo a=$a b=$b a=100 b=200 U-Boot$
However it doesn't work for more complicated scripts:
U-Boot$ scr='for ii in 1 2 3; do echo ii=$ii; done;' U-Boot$ $scr Unknown command 'for' - try 'help' U-Boot$
Same command, assigned using setenv is working:
U-Boot$ setenv sscr 'for ii in 1 2 3; do echo ii=$ii; done;' U-Boot$ run sscr ii=1 ii=2 ii=3 U-Boot$
Am I doing something wrong? U-boot version is 1.2.0 (official release, not top of the git tree).
Thanks,
Leonid.

In message 406A31B117F2734987636D6CCC93EE3C017B9ECF@ehost011-3.exch011.intermedia.net you wrote:
" In the current implementation, the local variables space and global environment variables space are separated. Local variables are those you define by simply typing like name=value. To access a local variable later on, you have to write '$name' or '${name}'; to execute the contents of a variable directly you can type '$name' at the command prompt."
...which implies that local variables can be used to save commands and execute them later. It doesn't contradict with the statement in previous bullet that
I don't see how you derive that. The text above does not mention commands or execution.
"... only environment variables can be used with run command"
Now this is prtrry clear, I think.
since it merely states that "run <command>" format is invalid for local variables, not that their execution itself is impossible.
This is your interpretation, and it is wrong.
"Only environment variables can be used with the ``run'' command" means, that that cannot use local variables as arguments to the run command.
Same command, assigned using setenv is working:
U-Boot$ setenv sscr 'for ii in 1 2 3; do echo ii=$ii; done;' U-Boot$ run sscr
Yes, only "run" will correctly run command sequences.
Am I doing something wrong? U-boot version is 1.2.0 (official release, not top of the git tree).
Yes, you are doing something wrong. So (somewhat intentionally, it seems) misinterpret the documentation.
Best regards,
Wolfgang Denk

On Tuesday, May 15, 2007 10:17 AM Wolfgang Denk wrote:
" In the current implementation, the local variables space and
global
environment variables space are separated. Local variables are those
you
define by simply typing like name=value. To access a local variable later on, you have to write '$name' or '${name}'; to execute the contents of a variable directly you can type '$name' at the command prompt."
...which implies that local variables can be used to save commands
and
execute them later. It doesn't contradict with the statement in
previous
bullet that
I don't see how you derive that. The text above does not mention commands or execution.
From the passage: "...to execute the contents of a variable directly you
can type '$name' at the command prompt." I derive that local variable content can be executed indeed and so it can be a command. What else can it mean?
since it merely states that "run <command>" format is invalid for
local
variables, not that their execution itself is impossible.
This is your interpretation, and it is wrong.
It could be of course; this is the very reason I ask experts' advice.
"Only environment variables can be used with the ``run'' command"
means,
that that cannot use local variables as arguments to the run command.
Well, now when you explicitly say so I do understand.
Same command, assigned using setenv is working:
U-Boot$ setenv sscr 'for ii in 1 2 3; do echo ii=$ii; done;' U-Boot$ run sscr
Yes, only "run" will correctly run command sequences.
Comment of such sort could be useful in the manual - it resolves all ambiguities above.
Am I doing something wrong? U-boot version is 1.2.0 (official
release,
not top of the git tree).
Yes, you are doing something wrong. So (somewhat intentionally, it seems) misinterpret the documentation.
I don't try to criticize u-boot or its documentation - they both are great. And why should I have such evil intentions - what I can gain here :-)? You may be assured that even if I misinterpreted the documentation it was in good faith.
Best regards,
Leonid.

In message 406A31B117F2734987636D6CCC93EE3C017B9EF6@ehost011-3.exch011.intermedia.net you wrote:
From the passage: "...to execute the contents of a variable directly you
can type '$name' at the command prompt." I derive that local variable content can be executed indeed and so it can be a command. What else can it mean?
You, you are rright. It can be a (simple) command.
Comment of such sort could be useful in the manual - it resolves all ambiguities above.
You are right. Can you please re-read the manul page, if you think it's better now?
Best regards,
Wolfgang Denk

Yes, it's much clearer now, thanks a lot. Don't worry, I perfectly understand your reaction - so many people are bombarding you by their requests as though they paid upfront you to develop u-boot for them.
Thanks,
Leonid.
-----Original Message----- From: wd@denx.de [mailto:wd@denx.de] Sent: Tuesday, May 15, 2007 12:38 PM To: Leonid Cc: u-boot-users@lists.sourceforge.net Subject: Re: [U-Boot-Users] u-boot HUSH scripting using local variables.
In message <406A31B117F2734987636D6CCC93EE3C017B9EF6@ehost011-3.exch011.intermedia. net> you wrote:
From the passage: "...to execute the contents of a variable directly
you
can type '$name' at the command prompt." I derive that local variable content can be executed indeed and so it can be a command. What else
can
it mean?
You, you are rright. It can be a (simple) command.
Comment of such sort could be useful in the manual - it resolves all ambiguities above.
You are right. Can you please re-read the manul page, if you think it's better now?
Best regards,
Wolfgang Denk
participants (3)
-
Bühn, Oliver
-
Leonid
-
Wolfgang Denk