RB1100 network detection

Attila Balogh bat at netadmin.hu
Thu Jan 21 12:10:58 UTC 2016


Hi Guys,

i am trying to get FreeBSD running on Mikrotik RB1100.

the box is pretty much straightforward, has a P2020E/P2010 SOC with 3 GE controllers.
two of the controllers has an AR8327 on them, the third one is connected to an AR8035 rgmii phy.
there are two PCIe GE controllers (AR8131).

after some poking the box booted 10.3 prerelease via bootp, but failed to find the phy and
to enumerate the switches. but the switches are my least concern, first get the box running freebsd
properly.

so the boot ended up in a kernel panic:
transfer started ................................................... transfer ok, time=2.09s
setting up elf image... OK
jumping to kernel code
GDB: no debug ports present
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2016 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 10.3-PRERELEASE #0: Tue Jan 19 20:23:09 CET 2016
    bat at ppcbuilder:/usr/obj/powerpc.powerpc/usr/src/sys/MPC85XX powerpc
gcc version 4.2.1 20070831 patched [FreeBSD]
WARNING: WITNESS option enabled, expect reduced performance.
cpu0: Freescale e500v2 core revision 5.1, 1066.65 MHz
cpu0: Features 84000000<PPC32,MMU>
cpu0: HID0 80804000<EMCP,DOZE,TBEN>
real memory  = 2080358400 (1983 MB)
avail memory = 2040160256 (1945 MB)
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
cpu0: dev=0 (BSP)
cpu1: dev=1
random device not loaded; using insecure entropy
random: <Software, Yarrow> initialized
ofwbus0: <Open Firmware Device Tree> on nexus0
simplebus0: <Flattened device tree simple bus> mem 0xe0000000-0xe00fffff on ofwbus0
openpic0: <OpenPIC Interrupt Controller> mem 0x40000-0x7ffff on simplebus0
uart0: <16550 or compatible> mem 0x4500-0x45ff irq 42 on simplebus0
uart0: console (115339,n,8,1)
tsec0: <Enhanced Three-Speed Ethernet Controller> mem 0x26000-0x26fff irq 31,32,33 on simplebus0
mii_attach: invalid phyloc 33575
tsec0: attaching PHYs failed
tsec0: could not be configured
device_attach: tsec0 attach returned 6
tsec0: <Enhanced Three-Speed Ethernet Controller> mem 0x24000-0x24fff irq 29,30,34 on simplebus0
mii_attach: invalid phyloc 33575
tsec0: attaching PHYs failed
tsec0: could not be configured
device_attach: tsec0 attach returned 6
tsec0: <Enhanced Three-Speed Ethernet Controller> mem 0x25000-0x25fff irq 35,36,40 on simplebus0
miibus0: <MII bus> on tsec0
ukphy0: <Generic IEEE 802.3u media interface> PHY 1 on miibus0
ukphy0: OUI 0x00c82e, model 0x0003, rev. 3
ukphy0:  no media present
ifmedia_set: no match for 0x0/0xfffffff
panic: ifmedia_set
cpuid = 0
KDB: enter: panic
[ thread pid 0 tid 100000 ]
Stopped at      kdb_enter+0x60: addi    r0, r0, 0x0

i did some changes to atphy and miidevs to get past the detection (just added the model number).
miibus0: <MII bus> on tsec2
atphy0: <Atheros AR8035 10/100/1000 PHY> PHY 1 on miibus0
atphy0: OUI 0x00c82e, model 0x0003, rev. 3
atphy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto
tsec0: attaching PHYs OK!
tsec0: Ethernet address: d4:ca:6d:33:57:90
tsec0: so far we cool
tsec0: tx int ok
tsec0: rx int ok
tsec0: err int ok

so at least i got rid of panic, properly retrieved mac address, but the box does not see link. i’ll try to look into this and asked Pyun who wrote the atphy part
for help and advices.

since bootp is wired to this ethernet controller, it does not want to seek further. so i disabled it, and added alc to the kernel config. although pci is also in
the config, pci bus is not detected and enumerated, so no chance to detect the pcie GEs.

i need some kind of network support to able to connect to NFS to have a root fs, so either way (pcie ge or rgmii on tsec) is a good fix for me.

i tried to insert ramdisk into the kernel with some minimal tools to look around. it gets to mountroot but fails to mount the ufs on md0 with error 22.
i am crosscompiling the stuff on 10.2-release on i386, and created the disk image using the usual manual way.
if someone is able to give a hint why this latter could fail, i’d be very happy!

kind regards,
Attila

block diagram:
http://www.cloudrouterswitches.com/images/Ethernet-Routers/RB1100AHx2-Block-Diagram.jpg <http://www.cloudrouterswitches.com/images/Ethernet-Routers/RB1100AHx2-Block-Diagram.jpg>

the kernel config:
# Custom kernel for Freescale MPC85XX development boards like the CDS etc.
#
# $FreeBSD: stable/10/sys/powerpc/conf/MPC85XX 266331 2014-05-17 17:34:37Z ian $
#

cpu		BOOKE
cpu		BOOKE_E500
ident		MPC85XX

machine		powerpc	powerpc

makeoptions	DEBUG="-Wa,-me500 -g"
makeoptions	NO_MODULES=yes

options 	FPU_EMU

options 	_KPOSIX_PRIORITY_SCHEDULING
options 	ALT_BREAK_TO_DEBUGGER
options 	BREAK_TO_DEBUGGER
options 	BOOTP
options 	BOOTP_NFSROOT
options 	BOOTP_NFSV3
options 	BOOTP_WIRED_TO=tsec0
options 	CD9660
options 	COMPAT_43
options 	DDB
#options 	DEADLKRES
options 	DEVICE_POLLING
#options 	DIAGNOSTIC
options 	FDT
makeoptions	FDT_DTS_FILE=mpc8572ds.dts
#makeoptions	FDT_DTS_FILE=mpc8555cds.dts
options 	FFS
options 	GDB
options 	GEOM_PART_GPT
options 	INET
#options 	INET6
#options 	INVARIANTS
#options 	INVARIANT_SUPPORT
options 	KDB
options 	KTRACE
options 	MD_ROOT
options 	MPC85XX
options 	MSDOSFS
options 	NFS_ROOT
options 	NFSCL
options 	NFSLOCKD
options 	PROCFS
options 	PSEUDOFS
options 	SCHED_ULE
options 	CAPABILITIES
options 	CAPABILITY_MODE
options 	SMP
options 	SYSVMSG
options 	SYSVSEM
options 	SYSVSHM
#options 	WITNESS
#options 	WITNESS_SKIPSPIN

device		ata
device		bpf
device		cfi
device		crypto
device		cryptodev
device		da
device		ds1553
#device		em
device		alc
device		ether
#device		fxp
device		iic
device		iicbus
#device		isa
device		loop
device		md
device		miibus
device		pass
device		pci
#device		quicc
device		random
#device		rl
device		scbus
device		scc
#device		sec
device		tsec
device		tun
device		uart
options 	USB_DEBUG	# enable debug msgs
#device		uhci
#device		umass
#device		usb
#device		vlan
device		nand
device		gpio

#options	   ROOTDEVNAME=\"ufs:md0\"
#options	   MD_ROOT_SIZE=8192
#makeoptions	   MFS_IMAGE=/test/root.img

device mmc
device mmcsd
device sdhci

device etherswitch
device miiproxy
device arswitch


More information about the freebsd-net mailing list