Aruba AP-105 boots OpenWrt firmware, but it's gone after reboot

I'm attempting to load >22.03.5 firmware on my Aruba AP-105 and am unable to make it stick.

My AP console log looks identical to the one in the guide, including the apboot version:

APBoot 1.2.4.4 (build 26618)
Built: 2011-01-07 at 13:42:04

Per the toh guide, replacing apboot is no longer required. However, the new instructions aren't working for me. I've tried the kernel that is linked (openwrt-23.05.5-ath79-generic-aruba_ap-105-initramfs-kernel.bin) and a few other versions, followed by an upgrade and the result is always the same, the AP boots the Aruba firmware.

One interesting thing is that running these first commands boots OpenWrt:

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

Thus, there is no opportunity to run the others (including saveenv).

I did attempt to run the commands without the "go" parts. But, "run apb_fb_openwrt" doesn't start OpenWRT even though the TFTP transfer completes successfully. I've tried it multiple times.

Any idea what I might be missing?

I flashed all my AP105's with the replacement u-boot... (40+ hahaha)

Are you running sysupgrade with -n?
Is it actually writing to the flash or is it aborting?

Can you please provide serial console logs of what you're doing?

if you're on the initramfs, at least for another target I found it couldn't detect board version because it was on initramfs so a sysupgrade without -n did nothing.

Gave it another try just now:

APBoot 1.2.4.4 (build 26618)
Built: 2011-01-07 at 13:42:04

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
apboot>
apboot>
apboot> setenv apb_rb_openwrt "setenv ipaddr 192.168.1.236;
apboot> setenv serverip 192.168.1.170;
apboot> netget 0x84000000 ap105.bin; go 0x84000040"
eth0 up: 1 Gb/s full duplex
DHCP broadcast 1
*** Unhandled DHCP Option in OFFER/ACK: 28
*** Unhandled DHCP Option in OFFER/ACK: 28
DHCP IP address: 192.168.1.125
DHCP subnet mask: 255.255.255.0
DHCP def gateway: 192.168.1.1
DHCP DNS server: 192.168.1.1
DHCP DNS domain: lan
Using eth0 device
TFTP from server 192.168.1.170; our IP address is 192.168.1.125
Filename 'ap105.bin'.
Load address: 0x84000000
Loading: #################################################################
         #T ####################
done
Bytes transferred = 5636093 (55fffd hex)
Invalid image format version: 0x3090d38c
## 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.10.176 (builder@buildhost) (mips-openwrt-linux-musl-gcc (OpenWrt GCC 11.2.0 r20134-5f15225c1e) 11.2.0, GNU ld (GNU Binutils) 2.37) #0 Thu Apr 27 20:28:15 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: 110472K/131072K available (5884K kernel code, 605K rwdata, 748K rodata, 11824K init, 210K bss, 20600K 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.000008] sched_clock: 32 bits at 340MHz, resolution 2ns, wraps every 6316128254ns
[    0.092887] Calibrating delay loop... 452.19 BogoMIPS (lpj=2260992)
[    0.227858] pid_max: default: 32768 minimum: 301
[    0.283302] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.370797] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.465628] dyndbg: Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE build
[    0.559955] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.677704] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.759077] pinctrl core: initialized pinctrl subsystem
[    0.825976] NET: Registered protocol family 16
[    0.880000] thermal_sys: Registered thermal governor 'step_wise'
[    1.183507] PCI host bridge /ahb/apb/pcie-controller@17010000 ranges:
[    1.332540]  MEM 0x0000000010000000..0x0000000016ffffff
[    1.395076]   IO 0x0000000000000000..0x0000000000000000
[    1.496597] gpio-5 (sda): enforced open drain please flag it properly in DT/ACPI DSDT/board file
[    1.601889] gpio-4 (scl): enforced open drain please flag it properly in DT/ACPI DSDT/board file
[    1.708213] i2c-gpio i2c: using lines 5 (SDA) and 4 (SCL)
[    1.774258] PCI host bridge to bus 0000:00
[    1.823267] pci_bus 0000:00: root bus resource [mem 0x10000000-0x16ffffff]
[    1.905549] pci_bus 0000:00: root bus resource [io  0x0000]
[    1.972274] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[    2.053570] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    2.148851] pci 0000:00:11.0: [168c:0029] type 00 class 0x028000
[    2.220766] pci 0000:00:11.0: reg 0x10: [mem 0x00000000-0x0000ffff]
[    2.295846] pci 0000:00:11.0: PME# supported from D0 D3hot
[    2.362547] pci 0000:00:12.0: [168c:0029] type 00 class 0x028000
[    2.434494] pci 0000:00:12.0: reg 0x10: [mem 0x00000000-0x0000ffff]
[    2.509547] pci 0000:00:12.0: PME# supported from D0 D3hot
[    2.576535] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[    2.655805] pci 0000:00:11.0: BAR 0: assigned [mem 0x10000000-0x1000ffff]
[    2.737061] pci 0000:00:12.0: BAR 0: assigned [mem 0x10010000-0x1001ffff]
[    2.826699] clocksource: Switched to clocksource MIPS
[    2.888405] NET: Registered protocol family 2
[    2.940884] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    3.028206] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    3.128341] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    3.220092] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    3.304485] TCP: Hash tables configured (established 1024 bind 1024)
[    3.380731] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    3.458900] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    3.542538] NET: Registered protocol family 1
[    3.594781] PCI: CLS 0 bytes, default 32
[    3.837600] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    3.919247] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    3.989141] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    4.107802] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    4.198465] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    4.276904] printk: console [ttyS0] disabled
[    4.328130] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 10, base_baud = 10625000) is a 16550A
[    4.433425] printk: console [ttyS0] enabled
[    4.433425] printk: console [ttyS0] enabled
[    4.533508] printk: bootconsole [early0] disabled
[    4.533508] printk: bootconsole [early0] disabled
[    4.663120] spi-nor spi0.0: mx25l12805d (16384 Kbytes)
[    4.724822] 4 fixed-partitions partitions found on MTD device spi0.0
[    4.801018] OF: Bad cell count for /spi@1f000000/flash@0/partitions
[    4.876101] OF: Bad cell count for /spi@1f000000/flash@0/partitions
[    4.952336] OF: Bad cell count for /spi@1f000000/flash@0/partitions
[    5.027509] OF: Bad cell count for /spi@1f000000/flash@0/partitions
[    5.104136] Creating 4 MTD partitions on "spi0.0":
[    5.161604] 0x000000000000-0x000000040000 : "u-boot"
[    5.226939] 0x000000040000-0x000000fe0000 : "firmware"
[    5.289847] 2 uimage-fw partitions found on MTD device firmware
[    5.360819] Creating 2 MTD partitions on "firmware":
[    5.420267] 0x000000000000-0x000000240000 : "kernel"
[    5.482240] 0x000000240000-0x000000fa0000 : "rootfs"
[    5.542736] mtd: setting mtd3 (rootfs) as root device
[    5.604229] 1 squashfs-split partitions found on MTD device rootfs
[    5.678391] 0x0000005c0000-0x000000fa0000 : "rootfs_data"
[    5.744889] 0x000000fe0000-0x000000ff0000 : "hwinfo"
[    5.805564] 0x000000ff0000-0x000001000000 : "u-boot-env"
[    6.274096] ag71xx 19000000.eth: connected to PHY at mdio.0:00 [uid=004dd04e, driver=Generic PHY]
[    6.381145] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: rgmii
[    6.455606] i2c /dev entries driver
[    6.499489] NET: Registered protocol family 10
[    6.561971] Segment Routing with IPv6
[    6.605979] NET: Registered protocol family 17
[    6.659262] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    6.814625] 8021q: 802.1Q VLAN Support v1.8
[    6.916547] Freeing unused kernel memory: 11824K
[    6.971847] This architecture does not have kernel memory protection.
[    7.049035] Run /init as init process
[    7.690596] init: Console is alive
[    7.731959] init: - watchdog -
[    7.793592] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    7.881579] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    7.978760] init: - preinit -
[    8.317600] random: jshn: uninitialized urandom read (4 bytes read)
[    8.543006] random: jshn: uninitialized urandom read (4 bytes read)
[    8.649892] 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
[   13.105351] procd: - early -
[   13.140371] procd: - watchdog -
[   13.805632] procd: - watchdog -
[   13.843678] procd: - ubus -
[   13.886821] random: ubusd: uninitialized urandom read (4 bytes read)
[   13.965621] random: ubusd: uninitialized urandom read (4 bytes read)
[   14.042406] random: ubusd: uninitialized urandom read (4 bytes read)
[   14.122219] procd: - init -
Please press Enter to activate this console.
[   14.889494] kmodloader: loading kernel modules from /etc/modules.d/*
[   15.486164] urngd: v1.0.2 started.
[   15.554475] Loading modules backported from Linux version v5.15.92-0-ge515b9902f5f
[   15.645229] Backport generated by backports.git v5.15.92-1-0-gdfe0f60c
[   15.980299] random: crng init done
[   16.021063] random: 28 urandom warning(s) missed due to ratelimiting
[   16.176173] PPP generic driver version 2.4.2
[   16.230943] NET: Registered protocol family 24
[   16.325986] ath9k 0000:00:11.0: enabling device (0000 -> 0002)
[   17.203862] ieee80211 phy0: Atheros AR9280 Rev:2 mem=0xb0000000, irq=15
[   17.283527] ath9k 0000:00:12.0: enabling device (0000 -> 0002)
[   18.748214] ieee80211 phy1: Atheros AR9280 Rev:2 mem=0xb0010000, irq=16
[   19.317225] kmodloader: done loading kernel modules from /etc/modules.d/*



BusyBox v1.35.0 (2023-04-27 20:28:15 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 22.03.5, r20134-5f15225c1e
 -----------------------------------------------------
=== 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:/# uci set network.lan.ipaddr='192.168.1.236'
root@OpenWrt:/# uci commit network
root@OpenWrt:/# [   52.999818] br-lan: port 1(eth0) entered blocking state
[   53.062475] br-lan: port 1(eth0) entered disabled state
[   53.125371] device eth0 entered promiscuous mode
/etc/init.d/network restart
'radio0' is disabled
'radio1' is disabled
[   56.280849] device eth0 left promiscuous mode
[   56.333347] br-lan: port 1(eth0) entered disabled state
root@OpenWrt:/# /etc/init.d/network restart
[   62.408865] br-lan: port 1(eth0) entered blocking state
[   62.471490] br-lan: port 1(eth0) entered disabled state
[   62.534426] device eth0 entered promiscuous mode
'radio0' is disabled
'radio1' is disabled
[   62.829348] device eth0 left promiscuous mode
[   62.881801] br-lan: port 1(eth0) entered disabled state
root@OpenWrt:/# [   70.267335] br-lan: port 1(eth0) entered blocking state
[   70.330011] br-lan: port 1(eth0) entered disabled state
[   70.392910] device eth0 entered promiscuous mode
[   73.407333] eth0: link up (1000Mbps/Full duplex)
[   73.654948] br-lan: port 1(eth0) entered blocking state
[   73.717565] br-lan: port 1(eth0) entered forwarding state
[   74.173548] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready

root@OpenWrt:/#
root@OpenWrt:/# cd /root/
root@OpenWrt:~# sysupgrade -v -n openwrt-23.05.5-ath79-generic-aruba_ap-105-squa
shfs-sysupgrade.bin
Thu Apr 27 20:29:39 UTC 2023 upgrade: Image not in /tmp, copying...
Thu Apr 27 20:29:40 UTC 2023 upgrade: Commencing upgrade. Closing all shell sessions.
Watchdog handover: fd=3
- watchdog -
Watchdog did not previously reset the system
Thu Apr 27 20:29:41 UTC 2023 upgrade: Sending TERM to remaining processes ...
Thu Apr 27 20:29:45 UTC 2023 upgrade: Sending KILL to remaining processes ...
[  110.693663] stage2 (3728): drop_caches: 3
Thu Apr 27 20:29:51 UTC 2023 upgrade: Switching to ramdisk...
Thu Apr 27 20:29:54 UTC 2023 upg[  113.359362] do_stage2 (3728): drop_caches: 3
rade: Performing system upgrade...
Unlocking firmware ...

Writing from <stdin> to firmware ...
Thu Apr 27 20:30:51 UTC 2023 upgrade: Upgrade completed
Thu Apr 27 20:30:52 UTC 2023 upg[  172.146108] Deleting MTD partitions on "spi0.0":
rade: Rebooting [  172.214424] Deleting u-boot MTD partition
system...
umoun[  172.280001] Deleting kernel MTD partition
t: can't unmount[  172.344664] Deleting rootfs MTD partition
 /dev: Resource [  172.409268] Deleting rootfs_data MTD partition
busy
umount: ca[  172.479204] Deleting firmware MTD partition
n't unmount /tmp[  172.546026] Deleting hwinfo MTD partition
[  172.610765] Deleting u-boot-env MTD partition

[  172.679987] reboot: Restarting system


APBoot 1.2.4.4 (build 26618)
Built: 2011-01-07 at 13:42:04

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
Booting OS partition 0
Checking image @ 0xbf100000
Invalid image format version: 0x394827af
Checking image @ 0xbf800000

Image is signed; verifying checksum... passed
Signer Cert OK
Policy Cert OK
RSA signature verified.
ELF file is 32 bit
Loading .text @ 0x80e00000 (6145288 bytes)
Loading .data @ 0x813dc510 (32 bytes)
Clearing .bss @ 0x813dc530 (16 bytes)
## Starting application at 0x80e00000 ...
Uncompressing..........................................................
▒
Aruba Networks
ArubaOS Version 6.2.1.0-3.3.0.2 (build 38733 / label #38733)
Built by p4build@cyprus on 2013-06-21 at 00:00:31 PDT (gcc version 4.3.3)
CPU Rev: aa
71x CPU
Flash variant: default
Cache parity protection disabled
Using 340.000 MHz high precision timer. cycles_per_jiffy=680000
Memory: 120704k/131072k available (1687k kernel code, 10252k reserved, 625k data, 5336k init, 0k highmem)
 available.
detected lzma initramfs
initramfs: LZMA lc=3,lp=0,pb=2,dictSize=8388608,origSize=26222592
LZMA initramfs by Ming-Ching Tiew <mctiew@yahoo.com> .................................................................................................................................................................................................................................................................................................................................................................................................................
AR7100 GPIOC major 0
wdt: registered with refresh
Enabling Watchdog
Talisker RSSI LED initialization
Creating 1 MTD partitions on "ar7100-nor0":
0x00000000-0x01000000 : "flash"
i2c /dev entries driver
i2c-talisker: using default base 0x18040000
AD7416 driver probing for devices on AR7100 I2C
.<6>lo: Disabled Privacy Extensions
IPv6 over IPv4 tunneling driver

Starting Kernel SHA1 KAT ...Completed Kernel SHA1 KAT
Starting Kernel HMAC-SHA1 KAT ...Completed Kernel HMAC-SHA1 KAT
Starting Kernel DES KAT ...Completed Kernel DES KAT
Starting Kernel AES KAT ...Completed Kernel AES KAT

Domain Name: arubanetworks.com
No panic info available
Testing TPM... Passed
ag7100_mod: module license 'unspecified' taints kernel.
AG7100: Length per segment 512
AG7100: Max segments per packet 4
AG7100: Max tx descriptor count    400
AG7100: Max rx descriptor count    252
AG7100: fifo cfg 3 018001ff
AG7100CHH: Mac address for unit 0
AG7100CHH: 24:de:c6:c3:e6:70
ATHRF1: Port 0, Neg Success
ATHRF1: unit 0 phy addr 0 ATHRF1: reg0 0
ag7100_ring_alloc Allocated 4800 at 0x811f4000
ag7100_ring_alloc Allocated 3024 at 0x864dc000
AG7100: cfg1 0xf cfg2 0x7014
ATHRF1: Port 0, Neg Success
ATHRF1: unit 0 phy addr 0 ATHRF1: reg0 3100
AG7100: unit 0: phy not up carrier 1
Writing 4
ADDRCONF(NETDEV_UP): bond0: link is not ready
AG7100: unit 0 phy is up...RGMii 1000Mbps full duplex
AG7100: pll reg 0x18050010: 0x110000  AG7100: cfg_1: 0x1ff0000
AG7100: cfg_2: 0x3ff
AG7100: cfg_3: 0x18001ff
AG7100: cfg_4: 0xffff
AG7100: cfg_5: 0xfffef
AG7100: done cfg2 0x7215 ifctl 0x0 miictrl 0x22
ADDRCONF(NETDEV_CHANGE): bond0: link becomes ready
wifi uplink not present...
Ethernet uplink active. Becoming Mesh Portal
AP xml model 39, num_radios 2 (jiffies 14112)
init_asap_mod: installation:0
radio 0: band 1 ant 0 max_ssid 8
radio 1: band 0 ant 0 max_ssid 8
election init: rand=17 HZ=500
setting bond0 as bridge child
setting gre0 as split child
notify asap_mod 3g no present...
Starting watchdog process...
Getting an IP address...
Dec 31 16:00:28 udhcpc[792]: udhcpc (v0.9.9-pre) started
Dec 31 16:00:28 udhcpc[792]: send_discover: pkt num 0, secs 0
Dec 31 16:00:28 udhcpc[792]: Sending discover...
Dec 31 16:00:28 udhcpc[792]: send_selecting: pkt num 0, secs 0
Dec 31 16:00:28 udhcpc[792]: Sending select for 192.168.1.125...
Dec 31 16:00:28 udhcpc[792]: Lease of 192.168.1.125 obtained, lease time 43200
Dec 31 16:00:28 udhcpc[792]: DHCP OPT 43 deleted airwave config

192.168.1.125 255.255.255.0 192.168.1.1
Compressing all files in the /etc/httpd directory...
ip_time_handler: Got ip and packets on bond0 Started master election 17-0
Done.
Starting Webserver
bind: Transport endpoint is not connected
bind: Transport endpoint is not connected
bind: Transport endpoint is not connected
NTP Server not saved in flash... using default
ath_hal: 0.9.17.1 (AR5416, AR9380, REGOPS_FUNC, PRIVATE_DIAG, WRITE_EEPROM, 11D)
ath_rate_atheros: Copyright (c) 2001-2005 Atheros Communications, Inc, All Rights Reserved
ath_rate_atheros: Aruba Networks Rate Control Algorithm
ath_dfs: Version 2.0.0
Copyright (c) 2005-2006 Atheros Communications, Inc. All Rights Reserved
ath_spectrum: Version 2.0.0
Copyright (c) 2005-2006 Atheros Communications, Inc. All Rights Reserved
ath_dev: Copyright (c) 2001-2007 Atheros Communications, Inc, All Rights Reserved
ath_pci: 0.9.4.5 (Atheros/multi-bss)
wifi0: Base BSSID 24:de:c6:be:67:08, 8 available BSSID(s)
bond0 address=24:de:c6:c3:e6:70
br0 address=24:de:c6:c3:e6:70
wifi0: AP type AP-105, radio 0, max_bssids 8
wifi0: Atheros 9280: mem=0x10010000, irq=49 hw_base=0xb0010000
wifi1: Base BSSID 24:de:c6:be:67:00, 8 available BSSID(s)
bond0 address=24:de:c6:c3:e6:70
br0 address=24:de:c6:c3:e6:70
wifi1: AP type AP-105, radio 1, max_bssids 8
wifi1: Atheros 9280: mem=0x10000000, irq=48 hw_base=0xb0000000
ath_ahb: 0.9.4.5 (Atheros/multi-bss)

Starting FIPS KAT ... Completed FIPS KAT

shutting down watchdog process (nanny will restart it)...

        <<<<<       Welcome to the Access Point     >>>>>

Launching IAP CLI...
process `snmpd' is using obsolete setsockopt SO_BSDCOMPAT

i am master now
(04:27:38) !!! Init ---> Master
asap_send_elected_master: sent successfully
User: AG7100: unit 0: phy not up carrier 1
vap aruba000 vlan is 0. fwd-mode:0 mesh
Picked up default IP a9fe0f6e, rand f6e!
Default IP is ready!

1 Like

Thanks for the output.

Sorry can't try to replicate your problem without flashing one of my AP105's back to stock bootloader....

Next thought is dump the flash in the initramfs and figure out where your sysupgrade is putting your flash image?

1 Like

Haha, I don't blame you. Appreciate you looking, regardless.

I did pick up a test clip for flashing the SPI-NOR, but was hoping the new way would work. I have 16 of these...would be nice to avoid cracking the cases. Can certainly go that route if required.

Doing a bunch of them is a huge pain.

I wore out my first test clip because of cheap plastic.
I also had issues where one of my test clips had issues where the can was in the way....
If I had to do a bunch of them again I'd get a pogo pin style one FYI.

1 Like

Also. as an aside:
If you can boot the initramfs.

You can always flash the bootloader from the initramfs. And use the test clip if you screw up to recover?

But I think for convenience sake it should be better to figure out why you can't boot to flash with openwrt with the stock bootloader =P

There's time to experiment, I don't need to press these units into service immediately.

I'm hoping the person that updated to wiki page with the assertion that u-boot is no longer necessary will chime in with some troubleshooting steps. It may be the case that units to which u-boot has been written at least once (and subsequently reverted/re-flashed with apboot) work with the instructions in the wiki but those to which u-boot has never been written do not?

Perhaps the write-protection described in this post is what's in my way.

1 Like

Mm.

A good start when in initramfs would be dump the whole flash and see if you actually have written openwrt to the correct location.

https://openwrt.org/docs/guide-developer/adding_new_device#getting_collected_data_from_a_device

https://openwrt.org/docs/guide-user/installation/generic.backup

I don't know how to look at whether there's write protection without using a test clip? I'd have to do more research. But I guess trying to save the environment in u-boot would error out?

@evs to see what has been written to flash memory, wouldn't it need to be done from apboot?

You're booting to initramfs right?

And then you can dump the flash into memory.
Then you can get it off the device?

New territory for me, but I gave this a try:

root@OpenWrt:/#  cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00040000 00010000 "u-boot"
mtd1: 00fa0000 00010000 "firmware"
mtd2: 00240000 00010000 "kernel"
mtd3: 00d60000 00010000 "rootfs"
mtd4: 009e0000 00010000 "rootfs_data"
mtd5: 00010000 00010000 "hwinfo"
mtd6: 00010000 00010000 "u-boot-env"

dd if=/dev/mtd1 of=/tmp/firmware.bin

Then, from my PC:

scp root@192.168.1.236:/tmp/firmware.bin ~/Desktop/OpenWrt-TFTP/firmware.bin

I opened firmware.bin in an editor...it is definitely OpenWrt: MIPS OpenWrt Linux-5.15.167

Interestingly, I also opened the Luci interface and downloaded each of the items in the mtdblock contents drop-down. When I download "firmware" using the web interface, the OpenWrt.mtd1.bin file transferred is empty. That doesn't seem right.

1 Like

Ok, I figured it out. This was the clue I needed.

The apboot commands need to be on one line (the wiki shows them on multiple):

setenv apb_rb_openwrt "setenv ipaddr 192.168.1.236; setenv serverip 192.168.1.170; netget 0x84000000 ap105.bin; go 0x84000040"
setenv apb_fb_openwrt "cp.b 0xbf040000 0x84000000 0x10000; go 0x84000040"
setenv bootcmd "run apb_fb_openwrt"
saveenv

The commands have newlines on the wiki. They show no matter how wide your browser window is. Might be worth updating to save the next apboot noob some frustration.

Really appreciate all of the of hand-holding @evs !

2 Likes

That's something I can fix.... and done.

Fault is with me too.
I probably should have gotten you to print out your u-boot environment and read your serial log when doing the full attempt....

2 Likes

Flashed a second one in minutes using the updated instructions. Flawless!

Thanks again!

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.