Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Dec 2012 17:25:26 +0100
From:      Monthadar Al Jaberi <monthadar@gmail.com>
To:        Luiz Otavio O Souza <lists.br@gmail.com>
Cc:        freebsd-mips@freebsd.org
Subject:   Re: Routerboard RB433AH
Message-ID:  <CA%2BsBSo%2BqtSN5LLUTexRGeteDDHkh0DvhAMyheMG7DzeVeEqbQg@mail.gmail.com>
In-Reply-To: <CAB=2f8xY0y0r_-4_FaBqcQGH4yiAbpZ74FNwup6yJc6vD%2BWriw@mail.gmail.com>
References:  <20120607184354.GB90876@zibbi.meraka.csir.co.za> <CA%2BsBSo%2BUh0fhbs10gEHfqgRytnDz=Tkc9gaSRfTmmwJgZB8J7w@mail.gmail.com> <CAB=2f8xY0y0r_-4_FaBqcQGH4yiAbpZ74FNwup6yJc6vD%2BWriw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Dec 8, 2012 at 9:41 PM, Luiz Otavio O Souza <lists.br@gmail.com> wrote:
> On 7 December 2012 12:27, Monthadar Al Jaberi <monthadar@gmail.com> wrote:
>> Sorry for being too late, have you solved this issue?
>>
>> br,
>>
>> On Thu, Jun 7, 2012 at 8:43 PM, John Hay <jhay@meraka.org.za> wrote:
>>> Hi,
>>>
>>> I found a RB433AH that is not doing anything and was wondering if one
>>> can run FreeBSD on it. For a start I thought of just a NFS boot. I
>>> started with the AR71XX_BASE  config file and removed the USB and
>>> other stuff that I think I do not need and can get it load the kernel
>>> and start it. But it looks like there is a problem with the ethernet
>>> because I get stuck at:
>>>
>>> Timecounters tick every 1.000 msec
>>> Sending DHCP Discover packet from interface arge0 (00:0c:42:90:f9:de)
>>> arge0: link state changed to DOWN
>>> arge0: link state changed to UP
>>> DHCP/BOOTP timeout for server 255.255.255.255
>>> DHCP/BOOTP timeout for server 255.255.255.255
>>> ...
>>>
>>> This just keeps on repeating.
>>>
>>> Maybe I need some specific setup for the ethernet / phy. Anybody with
>>> ideas?
>>>
>
> Yeah, sorry for the delay...
>
> It's been a while since the last boot of my RB433UAH, so my kernel and
> hints are not really updated.
>
> But back then, i have this setup for the PHYs:
>
>
> # arge0
> hint.arge.0.at="nexus0"
> hint.arge.0.maddr=0x19000000
> hint.arge.0.msize=0x1000
> hint.arge.0.irq=2
> # PHY0, PHY1
> hint.arge.0.phymask=0x03
>
> # arge1
> hint.arge.1.at="nexus0"
> hint.arge.1.maddr=0x1A000000
> hint.arge.1.msize=0x1000
> hint.arge.1.irq=3
> # PHY4
> hint.arge.1.phymask=0x10
>
>
> Note that on RB433,RB450 the wan port is connected to arge1 and not to
> arge0 as usually, so you need to adjust your bootp setup.
>
> In order to keep the original mac address you'll the following patch:
> http://loos.no-ip.org/rb/routerboot.diff and then add 'options
> AR71XX_ROUTERBOOT' to kernel file.


Thnx!

I applied your patch on latest current. And your hint file plus the
options define.

But I am having trouble booting from nfs. kernel boots fine, except
arge1 is can't attach:

arge1: <Atheros AR71xx built-in ethernet interface> at mem
0x1a000000-0x1a000fff irq 3 on nexus0
arge1: finishing attachment, phymask 0010, proxy null
arge1: unable to attach PHY 4: 6
device_attach: arge1 attach returned 6



And I get:
Sending DHCP Discover packet from interface arge0 (d4:ca:6d:57:dc:d4)
arge0: link state changed to DOWN
DHCP/BOOTP timeout for server 255.255.255.255
DHCP/BOOTP timeout for server 255.255.255.255
...

I don't see any activity in tcpdump.

attaching my config & hints file based on AR71XX.

br,

#
# AR71XX -- Kernel configuration file for FreeBSD/MIPS for Atheros 71xx systems
#
# This includes all the common drivers for the AR71XX boards along with
# the usb, net80211 and atheros driver code.
#
# $FreeBSD$
#

machine		mips mips
ident		RB433AH_MFS
cpu		CPU_MIPS4KC
makeoptions	KERNLOADADDR=0x80050000
options		HZ=1000
options		HWPMC_HOOKS

files		"../atheros/files.ar71xx"

# For now, hints are per-board.

hints		"RB433AH.hints"

makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols

# Build these as modules so small platform builds will have the
# modules already built.
makeoptions	MODULES_OVERRIDE="random gpio ar71xx if_gif if_gre
if_bridge bridgestp usb wlan wlan_xauth wlan_acl wlan_wep wlan_tkip
wlan_ccmp wlan_rssadapt wlan_amrr ath ath_pci"

options		DDB
options		KDB

options		SCHED_4BSD		#4BSD scheduler
options		INET			#InterNETworking
#options		INET6			# IPv6

# options		NFS_CL		#Network Filesystem Client

options		PSEUDOFS		#Pseudo-filesystem framework
options		_KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions

# options		NFS_LEGACYRPC
# Debugging for use in -current
options		INVARIANTS
options		INVARIANT_SUPPORT
options		WITNESS
options		WITNESS_SKIPSPIN
options		DEBUG_REDZONE
options		DEBUG_MEMGUARD

options         FFS                     #Berkeley Fast Filesystem
# options         SOFTUPDATES             #Enable FFS soft updates support
# options         UFS_ACL                 #Support for access control lists
# options         UFS_DIRHASH             #Improve performance on big
directories
# options		MSDOSFS			# Read MSDOS filesystems; useful for USB/CF

device		pci
device		ar71xx_pci

# RTC - requires hackery in the spibus code to work
device		pcf2123_rtc

# GEOM modules
device		geom_redboot	# to get access to the SPI flash partitions
device		geom_uzip	# compressed in-memory filesystem hackery!
options		GEOM_UZIP

## Boot from the first MFS uzip
#options		ROOTDEVNAME=\"ufs:md0.uzip\"
#options		MD_ROOT
#options		MD_ROOT_SIZE="9000"

# Boot from NFS
options		NFSLOCKD		#Network Lock Manager
options		NFSCLIENT		#Network Filesystem Client
options		NFS_ROOT

options		BOOTP
options		BOOTP_NFSROOT
options		BOOTP_NFSV3
#options		BOOTP_WIRED_TO=arge1
options		BOOTP_COMPAT
options		ROOTDEVNAME=\"nfs:172.16.0.101:/usr/obj/rb433ah/nfs\"


# 802.11 framework
options		IEEE80211_DEBUG
options		IEEE80211_ALQ
options		IEEE80211_SUPPORT_MESH
# This option is currently broken for if_ath_tx.
options		IEEE80211_SUPPORT_TDMA
options		IEEE80211_AMPDU_AGE
device		wlan            # 802.11 support
device		wlan_wep        # 802.11 WEP support
device		wlan_ccmp       # 802.11 CCMP support
device		wlan_tkip       # 802.11 TKIP support
device		wlan_xauth	# 802.11 hostap support
device		wlan_acl	# 802.11 ACL support

# Atheros wireless NICs
device		ath             # Atheros interface support
device		ath_pci		# Atheros PCI/Cardbus bus
options 	ATH_DEBUG
options		ATH_DIAGAPI
options		ATH_ENABLE_11N
options		AH_DEBUG
options		AH_DEBUG_ALQ
options		ALQ
device		ath_hal
option		AH_SUPPORT_AR5416
device		ath_rate_sample
option		AH_RXCFG_SDMAMW_4BYTES
option		AH_AR5416_INTERRUPT_MITIGATION
# There's no DFS radar detection support yet so this won't actually
# detect radars.  It however does enable the rest of the channel change
# machinery so DFS can be debugged.
option		ATH_ENABLE_DFS

device		mii
device		arge
option		ARGE_DEBUG

#device		usb
#options		USB_EHCI_BIG_ENDIAN_DESC        # handle big-endian byte order
#options		USB_DEBUG
#options		USB_HOST_ALIGN=32		# AR71XX (MIPS in general?) requires this
#device		ehci

device		scbus
#device		umass
device		da

# On-board SPI flash
device		spibus
device		ar71xx_spi
device		mx25l
device		ar71xx_wdog

device		uart
device		uart_ar71xx

device		loop
device		ether
device		md
device		bpf
device		random
device		if_bridge
device		gif		# ip[46] in ip[46] tunneling protocol
device		gre		# generic encapsulation - only for IPv4 in IPv4 though atm

options		ARGE_DEBUG	# Enable if_arge debugging for now

# Enable GPIO
device		gpio
device		gpioled

options		AR71XX_ROUTERBOOT




#
# $FreeBSD$
#
hint.apb.0.at="nexus0"
hint.apb.0.irq=4

# uart0
hint.uart.0.at="apb0"
# see atheros/uart_cpu_ar71xx.c why +3
hint.uart.0.maddr=0x18020003
hint.uart.0.msize=0x18
hint.uart.0.irq=3

#ohci
hint.ohci.0.at="apb0"
hint.ohci.0.maddr=0x1c000000
hint.ohci.0.msize=0x01000000
hint.ohci.0.irq=6

#ehci
hint.ehci.0.at="nexus0"
hint.ehci.0.maddr=0x1b000000
hint.ehci.0.msize=0x01000000
hint.ehci.0.irq=1

# pci
hint.pcib.0.at="nexus0"
hint.pcib.0.irq=0

# arge0
hint.arge.0.at="nexus0"
hint.arge.0.maddr=0x19000000
hint.arge.0.msize=0x1000
hint.arge.0.irq=2
# PHY0, PHY1
hint.arge.0.phymask=0x03

# arge0 mdio bus
hint.argemdio.0.at="nexus0"
hint.argemdio.0.maddr=0x19000000
hint.argemdio.0.msize=0x1000
hint.argemdio.0.order=0
# arge0: dedicated switch port
hint.arge.0.phymask=0x00	# PHY4
hint.arge.0.miimode=3		# RGMII
hint.arge.0.mdio=mdioproxy1	# .. off of the switch mdiobus

# phymask, media and fduplex depend upon the specific
# board.
# So each board will override the settings as needed.

# arge1
hint.arge.1.at="nexus0"
hint.arge.1.maddr=0x1A000000
hint.arge.1.msize=0x1000
hint.arge.1.irq=3
# PHY4
hint.arge.1.phymask=0x10

#hint.arswitch.0.is_7240=0
#hint.arswitch.0.numphys=4
#hint.arswitch.0.phy4cpu=1
#hint.arswitch.0.is_rgmii=1
#hint.arswitch.0.is_gmii=0

# SPI flash
hint.spi.0.at="nexus0"
hint.spi.0.maddr=0x1f000000
hint.spi.0.msize=0x10

hint.mx25l.0.at="spibus0"
hint.mx25l.0.cs=0

# Watchdog
hint.ar71xx_wdog.0.at="nexus0"

# GPIO
hint.gpio.0.at="apb0"
hint.gpio.0.maddr=0x18040000
hint.gpio.0.msize=0x1000
hint.gpio.0.irq=2

# Each board should override the GPIO bus pins with the configuration
# relevant to it. Thus no pins are defined here.

# hwpmc device
hint.ar71xx_pmc.0.at="apb0"
hint.ar71xx_pmc.0.irq=5




>
> The etherswitch doesn't support the switch chip on RB433 right now,
> but i'm working on this.
>
> Luiz



-- 
Monthadar Al Jaberi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BsBSo%2BqtSN5LLUTexRGeteDDHkh0DvhAMyheMG7DzeVeEqbQg>