Export to GitHub

openrd - issue #17

Ethernet interface broken for Linux-2.6.35.5


Posted on Sep 30, 2010 by Happy Rabbit

What steps will reproduce the problem? Ethernet interface broken for Linux-2.6.35.5

What is the expected output? What do you see instead? The same problem was reported on website: http://forums.gentoo.org/viewtopic-t-830008.html?sid=3013372b7c8ee64aa27c3266444eecdd Qua Jun 02, 2010 8:12 pm

Where as the code: static struct mv643xx_eth_platform_data openrd_client_ge00_data = { .phy_addr = MV643XX_ETH_PHY_ADDR(0), };

static struct mv643xx_eth_platform_data openrd_client_ge01_data = { .phy_addr = MV643XX_ETH_PHY_ADDR(1), };

output after the modification:

[ 1.276478] e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k6-NAPI [ 1.283564] e1000: Copyright (c) 1999-2006 Intel Corporation. [ 1.289613] e1000e: Intel(R) PRO/1000 Network Driver - 1.0.2-k4 [ 1.295642] e1000e: Copyright (c) 1999 - 2009 Intel Corporation. [ 1.301866] MV-643xx 10/100/1000 ethernet driver version 1.4 [ 1.307780] mv643xx_eth smi: probed [ 1.316608] net eth0: port 0 with MAC address 00:50:43:4a:2f:22 [ 1.327318] net eth1: port 0 with MAC address 00:50:43:00:2f:22

What version of the product are you using? On what operating system? OpenRD-Base uses a Marvell 88F6281 SoC embedded 1.2 GHz Sheeva™ CPU Linux OpenRD 2.6.35.5 #7 PREEMPT Tue Sep 28 16:53:38 BRT 2010 armv5tel Distribution: Ubuntu 9.04 Jaunty Created: 2010-09-28 19:53:45 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3133704 Bytes = 3 MB Load Address: 00008000 Entry Point: 00008000

Please provide any additional information below. Ethernet network adapters are not working properly with new kernel version. Actually, after the suggested correction, just one interface begin to work. The miniSD card reader do not work too, mtdblock0.

Attachments

Comment #1

Posted on Sep 30, 2010 by Happy Rabbit

I have twice of OpenRD, one show the problem above with one of the two Ethernet interface working. The other, with the same code adaption didn't work. None of the two Ethernet interfaces start work. The log follows:

     __  __                      _ _
    |  \/  | __ _ _ ____   _____| | |
    | |\/| |/ _` | '__\ \ / / _ \ | |
    | |  | | (_| | |   \ V /  __/ | |
    |_|  |_|\__,_|_|    \_/ \___|_|_|

_ _ __ _ | | | | | __ ) | |_ | | | |_| _ \ / _ \ / _ \| | | || || |) | () | () | | ___/ |__/ _/ ___/ __| ** MARVELL BOARD: OpenRD-Client LE

U-Boot 1.1.4 (Feb 23 2010 - 12:16:44) Marvell version: 3.4.16

U-Boot code: 00600000 -> 0067FFF0 BSS: -> 006CEE80

Soc: 88F6281 A0 (DDR2) CPU running @ 1200Mhz L2 running @ 400Mhz SysClock = 400Mhz , TClock = 200Mhz

DRAM CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6 DRAM CS[0] base 0x00000000 size 256MB DRAM CS[1] base 0x10000000 size 256MB DRAM Total size 512MB 16bit width Flash: 0 kB Addresses 8M - 0M are saved for the U-Boot usage. Mem malloc Initialization (8M - 7M): Done NAND:512 MB

Checking for BootROM Routine Errors

No. of BootROM routine retries: 8 NAND: Nand ECC error

Running POST...

    DDR2 data bus test                               PASSED

    DDR2 address bus test                            PASSED

    UART 1 internal loopback test on baudrate   9600 PASSED
    UART 1 internal loopback test on baudrate  19200 PASSED
    UART 1 internal loopback test on baudrate 115200 PASSED

    Device: 0, Size: 512 MB, Page Size: 2 KB, Block Size: 128 KB
    NAND detection test                              PASSED

    Bad Block: 091e0000
    NAND bad-block detection test                    PASSED

    RTC test                                         FAILED
            Got:      hour 09 minute 59 second 59
            Expected: hour 10 minute 00 second 00

5/6 tests PASSED POST completed

CPU : Marvell Feroceon (Rev 1)

Streaming disabled Write allocate disabled

Module 0 is AUDIO Module 1 is RGMII

USB 0: host mode PCI 0: PCI Express Root Complex Interface PEX interface detected Link X1 Net: egiga0 [PRIME], egiga1

0.000000] Linux version 2.6.35.5 (root@localhost) (gcc version 4.2.1) #7 PREEMPT Tue Sep 28 16:53:38 BRT 2010

[ 0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053177 [ 0.000000] CPU: VIVT data cache, VIVT instruction cache [ 0.000000] Machine: Marvell OpenRD Client Board [ 0.000000] Memory policy: ECC disabled, Data cache writeback [ 0.000000] On node 0 totalpages: 131072 [ 0.000000] free_area_init_node: node 0, pgdat c063d44c, node_mem_map c06ed000 [ 0.000000] Normal zone: 1024 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 130048 pages, LIFO batch:31 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048 [ 0.000000] Kernel command line: console=ttyS0,115200 mtdparts=nand_mtd:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw ubi.mtd=1,2048 root=ubi0:rootfs rootf rootfstype=ubifs fb=xgifb rootfstype=ub [ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes) [ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) [ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) [ 0.000000] Memory: 256MB 256MB = 512MB total [ 0.000000] Memory: 450748k/450748k available, 73540k reserved, 0K highmem [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB) [ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) [ 0.000000] DMA : 0xffc00000 - 0xffe00000 ( 2 MB) [ 0.000000] vmalloc : 0xe0800000 - 0xfe800000 ( 480 MB) [ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB) [ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB) [ 0.000000] .init : 0xc0008000 - 0xc002d000 ( 148 kB) [ 0.000000] .text : 0xc002d000 - 0xc05af000 (5640 kB) [ 0.000000] .data : 0xc0600000 - 0xc063f400 ( 253 kB) [ 0.000000] SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] Hierarchical RCU implementation. [ 0.000000] RCU-based detection of stalled CPUs is disabled. [ 0.000000] Verbose stalled-CPUs detection is disabled. [ 0.000000] NR_IRQS:114 [ 0.000000] Console: colour dummy device 80x30 [ 21.474978] Calibrating delay loop... 1196.03 BogoMIPS (lpj=5980160) [ 21.714837] pid_max: default: 32768 minimum: 301 [ 21.714930] Mount-cache hash table entries: 512 [ 21.715228] CPU: Testing write buffer coherency: ok [ 21.717650] NET: Registered protocol family 16 [ 21.719755] Kirkwood: MV88F6281-A0, TCLK=200000000. [ 21.719771] Feroceon L2: Enabling L2 [ 21.719807] Feroceon L2: Cache support initialised. [ 21.721146] initial MPP regs: 01111111 13313311 33331111 33003333 42222033 22244444 ffffff22 [ 21.721177] final MPP regs: 01111111 13313311 33331111 33003333 42222033 22244444 ffffff22 [ 21.723124] pci 0000:00:00.0: reg 10: [mem 0xf1000000-0xf10fffff 64bit pref] [ 21.723142] pci 0000:00:00.0: reg 18: [mem 0x00000000-0x1fffffff] [ 21.723181] pci 0000:00:00.0: supports D1 D2 [ 21.723230] pci 0000:00:01.0: reg 10: [mem 0x40000000-0x43ffffff pref] [ 21.723248] pci 0000:00:01.0: reg 14: [mem 0x44000000-0x4403ffff] [ 21.723265] pci 0000:00:01.0: reg 18: [io 0xf0000000-0xf000007f] [ 21.723296] pci 0000:00:01.0: reg 30: [mem 0x00000000-0x0000ffff pref] [ 21.723338] pci 0000:00:01.0: supports D1 D2 [ 21.723393] PCI: bus0: Fast back to back transfers disabled [ 21.723799] pci 0000:00:01.0: BAR 0: assigned [mem 0xe0000000-0xe3ffffff pref] [ 21.723821] pci 0000:00:01.0: BAR 0: set to [mem 0xe0000000-0xe3ffffff pref] (PCI address [0xe0000000-0xe3ffffff] [ 21.723839] pci 0000:00:01.0: BAR 1: assigned [mem 0xe4000000-0xe403ffff] [ 21.723857] pci 0000:00:01.0: BAR 1: set to [mem 0xe4000000-0xe403ffff] (PCI address [0xe4000000-0xe403ffff] [ 21.723874] pci 0000:00:01.0: BAR 6: assigned [mem 0xe4040000-0xe404ffff pref] [ 21.723888] pci 0000:00:01.0: BAR 2: assigned [io 0x1000-0x107f] [ 21.723904] pci 0000:00:01.0: BAR 2: set to [io 0x1000-0x107f] (PCI address [0x1000-0x107f] [ 21.745124] bio: create slab at 0 [ 21.745674] vgaarb: device added: PCI:0000:00:01.0,decodes=io+mem,owns=io+mem,locks=none [ 21.745689] vgaarb: loaded [ 21.746211] SCSI subsystem initialized [ 21.746327] libata version 3.00 loaded. [ 21.747003] usbcore: registered new interface driver usbfs [ 21.747273] usbcore: registered new interface driver hub [ 21.747454] usbcore: registered new device driver usb [ 21.749389] cfg80211: Calling CRDA to update world regulatory domain [ 21.749587] Switching to clocksource orion_clocksource [ 21.765019] NET: Registered protocol family 2 [ 21.765225] IP route cache hash table entries: 4096 (order: 2, 16384 bytes) [ 21.765976] TCP established hash table entries: 16384 (order: 5, 131072 bytes) [ 21.766329] TCP bind hash table entries: 16384 (order: 4, 65536 bytes) [ 21.766532] TCP: Hash tables configured (established 16384 bind 16384) [ 21.766542] TCP reno registered [ 21.766554] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 21.766577] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 21.766720] NET: Registered protocol family 1 [ 21.766977] RPC: Registered udp transport module. [ 21.766988] RPC: Registered tcp transport module. [ 21.766997] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 21.767029] PCI: CLS 32 bytes, default 32 [ 21.767191] Trying to unpack rootfs image as initramfs... [ 27.159106] Freeing initrd memory: 61964K [ 27.256728] JFFS2 version 2.2. (NAND) �© 2001-2006 Red Hat, Inc. [ 27.258013] JFS: nTxBlock = 4005, nTxLock = 32044 [ 27.259366] msgmni has been set to 1001 [ 27.262283] alg: No test for stdrng (krng) [ 27.262334] io scheduler noop registered [ 27.262344] io scheduler deadline registered [ 27.262449] io scheduler cfq registered (default) [ 27.269664] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled [ 27.270603] serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33) is a 16550A [ 27.715750] console [ttyS0] enabled [ 27.728116] brd: module loaded [ 27.735429] loop: module loaded [ 27.740649] NAND device: Manufacturer ID: 0xec, Chip ID: 0xdc (Samsung NAND 512MiB 3,3V 8-bit) [ 27.749306] Scanning device for bad blocks [ 27.797232] Bad eraseblock 1167 at 0x0000091e0000 [ 27.911708] Creating 3 MTD partitions on "orion_nand": [ 27.916879] 0x000000000000-0x000000100000 : "u-boot" [ 27.923098] 0x000000100000-0x000000500000 : "uImage" [ 27.929157] 0x000000500000-0x000020000000 : "root" [ 27.936126] UBI: attaching mtd1 to ubi0 [ 27.940061] UBI: physical eraseblock size: 131072 bytes (128 KiB) [ 27.946356] UBI: logical eraseblock size: 126976 bytes [ 27.951798] UBI: smallest flash I/O unit: 2048 [ 27.956523] UBI: sub-page size: 512 [ 27.961177] UBI: VID header offset: 2048 (aligned 2048) [ 27.967213] UBI: data offset: 4096 [ 27.976660] UBI warning: ubi_scan: 19 PEBs are corrupted [ 27.982050] corrupted PEBs are: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [ 27.989479] UBI error: ubi_read_volume_table: the layout volume was not found [ 27.996725] UBI error: ubi_init: cannot attach mtd1 [ 28.002812] e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k6-NAPI [ 28.009933] e1000: Copyright (c) 1999-2006 Intel Corporation. [ 28.015896] e1000e: Intel(R) PRO/1000 Network Driver - 1.0.2-k4 [ 28.021905] e1000e: Copyright (c) 1999 - 2009 Intel Corporation. [ 28.028129] MV-643xx 10/100/1000 ethernet driver version 1.4 [ 28.034037] mv643xx_eth smi: probed [ 28.044362] net eth0: port 0 with MAC address 00:50:43:00:02:02 [ 28.056475] net eth1: port 0 with MAC address 00:50:43:00:02:02 [ 28.062667] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 28.069284] orion-ehci orion-ehci.0: Marvell Orion EHCI [ 28.074634] orion-ehci orion-ehci.0: new USB bus registered, assigned bus number 1 [ 28.109638] orion-ehci orion-ehci.0: irq 19, io mem 0xf1050000 [ 28.129636] orion-ehci orion-ehci.0: USB 2.0 started, EHCI 1.00 [ 28.136259] hub 1-0:1.0: USB hub found [ 28.140066] hub 1-0:1.0: 1 port detected [ 28.144691] Initializing USB Mass Storage driver... [ 28.149827] usbcore: registered new interface driver usb-storage [ 28.155862] USB Mass Storage support registered. [ 28.160668] usbcore: registered new interface driver ums-datafab [ 28.166857] usbcore: registered new interface driver ums-freecom [ 28.173052] usbcore: registered new interface driver ums-jumpshot [ 28.179334] usbcore: registered new interface driver ums-sddr09 [ 28.185437] usbcore: registered new interface driver ums-sddr55 [ 28.191814] mice: PS/2 mouse device common for all mice [ 28.459638] usb 1-1: new high speed USB device using orion-ehci and address 2 [ 28.612127] hub 1-1:1.0: USB hub found [ 28.616277] hub 1-1:1.0: 4 ports detected [ 28.899919] usb 1-1.1: new high speed USB device using orion-ehci and address 3 [ 29.012126] hub 1-1.1:1.0: USB hub found [ 29.016407] hub 1-1.1:1.0: 4 ports detected [ 29.199622] rtc-mv rtc-mv: internal RTC not ticking [ 29.204886] i2c /dev entries driver [ 29.209377] Linux video capture interface: v2.00 [ 29.214473] usbcore: registered new interface driver dvb_usb_dibusb_mb [ 29.221293] usbcore: registered new interface driver dvb_usb_dibusb_mc [ 29.227857] dib0700: loaded with support for 14 different device-types [ 29.234602] usbcore: registered new interface driver dvb_usb_dib0700 [ 29.241277] cpuidle: using governor ladder [ 29.245858] cpuidle: using governor menu [ 29.250094] sdhci: Secure Digital Host Controller Interface driver [ 29.256309] sdhci: Copyright(c) Pierre Ossman [ 29.261144] mmc0: mvsdio driver initialized, using GPIO 29 for card detection [ 29.268628] mv_xor_shared mv_xor_shared.0: Marvell shared XOR driver [ 29.275073] mv_xor_shared mv_xor_shared.1: Marvell shared XOR driver [ 29.319665] mv_xor mv_xor.0: Marvell XOR: ( xor cpy ) [ 29.359662] mv_xor mv_xor.1: Marvell XOR: ( xor fill cpy ) [ 29.399663] mv_xor mv_xor.2: Marvell XOR: ( xor cpy ) [ 29.439663] mv_xor mv_xor.3: Marvell XOR: ( xor fill cpy ) [ 29.449712] usbcore: registered new interface driver hiddev [ 29.455501] usbcore: registered new interface driver usbhid [ 29.461211] usbhid: USB HID core driver [ 29.465067] oprofile: hardware counters not available [ 29.470225] oprofile: using timer interrupt. [ 29.476081] TCP cubic registered [ 29.479326] NET: Registered protocol family 17 [ 29.484027] 802.1Q VLAN Support v1.8 Ben Greear [ 29.491008] All bugs added by David S. Miller [ 29.497069] lib80211: common routines for IEEE802.11 drivers [ 29.502772] lib80211_crypt: registered algorithm 'NULL' [ 29.502782] Gating clock of unused units [ 29.502791] before: 0x00cfc3dd [ 29.502798] after: 0x00cfc1dd [ 29.504324] drivers/rtc/hctosys.c: unable to open rtc device (rtc0) [ 29.510839] Freeing init memory: 148K [ 30.730162] sata_mv sata_mv.0: version 1.28 [ 30.734488] sata_mv sata_mv.0: slots 32 ports 2 [ 30.898492] scsi0 : sata_mv [ 30.952324] scsi1 : sata_mv [ 30.977751] ata1: SATA max UDMA/133 irq 21 [ 31.025664] ata2: SATA max UDMA/133 irq 21 [ 31.196493] udev: renamed network interface eth1 to eth4 [ 31.419700] ata1: SATA link down (SStatus 0 SControl F300) [ 31.809742] ata2: SATA link down (SStatus 0 SControl F300) [ 39.730265] NET: Registered protocol family 10 root@OpenRD:~# ifconfig eth0 eth0: error fetching interface information: Device not found root@OpenRD:~# lsmod Module Size Used by ipv6 247190 10 hmac 2635 0 sha1_generic 1821 0 sata_mv 25909 0 mv_cesa 9990 0 root@OpenRD:~# root@OpenRD:~# ifconfig eth1 eth1: error fetching interface information: Device not found

Attachments

Comment #2

Posted on Dec 20, 2010 by Massive Horse

I have noticed that if i use the sheevaplug's code for openRD (ie) /arch/arm/mach-kirkwood/sheevaplug-setup.c by setting the archNumber to 2097 then one ethernet port(eth0) works. Then i copied the pci init function call from the openrd file into the above mentioned file and PCI-Express also seem to be working fine. But i defenitely require the other ethernet port as well. Tested until 2.6.37-RC1 with the same results.

Status: New

Labels:
Type-Defect Priority-Medium