Modify

Opened 4 years ago

Closed 3 years ago

Last modified 3 years ago

#13315 closed defect (fixed)

WRT610n V1 - first switch port disabled

Reported by: openwrt@… Owned by: hauke
Priority: normal Milestone: Chaos Calmer 15.05
Component: kernel Version: Trunk
Keywords: 53115 wrt610n Cc:

Description

Hardware: WRT610N V1 (CFE 1.0.37)
Version: r36249

During boot, when the robo switch driver is loaded

[ 4.796000] roboswitch: Probing device 'eth0'
[ 4.876000] roboswitch: found a 53115! at eth0

switch port 1 is deactivated and cannot to be reactivated using the /proc interface.

No link is established on the port at all and a existing link is terminated.

All other switch ports behave normally, including the "Internet" port (0).

Attachments (1)

config_ap_ss (86.1 KB) - added by Oliver Wagner <openwrt@…> 4 years ago.

Download all attachments as: .zip

Change History (12)

Changed 4 years ago by Oliver Wagner <openwrt@…>

comment:1 Changed 4 years ago by Oliver Wagner <openwrt@…>

After some experimentation, it turns out that the switch port is not fully disabled.

When using a 100Mbit station at the other end, the switch port will eventually start operation at 10 (!) MBit/s, possibly after auto negotiation failure.

comment:2 Changed 4 years ago by hauke

  • Owner changed from developers to hauke
  • Status changed from new to accepted

comment:3 Changed 4 years ago by Oliver Wagner <openwrt@…>

It seems the roboswitch driver is not responsible for this effect.

I've tried a custom build image with the switch driver effectivly disabled, and still the effect happens.

From the console log, it seems to be related to the tg3 initialization.

comment:4 Changed 3 years ago by rvalles

As far as I can tell, with an wrt610n git built right now, the first port _does_ work, but it's stuck in slow (10 mbit?) mode.

My guess is that since the tg3 driver claims not to support the PHY:
[ 4.492000] tg3 0000:01:00.0 eth0: attached PHY is unknown (10/100/1000Base-T Ethernet) (WireSpeed[1], EEE[0])

The PHY is as initialized by the bootloader. And the bootloader happens to have some sort of rescue feature involving the first port. The state of that port is likely simply carried from the bootloader.

What we need, therefore, is likely a driver for the PHY.

comment:5 Changed 3 years ago by hauke

Could you please try kernel 3.10?
This uses a different switch driver.

comment:6 Changed 3 years ago by knasher

I tried the 3.10 version, both compiling the latest git version and the current snapshot. The network doesn't come up at all in this version, and when I plug into port 1 it causes a kernel crash.

Here is a boot log:

[    0.000000] Linux version 3.10.4 (john@pc) (gcc version 4.6.4 (OpenWrt/Linaro GCC 4.6-2012.12 r37763) ) #1 Mon Aug 12 22:26:59 IST 2013
[    0.000000] CPU revision is: 0002901a (Broadcom BMIPS3300)
[    0.000000] bcm47xx: using ssb bus
[    0.000000] ssb: Found chip with id 0x4785, rev 0x02 and package 0x0C
[    0.000000] Unsupported SPROM revision 0 detected. Will extract v1
[    0.000000] ssb: Sonics Silicon Backplane found at address 0x18000000
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 04000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x00000000-0x03ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x00000000-0x03ffffff]
[    0.000000] Primary instruction cache 32kB, VIPT, 4-way, linesize 16 bytes.
[    0.000000] Primary data cache 32kB, 2-way, VIPT, cache aliases, linesize 16 bytes
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
[    0.000000] Kernel command line:  noinitrd console=ttyS0,115200
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Memory: 61556k/65536k available (2388k kernel code, 3980k reserved, 566k data, 176k init, 0k highmem)
[    0.000000] NR_IRQS:128
[    0.000000] console [ttyS0] enabled
[    0.076000] Calibrating delay loop... 299.26 BogoMIPS (lpj=598528)
[    0.112000] pid_max: default: 32768 minimum: 301
[    0.116000] Mount-cache hash table entries: 512
[    0.124000] NET: Registered protocol family 16
[    0.144000] bio: create slab <bio-0> at 0
[    0.152000] Switching to clocksource MIPS
[    0.464000] PCI host bridge to bus 0000:00
[    0.468000] pci_bus 0000:00: root bus resource [mem 0x40000000-0x7fffffff]
[    0.476000] pci_bus 0000:00: root bus resource [io  0x0100-0x07ff]
[    0.480000] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    0.488000] ssb: PCI: Fixing up bridge 0000:00:00.0
[    0.496000] ssb: PCI: Fixing up device 0000:00:00.0
[    0.500000] ssb: PCI: Fixing latency timer of device 0000:00:00.0 to 168
[    0.508000] pci 0000:00:01.0: BAR 0: assigned [mem 0x40000000-0x40003fff]
[    0.516000] pci 0000:00:02.0: BAR 0: assigned [mem 0x40004000-0x40007fff]
[    0.528000] PCI: Enabling device 0000:00:01.0 (0000 -> 0002)
[    0.536000] ssb: PCI: Fixing up device 0000:00:01.0
[    0.560000] ssb: Found chip with id 0x4322, rev 0x01 and package 0x09
[    0.600000] alpha2 is too long US2
[    0.612000] can not parse nvram name pci/1/1/rxpo2g(null) with value 0xff got -34
[    0.680000] ssb: Sonics Silicon Backplane found on PCI device 0000:00:01.0
[    0.688000] PCI: Enabling device 0000:00:02.0 (0000 -> 0002)
[    0.692000] ssb: PCI: Fixing up device 0000:00:02.0
[    0.720000] ssb: Found chip with id 0x4322, rev 0x01 and package 0x09
[    0.768000] can not parse nvram name pci/1/2/rxpo2g(null) with value 0xff got -34
[    0.776000] can not parse nvram name pci/1/2/rxpo5g(null) with value 0xff got -34
[    0.836000] ssb: Sonics Silicon Backplane found on PCI device 0000:00:02.0
[    0.844000] PCI host bridge to bus 0000:01
[    0.848000] pci_bus 0000:01: root bus resource [mem 0x18010000-0x1801ffff]
[    0.856000] pci_bus 0000:01: root bus resource [io  0x0800-0x08ff]
[    0.864000] pci_bus 0000:01: No busn resource found for root bus, will use [bus 01-ff]
[    0.872000] pci 0000:01:00.0: BAR 0: assigned [mem 0x18010000-0x1801ffff 64bit]
[    0.880000] NET: Registered protocol family 2
[    0.888000] TCP established hash table entries: 512 (order: 0, 4096 bytes)
[    0.896000] TCP bind hash table entries: 512 (order: -1, 2048 bytes)
[    0.900000] TCP: Hash tables configured (established 512 bind 512)
[    0.908000] TCP: reno registered
[    0.912000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.916000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.924000] NET: Registered protocol family 1
[    0.932000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.940000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.952000] msgmni has been set to 120
[    0.956000] io scheduler noop registered
[    0.960000] io scheduler deadline registered (default)
[    0.964000] Serial: 8250/16550 driver, 2 ports, IRQ sharing enabled
[    0.992000] serial8250: ttyS0 at MMIO 0xb8000300 (irq = 2) is a U6_16550A
[    1.020000] serial8250: ttyS1 at MMIO 0xb8000400 (irq = 2) is a U6_16550A
[    1.048000] serial8250.0: ttyS0 at MMIO 0xb8000300 (irq = 2) is a U6_16550A
[    1.076000] serial8250.0: ttyS1 at MMIO 0xb8000400 (irq = 2) is a U6_16550A
[    1.088000] physmap platform flash device: 02000001 at 1c000000
[    1.096000] physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x0000c2 Chip ID 0x0022cb
[    1.104000] Amd/Fujitsu Extended Query Table at 0x0040
[    1.112000]   Amd/Fujitsu Extended Query version 1.1.
[    1.116000] number of CFI chips: 1
[    1.148000] 6 bcm47xxpart partitions found on MTD device physmap-flash.0
[    1.156000] Creating 6 MTD partitions on "physmap-flash.0":
[    1.160000] 0x000000000000-0x000000040000 : "boot"
[    1.172000] 0x000000040000-0x0000007f0000 : "linux"
[    1.180000] 0x00000004001c-0x000000040960 : "loader"
[    1.188000] 0x000000040960-0x000000140c00 : "kernel"
[    1.192000] mtd: partition "kernel" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only
[    1.208000] 0x000000140c00-0x0000007f0000 : "rootfs"
[    1.212000] mtd: partition "rootfs" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only
[    1.228000] mtd: partition "rootfs" set to be root filesystem
[    1.236000] mtd: partition "rootfs_data" created automatically, ofs=0x3d0000, len=0x420000
[    1.244000] 0x0000003d0000-0x0000007f0000 : "rootfs_data"
[    1.252000] 0x0000007f0000-0x000000800000 : "nvram"
[    1.264000] bcm47xx-wdt bcm47xx-wdt.0: BCM47xx Watchdog Timer enabled (30 seconds, Software Timer)
[    1.276000] TCP: cubic registered
[    1.280000] NET: Registered protocol family 17
[    1.284000] 8021q: 802.1Q VLAN Support v1.8
[    1.296000] VFS: Mounted root (squashfs filesystem) readonly on device 31:4.
[    1.308000] Freeing unused kernel memory: 176K (802e4000 - 80310000)
procd: Console is alive
procd: - watchdog -
[    3.652000] pps_core: LinuxPPS API ver. 1 registered
[    3.660000] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    3.672000] PTP clock support registered
[    3.872000] tg3.c:v3.132 (May 21, 2013)
[    3.880000] libphy: tg3 mdio bus: probed
[    3.888000] tg3 0000:01:00.0 eth0: Tigon3 [partno(none) rev 4001] (PCI:33MHz:32-bit) MAC address 00:25:9c:13:e1:0a
[    3.900000] tg3 0000:01:00.0 eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=100:01)
[    3.908000] tg3 0000:01:00.0 eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] TSOcap[1]
[    3.916000] tg3 0000:01:00.0 eth0: dma_rwctrl[763f0000] dma_mask[64-bit]
[    4.200000] Found board: "Linksys WRT610N V1"
[    4.204000] diag: kernel found a "Linksys WRT610N V1"
[    4.212000] diag: Detected 'Linksys WRT610N'
procd: - preinit -
Press the [f] key and hit [enter] to enter failsafe mode
[    4.884000] tg3 0000:01:00.0 eth0: Link is down
mount_root: jffs2 is ready
[    7.820000] jffs2: notice: (219) jffs2_build_xattr_subsystem: complete building xattr subsystem, 1 of xdatum (0 unchecked, 0 orphan) and 7 of xref (0 dead, 0 orphan) found.
procd: - early -
procd: - watchdog -
procd: - init -
Please press Enter to activate this console.
[   13.412000] NET: Registered protocol family 10
[   14.868000] wl: module license 'unspecified' taints kernel.
[   14.876000] Disabling lock debugging due to kernel taint
[   14.952000] wl: Unknown symbol coherentio (err 0)
[   15.304000] sit: IPv6 over IPv4 tunneling driver
[   15.864000] ip_tables: (C) 2000-2006 Netfilter Core Team
[   15.896000] xt_time: kernel timezone is -0000
[   16.064000] nf_conntrack version 0.5.0 (964 buckets, 3856 max)
[   17.168000] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   20.272000] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   23.476000] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   23.496000] IPv6: ADDRCONF(NETDEV_UP): eth0.1: link is not ready
[   23.512000] device eth0.1 entered promiscuous mode
[   23.516000] device eth0 entered promiscuous mode
[   23.524000] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   23.568000] IPv6: ADDRCONF(NETDEV_UP): eth0.2: link is not ready
procd: - init complete -

And the kernel crash log:

[   38.492000] Data bus error, epc == 83b0001c, ra == 83b1615c
[   38.492000] Oops[#1]:
[   38.492000] CPU: 0 PID: 0 Comm: swapper Tainted: P             3.10.4 #1
[   38.492000] task: 802d1310 ti: 802ca000 task.ti: 802ca000
[   38.492000] $ 0   : 00000000 10009401 b8010800 00000004
[   38.492000] $ 4   : 83a9c3c0 00000800 802cbd68 00000000
[   38.492000] $ 8   : 00000007 0002fcf1 00000011 80343bf4
[   38.492000] $12   : 00000007 0000000e 802a84a0 00000020
[   38.492000] $16   : a3170000 83a9c3c0 00000000 8033e750
[   38.492000] $20   : 8033e950 8033eb50 00200200 80340000
[   38.492000] $24   : 00000007 80015384                  
[   38.492000] $28   : 802ca000 802cbcf8 00200000 83b1615c
[   38.492000] Hi    : 00000000
[   38.492000] Lo    : 00000000
[   38.492000] epc   : 83b0001c 0x83b0001c
[   38.492000]     Tainted: P            
[   38.492000] ra    : 83b1615c 0x83b1615c
[   38.492000] Status: 10009403	KERNEL EXL IE 
[   38.492000] Cause : 0080001c
[   38.492000] PrId  : 0002901a (Broadcom BMIPS3300)
[   38.492000] Modules linked in: ip6t_REJECT ip6t_rt ip6t_hbh ip6t_mh ip6t_ipv6header ip6t_frag ip6t_eui64 ip6t_ah ip6table_raw ip6table_mangle ip6table_filter ip6_tables nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_irc nf_nat_ftp nf_conntrack_irc nf_conntrack_ftp xt_REDIRECT ipt_MASQUERADE iptable_nat xt_nat nf_nat_ipv4 nf_nat xt_conntrack xt_CT iptable_raw xt_state nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack xt_mark xt_time ipt_REJECT xt_TCPMSS xt_LOG xt_comment xt_multiport xt_mac xt_limit iptable_mangle iptable_filter ip_tables xt_tcpudp x_tables sit tunnel4 ip_tunnel wl_glue ipv6 leds_gpio diag tg3 ptp pps_core hwmon
[   38.492000] Process swapper (pid: 0, threadinfo=802ca000, task=802d1310, tls=00000000)
[   38.492000] Stack : a3107000 0000012c 00000000 00000040 1d536313 00000026 00000026 1d536313
	  83b15ee4 00000100 802d0000 8033e750 8033e950 80029948 802d0000 802d0000
	  00000000 802d46bc 00000007 00000001 8033df40 802cbd68 802d0000 80029b40
	  802883d0 80058b0c 00000008 801c4a2c 802cbd68 802cbd68 8033de24 00000001
	  00000001 00000100 0000000a 00000004 80340000 800246a0 00000001 80400000
	  ...
[   38.492000] Call Trace:
[   38.492000] [<83b0001c>] 0x83b0001c
[   38.492000] 
[   38.492000] 
Code: 00000000  8c820014  00451021 <8c420000> 03e00008  00000000  8c820014  00451021  ac460000 
[   38.700000] ---[ end trace bf694fe3946d1e33 ]---
[   38.708000] Kernel panic - not syncing: Fatal exception in interrupt
[   38.708000] ------------[ cut here ]------------
[   38.708000] WARNING: at lib/vsprintf.c:1399 vsnprintf+0x6c/0x3c8()
[   38.708000] Modules linked in: ip6t_REJECT ip6t_rt ip6t_hbh ip6t_mh ip6t_ipv6header ip6t_frag ip6t_eui64 ip6t_ah ip6table_raw ip6table_mangle ip6table_filter ip6_tables nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_irc nf_nat_ftp nf_conntrack_irc nf_conntrack_ftp xt_REDIRECT ipt_MASQUERADE iptable_nat xt_nat nf_nat_ipv4 nf_nat xt_conntrack xt_CT iptable_raw xt_state nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack xt_mark xt_time ipt_REJECT xt_TCPMSS xt_LOG xt_comment xt_multiport xt_mac xt_limit iptable_mangle iptable_filter ip_tables xt_tcpudp x_tables sit tunnel4 ip_tunnel wl_glue ipv6 leds_gpio diag tg3 ptp pps_core hwmon
[   38.708000] CPU: 0 PID: 0 Comm: swapper Tainted: P      D      3.10.4 #1
[   38.708000] Stack : 00000006 00000000 00000000 00000000 00000000 00000000 8033d0ce 0000003c
	  802d14b8 80283eec 8031d048 802d123b 00000000 80320000 802d2930 fffffff5
	  00200000 8001f580 00000003 8001ce38 00000000 00000000 80285d2c 802cba2c
	  802cba00 00000000 00000000 00000000 00000000 00000000 00000000 00000000
	  00000000 00000000 00000000 00000000 00000000 00000000 00000000 802cb9b8
	  ...
[   38.708000] Call Trace:
[   38.708000] [<800122bc>] show_stack+0x48/0x70
[   38.708000] [<8001cfbc>] warn_slowpath_common+0x78/0xa8
[   38.708000] [<8001d004>] warn_slowpath_null+0x18/0x24
[   38.708000] [<8012e6f4>] vsnprintf+0x6c/0x3c8
[   38.708000] [<8005cfd8>] crashlog_printf+0x4c/0x68
[   38.708000] [<8005d048>] crashlog_do_dump+0x54/0x130
[   38.708000] [<80020494>] kmsg_dump+0xd0/0x110
[   38.708000] [<8001cbb4>] panic+0x88/0x1c8
[   38.708000] [<800124c0>] die+0x124/0x12c
[   38.708000] [<80012808>] do_be+0x178/0x1bc
[   38.708000] [<80001420>] ret_from_exception+0x0/0x24
[   38.708000] [<83b0001c>] 0x83b0001c
[   38.708000] 
[   38.708000] ---[ end trace bf694fe3946d1e34 ]---
[   38.708000] Rebooting in 3 seconds..


comment:7 Changed 3 years ago by hauke

Ethernet with tg3 should work in OpenWrt trunk again, please try a recent trunk build and report back your results. It now uses a different switch driver which could fix your problems.

Please post you /etc/config/network configuration.

comment:8 Changed 3 years ago by openwrt@…

Confirmed. With current http://downloads.openwrt.org/snapshots/trunk/brcm47xx/openwrt-wrt610n_v1-squashfs.bin the 4 ethernet ports are enabled properly.

Thanks!

comment:9 Changed 3 years ago by openwrt@…

Config:

root@OpenWrt:/# cat /etc/config/network
#### VLAN configuration
config switch eth0

option enable 1

config switch_vlan eth0_1

option device "eth0"
option vlan 1
option ports "1 2 3 4 8t"

config switch_vlan eth0_2

option device "eth0"
option vlan 2
option ports "0 8t"

#### Loopback configuration
config interface loopback

option ifname "lo"
option proto static
option ipaddr 127.0.0.1
option netmask 255.0.0.0

#### LAN configuration
config interface lan

option type bridge
option ifname "eth0.1"
option proto static
option ipaddr 192.168.1.1
option netmask 255.255.255.0

#### WAN configuration
config interface wan

option ifname "eth0.2"
option proto dhcp

comment:10 Changed 3 years ago by hauke

  • Resolution set to fixed
  • Status changed from accepted to closed

Fixed by using b53 switch driver.

comment:11 Changed 3 years ago by rvalles

Confirmed fixed, done a build right now and installed it, port 1 now working fine at gigabit full duplex.

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.