OpenWRT on Aruba AP-105

The Aruba AP-105 is an old wifi access point that only supports 2.4GHz and 5GHz wifi 4. But if we get the hardware for free, we do not complain. Certainly not when we can flash them with OpenWRT. This is the procedure I follow for flashing and a basic config of the AP.

Needed:

  • Aruba AP-105
  • 48V PoE injector or PoE switch
  • CAT5e or CAT6 patch cables
  • USB to RJ45 RS232 serial connection

Check https://openwrt.org/toh/aruba/ap-105 for the lasest information. You can use PuTTY on Linux fot the serial terminal.

Preparation of a temporary Linux host for initial OpenWRT installation:

IPv4-address fixed to 192.168.1.66, netmask 255.255.255.0

sudo mkdir /tftpboot
install tftpd-hpa

/etc/default/tftpd-hpa:

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure"

get the files from OpenWRT:

openwrt-23.05.2-ath79-generic-aruba_ap-105-initramfs-kernel.bin
openwrt-23.05.2-ath79-generic-aruba_ap-105-squashfs-sysupgrade.bin

remame openwrt-23.05.2-ath79-generic-aruba_ap-105-initramfs-kernel.bin to ap105.bin or symlink:

cd /tftpboot/
sudo ln -s openwrt-23.05.2-ath79-generic-aruba_ap-105-initramfs-kernel.bin ap105.bin
sudo ln -s openwrt-23.05.2-ath79-generic-aruba_ap-105-squashfs-sysupgrade.bin sysupgrade.bin

I use PuTTY and an USB to RJ45 RS232 serial adapter to connect to the CONSOLE port on the AP-105. NOTE: Hit CTRL + right click in PuTTY on linux to get a context menu that enables pasting and copying from the clipboard.

Hit ENTER at the appropriate moment to stop autoboot:

Hit to stop autoboot: 2 1 0
apboot>

setenv apb_rb_openwrt "setenv ipaddr 192.168.1.1; setenv serverip 192.168.1.66; netget 0x84000000 ap105.bin; go 0x84000040"

setenv apb_fb_openwrt "cp.b 0xbf040000 0x84000000 0x10000; go 0x84000040"

setenv bootcmd "run apb_fb_openwrt"

saveenv

run apb_rb_openwrt

Log on the serial console:

eth0 up: 1 Gb/s full duplex
Using eth0 device
TFTP from server 192.168.1.66; our IP address is 192.168.1.1
Filename 'ap105.bin'.
Load address: 0x84000000
Loading: #################################################################
         #####################
done
Bytes transferred = 5621832 (55c848 hex)
Invalid image format version: 0x7be2eb88
## Starting application at 0x84000040 ...


OpenWrt kernel loader for AR7XXX/AR9XXX
Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>
Decompressing kernel... done!
Starting kernel at 80060000...

[    0.000000] Linux version 5.15.137 (builder@buildhost) (mips-openwrt-linux-musl-gcc (OpenWrt GCC 12.3.0 r23630-842932a63d) 12.3.0, GNU ld (GNU Binutils) 2.40.0) #0 Tue Nov 14 13:38:11 2023
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019374 (MIPS 24Kc)
[    0.000000] MIPS: machine is Aruba AP-105
[    0.000000] SoC: Atheros AR7161 rev 2
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32480
[    0.000000] Kernel command line: console=ttyS0,9600 rootfstype=squashfs,jffs2
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 106808K/131072K available (6079K kernel code, 597K rwdata, 780K rodata, 15256K init, 217K bss, 24264K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 51
[    0.000000] CPU clock: 680.000 MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 5621354254 ns
[    0.000002] sched_clock: 32 bits at 340MHz, resolution 2ns, wraps every 6316128254ns
[    0.092894] Calibrating delay loop... 452.19 BogoMIPS (lpj=2260992)
[    0.227853] pid_max: default: 32768 minimum: 301
[    0.284136] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.371633] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.471183] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.588907] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.670362] pinctrl core: initialized pinctrl subsystem
[    0.734904] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.806424] thermal_sys: Registered thermal governor 'step_wise'
[    1.116378] gpio-5 (sda): enforced open drain please flag it properly in DT/ACPI DSDT/board file
[    1.293598] gpio-4 (scl): enforced open drain please flag it properly in DT/ACPI DSDT/board file
[    1.399192] i2c-gpio i2c: using lines 5 (SDA) and 4 (SCL)
[    1.465271] PCI host bridge to bus 0000:00
[    1.514304] pci_bus 0000:00: root bus resource [mem 0x10000000-0x16ffffff]
[    1.596590] pci_bus 0000:00: root bus resource [io  0x0000]
[    1.663314] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    1.758612] pci 0000:00:11.0: [168c:0029] type 00 class 0x028000
[    1.830506] pci 0000:00:11.0: reg 0x10: [mem 0x00000000-0x0000ffff]
[    1.905594] pci 0000:00:11.0: PME# supported from D0 D3hot
[    1.971543] pci 0000:00:12.0: [168c:0029] type 00 class 0x028000
[    2.043508] pci 0000:00:12.0: reg 0x10: [mem 0x00000000-0x0000ffff]
[    2.118570] pci 0000:00:12.0: PME# supported from D0 D3hot
[    2.184784] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[    2.263984] pci 0000:00:11.0: BAR 0: assigned [mem 0x10000000-0x1000ffff]
[    2.345240] pci 0000:00:12.0: BAR 0: assigned [mem 0x10010000-0x1001ffff]
[    2.427283] clocksource: Switched to clocksource MIPS
[    2.489287] NET: Registered PF_INET protocol family
[    2.548024] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    2.635549] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    2.735663] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    2.828369] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    2.920065] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    3.004486] TCP: Hash tables configured (established 1024 bind 1024)
[    3.080746] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    3.159010] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    3.242770] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    3.310627] PCI: CLS 0 bytes, default 32
[    3.584062] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    3.667057] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    3.736928] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    3.855008] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    3.946354] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    4.025183] printk: console [ttyS0] disabled
[    4.076457] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 10, base_baud = 10625000) is a 16550A
[    4.181719] printk: console [ttyS0] enabled
[    4.181719] printk: console [ttyS0] enabled
[    4.281801] printk: bootconsole [early0] disabled
[    4.281801] printk: bootconsole [early0] disabled
[    4.413396] spi-nor spi0.0: mx25l12805d (16384 Kbytes)
[    4.475088] 4 fixed-partitions partitions found on MTD device spi0.0
[    4.551323] OF: Bad cell count for /spi@1f000000/flash@0/partitions
[    4.626484] OF: Bad cell count for /spi@1f000000/flash@0/partitions
[    4.701860] OF: Bad cell count for /spi@1f000000/flash@0/partitions
[    4.777042] OF: Bad cell count for /spi@1f000000/flash@0/partitions
[    4.852700] Creating 4 MTD partitions on "spi0.0":
[    4.910104] 0x000000000000-0x000000040000 : "u-boot"
[    4.975413] 0x000000040000-0x000000fe0000 : "firmware"
[    5.065758] 0x000000fe0000-0x000000ff0000 : "hwinfo"
[    5.126437] 0x000000ff0000-0x000001000000 : "u-boot-env"
[    5.606416] ag71xx 19000000.eth: connected to PHY at mdio.0:00 [uid=004dd04e, driver=Generic PHY]
[    5.713571] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: rgmii
[    5.788164] i2c_dev: i2c /dev entries driver
[    5.842034] NET: Registered PF_INET6 protocol family
[    5.913548] Segment Routing with IPv6
[    5.957514] In-situ OAM (IOAM) with IPv6
[    6.004595] NET: Registered PF_PACKET protocol family
[    6.065220] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    6.220917] 8021q: 802.1Q VLAN Support v1.8
[    6.337005] Freeing unused kernel image (initmem) memory: 15256K
[    6.409031] This architecture does not have kernel memory protection.
[    6.486249] Run /init as init process
[    7.164691] init: Console is alive
[    7.206114] init: - watchdog -
[    7.243117] init: Watchdog has previously reset the system
[    7.334617] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    7.423341] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    7.520501] init: - preinit -
[    7.918125] random: jshn: uninitialized urandom read (4 bytes read)
[    8.149188] random: jshn: uninitialized urandom read (4 bytes read)
[    8.256266] random: jshn: uninitialized urandom read (4 bytes read)
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[   10.771546] procd: - early -
[   10.806489] procd: - watchdog -
[   10.844562] procd: Watchdog has previously reset the system
[   11.535462] procd: - watchdog -
[   11.573274] procd: Watchdog has previously reset the system
[   11.640440] procd: - ubus -
[   11.684088] random: ubusd: uninitialized urandom read (4 bytes read)
[   11.763916] random: ubusd: uninitialized urandom read (4 bytes read)
[   11.840674] random: ubusd: uninitialized urandom read (4 bytes read)
[   11.920786] procd: - init -
Please press Enter to activate this console.
[   12.705658] kmodloader: loading kernel modules from /etc/modules.d/*
[   13.361052] Loading modules backported from Linux version v6.1.24-0-g0102425ac76b
[   13.450859] Backport generated by backports.git v5.15.92-1-44-gd6ea70fafd36
[   13.938198] PPP generic driver version 2.4.2
[   14.048257] NET: Registered PF_PPPOX protocol family
[   14.248025] ath9k 0000:00:11.0: enabling device (0000 -> 0002)
[   15.194674] ieee80211 phy0: Atheros AR9280 Rev:2 mem=0xb0000000, irq=15
[   15.274450] ath9k 0000:00:12.0: enabling device (0000 -> 0002)
[   16.890139] urngd: v1.0.2 started.
[   18.307010] ieee80211 phy1: Atheros AR9280 Rev:2 mem=0xb0010000, irq=16
[   20.295660] random: crng init done
[   20.336456] random: 28 urandom warning(s) missed due to ratelimiting
[   20.634860] kmodloader: done loading kernel modules from /etc/modules.d/*
[   51.488069] br-lan: port 1(eth0) entered blocking state
[   51.550730] br-lan: port 1(eth0) entered disabled state
[   51.613611] device eth0 entered promiscuous mode
[   54.597859] eth0: link up (1000Mbps/Full duplex)
[   54.707398] br-lan: port 1(eth0) entered blocking state
[   54.770084] br-lan: port 1(eth0) entered forwarding state
[   54.967371] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready



BusyBox v1.36.1 (2023-11-14 13:38:11 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 23.05.2, r23630-842932a63d
 -----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt:/#

Once OpenWrt booted, you will see Please press Enter to activate this console. Transfer the sysupgrade image to the AP using scp and use sysupgrade to install the firmware.

root@OpenWrt:/# scp myuser@192.168.1.66:/tftpboot/sysupgrade.bin .
myuser@192.168.1.66's password: 

Perform the sysupgrade:

root@OpenWrt:/# sysupgrade sysupgrade.bin

Sysupgrade log:

Tue Nov 14 14:00:08 UTC 2023 upgrade: Image not in /tmp, copying...
Cannot save config while running from ramdisk.
Tue Nov 14 14:00:08 UTC 2023 upgrade: Commencing upgrade. Closing all shell sessions.
Watchdog handover: fd=3
- watchdog -
Watchdog has previously reset the system
Tue Nov 14 14:00:09 UTC 2023 upgrade: Sending TERM to remaining processes ...
Tue Nov 14 14:00:13 UTC 2023 upgrade: Sending KILL to remaining processes ...
[ 1340.991622] stage2 (2750): drop_caches: 3
Tue Nov 14 14:00:20 UTC 2023 upgrade: Switching to ramdisk...
Tue Nov 14 14:00:22 UTC 2023 upg[ 1343.815901] do_stage2 (2750): drop_caches: 3
rade: Performing system upgrade...
Unlocking firmware ...

Writing from <stdin> to firmware ...
Appending jffs2 data from /tmp/sysupgrade.tgz to firmware..
.File /tmp/sysupgrade.tgz does not exist
Tue Nov 14 14:01:22 UTC 2023 upgrade: Upgrade completed
Tue Nov 14 14:01:23 UTC 2023 upg[ 1404.101708] Deleting MTD partitions on "spi0.0":
rade: Rebooting [ 1404.173882] Deleting u-boot MTD partition
system...
umoun[ 1404.239288] Deleting firmware MTD partition
t: can't unmount[ 1404.306145] Deleting hwinfo MTD partition
 /dev: Resource [ 1404.370829] Deleting u-boot-env MTD partition
busy
umount: ca[ 1404.440115] reboot: Restarting system

Automatic bootafter sysupgrade:

APBoot 1.4.0.3 (build 37726)
Built: 2013-03-21 at 20:13:41

Model: AP-10x
CPU:   AR7161 revision: A2
Clock: 680 MHz, DDR clock: 340 MHz, Bus clock: 170 MHz
DRAM:  128 MB
POST1: passed
Copy:  done
Flash: 16 MB
PCI:   scanning bus 0 ...
       dev fn venID devID class  rev    MBAR0    MBAR1    MBAR2    MBAR3
       00  00  168c  0029 00002   01 10000000 00000000 00000000 00000000
       01  00  168c  0029 00002   01 10010000 00000000 00000000 00000000
Net:   eth0
Radio: ar922x#0, ar922x#1

Hit <Enter> to stop autoboot:  0
## Starting application at 0x84000040 ...


OpenWrt kernel loader for AR7XXX/AR9XXX
Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>
Looking for OpenWrt image... found at 0xbf042000
Decompressing kernel... done!
Starting kernel at 80060000...

[    0.000000] Linux version 5.15.137 (builder@buildhost) (mips-openwrt-linux-musl-gcc (OpenWrt GCC 12.3.0 r23630-842932a63d) 12.3.0, GNU ld (GNU Binutils) 2.40.0) #0 Tue Nov 14 13:38:11 2023
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019374 (MIPS 24Kc)
[    0.000000] MIPS: machine is Aruba AP-105
[    0.000000] SoC: Atheros AR7161 rev 2
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32480
[    0.000000] Kernel command line: console=ttyS0,9600 rootfstype=squashfs,jffs2
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 120824K/131072K available (6079K kernel code, 597K rwdata, 780K rodata, 1240K init, 217K bss, 10248K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 51
[    0.000000] CPU clock: 680.000 MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 5621354254 ns
[    0.000002] sched_clock: 32 bits at 340MHz, resolution 2ns, wraps every 6316128254ns
[    0.092894] Calibrating delay loop... 452.19 BogoMIPS (lpj=2260992)
[    0.227853] pid_max: default: 32768 minimum: 301
[    0.284136] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.371635] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.471208] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.589011] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.670469] pinctrl core: initialized pinctrl subsystem
[    0.735013] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.806526] thermal_sys: Registered thermal governor 'step_wise'
[    1.116455] gpio-5 (sda): enforced open drain please flag it properly in DT/ACPI DSDT/board file
[    1.293598] gpio-4 (scl): enforced open drain please flag it properly in DT/ACPI DSDT/board file
[    1.399194] i2c-gpio i2c: using lines 5 (SDA) and 4 (SCL)
[    1.465276] PCI host bridge to bus 0000:00
[    1.514304] pci_bus 0000:00: root bus resource [mem 0x10000000-0x16ffffff]
[    1.596591] pci_bus 0000:00: root bus resource [io  0x0000]
[    1.663315] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    1.758614] pci 0000:00:11.0: [168c:0029] type 00 class 0x028000
[    1.830508] pci 0000:00:11.0: reg 0x10: [mem 0x00000000-0x0000ffff]
[    1.905595] pci 0000:00:11.0: PME# supported from D0 D3hot
[    1.971543] pci 0000:00:12.0: [168c:0029] type 00 class 0x028000
[    2.043508] pci 0000:00:12.0: reg 0x10: [mem 0x00000000-0x0000ffff]
[    2.118570] pci 0000:00:12.0: PME# supported from D0 D3hot
[    2.184785] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[    2.263984] pci 0000:00:11.0: BAR 0: assigned [mem 0x10000000-0x1000ffff]
[    2.345241] pci 0000:00:12.0: BAR 0: assigned [mem 0x10010000-0x1001ffff]
[    2.427301] clocksource: Switched to clocksource MIPS
[    2.489290] NET: Registered PF_INET protocol family
[    2.548023] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    2.635556] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    2.735665] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    2.828369] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    2.920066] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    3.004487] TCP: Hash tables configured (established 1024 bind 1024)
[    3.080749] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    3.159010] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    3.242769] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    3.310626] PCI: CLS 0 bytes, default 32
[    3.361093] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    3.444107] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    3.513959] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    3.632104] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    3.723363] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    3.802210] printk: console [ttyS0] disabled
[    3.853491] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 10, base_baud = 10625000) is a 16550A
[    3.958761] printk: console [ttyS0] enabled
[    3.958761] printk: console [ttyS0] enabled
[    4.058834] printk: bootconsole [early0] disabled
[    4.058834] printk: bootconsole [early0] disabled
[    4.190509] spi-nor spi0.0: mx25l12805d (16384 Kbytes)
[    4.252218] 4 fixed-partitions partitions found on MTD device spi0.0
[    4.328410] OF: Bad cell count for /spi@1f000000/flash@0/partitions
[    4.403506] OF: Bad cell count for /spi@1f000000/flash@0/partitions
[    4.478887] OF: Bad cell count for /spi@1f000000/flash@0/partitions
[    4.554073] OF: Bad cell count for /spi@1f000000/flash@0/partitions
[    4.629728] Creating 4 MTD partitions on "spi0.0":
[    4.687149] 0x000000000000-0x000000040000 : "u-boot"
[    4.752360] 0x000000040000-0x000000fe0000 : "firmware"
[    4.815432] 2 uimage-fw partitions found on MTD device firmware
[    4.886457] Creating 2 MTD partitions on "firmware":
[    4.945895] 0x000000000000-0x000000240000 : "kernel"
[    5.008184] 0x000000240000-0x000000fa0000 : "rootfs"
[    5.068864] mtd: setting mtd3 (rootfs) as root device
[    5.130511] 1 squashfs-split partitions found on MTD device rootfs
[    5.204657] 0x0000005b0000-0x000000fa0000 : "rootfs_data"
[    5.271312] 0x000000fe0000-0x000000ff0000 : "hwinfo"
[    5.332019] 0x000000ff0000-0x000001000000 : "u-boot-env"
[    5.791537] ag71xx 19000000.eth: connected to PHY at mdio.0:00 [uid=004dd04e, driver=Generic PHY]
[    5.898714] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: rgmii
[    5.973318] i2c_dev: i2c /dev entries driver
[    6.027145] NET: Registered PF_INET6 protocol family
[    6.099029] Segment Routing with IPv6
[    6.143065] In-situ OAM (IOAM) with IPv6
[    6.190139] NET: Registered PF_PACKET protocol family
[    6.250746] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    6.406553] 8021q: 802.1Q VLAN Support v1.8
[    6.474567] VFS: Mounted root (squashfs filesystem) readonly on device 31:3.
[    6.564200] Freeing unused kernel image (initmem) memory: 1240K
[    6.635121] This architecture does not have kernel memory protection.
[    6.712314] Run /sbin/init as init process
[    7.780317] init: Console is alive
[    7.821752] init: - watchdog -
[    9.536276] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    9.729546] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    9.826814] init: - preinit -
[   11.889390] random: jshn: uninitialized urandom read (4 bytes read)
[   12.487727] random: jshn: uninitialized urandom read (4 bytes read)
[   12.594788] random: jshn: uninitialized urandom read (4 bytes read)
[   12.930319] random: procd: uninitialized urandom read (4 bytes read)
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[   15.255908] mount_root: jffs2 not ready yet, using temporary tmpfs overlay
[   15.343004] urandom-seed: Seed file not found (/etc/urandom.seed)
[   15.623528] procd: - early -
[   15.658457] procd: - watchdog -
[   16.525980] procd: - watchdog -
[   16.564255] procd: - ubus -
[   16.790203] random: ubusd: uninitialized urandom read (4 bytes read)
[   16.869734] random: ubusd: uninitialized urandom read (4 bytes read)
[   16.946534] random: ubusd: uninitialized urandom read (4 bytes read)
[   17.032660] procd: - init -
Please press Enter to activate this console.
[   18.195100] random: jshn: uninitialized urandom read (4 bytes read)
[   18.424900] kmodloader: loading kernel modules from /etc/modules.d/*
[   18.545393] random: ubusd: uninitialized urandom read (4 bytes read)
[   18.797582] random: ubus: uninitialized urandom read (4 bytes read)
[   19.399380] Loading modules backported from Linux version v6.1.24-0-g0102425ac76b
[   19.489185] Backport generated by backports.git v5.15.92-1-44-gd6ea70fafd36
[   20.544135] PPP generic driver version 2.4.2
[   20.658307] NET: Registered PF_PPPOX protocol family
[   20.847813] ath9k 0000:00:11.0: enabling device (0000 -> 0002)
[   21.794825] ieee80211 phy0: Atheros AR9280 Rev:2 mem=0xb0000000, irq=15
[   21.874493] ath9k 0000:00:12.0: enabling device (0000 -> 0002)
[   22.766434] urngd: v1.0.2 started.
[   24.457000] ieee80211 phy1: Atheros AR9280 Rev:2 mem=0xb0010000, irq=16
[   26.318019] random: crng init done
[   26.358834] random: 24 urandom warning(s) missed due to ratelimiting
[   26.897829] kmodloader: done loading kernel modules from /etc/modules.d/*
[   57.758840] jffs2_scan_eraseblock(): End of filesystem marker found at 0x0
[   58.007410] jffs2_build_filesystem(): unlocking the mtd device...
[   58.007505] done.
[   58.104599] jffs2_build_filesystem(): erasing all blocks after the end marker...
[   59.449725] br-lan: port 1(eth0) entered blocking state
[   59.602103] br-lan: port 1(eth0) entered disabled state
[   59.665035] device eth0 entered promiscuous mode
[   62.598027] eth0: link up (1000Mbps/Full duplex)
[   62.826290] br-lan: port 1(eth0) entered blocking state
[   62.888979] br-lan: port 1(eth0) entered forwarding state
[   63.397398] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready



BusyBox v1.36.1 (2023-11-14 13:38:11 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 23.05.2, r23630-842932a63d
 -----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt:/# [  132.226333] done.
[  132.249365] jffs2: notice: (2004) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
[  132.686573] overlayfs: upper fs does not support tmpfile.

Change the configuration from the fixed IP 192.168.1.1 to a dynamic IP-address in /etc/config/network:

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fdbf:748e:0b70::/48'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'eth0'

config interface 'lan'
        option device 'br-lan'
        option proto 'dhcp'
#       option proto 'static'
#       option ipaddr '192.168.1.1'
#       option netmask '255.255.255.0'
#       option ip6assign '60'

Turn off the AP:

root@OpenWrt:/# poweroff

Plug the AP on a regular lan network and check the IP address on the serial console or chech the assigned DHCP addresses on your router.

But, you also simply should be able to “ping openwrt” and surf to http://openwrt/

ssh root@openwrt

Change the hostname to ap-xxxxxx where xxxxxx are the last 3 bytes of the AP ethernet MAC-address in hex. Also set the timezone to CET:

sed -i -e "s/option hostname '.*'/option hostname 'ap-$(cat /sys/class/net/eth0/address | awk -F':' '{print $4$5$6}')'/g; s/option timezone 'UTC'/option timezone 'CET'/" /etc/config/system

Enable wifi (bridged to ethernet) and change SSID to ap-xxxxxx:

sed -i -e "s/option disabled '1'/option disabled '0'/g; s/option ssid 'OpenWrt'/option ssid 'ap-$(cat /sys/class/net/eth0/address | awk -F':' '{print $4$5$6}')'/g; s/option channel '1'/option channel 'auto'/g; s/option channel '36'/option channel 'auto'/g" /etc/config/wireless

Remove the HT20 config lines from the wireless config:

sed -i '/option htmode '\''HT20'\''/d' /etc/config/wireless

Add HT20 for radio0 and HT40 for radio1:

sed -i -e "/config wifi-device 'radio0'/a\\\toption htmode 'HT20'" -e "/config wifi-device 'radio1'/a\\\toption htmode 'HT40'" /etc/config/wireless

Set the country to BE:

sed -i -e "/config wifi-device 'radio0'/a\\\toption country 'BE'" -e "/config wifi-device 'radio1'/a\\\toption country 'BE'" /etc/config/wireless

At last restart:

reboot

Leave a Reply

Your email address will not be published. Required fields are marked *