So, we got a new shipment of RB411s in and I attempted to install OpenWRT on one of the new boxes. Right away I ran into some issues. The Ethernet driver is not being loaded properly. It looks like the physical mapping has changed.
On one of the older boxes, everything boots fine and the Ethernet driver loads fine:
root@OpenWrt:~# dmesg | grep eth0
eth0: Atheros AG71xx at 0xb9000000, irq 4
eth0: connected to PHY at 0:00 [uid=00221512, driver=Generic PHY]
eth0: link up (100Mbps/Full duplex)
On one of the new boxes, I ran into issues:
root@OpenWrt:/# dmesg | grep eth0
eth0: Atheros AG71xx at 0xb9000000, irq 4
eth0: no PHY found with phy_mask=00000001
The main difference I see is the Ethernet chip has changed from a KSZ8041NL to a AR8012. The layout on the board is moved around as well. There are now mount points for SD, USB, and PCI-E.
I know I need to change the phy_mask in trunk/build_dir/linux-ar71xx/linux-2.6.30.10/arch/mips/ar71xx/mach-rb-4xx.c. However, I have no idea what to change it to. I've tried guessing few different addresses, but I've had no luck. The most up-to-date setting is listed below:
static void __init rb411_setup(void)
{
rb4xx_generic_setup();
rb4xx_add_device_spi();
ar71xx_add_device_mdio(0xfffffffe);
ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
ar71xx_eth0_data.phy_mask = 0x00000001;
ar71xx_add_device_eth(0);
ar71xx_pci_init(ARRAY_SIZE(rb4xx_pci_irqs), rb4xx_pci_irqs);
}
MIPS_MACHINE(AR71XX_MACH_RB_411, "MikroTik RouterBOARD 411/A/AH", rb411_setup);
I'm at a lost on how to resolve this issue. If I knew what address to set ar71xx_eth0_data.phy_mask = 0x00000001 to, I'm sure I could get this fixed. Has anyone else ran into this issue? Does anyone have the spec sheet for the newer RB411 boards?
(Last edited by swolfe on 4 Dec 2009, 21:18)