Linux w/ML403 PLB TEMAC

Rick Moleres Rick.Moleres at xilinx.com
Thu Apr 5 09:40:42 EST 2007


Leonid,

You mentioned that the TEMAC version if v3.00a.  Is this the plb_temac version or the hard_temac version, or both?

-Rick

-----Original Message-----
From: linuxppc-embedded-bounces+moleres=xilinx.com at ozlabs.org [mailto:linuxppc-embedded-bounces+moleres=xilinx.com at ozlabs.org] On Behalf Of Leonid
Sent: Wednesday, April 04, 2007 4:14 PM
To: Glenn.G.Hart at us.westinghouse.com; linuxppc-embedded at ozlabs.org
Subject: RE: Linux w/ML403 PLB TEMAC

I have investigated little bit more. Receive is working actually, but transmit doesn't. What can it be?

-----Original Message-----
From: linuxppc-embedded-bounces+leonid=a-k-a.net at ozlabs.org [mailto:linuxppc-embedded-bounces+leonid=a-k-a.net at ozlabs.org] On Behalf Of Leonid
Sent: Wednesday, April 04, 2007 12:06 PM
To: Glenn.G.Hart at us.westinghouse.com; linuxppc-embedded at ozlabs.org
Subject: RE: Linux w/ML403 PLB TEMAC

I have precisely the same problem you have described:

[    0.430515] XTemac: using FIFO direct interrupt driven mode.
[    0.437461] eth%d: XTemac: No PHY detected.  Assuming a PHY at address 0
[    0.445295] eth0: Xilinx TEMAC #0 at 0x02000000 mapped to 0xC3000000, irq=0
[    0.452256] eth0: XTemac id 1.0f, block id 5, type 8
[    0.458665] tun: Universal TUN/TAP device driver, 1.6
[    0.463712] tun: (C) 1999-2004 Max Krasnyansky <maxk at qualcomm.com>
[    0.471106] mice: PS/2 mouse device common for all mice
[    0.476339] TCP cubic registered
[    0.479615] NET: Registered protocol family 1
[    0.484032] NET: Registered protocol family 17
[    0.992599] eth0: XTemac: Options: 0xb8f2
[   12.955691] eth0: XTemac: Not able to set the speed to 1000 (status: 0x0)
[   22.928615] eth0: XTemac: Not able to set the speed to 100 (status: 0x0)
[   32.901449] eth0: XTemac: Not able to set the speed to 10 (status: 0x0)
[   32.907976] eth0: XTemac: could not negotiate speed
[   33.921626] IP-Config: Complete:
[   33.924635]       device=eth0, addr=192.168.0.223, mask=255.255.255.0, gw=192.168.0.1,
[   33.932418]      host=LM200, domain=, nis-domain=(none),
[   33.937715]      bootserver=192.168.0.141, rootserver=192.168.0.141, rootpath=
[   33.946230] Looking up port of RPC 100003/2 on 192.168.0.141
[   34.916694] eth0: XTemac: PHY Link carrier lost.

My TEMAC core version is 3.00.a and low level code I'm using is working in u-boot without problems. I use Rick's adapter and also tried Ming's trick to set hardcoded speed value but with no success.

I suspect something is configured wrong - phys is not detected:

[    0.437461] eth%d: XTemac: No PHY detected.  Assuming a PHY at address 0

Leonid.

-----Original Message-----
From: linuxppc-embedded-bounces+leonid=a-k-a.net at ozlabs.org [mailto:linuxppc-embedded-bounces+leonid=a-k-a.net at ozlabs.org] On Behalf Of Glenn.G.Hart at us.westinghouse.com
Sent: Wednesday, February 14, 2007 6:48 AM
To: linuxppc-embedded at ozlabs.org
Subject: RE: Linux w/ML403 PLB TEMAC

Ming/Rick,

I tried setting the speed to 1000 as below, but it did not change the
result.  I also tried Rick's new adapter.c with the same results.  Changing
the hard_temac_v3_b to hard_temac_v3_a was the change I needed.
Unfortunately, the speed of the network is much slower now.  I switched to
DMA and then changed the Linux drivers for the DMA & TEMAC v2 to v3.

I have my own program to test performance.  It seems everything is so slow
it does not every complete to give me the statistics.  My ping are also
slower.  I used to be able to ping my computer and get 0.6-0.7 ms times.
With the DMA and TEMAC v3 I am now getting 1.8 ms times.

I am now not sure if it is my build or my PPC design.  For the PPC design I
have a minimum PPC with OPB-RS232, PLB-DDR, and PLB-TEMAC.  I use all the
defaults from BSB except I check use interrupt on the RS232 and TEMAC.

Any suggestions?

Thanks,
Glenn



                                                                                                     
 (Embedded     "Ming Liu" <eemingliu at hotmail.com>@ozlabs.org                                         
 image moved   02/12/2007 11:48 AM                                                                   
 to file:                                                                                            
 pic04169.pcx)                                                                                       
                                                                                                     
                                                                                                     


Sent by:
       linuxppc-embedded-bounces+glenn.g.hart=us.westinghouse.com at ozlabs.org


To:    Glenn.G.Hart at us.westinghouse.com
cc:    linuxppc-embedded at ozlabs.org
Subject:    RE: Linux w/ML403 PLB TEMAC

Security Level:?              Internal


Dear Glenn,

>3.  The speed of the network was very poor.  I wanted to implement DMA for
>the TEMAC.  I created a new PPC with BSB using DMA on the TEMAC.  Kernel
>recompilied without a problem, but upon starting the kernel I got:

In fact, the old cores of TEMAC(plb_temac 2.00 & hard_temac 1.00) also
support DMA. But of course the 3.00 cores are prefered because of other
improved features.

>6.  I am using busybox 1.2.1 which worked fine previously configuring the
>network.  Now when I execute ifconfig I get the following problem:
>[   12.228721] eth0: XTemac: Options: 0xb8f2
>[   24.197749] eth0: XTemac: Not able to set the speed to 1000 (status:
>0x148)
>[   34.215593] eth0: XTemac: Not able to set the speed to 100 (status:
>0x148)
>[   44.232349] eth0: XTemac: Not able to set the speed to 10 (status:
>0x148)
>[   44.313727] eth0: XTemac: could not negotiate speed
>[   44.372226] eth0: XTemac: Send Threshold = 16, Receive Threshold = 2
>[   44.448421] eth0: XTemac: Send Wait bound = 1, Receive Wait bound = 1
># [   57.180152] eth0: XTemac: PHY Link carrier lost.

I also had such a problem before. To solve such a problem most quickly, you
can just specify a fixed speed (like 1000Mbps) in adapter.c file. In this
file, after the line of "/* Get current link speed */ (around L378) and
"phylinkspeed = (RegValue & MARVELL_88E1111_LINKSPEED_MARK)>>
MARVELL_88E1111_LINKSPEED_SHIFT;", I just add and specify the speed as
"phylinkspeed = MARVELL_88E1111_LINKSPEED_1000M;" Of course with this
method, the speed cannot be auto-negotiated any more.

Another hints: I remember that there is another post from Rick on the
updated "adapter.c" a few days ago. Maybe that could solve your problem. I
didn't try that before. So if you will try, pls let us know the result. :)

BR
Ming

_________________________________________________________________
享用世界上最大的电子邮件系统― MSN Hotmail。  http://www.hotmail.com

_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded at ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded










_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded at ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded
_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded at ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded




More information about the Linuxppc-embedded mailing list