for those experimenting with an RB411R (with 80211bg radio, without serial RS232) it is possible to hook up a serial console using an external 3.3V serial to USB or RS232 interface and some fine soldering skills.
Remove the buzzer,
serial out: pin 14 of the not mounted U302
serial in: pin 18 of the not mounted U302
ground: RS232 contact no. 1 ( RS232 pin most distant from the PoE ethernet connector, with rectangular pad on rear-side)
The pins 14 and 18 can easily be recognized as they both have a track going to a nearby tiny 'via' through-hole into the multi-layer PCB.
The thin IC lead pads adjacent to the wanted ones are not used so soldering accidentally to two i.s.o. one does no harm.
For safety I used 330 ohm series resistors to connect serial in and out; value a few hundred ohms, not critical. Connect ground of the soldering iron to the PCB ground while soldering to prevent statics damage.
It is possible to put three pins in RS232 contacts 1,2,3 (gnd, serial out, serial in) and to bridge U302 pad 14 to pad 9, and pad18 to RS232 pad 5. The pitch of the RS232 pins corresponds to that of a 2x5 pin flatcable connector. With the bridging wires or resistors mounted the buzzer can be replaced.
Did not manage to get bootp loading the ramfs properly, probably due to the required 0.0.0.0 address the tftp server should be answering to. But following did work:
in RouterBoot:
o (bootdevice) e (over ethernet)
p (boot protocol) 2 (dhcp protocol) <<<< this will give the RB a regular ip address that should be reachabe/routable from the tftp server.
e (format nand)
x (exit setup)
Used dnsmasq on a wrt54gl with OpenWrt to make the RB411R contact a tftp server on a PC.
Direct connection to the linux PC (tried Fedora and Ubuntu) and doing dhcp service from there caused problems because of the RB interface coming up and going away and the PCs with their network management programs reacting to that to slowly. The wrt54gl buffers that nicely and keeps the PC unaware of the RB bringing up its ethernet interface.
Compile a Trunk ar71xx image with under Target Images the option ramdisk and put the initramfs.elf image in the tftp server's root directory. I changed, following the previous post's directions, the space available to the kernel to 8M i.s.o.4. Alternative is using an image from ar71xx snapshots.
Added to regular /etc/dnsmasq.conf (RB connected to vlan1 of wrt54gl, PC to vlan0):
dhcp-option=vlan1,3,<ip address of wrt54gl vlan1>
dhcp-option=vlan1,6,<ip address of wrt54gl vlan1>
dhcp-host=<mac of RB; see sticker>,<fixed ip address for RB inside vlan1 dhcp dynamic range>,RB411R,45m
dhcp-option=vendor:,1,0.0.0.0
dhcp-boot=/openwrt-ar71xx-vmlinux-initramfs.elf,<hostname where tftpserver>,<ip address of host with tftp server>
(this wrt54gl still had an old Whiterussian OpenWrt on it; adapt these extra directives to /etc/config/dhcp Kamikaze config style and restart dnsmasq)
Then compiled Trunk ar71xx image with profile atheros wifi (madwifi).
Under Kernel-modules / Wireless drivers selected madwifi as loadable package (M) and ath5k to be included (*) as it works with the ar2417 radio on RB411R.
Ath5k did not give me a stable connection though (deauthentication .... Reason: 16) and have recompiled an image with kmod-madwifi included; madwifi also knows the ar2417.
Added advantages are the extra config options like antenna choice and isolation.
The rest of the installation in NAND memory , using wget2nand, went smooth from a httpd server on the PC, the one with also the tftp server..
First results:
In sta mode, encryption psk-ccmp, ping times to a wrt54gl AP over 2 km ~-70 dBm signal: 1.2 ms
A wrt54gl w. OpenWrt (using brcm embedded encryption) with same antenna to same AP pings with 1.9 ms. So processing is clearly faster.
The boot process does show the error message: split_squashfs: error occured while reading from "NAND 64MiB 3,3V 8-bit"
Welcome feedback whether this is serious. The board seems to work normally.
Log:
reboot
save exit: isCheckpointed 0
root@RB411R:/# eth0: link down
Restarting system.
RouterBOOT booter 2.20
RouterBoard 411R
CPU frequency: 300 MHz
Memory size: 32 MB
Press any key within 2 seconds to enter setup..
loading kernel from nand... OK
setting up elf image... OK
jumping to kernel code
Linux version 2.6.32.7 (xxx@yyy) (gcc version 4.3.3 (GCC) ) #4 Thu Feb 11 18:01:48 WET 2010
bootconsole [early0] enabled
CPU revision is: 00019374 (MIPS 24Kc)
Atheros AR7130 rev 2, CPU:300.000 MHz, AHB:150.000 MHz, DDR:300.000 MHz
Determined physical RAM map:
memory: 02000000 @ 00000000 (usable)
User-defined physical RAM map:
memory: 02000000 @ 00000000 (usable)
Initrd not found or empty - disabling initrd
Zone PFN ranges:
Normal 0x00000000 -> 0x00002000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
0: 0x00000000 -> 0x00002000
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128
Kernel command line: rootfstype=squashfs,yaffs,jffs2 noinitrd console=ttyS0,115200 console=ttyS0,115200 gpio=4031 HZ=150000000 mem=32M kmac=00:0C:42:2D:72:44 board=411 boot=1 mlc=1
PID hash table entries: 128 (order: -3, 512 bytes)
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
Writing ErrCtl register=00000090
Readback ErrCtl register=00000090
Memory: 29304k/32768k available (2124k kernel code, 3464k reserved, 403k data, 152k init, 0k highmem)
SLUB: Genslabs=7, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
NR_IRQS:56
Calibrating delay loop... 199.88 BogoMIPS (lpj=999424)
Mount-cache hash table entries: 512
devtmpfs: initialized
NET: Registered protocol family 16
MIPS: machine is MikroTik RouterBOARD 411/A/AH
registering PCI controller with io_map_base unset
bio: create slab <bio-0> at 0
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot
pci 0000:00:00.0: PME# disabled
PCI: mapping irq 50 to pin1@0000:00:11.0
Switching to clocksource MIPS
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 1024 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
TCP reno registered
NET: Registered protocol family 1
squashfs: version 4.0 (2009/01/31) Phillip Lougher
Registering mini_fo version $Id$
JFFS2 version 2.2. (NAND) (SUMMARY) ?® 2001-2006 Red Hat, Inc.
yaffs Feb 10 2010 22:59:40 Installing.
msgmni has been set to 57
io scheduler noop registered
io scheduler deadline registered (default)
Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11) is a 16550A
console [ttyS0] enabled, bootconsole disabled
console [ttyS0] enabled, bootconsole disabled
NAND flash driver for RouterBoard 4xx series version 0.1.10
NAND SPI clock 25000 kHz (AHB 150000 kHz / 6)
FLASH SPI clock 25000 kHz (AHB 150000 kHz / 6)
NAND device: Manufacturer ID: 0x20, Chip ID: 0x76 (ST Micro NAND 64MiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 524 at 0x000000830000
Bad eraseblock 1219 at 0x00000130c000
Creating 3 MTD partitions on "NAND 64MiB 3,3V 8-bit":
0x000000000000-0x000000040000 : "booter"
0x000000040000-0x000000800000 : "kernel"
0x000000800000-0x000004000000 : "rootfs"
mtd: partition "rootfs" set to be root filesystem
split_squashfs: error occured while reading from "NAND 64MiB 3,3V 8-bit"
Atheros AR71xx SPI Controller driver version 0.2.4
ag71xx_mdio: probed
eth0: Atheros AG71xx at 0xb9000000, irq 4
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
Atheros AR71xx hardware watchdog driver version 0.1.0
TCP westwood registered
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
yaffs: dev is 32505858 name is "mtdblock2"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.2, "mtdblock2"
yaffs: block 12 is marked bad
block 13 is bad
yaffs: block 707 is marked bad
block 708 is bad
yaffs_read_super: isCheckpointed 0
VFS: Mounted root (yaffs filesystem) readonly on device 31:2.
devtmpfs: mounted
Freeing unused kernel memory: 152k freed
gpio-buttons driver version 0.1.2
input: gpio-buttons as /devices/platform/gpio-buttons/input/input0
Button Hotplug driver version 0.3.1
- preinit -
Registered led device: rb4xx:yellow:user
Press Press f<ENTER> to enter failsafe mode
eth0: link up (100Mbps/Full duplex)
- regular preinit -
- init -
Please press Enter to activate this console. eth0: link down
eth0: link up (100Mbps/Full duplex)
Generic kernel compatibility enabled based on linux-next next-20100113
cfg80211: Calling CRDA to update world regulatory domain
BusyBox v1.15.3 (2010-02-10 20:45:33 WET) built-in shell (ash)
Enter 'help' for a list of built-in commands.
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
KAMIKAZE (bleeding edge, r19488) ------------------
* 10 oz Vodka Shake well with ice and strain
* 10 oz Triple sec mixture into 10 shot glasses.
* 10 oz lime juice Salute!
---------------------------------------------------
root@adiante_FINST:/# cfg80211: World regulatory domain updated:
(start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
(2402000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 3000 mBm)
(5170000 KHz - 5835000 KHz @ 40000 KHz), (N/A, 3000 mBm)
PPP generic driver version 2.4.2
ip_tables: (C) 2000-2006 Netfilter Core Team
NET: Registered protocol family 24
nf_conntrack version 0.5.0 (460 buckets, 1840 max)
CONFIG_NF_CT_ACCT is deprecated and will be removed soon. Please use
nf_conntrack.acct=1 kernel parameter, acct=1 nf_conntrack module option or
sysctl net.netfilter.nf_conntrack_acct=1 to enable it.
ath_hal: module license 'Proprietary' taints kernel.
Disabling lock debugging due to kernel taint
ath_hal: 2009-05-08 (AR5210, AR5211, AR5212, AR5416, RF5111, RF5112, RF2413, RF5413, RF2133, RF2425, REGOPS_FUNC, XR)
ath_pci: trunk
wlan: trunk
wlan: mac acl policy registered
ath_rate_minstrel: Minstrel automatic rate control algorithm 1.2 (trunk)
ath_rate_minstrel: look around rate set to 10%
ath_rate_minstrel: EWMA rolloff level set to 75%
ath_rate_minstrel: max segment size in the mrr set to 6000 us
PCI: Enabling device 0000:00:11.0 (0000 -> 0002)
Atheros HAL provided by OpenWrt, DD-WRT and MakSat Technologies
wifi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
wifi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: H/W encryption support: WEP AES AES_CCM TKIP
ath_pci: wifi0: Atheros 2417: mem=0x10000000, irq=50
wifi0: ath_getchannels: Unable to collect channel list from HAL; regdomain likely 0 country code 16
wifi0: ath_getchannels: Reverting to defaults
root@RB411R:/#
(Last edited by doddel on 16 Feb 2010, 18:13)