ML403 hard Ethernet under Linux 2.6.18
From: Magnus Hjorth <hidden>
Date: 2007-01-25 13:14:53
Hi, I'm trying to get Linux 2.6.18.6 working on an ML403 board with a basic EDK design with a hard_temac and uart. I've generated the BSP for linux_2_6, copied the drivers and twiddled a little to make it all compile. The TEMAC driver seems to find the hardware, but the speed negotiation seems not to work. I can see the speed LEDs first go to 100 Mbit, then 100 MBit again, and then 10 MBit. Since it's connected to a 10/100 switch, the speed negotiation actually looks like it's working. Could anyone give me a clue to what's wrong? I would be thankful for any advice. The output is given below: loaded at: 00400000 004B713C board data at: 004B5124 004B513C relocated to: 00404094 004040AC zimage at: 00404EA7 004B43E2 avail ram: 004B8000 03D09000 Linux/PPC load: console=ttyS0,9600 ip=on Uncompressing Linux...done. Now booting the kernel Linux version 2.6.18.6mh1 (labb@dynamic035.omnisys.se) (gcc version 3.4.1) #10 7 Xilinx ML403 Reference System (Virtex-4 FX) Built 1 zonelists. Total pages: 15625 Kernel command line: console=ttyS0,9600 ip=on Xilinx INTC #0 at 0x41200000 mapped to 0xFDFFE000 PID hash table entries: 256 (order: 8, 1024 bytes) Console: colour dummy device 80x25 Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) Memory: 60184k available (1152k kernel code, 452k data, 68k init, 0k highmem) Mount-cache hash table entries: 512 NET: Registered protocol family 16 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: 1024 (order: 0, 4096 bytes) TCP: Hash tables configured (established 2048 bind 1024) TCP reno registered Initializing Cryptographic API io scheduler noop registered io scheduler anticipatory registered (default) Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled serial8250.0: ttyS0 at MMIO 0x40401003 (irq = 1) is a 16550A XTemac: using FIFO direct interrupt driven mode. eth0: Xilinx TEMAC #0 at 0x81200000 mapped to 0xC4000000, irq=0 eth0: XTemac id 1.0f, block id 5, type 8 TCP bic registered NET: Registered protocol family 1 eth0: XTemac: Options: 0xb8f2 eth0: XTemac: Not able to set the speed to 1000 (status: 0x148) eth0: XTemac: Not able to set the speed to 100 (status: 0x148) eth0: XTemac: Not able to set the speed to 10 (status: 0x148) eth0: XTemac: could not negotiate speed Sending DHCP requests .<6>eth0: XTemac: PHY Link carrier lost. ..... timed out! IP-Config: Reopening network devices... eth0: XTemac: Options: 0xb8f2 eth0: XTemac: Not able to set the speed to 1000 (status: 0x148) eth0: XTemac: Not able to set the speed to 100 (status: 0x148) eth0: XTemac: Not able to set the speed to 10 (status: 0x148) eth0: XTemac: could not negotiate speed Sending DHCP requests ...... timed out! IP-Config: Reopening network devices... [...looping over and over...] -- Magnus Hjorth, M.Sc. Omnisys Instruments AB Gruvgatan 8 SE-421 30 Västra Frölunda, SWEDEN Phone: +46 31 734 34 09 Fax: +46 31 734 34 29 http://www.omnisys.se