OpenWRT 8.09 and X-Wrt Installation on PC Engines Wrap
Howto get OpenWRT v8.09 r14511 installed and running on a x86 Wrap with an Atheros AR5006X wireless radio
Write the image to a 64MByte compact flash card, and boot. Use minicom as a console on the serial port at 38400,8,n,1.
Using the console, reconfigure the network settings from their defaults so that the 'lan' interface is operational in the local environment:
# Copyright (C) 2006 OpenWrt.org config interface loopback option ifname lo option proto static option ipaddr 127.0.0.1 option netmask 255.0.0.0 config interface lan option ifname eth0 option type bridge option proto static option ipaddr 192.168.0.126 option netmask 255.255.255.0 option gateway 192.168.0.254 option dns 192.168.0.18
Apply the changes to the lan network configuration:
# ifup lan
Set the root password using the console:
# passwd Changing password for root New password: Retype password: Password for root changed by root
Using the LuCI web configuration to customise
Login as root, using the password set above
Software packages added:
- kmod-i2c-scx200
- kmod-leds-wrap
- kmod-ath5k
- hostapd
- iw
- kmod-ieee80211
SSH
Upload SSH public key into the router. This is just one long line copied from ~/.ssh/id_dsa.pub(or from putty etc)
Disable password based authentication:
Wireless
Configure the wireless interface for WPA2 with a PSK.
VERY IMPORTANT: Using the ath5k driver failed to achieve a positive outcome (a lot of wasted time). The driver is close to being fully functional, but the interface didn't come up automatically. This setup uses the madwifi kernel module. Note that the type for wadwifi in the configuration file is 'atheros', whereas the type for ath5k is 'mac80211'.
config 'wifi-device' 'wifi0' option 'type' 'atheros' option 'disabled' '0' option 'diversity' '1' option 'channel' '8' option 'hwmode' '11g' config 'wifi-iface' option 'device' 'wifi0' option 'network' 'lan' option 'mode' 'ap' option 'ssid' 'Newnham' option 'encryption' 'psk2' option 'key' 'dnsdy83rw78erjhsdfnjdfsnHJHJHdh383838...a long secret.. kgsdjhfs8'
LEDS
With the kmod-leds-wrap package installed, it is possible to configure the LEDs on the Wrap. e.g.
Links
Appendices
default /etc/config/network configuration
# Copyright (C) 2006 OpenWrt.org config interface loopback option ifname lo option proto static option ipaddr 127.0.0.1 option netmask 255.0.0.0 config interface lan option ifname eth0 option type bridge option proto static option ipaddr 192.168.1.1 option netmask 255.255.255.0
'ifup lan' log
# ifup lan br-lan: port 1(eth0) entering disabled state eth0: remaining active for wake-on-lan device eth0 left promiscuous mode br-lan: port 1(eth0) entering disabled state eth0: DSPCFG accepted after 0 usec. eth0: link up. eth0: Setting full-duplex based on negotiated link capability. br-lan: Dropping NETIF_F_UFO since no NETIF_F_HW_CSUM feature. device eth0 entered promiscuous mode br-lan: port 1(eth0) entering learning state br-lan: topology change detected, propagating br-lan: port 1(eth0) entering forwarding state br-lan: port 1(eth0) entering disabled state br-lan: port 1(eth0) entering learning state br-lan: topology change detected, propagating br-lan: port 1(eth0) entering forwarding state
Boot log
Linux version 2.6.25.17 (nbd@baustelle) (gcc version 4.1.2) #1 Sun Feb 15 02:46:19 CET 2009 BIOS-provided physical RAM map: BIOS-e801: 0000000000000000 - 000000000009f000 (usable) BIOS-e801: 0000000000100000 - 0000000004000000 (usable) 64MB LOWMEM available. Scan SMP from c0000000 for 1024 bytes. Scan SMP from c009fc00 for 1024 bytes. Scan SMP from c00f0000 for 65536 bytes. Zone PFN ranges: DMA 0 -> 4096 Normal 4096 -> 16384 Movable zone start PFN for each node early_node_map[1] active PFN ranges 0: 0 -> 16384 DMI not present or invalid. Allocating PCI resources starting at 10000000 (gap: 04000000:fc000000) Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256 Kernel command line: block2mtd.block2mtd=/dev/hda2,65536,rootfs root=/dev/mtdblo ck0 rootfstype=jffs2 init=/etc/preinit noinitrd console=tty0 console=ttyS0,38400n8 reboot=bios No local APIC present or hardware disabled Initializing CPU#0 PID hash table entries: 256 (order: 8, 1024 bytes) Detected 233.291 MHz processor. Console: colour dummy device 80x25 console [tty0] enabled console [ttyS0] enabled Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) Memory: 62156k/65536k available (1405k kernel code, 2968k reserved, 583k data, 1 56k init, 0k highmem) virtual kernel memory layout: fixmap : 0xfffb9000 - 0xfffff000 ( 280 kB) vmalloc : 0xc4800000 - 0xfffb7000 ( 951 MB) lowmem : 0xc0000000 - 0xc4000000 ( 64 MB) .init : 0xc02f4000 - 0xc031b000 ( 156 kB) .data : 0xc025f7a8 - 0xc02f145c ( 583 kB) .text : 0xc0100000 - 0xc025f7a8 (1405 kB) Checking if this processor honours the WP bit even in supervisor mode...Ok. Calibrating delay using timer specific routine.. 467.38 BogoMIPS (lpj=2336921) Mount-cache hash table entries: 512 Compat vDSO mapped to ffffe000. CPU: NSC Unknown stepping 01 Checking 'hlt' instruction... OK. Checking for popad bug... OK. Freeing SMP alternatives: 0k freed net_namespace: 540 bytes NET: Registered protocol family 16 PCI: PCI BIOS revision 2.10 entry at 0xfc2b3, last bus=0 PCI: Using configuration type 1 Setting up standard PCI resources Linux Plug and Play Support v0.97 (c) Adam Belay PCI: Probing PCI hardware PCI: Device 0000:00:12.5 not found by BIOS NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 2048 (order: 2, 16384 bytes) TCP bind hash table entries: 2048 (order: 1, 8192 bytes) TCP: Hash tables configured (established 2048 bind 2048) TCP reno registered microcode: CPU0 not a capable Intel processor IA-32 Microcode Update Driver: v1.14a <tigran@aivazian.fsnet.co.uk> scx200: NatSemi SCx200 Driver scx200: GPIO base 0xf400 scx200: Configuration Block base 0x9000 squashfs: version 3.0 (2006/03/15) Phillip Lougher Registering mini_fo version $Id$ JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc. io scheduler noop registered io scheduler deadline registered (default) isapnp: Scanning for PnP cards... isapnp: No Plug & Play device found Real Time Clock Driver v1.12ac Non-volatile memory driver v1.2 Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing disabled serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a NS16550A serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a NS16550A Uniform Multi-Platform E-IDE driver ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx SC1200: IDE controller (0x100b:0x0502 rev 0x01) at PCI slot 0000:00:12.2 SC1200: not 100% native mode: will probe irqs later ide0: BM-DMA at 0xfc00-0xfc07, BIOS settings: hda:PIO, hdb:PIO ide1: BM-DMA at 0xfc08-0xfc0f, BIOS settings: hdc:PIO, hdd:PIO Clocksource tsc unstable (delta = -112236661 ns) hda: TOSHIBA THNCF064MMA, CFA DISK drive hda: applying conservative PIO "downgrade" hda: applying conservative PIO "downgrade" ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 hda: max request size: 128KiB hda: 125184 sectors (64 MB) w/2KiB Cache, CHS=978/4/32 hda: hda1 hda2 block2mtd: version $Revision: 1.30 $ Creating 1 MTD partitions on "rootfs": 0x00000000-0x03030000 : "rootfs" split_squashfs: no squashfs found in "rootfs" block2mtd: mtd0: [rootfs] erase_size = 64KiB [65536] PNP: No PS/2 controller found. Probing ports directly. i8042.c: No controller found. mice: PS/2 mouse device common for all mice enabling scx200 high-res timer (1 MHz +0 ppm) TCP vegas registered NET: Registered protocol family 1 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> Using IPI Shortcut mode VFS: Mounted root (jffs2 filesystem) readonly. Freeing unused kernel memory: 156k freed Please be patient, while OpenWrt loads ... - preinit - Press CTRL-C for failsafe - init - Please press Enter to activate this console. natsemi dp8381x driver, version 2.1, Sept 11, 2006 originally by Donald Becker <becker@scyld.com> 2.4.x kernel port by Jeff Garzik, Tjeerd Mulder natsemi eth0: NatSemi DP8381[56] at 0x80040000 (0000:00:0e.0), 00:0d:b9:00:0f:10, IRQ 10, port TP. natsemi eth1: NatSemi DP8381[56] at 0x80080000 (0000:00:10.0), 00:0d:b9:00:0f:11, IRQ 11, port TP. ^@^@PPP generic driver version 2.4.2 eth0: DSPCFG accepted after 0 usec. eth0: link up. eth0: Setting full-duplex based on negotiated link capability. br-lan: Dropping NETIF_F_UFO since no NETIF_F_HW_CSUM feature. device eth0 entered promiscuous mode br-lan: port 1(eth0) entering learning state br-lan: topology change detected, propagating br-lan: port 1(eth0) entering forwarding state ip_tables: (C) 2000-2006 Netfilter Core Team nf_conntrack version 0.5.0 (1024 buckets, 4096 max) ne2k-pci.c:v1.03 9/22/2003 D. Becker/P. Gortmaker br-lan: port 1(eth0) entering disabled state br-lan: port 1(eth0) entering learning state br-lan: topology change detected, propagating br-lan: port 1(eth0) entering forwarding state BusyBox v1.11.2 (2009-01-09 09:23:46 CET) 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 (8.09, r14511) ---------------------------- * 10 oz Vodka Shake well with ice and strain * 10 oz Triple sec mixture into 10 shot glasses. * 10 oz lime juice Salute! --------------------------------------------------- ^@root@OpenWrt:/#
Useful commands
uci show wireless wifi up opkg list_installed opkg list iw list