Bricked TP-Link TL-WPA8631P v3

Good evening!

Today I learned something:
Do not use make a costum image if you have no clue what to do if you screwed up.

I would like to know where i scred up
I have https://openwrt.org/toh/tp-link/tl-wpa8631p_v3 TP-Link TL-WPA8631P v3.
I flashed it successfully. It was working sofar i can tell.

Then I thought i needed wpad-mbedtls instead of wpad-basic-mbedtls for 802.11k/r/v.
I learned that 8mb flash is no the gold standard anymore but almost too little flash and that if i wanted wpad-mbedtls i had to integrate it to the Firmware.

I was getting over motivated and asked chat-gpt to help me reduce space as much as possible so i can integrate wpad-mbedtls.

at firmware-selector.openwrt.org i build a image 23.05.3:

Installed Installed Pakets base-files busybox ca-bundle dropbear fstools kmod-gpio-button-hotplug kmod-leds-gpio kmod-mt7603 kmod-mt7615e kmod-mt7663-firmware-ap libc libgcc libustream-mbedtls logd mtd netifd nftables opkg procd procd-seccomp procd-ujail uci uclient-fetch urandom-seed urngd wpad-mbedtls luci-base luci-mod-system luci-mod-network luci-theme-bootstrap luci-app-commands open-plc-utils-plctool open-plc-utils-plcrate open-plc-utils-hpavkeys

(uci-defaults)

## lights_toggle - LED button
cat > /etc/rc.button/lights_toggle <<'EOF'
#!/bin/sh
[ "${ACTION}" = "released" ] || exit 0
control="/sys/class/gpio/tp-link:led:control/value"
if [ "$(cat ${control})" = "0" ]; then
logger -p user.notice -t button "Enabling LEDs"
echo "1" > "$control"
else
logger -p user.notice -t button "Disabling LEDs"
echo "0" > "$control"
fi
return 0
EOF
chmod +x /etc/rc.button/lights_toggle
echo "/etc/rc.button/lights_toggle" >> /etc/sysupgrade.conf
## BTN_1 - Powerline Pair button
opkg install open-plc-utils-plctool
cat > /etc/rc.button/BTN_1 <<'EOF'
#!/bin/sh
[ "${ACTION}" = "released" ] || exit 0
. /lib/functions/system.sh
plc_mac="$(macaddr_add $(get_mac_label) +2)"
plc_interface="br-lan"
if [ "$SEEN" -ge 1 -a "$SEEN" -le 4 ]; then
logger -p user.notice -t button "Sending 'join' command to Powerline PLC"
plctool -i "$plc_interface" -B join "$plc_mac"
elif [ "$SEEN" -ge 8 ]; then
logger -p user.notice -t button "Sending 'leave' command to Powerline PLC"
plctool -i "$plc_interface" -B leave "$plc_mac"
fi
return 0
EOF
chmod +x /etc/rc.button/BTN_1
echo "/etc/rc.button/BTN_1" >> /etc/sysupgrade.conf
opkg install luci-app-commands open-plc-utils-plctool open-plc-utils-plcrate open-plc-utils-hpavkeys

So:

Switch Works
Wifi Button Works
Wifi Works
AP works
Entering Failsafe works

Problem:
Tp-Link Openwrt has no IP adress/gets no IP adress
Even in Failsafe no IP
ssh@192.168.1.1 no connection

Do I have to use UART and Teardown + TFTp (or something else) to fix this or is there an more easy way?
What did i exactly wrong?

Do another sysupgrade through failsafe, reset the settings in the process?

If the AP works, did you try to connect over WiFi? Maybe using a static IP?

You left out the interesting part, what was the answer?

a soft brick ? :slight_smile:

1 Like

How can i make a sysupgrade without an ip?
I did not change any settings.
I do not know what from my not including ipv6 dns etc caused this issue.

Another soft brick actually.
Don’t seem here in the forum that chat gpg are right that often, if ever.

It would be nice to see exactly what word it used so we see how close it even was to success.

how did you connect to it during failsafe ?

Dns!? Do you mean dnsmasq?
Define ipv6?
Are you sure it was bricked?
How did you think it would be able to route anything without dns?

But this is really running around in circles, your router is outdated and out of support and you need new hardware with more memory.

You may be able to log into the router on its IPv6 link-local address. That address can be discovered with an anycast ping. On your PC:
ping ff02::1%eth0
Replace eth0 with the PC's interface name of its Ethernet port which is connected to the router. The interface name can be discovered with ip link show on Linux or ipconfig on Windows.
If successful there will be two ping replies. One is your own PC. The other one is the router. It will have the last digits from the router's MAC address. Use that complete IP to ssh. In theory it could also be used to access Luci but browser support for this varies.

today I tried again.
Windows PC first wifi fixed ip 192.168.1.2 gaterway 192.168.1.1
no ping successful it seemed
then Lan fixed ip 192.168.1.3 gateway 192.168.1.1
ping 192.168.1.1 -t in cmd succes :slight_smile:
putty ssh port 22 192.168.1.1 :smiley:

now how do I get stuff working again?
ssh flash image?

scp sysupgrade image over to the device's /tmp folder, then sysupgrade -n /tmp/imagename.

I have to look up how scp works.
I have little experience with tftp and telnet.

But it will be doable ^^

I really want the device to work with 802.11r/k/v.
How big can the image be for the TP-Links 8Mb flash?
What beside ppp can I leave away?
My Image would be 6.8Mb in Size

"Scp for Windows dummies" - https://winscp.net/

I usually get rid of wpa* and replace it with regular hostapd, it works for r, not sure about the other ones.

technically, dnsmasq, if you use it as an AP, but not sure if the image will build without it.

scp nor pscp worked
cmd
d:
scp openwrt......bin root@192.168.1.1
both told ash: /usr/libexec/sftp-server: not found

i will try winscp next

add -O switch to scp.

unknown option -- 0 when pscp and scp

is it o or 0

wrong O

https://man7.org/linux/man-pages/man1/scp.1.html

-O really did the trick
Thank you!

Router saved for now luci is back online :smiley:

1 Like

Capital letter "O".