TP-Link TL-WPA8630P v2

The TP-Link TL-WPA8630P v2 is a Range Extender with wired Ethernet, Wi-Fi and PowerLine interfaces. It is basically a standard router with a Homeplug AV2 Powerline Communication (PLC) interface connected internally to one of the Ethernet switch ports.

The default stock configuration bridges the wired, Wi-Fi and PowerLine interfaces. The main use case is to extend the coverage of a LAN/Wi-Fi network throughout the home using the existing electrical wiring. This is particularly useful for houses with thick walls and poor Wi-Fi signal propagation but with good quality electrical cables with low electrical noise.

The device comes in 2 variants: Passthrough “P” models and non-passthrough models. The “Passthrough” is simply a direct wired connection between the electrical socket and plug to give the user an extra power socket, otherwise the rest of the hardware and firmware are functionally identical.

TL-WPA8630P v2

For the OpenWrt firmware, there are no differences between the regional images (EU, US, AU etc), aside from the region-specific partition layout. The OpenWrt images only overwrite the kernel and root filesystem, the rest of the partitions (including radio calibration data and PLC firmware) are not touched.

One difficulty with OpenWrt support for this model is the different partition layouts between regions and firmware versions, which need unique images. Before installing, please carefully follow choosing_the_right_firmware.

Settings are lost when performing a sysupgrade on this device even with “Keep settings” enabled. (For the underlying cause, see this discussion). To preserve settings, you must first use “Generate Archive” to backup your settings, perform the sysupgrade, then use “Upload Archive” to restore the settings.

If you are upgrading to these official ath79/tiny releases from an early ath79/generic development snapshot (i.e. when sysupgrading you see the DEVICE_COMPAT_MESSAGE “The flash erase blocksize has changed to 4k from the 64k in previous versions...”), you should not restore a backup of your previous settings due to subtle differences in packages built for the tiny target (e.g. No ed25519 support in dropbear), and instead start from clean settings using a backup for reference. Any future backup/restores should work fine.)

21.02 is the latest supported release for this device receiving security and other updates. Due to the 6M firmware size limitation, official images since 22.03.1+ no longer fit. If you are running 22.03.0, it would be better to downgrade to the latest 21.02.x release.

For unofficial and tested 22.03.x builds using the ImageBuilder, see here. (Note: to fit, these had to remove WolfSSL and therefore don't support WPA3).

If you get a “Wrong file” message during firmware upgrade, try renaming the file to something shorter like openwrt-firmware.bin.

Install OpenWrt (generic explanation)

To determine whether your device is Supported and which OpenWrt firmware to use, lookup this table using your device's Hardware Model and current Firmware Version.

You should only install the OpenWrt firmware listed in this table for your specific model and firmware version. Installing the wrong firmware could render your device unbootable and irrecoverable. See “Flash Layout” for more details why. If you are running a version not listed here, please ask in the Forum so this table can be updated.

Where to find this information:

  • Hardware Model
    • Where: On the barcode sticker on the back of the device. (Not the -KIT model on the packaging)
    • Example: Model: TL-WPA8630P(EU) Ver: 2.0
  • Firmware Version
    • Where: In the Web UI of the device under “System Tools → Firmware Upgrade”
    • Example: 2.0.3 Build 20171018 Rel.36564
Hardware Model SupportList entry Firmware Version in Web UI Stock firmware file Partition layout md5sum Supported OpenWrt firmware
TL-WPA8630P(AU) v2.0 {product_name:TL-WPA8630P,product_ver:2.0.0,special_id:41550000} 2.0.0 Build 20170608 Rel.64411 wpa8630pv2_au-up-ver2-0-0-P1-20170608-rel64411-APPLC.bin 00c44dc3d2394bca424692c8e55745ce Yes tplink_tl-wpa8630p-v2-int
2.0.1 Build 20171030 Rel.35449 wpa8630pv2_au-up-ver2-0-1-P1-20171030-rel35449.bin 00c44dc3d2394bca424692c8e55745ce
2.1.0 Build 20180408 Rel.54921 wpa8630pv2_au-up-ver2-1-0-P1-20180408-rel54921-APPLC.bin 00c44dc3d2394bca424692c8e55745ce
2.0.2 Build 20220605 Rel.78172 wpa8630pv2_au-up-ver2-0-2-P1-20220605-rel78172-APPLC.bin 00c44dc3d2394bca424692c8e55745ce
TL-WPA8630P(AU) v2.1 {product_name:TL-WPA8630P,product_ver:2.1.0,special_id:41550000} 2.1.0 Build 20180408 Rel.54921 wpa8630pv2_au-up-ver2-1-0-P1-20180408-rel54921-APPLC.bin 00c44dc3d2394bca424692c8e55745ce Yes tplink_tl-wpa8630p-v2-int
2.0.2 Build 20220605 Rel.78172 wpa8630pv2_au-up-ver2-0-2-P1-20220605-rel78172-APPLC.bin 00c44dc3d2394bca424692c8e55745ce
TL-WPA8630P(DE) v2.0 {product_name:TL-WPA8630P,product_ver:2.0.0,special_id:44450000} 2.0.2 Build 20171020 Rel.67332 wpa8630pv2_de-up-ver2-0-2-P1-20171020-rel67332.bin 00c44dc3d2394bca424692c8e55745ce Yes tplink_tl-wpa8630p-v2-int
2.0.3 Build 20220605 Rel.80761 wpa8630pv2_de-up-ver2-0-3-P1-20220605-rel80761-APPLC.bin 00c44dc3d2394bca424692c8e55745ce
TL-WPA8630P(EU) v2.0 {product_name:TL-WPA8630P,product_ver:2.0.0,special_id:45550000} 2.0.3 Build 20171018 Rel.36564 wpa8630pv2_eu-up-ver2-0-3-P1-20171018-rel36564.bin 57e4d680b06f4b38347b78c0cc27d214 Yes tplink_tl-wpa8630p-v2.0-eu
2.0.4 Build 20220407 Rel.54776 wpa8630pv2_eu-up-ver2-0-4-P1-20220407-rel54776-APPLC.bin 57e4d680b06f4b38347b78c0cc27d214
TL-WPA8630P(EU) v2.1 {product_name:TL-WPA8630P,product_ver:2.1.0,special_id:45550000} 2.1.0 Build 20171117 Rel.42724 wpa8630pv2_uk-up-ver2-1-0-P1-20171117-rel42724-APPLC.bin 0f740711dcfb557b9e321b96fa8c3880 Yes tplink_tl-wpa8630p-v2.1-eu
2.1.1 Build 20220605 Rel.83041 wpa8630pv2_uk-up-ver2-1-1-P1-20220605-rel83041-APPLC.bin 0f740711dcfb557b9e321b96fa8c3880
TL-WPA8630(CA) v2.0 {product_name:TL-WPA8630,product_ver:2.0.0,special_id:43410000} 2.0.1 Build 20171107 Rel.62737 wpa8630v2_ca-up-ver2-0-1-P1-20171107-rel62737.bin 00c44dc3d2394bca424692c8e55745ce No: Workaround here.
TL-WPA8630(EU) v2.0 {product_name:TL-WPA8630,product_ver:2.0.0,special_id:45550000} 2.0.2 Build 20171017 Rel.43480 wpa8630v2_eu-up-ver2-0-2-P1-20171017-rel43480.bin 57e4d680b06f4b38347b78c0cc27d214 No: Same Model (SupportList entry) with different partition layouts. Workaround here.
2.0.3 Build 20190910 Rel.49754 wpa8630v2_eu-up-ver2-0-3-P1-20190910-rel49754-APPLC.bin 3aeded28e1dff1043712ce291d238041 No: Same Model (SupportList entry) with different partition layouts. Problematic OS/filesystem split, may never be supported. Don't upgrade to this stock version!
2.0.4 Build 20220411 Rel.40629 wpa8630v2_eu-up-ver2-0-4-P1-20220411-rel40629-APPLC.bin 3aeded28e1dff1043712ce291d238041
TL-WPA8630(US) v2.0 {product_name:TL-WPA8630,product_ver:2.0.0,special_id:55530000} 2.0.1 Build 20171011 Rel.33916 wpa8630v2_us-up-ver2-0-1-P1-20171011-rel33916.bin 00c44dc3d2394bca424692c8e55745ce No: Same Model (SupportList entry) with different partition layouts. Workaround here.
2.0.2 Build 20190910 Rel.37719 wpa8630v2_us-up-ver2-0-2-P1-20190910-rel37719-APPLC.bin 3aeded28e1dff1043712ce291d238041 No: Same Model (SupportList entry) with different partition layouts. Problematic OS/filesystem split, may never be supported. Don't upgrade to this stock version!
2.0.3 Build 20220531 Rel.62779 wpa8630v2_us-up-ver2-0-3-P1-20220531-rel62779-APPLC.bin 3aeded28e1dff1043712ce291d238041

Only models with one Partition layout per Hardware Model/SupportList entry are supported by OpenWrt.

Each stock partition layout needs a specific OpenWrt firmware with a matching partition layout. This is to enable OpenWrt to boot and run correctly, and to not overwrite essential stock partitions to allow the user to revert back to the original firmware. Installing firmware with a mismatching partition layout can make the device un-bootable or overwrite critical data.

Some device models (e.g. the TL-WPA8630(US) v2.0) have multiple different partition layout across different versions of the stock firmware. Those models are not officially supported by OpenWrt. This is because there are no safeguards to prevent uploading a wrong OpenWrt firmware with a mismatching partition layout which can brick those devices. If you have one of those devices, you'll have to carefully use an unsupported workaround.

Why: For upgrade safety, the stock TP-Link firmware upgrade process checks new firmware files for a matching Hardware Model (i.e. the device's SupportList entry) and an increased Firmware Version. Newer versions of the TP-Link firmware may re-arrange the partition layout, so the layout is ignored. The problem for OpenWrt and other custom firmware is that there is no way to safeguard against a user accidentally uploading an image with a matching model/SupportList entry but a mismatching partition table. So to prevent this scenario, OpenWrt leaves out models/SupportList entries that have those conflicts.

While care has been taken to limit the current OpenWrt images from being installable on the wrong devices, future OEM firmware versions not listed here might have different partition layouts and hence need a different OpenWrt firmware to work correctly, so in any case, you should always choose a known supported version from this page.

The Partition layout md5sum shown on this page is calculated from the original stock firmware upgrade file with this command. Matching md5sums implies matching partition tables. This hash is just used for discussion and in the wiki to refer to the different layouts with a specific name.

grep -ao "partition .*$" wpa8630pv2_eu-up-ver2-0-3-P1-20171018-rel36564.bin | md5sum

This device has an unusually (excessively?) large number of partitions and regional variation, and also lacks TFTP recovery, which made it difficult to safely include. Like other tplink-safeloader devices, OpenWrt only writes over os-image and file-system, and leaves the other partitions as-is. This is to allow for safe reverting-to-stock.

To support 3aeded28e1dff1043712ce291d238041, the non-contiguous file-system and os-image partitions would need to be handled by adding mtd-concat to the DTS (easy) and patching tplink-safeloader to support non-contiguous firmware partitions (difficult). Also, as it's only found in models with conflicting Partition layout and SupportList entry, it's unlikely to ever be officially supported. Similarly, the 1MiB space used by the rarely touched PLC partitions (default-nvm and default-pib) would be great to use, but again would need the same mtd-concat DTS and tplink-safeloader changes, and would also raise problems when reverting to stock (e.g. OEM firmware images that are missing that data). Safely handling the partitioning of this device was already complicated enough that it barely made it into OpenWrt, so it's unlikely anything will officially change here. If you want anything adventurous you are on your own :)

md5sum 00c44dc3d2394bca424692c8e55745ce
OpenWrt firmware tplink_tl-wpa8630p-v2-int
Partition Base Size
factory-uboot 0x00000 0x20000
fs-uboot 0x20000 0x20000
os-image 0x40000 0x100000
file-system 0x140000 0x4e0000
partition-table 0x620000 0x02000
extra-para 0x632100 0x01000
soft-version 0x640000 0x01000
support-list 0x641000 0x01000
profile 0x642000 0x08000
user-config 0x650000 0x10000
default-config 0x660000 0x10000
default-nvm 0x670000 0xc0000
default-pib 0x730000 0x40000
default-mac 0x7e0000 0x00020
pin 0x7e0100 0x00020
device-id 0x7e0200 0x00030
product-info 0x7e1100 0x01000
radio 0x7f0000 0x10000
md5sum 57e4d680b06f4b38347b78c0cc27d214
OpenWrt firmware tplink_tl-wpa8630p-v2.0-eu
Partition Base Size
factory-uboot 0x00000 0x20000
fs-uboot 0x20000 0x20000
os-image 0x40000 0x100000
file-system 0x140000 0x4e0000
partition-table 0x620000 0x02000
default-mac 0x630000 0x00020
pin 0x630100 0x00020
device-id 0x630200 0x00030
product-info 0x631100 0x01000
extra-para 0x632100 0x01000
soft-version 0x640000 0x01000
support-list 0x641000 0x01000
profile 0x642000 0x08000
user-config 0x650000 0x10000
default-config 0x660000 0x10000
default-nvm 0x670000 0xc0000
default-pib 0x730000 0x40000
radio 0x7f0000 0x10000
md5sum 0f740711dcfb557b9e321b96fa8c3880
OpenWrt firmware tplink_tl-wpa8630p-v2.1-eu
Partition Base Size
factory-uboot 0x00000 0x20000
fs-uboot 0x20000 0x20000
os-image 0x40000 0x100000
file-system 0x140000 0x4e0000
extra-para 0x680000 0x01000
product-info 0x690000 0x01000
partition-table 0x6a0000 0x02000
soft-version 0x6b0000 0x01000
support-list 0x6b1000 0x01000
profile 0x6b2000 0x08000
user-config 0x6c0000 0x10000
default-config 0x6d0000 0x10000
default-nvm 0x6e0000 0xc0000
default-pib 0x7a0000 0x40000
default-mac 0x7e0000 0x00020
pin 0x7e0100 0x00020
device-id 0x7e0200 0x00030
radio 0x7f0000 0x10000
md5sum 3aeded28e1dff1043712ce291d238041
OpenWrt firmware Unsupported, problematic file-system,os-image split
Partition Base Size
factory-uboot 0x00000 0x20000
fs-uboot 0x20000 0x10000
file-system 0x30000 0x560000
default-nvm 0x590000 0x90000
partition-table 0x620000 0x02000
default-mac 0x630000 0x00020
pin 0x630100 0x00020
device-id 0x630200 0x00030
product-info 0x631100 0x01000
extra-para 0x632100 0x01000
soft-version 0x640000 0x01000
support-list 0x641000 0x01000
profile 0x642000 0x08000
user-config 0x650000 0x10000
default-config 0x660000 0x10000
default-pib 0x670000 0x40000
os-image 0x6b0000 0x100000
radio 0x7f0000 0x10000

This section deals with

  • How you install OpenWrt from a device freshly opened
  • The steps required such as reset to factory defaults if the device has already been configured

Note: Reset router to factory defaults if it has been previously configured.

  • Browse to http://192.168.1.1/
  • Go to System Tools → Firmware Upgrade
  • Upload .bin file to router using the “Manual Upgrade” section
    • If you get a “Wrong file” message, the upgrade process might be rejecting the file due to the filename being too long. Try renaming it to something shorter like openwrt-firmware.bin
  • Wait for it to reboot
  • ssh to 192.168.1.1 and set a root password, or browse to http://192.168.1.1 if LuCI is installed.
  • Browse to http://192.168.1.1/cgi-bin/luci/mini/system/upgrade/ LuCI Upgrade URL
  • Upload image file for sysupgrade to LuCI
  • Wait for reboot

If you don't have a GUI (LuCI) available, you can alternatively upgrade via the command line. There is one command line methods for upgrading:

  • sysupgrade

Note: It is important that you put the firmware image into the ramdisk (/tmp) before you start flashing.

sysupgrade

  • Login as root via SSH on 192.168.1.1, then enter the following commands:
cd /tmp
wget http://downloads.openwrt.org/snapshots/trunk/XXX/xxx.abc
sysupgrade /tmp/xxx.abc

Download the exact same version of the TP-Link firmware you had before installing OpenWrt, and prepare it using the tool tplink-safeloader from the OpenWrt Image Builder:

You should only revert back to the exact same firmware version the device was running before OpenWrt was installed. With this method, it is possible to accidentally flash incompatible firmware to your device and prevent it from booting, so triple check you are using the right one. When in doubt, ask in the forums.

staging_dir/host/bin/tplink-safeloader -z wpa8630pv2_eu-up-ver2-0-3-P1-20171018-rel36564.bin -o oem-sysupgrade.bin

Then follow either the GUI or CLI sysupgrade process above. Note you will need to include the “-F” option because the firmware does not have the upgrade metadata appended.

sysupgrade -F /tmp/oem-sysupgrade.bin

After the first reboot, it is advisable to flash an OEM firmware upgrade. Otherwise, the software version is displayed as 0.0.0.

generic.debrick

The only known ways to debrick the device require opening it up, which is difficult and hazardous as it contains live voltages. See opening_the_case below. Avoid this if you can!

For this reason, you should avoid using snapshot images or customized ImageBuilder images, as both can result in unbootable images that can only be recovered by opening the device and re-flashing.

If the device is bricked and unreachable over the network, this is the easiest recovery method to attempt first.

Connect to the serial console and power up the board. Type tpl repeatedly to access the U-Boot console.

U-Boot 1.1.4 (Oct 18 2017 - 09:53:28)
ap152 - Dragonfly 1.0
# ...
Autobooting in 1 seconds
# Type "tpl" repeatedly
dragonfly> 

It is easy to overwrite your U-Boot loader using this console by writing to different memory locations, so it is recommended you only use these tried and tested instructions.

These instructions will clear a flag in the extra-para flash memory partition that will enable the OEM recovery HTTP server built into U-Boot. The location of this partition in flash memory is specific to your device version, so you must carefully follow #choosing_the_right_firmware to chose the correct instructions here:

For devices matching the tplink_tl-wpa8630p-v2-int and tplink_tl-wpa8630p-v2.0-eu firmwares with extra-para located at 0x632100:

# Copy any 4 bytes to 9f63210c-9f63210f to clear it

dragonfly> mw.b 81000000 0 4
dragonfly> cp.b 81000000 9f63210c 4
Copy to Flash... write addr: 9f63210c
done

For devices matching the tplink_tl-wpa8630p-v2.1-eu firmware with extra-para located at 0x680000:

# Copy any 4 bytes to 9f68000c-9f68000f to clear it

dragonfly> mw.b 81000000 0 4
dragonfly> cp.b 81000000 9f68000c 4
Copy to Flash... write addr: 9f68000c
done

Reset the device. The recovery HTTP server should start and 4 of the LEDs should blink:

dragonfly> reset
# ...
HTTP server is starting at IP: 192.168.0.254
HTTP server is ready!

Connect to the web interface and upload an OEM firmware matching your device (E.g. wpa8630pv2_eu-up-ver2-0-3-P1-20171018-rel36564.bin for WPA8630Pv2 EU). This should preferably be the same version you were using before installing OpenWrt.

Once the firmware has been flashed, you will see this on the console and the device will reboot into the OEM firmware:

Firmware Recovery Success!
HTTP ugrade is done! Rebooting...

If U-Boot is broken or these HTTP recovery instructions don't work, you may need to reflash the device directly. To do this, separate the router board, and restore the SOIC-8 SPI flash directly by following these instructions. You will need to ask on the forums for a firmware dump.

This unit has 2x SOIC-8 SPI 3.3V Flash chips:

  • 8MiB on the router board. For router firmware backup and recovery purposes, you should only be interested in this one.
  • 1MiB on the PLC board. This is the PLCs independent flash, which you can mostly ignore.

Flashing requirements:

  • An SOIC-8 clip (e.g. “Pomona”)
  • A suitable flash programmer (e.g. CH341A can work but is a little flaky) or an SBC supported by flashrom (e.g. Raspberry Pi)
  • flashrom >= 1.2

Instructions:

  • Seperate the router board from the power board.
  • Connect the SOIC-8 clip first to the chip and ensure they are aligned correctly, then connect to the flash programmer.
  • Wait until the flash chip becomes idle. When SPI cable is connected, the router may power up from the 3.3V line and start booting. If this happens, you should wait until it has fully booted and activity on the flash chip has stopped before reading or writing. To stop the router accessing the flash chip, connect to the UART and enter the uboot prompt and leave it there while using the flash programmer. When writing, flashrom will re-read the contents to verify a successful write, so this shouldn't be a problem.
  • Run flashrom
  • Always READ the flash to make a backup of your current contents before WRITING, so you can preserve your device-specific information like the MAC address and radio calibration data.

Usually, the only parts of the flash you want to change/restore are the os-image and file-system partitions described in flash_layout.

Example:

$ flashrom -p linux_spi:dev=/dev/spidev0.0 -r WPA8630P_v2_stock.rom
flashrom v1.2 on Linux 4.19.97-v7+ (armv7l)
flashrom is free software, get the source code at https://flashrom.org

Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Using default 2000kHz clock. Use 'spispeed' parameter to override.
Found GigaDevice flash chip "GD25Q64(B)" (8192 kB, SPI) on linux_spi.
Reading flash... done.

Basic configuration After flashing, proceed with this.
Set up your Internet connection, configure wireless, configure USB port, etc.

The default network configuration is:

Interface Name Description Default configuration
br-lan LAN & WiFi 192.168.1.1/24
vlan1 (eth0.1) LAN ports (1 to 3), Powerline LAN port (4) None
wlan0 WiFi 5 GHz Disabled
wlan1 WiFi 2.4 GHz Disabled
Port Switch port
CPU 0
LAN 1 4
LAN 2 3
LAN 3 2
LAN 4 - Powerline 5

After installing OpenWrt, the Powerline interface should just work OK out of the box with its last configuration. No firmware loading or configuration is necessary.

The QCA7550 PLC stores its firmware and configuration in its own dedicated 1Mb flash and runs independently of the router. (This is different than some other Powerline routers (e.g. d-link_covr-p2500_a1), where on every boot the PLC reads its firmware over Ethernet from the plchost daemon running on the router OS).

A copy of the PLC firmware exists on both the 8Mb router flash and the 1Mb PLC flash. The one in the router flash is largely unused, it is there as part of the TP-Link router firmware upgrade, during which it is uploaded once to the PLC.

The PLC can be remotely configured and upgraded with plctool from open-plc-utils. E.g. to check the PLC network status:

# plctool -i br-lan -m 98:da:c4:12:34:56
source address = 98:DA:C4:12:34:56
 
	network->NID = 21:A2:03:81:12:34:56
	network->SNID = 2
	network->TEI = 4
	network->ROLE = 0x00 (STA)
	network->CCO_DA = 34:E8:94:12:34:56
	network->CCO_TEI = 2
	network->STATIONS = 1
 
		station->MAC = 34:E8:94:12:34:56
		station->TEI = 2
		station->BDA = 44:FB:5A:12:34:56
		station->AvgPHYDR_TX = 586 mbps Alternate
		station->AvgPHYDR_RX = 546 mbps Alternate

FIXME Add plc firmware example using plctool

Like most consumer powerline devices, the PLC comes setup out-of-the-box using the default Network Membership Key based on the “HomePlugAV” password. For more details (including instructions on changing this for other devices), see here

On OpenWrt, you can change it easily with the following, or in LuCI using the “Powerline Set NMK” command on this page.

NMK=$(echo "MyPassword" | hpavkeys -M)
plctool -i br-lan -M -K "$NMK" "$plc_mac"

By default, the Powerline and Ethernet LAN ports are all connected to the switch on VLAN 1 (eth0.1), which is bridged with the Wi-Fi interfaces into br-lan. This covers the use case of extending an existing network.

If you want to configure the Powerline port as a seperate routable interface isolated from the LAN, you can assign it to a seperate VLAN. Note that packets going between the LAN and Powerline ports will then be routed through the CPU, which is slower than just going through the switch. See switch_configuration for more information. This will also change the interface plctool needs to send packets to.

Reassigning the port VLAN ID can be done in LuCI → Network → Switch, or via the CLI. For example:

VLAN ID Description CPU (eth0) LAN 1 LAN 2 LAN 3 LAN 4
1 LAN tagged untagged untagged untagged off
2 Powerline tagged off off off untagged
# Remove Powerline port from switch VLAN 1
uci set network.@switch_vlan[0].ports="0t 2 3 4"
 
# Add Powerline port to switch VLAN 2
uci add network switch_vlan
uci set network.@switch_vlan[-1].device="switch0"
uci set network.@switch_vlan[-1].description="Powerline"
uci set network.@switch_vlan[-1].vlan=2
uci set network.@switch_vlan[-1].vid=2
uci set network.@switch_vlan[-1].ports="0t 5"
 
# Create DHCP WAN connection using switch VLAN 2 interface
uci set network.wan=interface
uci set network.wan.proto='dhcp'
uci set network.wan.device='eth0.2'
 
uci commit network
/etc/init.d/network restart

For any open-plc-utils commands you use, you will need to change the “-i” argument to the CPUs VLAN ethernet interface attached to the PLC. In this example:

plcrate -i eth0.2

hardware.button on howto use and configure the hardware button(s). Here, we merely name the buttons, so we can use them in the above Howto.

The TP-Link TL-WPA8630P has the following buttons:

BUTTON Event
Reset reset
LED lights_toggle
Pair BTN_1
Wi-Fi rfkill

To reproduce the functionality of the `LED` and `Pair` buttons in the stock firmware, you can copy+paste these commands into a terminal on the router:

## 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

LuCI does not have any native Powerline PLC management, but you can cover the basics using luci-app-commands:

opkg install luci-app-commands open-plc-utils-plctool open-plc-utils-plcrate open-plc-utils-hpavkeys
 
. /lib/functions/system.sh
plc_mac="$(macaddr_add $(get_mac_label) +2)"
plc_interface="br-lan"
 
uci add luci command
uci set luci.@command[-1].name="Powerline Status"
uci set luci.@command[-1].command="plctool -i $plc_interface -m $plc_mac"
 
uci add luci command
uci set luci.@command[-1].name="Powerline Join"
uci set luci.@command[-1].command="plctool -i $plc_interface -B join $plc_mac"
 
uci add luci command
uci set luci.@command[-1].name="Powerline Leave"
uci set luci.@command[-1].command="plctool -i $plc_interface -B leave $plc_mac"
 
uci add luci command
uci set luci.@command[-1].name="Powerline Rates"
uci set luci.@command[-1].command="plcrate -i $plc_interface"
 
uci add luci command
uci set luci.@command[-1].name="Powerline Set NMK"
uci set luci.@command[-1].command="powerline-set-nmk $plc_interface $plc_mac"
uci set luci.@command[-1].param="1"
 
uci commit luci
 
 
## Powerline Set Network Membership Key script
 
cat > /usr/sbin/powerline-set-nmk <<'EOF'
#!/bin/sh
 
if [ "$#" -ne 3 ]; then
  echo "Usage: $0 INTERFACE MAC PASSWORD" >&2
  exit 1
fi
 
NMK=$(echo "$3" | hpavkeys -M)
plctool -i "$1" -M -K "$NMK" "$2"
EOF
chmod +x /usr/sbin/powerline-set-nmk
echo "/usr/sbin/powerline-set-nmk" >> /etc/sysupgrade.conf

DANGER: HIGH VOLTAGE inside!
Opening this device exposes
parts under high voltage (110/230 VAC)!

  • Risk of deadly electrical shock
  • Risk of irreversable damage to other components attached, e.g. your PC connected via serial

Make sure to keep your fingers, conductive tools and serial cables away from the high voltage at all times!

Capacitors can still retain dangerous voltages
after disconnection from mains!

Continue at your own risk!

Note: This will void your warranty!

To open:

  • Unscrew the 4 visible case screws
  • Gently slide a flat soft plastic tool (e.g. a guitar pick) around the seam at the midpoint on each side to pop open the 2 plastic hooks. This is difficult, so be careful not to use too much force to break them.
  • (Optional: If you need to open the case regularly, the 2 plastic hooks could be snapped off).

To separate the router board from the rest of the unit:

  • Gently pull the power board away from the router board. There are 3 pin connectors joining both boards.
  • Carefully pry the router board from the top part of the case. There are 4 plastic catches holding it in place.

When reassembling:

  • Be careful to line up all 3 pin connectors. If they are not fully connected, you may find different issues, e.g. the PLC does not function after reassembling.

DO NOT plug the device into the mains with the case removed. To run the unit while connected to the serial console, carefully seperate the Router board from the PLC/Power Supply board and feed 3.3V into the VCC pin on the J1 UART connection.

port.serial general information about the serial port, serial port cable, etc.

Use a 3.3V UART cable (e.g. “FTDI USB to 3.3v TTL UART Serial Cable”). You can also use a 3.3V UART on an SBC (e.g. Raspberry Pi), but it might be inconsisent when capturing early U-Boot.

J1 pin
VCC (3.3v)
GND
RX
TX (square)
Serial connection parameters
for TP-Link TL-WPA8630P v2
115200, 8N1

None so far.

To stop autoboot and enter the U-Boot console, repeatedly type tpl after power-on.

U-Boot 1.1.4 (Oct 18 2017 - 09:53:45) ap152 - Dragonfly 1.0 DRAM: 128 MB Top of RAM usable for U-Boot at: 88000000 Reserving 134k for U-Boot at: 87fdc000 Reserving 192k for malloc() at: 87fac000 Reserving 44 Bytes for Board Info at: 87fabfd4 Reserving 36 Bytes for Global Data at: 87fabfb0 Reserving 128k for boot params() at: 87f8bfb0 Stack Pointer at: 87f8bf98 Now running in RAM - U-Boot at: 87fdc000 Flash Manuf Id 0xc8, DeviceId0 0x40, DeviceId1 0x17 flash size 8MB, sector count = 128 Flash: 8 MB Using default environment In: serial Out: serial Err: serial Net: ath_gmac_enet_initialize... No valid address in Flash. Using fixed address ath_gmac_enet_initialize: reset mask:c02200 athr_mgmt_init ::done Dragonfly ----> S17 PHY * athrs17_reg_init: complete SGMII in forced mode athr_gmac_sgmii_setup SGMII done : cfg1 0x80000000 cfg2 0x7114 eth0: 00:03:7f:09:0b:ad eth0 up eth0 Setting 0x181162c0 to 0x60c02100 Autobooting in 1 seconds dragonfly> help ? - alias for 'help' boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory cp - memory copy erase - erase FLASH memory go - start application at address 'addr' help - print online help mct - simple RAM test md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nm - memory modify (constant address) ping - send ICMP ECHO_REQUEST to network host printenv- print environment variables progmac - Set ethernet MAC addresses progmac2 - Set ethernet MAC addresses reset - Perform RESET of the CPU run - run commands in an environment variable setenv - set environment variables tftpboot- boot image via network using TFTP protocol version - print monitor version dragonfly> printenv bootargs=console=ttyS0,115200 root=31:03 rootfstype=squashfs init=/sbin/init board=AP152 mtdparts=spi0.0:128k(factory-uboot),128k(u-boot),1024k(uImage),6784k(rootfs),64k(mib0),64k(ART) bootcmd=bootm 0x9f010000 bootdelay=1 baudrate=115200 ethaddr=0x00:0xaa:0xbb:0xcc:0xdd:0xee ipaddr=192.168.1.1 serverip=192.168.1.10 dir= lu=tftp 0x80060000 ${dir}tuboot.bin&&erase 0x9f000000 +$filesize&&cp.b $fileaddr 0x9f000000 $filesize lf=tftp 0x80060000 ${dir}ap152${bc}-${squashfs}&&erase 0x9f110000 +0x6d0000&&cp.b $fileaddr 0x9f110000 $filesize lk=tftp 0x80060000 ${dir}vmlinux${bc}.lzma.uImage&&erase 0x9f010000 +$filesize&&cp.b $fileaddr 0x9f010000 $filesize stdin=serial stdout=serial stderr=serial ethact=eth0 Environment size: 706/65532 bytes

U-Boot 1.1.4 (Oct 18 2017 - 09:53:45) ap152 - Dragonfly 1.0 DRAM: 128 MB Top of RAM usable for U-Boot at: 88000000 Reserving 134k for U-Boot at: 87fdc000 Reserving 192k for malloc() at: 87fac000 Reserving 44 Bytes for Board Info at: 87fabfd4 Reserving 36 Bytes for Global Data at: 87fabfb0 at: 87f8bfb0 Stack Pointer at: 87f8bf98 Now running in RAM - U-Boot at: 87fdc000 flash size 8MB, sector count = 128 Flash: 8 MB Using default environment In: serial Out: serial Err: serial Net: ath_gmac_enet_initialize... No valid address in Flash. Using fixed address ath_gmac_enet_initialize: reset mask:c02200 athr_mgmt_init ::done Dragonfly ----> S17 PHY * athrs17_reg_init: complete SGMII in forced mode athr_gmac_sgmii_setup SGMII done : cfg1 0x80000000 cfg2 0x7114 eth0: 00:03:7f:09:0b:ad eth0 up eth0 Setting 0x181162c0 to 0x60c02100 Autobooting in 1 seconds ---- fileTag = 9f040000 text base = 80060000 entry point = 802700c0 hdr->ih_load = 00000000 hdr->ih_ep = 00000000 No initrd ## Transferring control to Linux (at address 802700c0) ... do_bootm_linux 212 set commandline = console=ttyS0,115200 root=31:03 rootfstype=squashfs init=/sbin/init board=AP152 mtdparts=spi0.0:128k(factory-uboot),128k(u-boot),1024k(uImage),6784k(rootfs),64k(mib0),64k(ART) linux_params_init 268 line = console=ttyS0,115200 root=31:03 rootfstype=squashfs init=/sbin/init board=AP152 mtdparts=spi0.0:128k(factory-uboot),128k(u-boot),1024k(uImage),6784k(rootfs),64k(mib0),64k(ART) linux_params_init 273 linux_params_init 323 memstr[0] = 1 linux_params_init 332 linux_argc = 8 ## Giving linux memsize in bytes, 134217728 Starting kernel ... linux_argc = 8 [ 0.000000] Linux version 3.3.8 (tomcat@buildserver) (gcc version 4.6.3 20120201 (prerelease) (Linaro GCC 4.6-2012.02) ) #1 Wed Oct 18 09:58:10 CST 2017 [ 0.000000] arg 1: console=ttyS0,115200 [ 0.000000] arg 2: root=31:03 [ 0.000000] arg 3: rootfstype=squashfs [ 0.000000] arg 4: init=/sbin/init [ 0.000000] arg 5: board=AP152 [ 0.000000] arg 6: mtdparts=spi0.0:128k(factory-uboot),128k(u-boot),1024k(uImage),6784k(rootfs),64k(mib0),64k(ART) [ 0.000000] arg 7: mem=128M [ 0.000000] arcs_cmdline= console=ttyS0,115200 root=31:03 rootfstype=squashfs init=/sbin/init board=AP152 mtdparts=spi0.0:128k(factory-uboot),128k(u-boot),1024k(uImage),6784k(rootfs),64k(mib0),64k(ART) mem=128M [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU revision is: 00019750 (MIPS 74Kc) [ 0.000000] SoC: Qualcomm Atheros QCA956X rev 0 [ 0.000000] Clocks: CPU:775.000MHz, DDR:650.000MHz, AHB:258.333MHz, Ref:25.000MHz [ 0.000000] Determined physical RAM map: [ 0.000000] memory: 08000000 @ 00000000 (usable) [ 0.000000] User-defined physical RAM map: [ 0.000000] memory: 08000000 @ 00000000 (usable) [ 0.000000] Initrd not found or empty - disabling initrd [ 0.000000] Zone PFN ranges: [ 0.000000] Normal 0x00000000 -> 0x00008000 [ 0.000000] Movable zone start PFN for each node [ 0.000000] Early memory PFN ranges [ 0.000000] 0: 0x00000000 -> 0x00008000 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512 [ 0.000000] Kernel command line: console=ttyS0,115200 root=31:03 rootfstype=squashfs init=/sbin/init board=AP152 mtdparts=spi0.0:128k(factory-uboot),128k(u-boot),1024k(uImage),6784k(rootfs),64k(mib0),64k(ART) mem=128M [ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes) [ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) [ 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] Writing ErrCtl register=00000000 [ 0.000000] Readback ErrCtl register=00000000 [ 0.000000] Memory: 126448k/131072k available (2153k kernel code, 4624k reserved, 535k data, 176k init, 0k highmem) [ 0.000000] SLUB: Genslabs=9, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS:83 [ 0.000000] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216) [ 0.060000] pid_max: default: 32768 minimum: 301 [ 0.060000] Mount-cache hash table entries: 512 [ 0.070000] NET: Registered protocol family 16 [ 0.070000] gpiochip_add: registered GPIOs 0 to 22 on device: ath79 [ 0.080000] MIPS: machine is Qualcomm Atheros AP152 reference board [ 0.080000] [ 0.080000] WLAN firmware dump buffer allocation of 2097152 bytes @ address 0x87a00000- SUCCESS !!! [ 0.090000] registering PCI controller with io_map_base unset [ 0.290000] bio: create slab <bio-0> at 0 [ 0.300000] PCI host bridge to bus 0000:00 [ 0.300000] pci_bus 0000:00: root bus resource [mem 0x12000000-0x13ffffff] [ 0.310000] pci_bus 0000:00: root bus resource [io 0x0001] [ 0.310000] pci 0000:00:00.0: BAR 0: assigned [mem 0x12000000-0x121fffff 64bit] [ 0.320000] pci 0000:00:00.0: using irq 40 for pin 1 [ 0.320000] Switching to clocksource MIPS [ 0.320000] NET: Registered protocol family 2 [ 0.330000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.330000] TCP established hash table entries: 4096 (order: 3, 32768 bytes) [ 0.330000] TCP bind hash table entries: 4096 (order: 2, 16384 bytes) [ 0.340000] TCP: Hash tables configured (established 4096 bind 4096) [ 0.350000] TCP reno registered [ 0.350000] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.350000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.360000] NET: Registered protocol family 1 [ 0.370000] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.370000] msgmni has been set to 246 [ 0.380000] io scheduler noop registered [ 0.380000] io scheduler deadline registered (default) [ 0.390000] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled [ 0.410000] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11) is a 16550A console [ttyS0] enabled, bootconsole disabled [ 0.420000] console [ttyS0] enabled, bootconsole disabled [ 0.430000] spi_drv_probe is runing, to probe sdrv->driver.name: m25p80 [ 0.440000] m25p80 spi0.0: found gd25q64, expected m25p80 [ 0.440000] m25p80 spi0.0: gd25q64 (8192 Kbytes) [ 0.450000] 6 cmdlinepart partitions found on MTD device spi0.0 [ 0.450000] Creating 6 MTD partitions on "spi0.0": [ 0.460000] 0x000000000000-0x000000020000 : "factory-uboot" [ 0.470000] 0x000000020000-0x000000040000 : "u-boot" [ 0.470000] 0x000000040000-0x000000140000 : "uImage" [ 0.480000] 0x000000140000-0x0000007e0000 : "rootfs" [ 0.480000] mtd: partition "rootfs" set to be root filesystem [ 0.490000] 0x0000007e0000-0x0000007f0000 : "mib0" [ 0.490000] 0x0000007f0000-0x000000800000 : "ART" [ 0.500000] flash_chrdev : flash_chrdev_init [ 0.500000] flash_chrdev : flash_chrdev_init [ 0.640000] ag71xx_mdio: probed [ 0.640000] eth0: Atheros AG71xx at 0xb9000000, irq 4 [ 1.220000] eth0: Atheros AR8327 switch driver attached. [ 4.120000] ag71xx ag71xx.0: eth0: connected to PHY at ag71xx-mdio.0:00 [uid=004dd036, driver=Atheros AR8216/AR8236/AR8316] [ 4.130000] TCP cubic registered [ 4.130000] NET: Registered protocol family 17 [ 4.140000] 8021q: 802.1Q VLAN Support v1.8 [ 4.140000] ### of_selftest(): No testcase data in device tree; not running tests [ 4.150000] SQUASHFS error: Xattrs in filesystem, these will be ignored [ 4.160000] SQUASHFS error: unable to read xattr id index table [ 4.170000] VFS: Mounted root (squashfs filesystem) readonly on device 31:3. [ 4.180000] Freeing unused kernel memory: 176k freed init started: BusyBox v1.19.4 (2017-10-18 10:06:08 CST) starting pid 52, tty '': '/etc/rc.d/rcS' This board use 3.3.8 [ 6.070000] Lan Domain: tplinkplc.net [ 6.070000] Lan Domain: www.tplinkplc.net [ 6.430000] ssdk_plat_init start [ 6.480000] Register QCA PHY driver [ 6.490000] PHY ID is 0x4dd036 [ 6.590000] qca probe f1 phy driver succeeded! [ 6.600000] qca-ssdk module init succeeded! [ 6.890000] device eth0 entered promiscuous mode [NM_Error](nm_init) 00543: INIT. [ 8.240000] br0: port 1(eth0) entered forwarding state [ 8.250000] br0: port 1(eth0) entered forwarding state [ 8.250000] eth0: link up (1000Mbps/Full duplex) [ucCommon_json2Data,167]: commonCfg->mode = 0 [ucWifi_init,931] factoryMode = 0 [main:435]send a pipe message. [daemonize:210]recv a pipe message. [ 9.280000] br0: port 1(eth0) entered disabled state board=ap152 mtdblock=/dev/mtdblock5 [ 9.650000] eth0: link up (1000Mbps/Full duplex) [ 9.650000] br0: port 1(eth0) entered forwarding state [ 9.660000] br0: port 1(eth0) entered forwarding state 377+0 records in 377+0 records out 377+0 records in 377+0 records out port range : 6600 - 6618 event range : 0 - 18 [ 12.130000] mem_manager: module license 'unspecified' taints kernel. [ 12.140000] Disabling lock debugging due to kernel taint [ 12.150000] __mm_init_module starting pid 190, tty '': '/sbin/getty ttyS0 115200' TL-WPA8630P mips #1 Wed Oct 18 09:58:10 CST 2017 (none) TL-WPA8630P login: [ 13.320000] ath_hal: 0.9.17.1 (AR9380, REGOPS_FUNC, PRIVATE_DIAG, WRITE_EEPROM, 11D) kill wifiSched daemon... [ 13.360000] ath_rate_atheros: Copyright (c) 2001-2005 Atheros Communications, Inc, All Rights Reserved [ 13.390000] ath_dfs: Version 2.0.0 [ 13.390000] Copyright (c) 2005-2006 Atheros Communications, Inc. All Rights Reserved [ 13.420000] ath_tx99: Version 2.0 [ 13.420000] Copyright (c) 2010 Atheros Communications, Inc, All Rights Reserved [ 13.450000] ath_spectral: Version 2.0.0 [ 13.450000] Copyright (c) 2005-2009 Atheros Communications, Inc. All Rights Reserved [ 13.460000] SPECTRAL module built on Aug 9 2016 08:46:47 [ 13.500000] ath_dev: Copyright (c) 2001-2007 Atheros Communications, Inc, All Rights Reserved [ 14.910000] __ath_attach: Set global_scn[0] [ 14.920000] *** All the minfree values should be <= ATH_TXBUF-32, otherwise default value will be used instead *** [ 14.930000] ACBKMinfree = 48 [ 14.930000] ACBEMinfree = 32 [ 14.940000] ACVIMinfree = 16 [ 14.940000] ACVOMinfree = 0 [ 14.940000] CABMinfree = 48 [ 14.940000] UAPSDMinfree = 0 [ 14.950000] ATH_TXBUF=2700 [ 14.960000] Enterprise mode: 0x03bda000 [ 14.960000] Restoring Cal data from FS [ 14.970000] __adf_os_fs_read[42], Open File /tmp/wifi0.caldata SUCCESS!! [ 14.970000] file system magic:-2054924042 [ 14.980000] super blocksize:4096 [ 14.980000] inode 94 [ 14.980000] file size:12064 [ 14.990000] __adf_os_fs_read[55]: caldata data size mismatch, fsize=12064, cal_size=1088 [ 15.000000] [ 15.000000] ART Version : -48.0.0 [ 15.000000] SW Image Version : -48.0.0.0.0 [ 15.010000] Board Revision : [ 15.010000] ar9300_attach: nf_2_nom -110 nf_2_max -60 nf_2_min -125 [ 15.020000] Green-AP : Green-AP : Attached [ 15.020000] [ 15.030000] ath_get_caps[6328] rx chainmask mismatch actual 7 sc_chainmak 0 [ 15.030000] ath_get_caps[6303] tx chainmask mismatch actual 7 sc_chainmak 0 [ 15.050000] band steering initialized for direct attach hardware [ 15.050000] ieee80211_bsteering_attach: Band steering initialized [ 15.060000] acfg_attach: 3146: Netlink socket created:86d09c00 [ 15.070000] ath_attach_dfs[12966] dfsdomain 1 [ 15.070000] dfs_attach: event log enabled by default [ 15.090000] ath_attach: Set global_ic[1]..gloabl_ic ptr:855b89a0 [ 15.090000] osif_wrap_attach:434 osif wrap attached [ 15.100000] osif_wrap_devt_init:395 osif wrap dev table init done [ 15.100000] Wrap Attached: Wrap_com =86d16600 ic->ic_wrap_com=86d16600 &wrap_com->wc_devt=86d16600 [ 15.120000] ath_tx_paprd_init sc 862e0000 PAPRD disabled in HAL [ 15.130000] wifi0: Atheros 956X: mem=0xb8100000, irq=47 [ 15.130000] ath_pci: (Atheros/multi-bss) [ 15.140000] ol_ath_pci_probe: PCI device id 0056 :0056 [ 15.140000] ath_pci 0000:00:00.0: BAR 0: assigned [mem 0x12000000-0x121fffff 64bit] [ 15.150000] PCI: Enabling device 0000:00:00.0 (0000 -> 0002) [ 15.160000] *********** Besra ************* [ 15.160000] [ 15.160000] __ol_ath_attach() Allocated scn 85780380 [ 15.170000] ath_pci 0000:00:00.0: ath DEBUG: sc=0x86fda000 [ 15.180000] [ 15.180000] ol_ath_pci_configure : num_desired MSI set to 0 [ 15.180000] [ 15.180000] Using PCI Legacy Interrupt [ 15.190000] chip_id 0xc chip_revision 0x0 [ 15.200000] [ 15.200000] CLOCK PLL skipped [ 15.210000] HIF_PCIDeviceProbed: setting the target pll frac ffffffff intval ffffffff [ 15.220000] HIF_PCIDeviceProbed: no frac provided, skipping pre-configuring PLL [ 15.230000] __ol_ath_attach: dev name wifi1 [ 15.230000] ol_ath_attach interface_id 1 [ 15.230000] ol_ath_attach() BMI inited. [ 15.240000] ol_ath_attach() BMI Get Target Info. [ 15.250000] Chip id: 0xc, chip version: 0x1000000 [ 15.250000] [ 15.250000] CE WAR Disabled [ 15.260000] NUM_DEV=1 FWMODE=0x2 FWSUBMODE=0x0 FWBR_BUF 0 [ 15.260000] ol_ath_attach() configure Target . [ 15.270000] [ 15.270000] Target Version is 1000000 [ 15.270000] [ 15.270000] Flash Download Address c0000 [ 15.280000] ol_transfer_bin_file: flash data file defined [ 15.280000] ol_transfer_bin_file[3382] Get Caldata for wifi1. [ 15.290000] __adf_os_fs_read[42], Open File /tmp/wifi1.caldata SUCCESS!! [ 15.300000] file system magic:-2054924042 [ 15.300000] super blocksize:4096 [ 15.300000] inode 95 [ 15.310000] file size:12064 [ 15.310000] qc98xx_verify_checksum: flash checksum passed: 0x3326 [ 15.320000] ol_transfer_bin_file 3443: Download Flash data len 12064 [ 15.320000] Board extended Data download address: 0x0 [ 15.350000] [ 15.350000] Board data initialized [ 15.360000] ol_ath_download_firmware: Download OTP, flash download ADDRESS 0xc0000 [ 15.360000] [ 15.360000] Selecting OTP binary for CHIP Version 0 [ 15.650000] ol_transfer_bin_file 3263: downloading file 0, Download data len 8964 [ 15.710000] [ 15.710000] First OTP send param 8000 [ 15.950000] ol_ath_download_firmware :First OTP download and Execute is good address:0x5000 return param 4660 [ 15.960000] ol_ath_download_firmware:##Board Id 20 , CHIP Id 0 [ 15.970000] ol_ath_download_firmware: BOARDDATA DOWNLOAD TO address 0xc0000 [ 15.980000] Warning : No board id matched. Selecting default boarddata file [ 15.990000] [ 15.990000] wifi1: Selecting board data file name boarddata_0.bin [ 15.990000] ol_transfer_bin_file: Board Data File download to address=0xc0000 file name=QCA9888/hw.2/boarddata_0.bin [ 16.010000] ol_transfer_bin_file 3263: downloading file 3, Download data len 12064 [ 16.020000] Board extended Data download address: 0x0 [ 16.040000] ol_ath_download_firmware: Using 0x1234 for the remainder of init [ 16.050000] [ 16.050000] Selecting OTP binary for CHIP Version 0 [ 16.070000] ol_transfer_bin_file 3263: downloading file 0, Download data len 8964 [ 16.110000] [ 16.110000] [Flash] : Ignore Module param [ 16.110000] [ 16.110000] Second otp download Param 10000 [ 16.370000] ol_ath_download_firmware : Second OTP download and Execute is good, param=0x0 [ 16.380000] [ 16.380000] Mission mode: Firmware CHIP Version 0 [ 16.390000] ol_swap_seg_alloc: Successfully allocated memory for SWAP size=262144 [ 16.410000] Swap: bytes_left to copy: fw:16; dma_page:61485 [ 16.420000] Swap: wrong length read:0 [ 16.420000] ol_swap_wlan_memory_expansion: Swap total_bytes copied: 200659 Target address 419520 [ 16.430000] scn=85780380 target_write_addr=419520 seg_info=86f1e110 [ 16.440000] ol_transfer_swap_struct:Code swap structure successfully downloaded for bin type =2 [ 16.440000] bin_filename=QCA9888/hw.2/athwlan.bin swap_filename=/lib/firmware/QCA9888/hw.2/athwlan.codeswap.bin [ 16.460000] ol_transfer_bin_file: Downloading firmware file: QCA9888/hw.2/athwlan.bin [ 16.470000] ol_transfer_bin_file 3263: downloading file 1, Download data len 354396 [PLCD_LOG](main:639): start plcd OK! [ 17.870000] ol_ath_attach() Download FW done. [ 17.880000] ol_ath_attach() HT Create . [ 17.880000] ol_ath_attach() HIF Claim. [ 17.910000] ol_ath_attach() BMI Done. [ 17.920000] ol_ath_attach 7538 host_enable 0 nss_nwifi_offload 0 [ 17.920000] ol_ath_set_default_tgt_config : AC Minfree buffer allocation through module param (umac.ko) [ 17.930000] OL_ACBKMinfree : 0 [ 17.930000] OL_ACBEMinfree : 0 [ 17.940000] OL_ACVIMinfree : 0 [ 17.940000] OL_ACVOMinfree : 0 [ 17.940000] ol_ath_attach() WMI attached. wmi_handle 85040000 [ 17.950000] CE_recv_buf_enqueue 877 Populate last entry 512 for CE 5 [ 17.960000] CE_recv_buf_enqueue 886 CE 5 wi 511 dest_ptr 0x4cc0020 nbytes 0 recv_ctxt 0x84c4c9c0 [ 17.970000] Startup Mode-0 set [ 17.970000] [ 17.970000] <=== cfg max peer id 1056 ====> [ 17.980000] HTC Service:0x0300 ep:1 TX flow control disabled [ 17.990000] htt_peer_map_timer_init Enter pdev 84d50000 hrtimer 84d54880 [ 17.990000] [ 17.990000] htt_alloc_peer_map_mem : Alloc Success : host q vaddr 84dd8000 paddr 4dd8000 [ 18.000000] [ 18.000000] htt_alloc_peer_map_mem : Flush Interval Configured to 256 pkts [ 18.020000] CE_pkt_dl_len_set CE 4 Pkt download length 64 [ 18.020000] ol_txrx_pdev_attach: 2500 tx desc's allocated ; range starts from 84a00000 [ 18.030000] HTC Service:0x0100 ep:2 TX flow control disabled [ 18.040000] wmi_service_ready_event_rx: WMI UNIFIED SERVICE READY event [ 18.050000] Firmware_Build_Number:99 [ 18.050000] host/RAM_fw Build Ver Mismatch: H:0x5D, F:0x63 ! [ 18.060000] num_rf_chain:0x00000002 ht_cap_info:0x0000085b vht_cap_info:0x339979f2 vht_supp_mcs:0x0000fffa [ 18.070000] [ 18.070000] RES CFG Support wmi_service_bitmap 9778 [ 18.070000] [ 18.070000] Sending Ext resource cfg: HOST PLATFORM as 1 and fw_feature_bitmap as 50 to TGT [ 18.080000] ol_ath_service_ready_event: tt_support: 1 [ 18.090000] ol_ath_service_ready_event: periodic_chan_stats: 0 [ 18.100000] Peer Caching Enabled ; num_peers = 530, num_active_peers = 52 num_tids = 104, num_vdevs = 17 [ 18.110000] idx 1 req 2 num_units 1 num_unit_info 12 unit size 256 actual units 53 [ 18.110000] ol_ath_alloc_host_mem_chunk req_id 2 idx 0 num_units 53 unit_len 256, [ 18.120000] idx 2 req 3 num_units 1 num_unit_info 12 unit size 1024 actual units 53 [ 18.130000] ol_ath_alloc_host_mem_chunk req_id 3 idx 1 num_units 53 unit_len 1024, [ 18.140000] idx 3 req 4 num_units 1 num_unit_info 12 unit size 4096 actual units 53 [ 18.150000] ol_ath_alloc_host_mem_chunk req_id 4 idx 2 num_units 53 unit_len 4096, [ 18.150000] idx 0 req 1 num_units 0 num_unit_info 2 unit size 872 actual units 531 [ 18.160000] ol_ath_alloc_host_mem_chunk req_id 1 idx 3 num_units 531 unit_len 872, [ 18.170000] idx 4 req 5 num_units 0 num_unit_info 2 unit size 1892 actual units 531 [ 18.190000] ol_ath_alloc_host_mem_chunk req_id 5 idx 4 num_units 531 unit_len 1892, [ 18.190000] chunk 0 len 13568 requested ,ptr 0x4a68000 [ 18.200000] chunk 1 len 54272 requested ,ptr 0x4a70000 [ 18.200000] chunk 2 len 217088 requested ,ptr 0x4a80000 [ 18.210000] chunk 3 len 463032 requested ,ptr 0x4b00000 [ 18.220000] chunk 4 len 1004652 requested ,ptr 0x4400000 [ 18.220000] ol_ath_service_ready_event[3959] WAPI MBSSID 2 [ 18.240000] wmi_ready_event_rx: WMI UNIFIED READY event [ 18.250000] ol_ath_connect_htc() WMI is ready [ 18.250000] target uses HTT version 2.2; host uses 2.2 [ 18.260000] ol_ath_attach() connect HTC. [ 18.270000] bypasswmi : 0 [ 18.270000] ol_regdmn_start: reg-domain param: regdmn=0, countryName=, wModeSelect=FFFFFFFF, netBand=FFFFFFFF, extendedChanMode=0. [ 18.280000] ol_regdmn_init_channels: !avail mode 0x7f9001 (0x2) flags 0x2150 [ 18.290000] ol_regdmn_init_channels: !avail mode 0x7f9001 (0x4) flags 0xa0 [ 18.300000] ol_regdmn_init_channels: !avail mode 0x7f9001 (0x8) flags 0xc0 [ 18.310000] ol_regdmn_init_channels: !avail mode 0x7f9001 (0x20) flags 0xd0 [ 18.310000] ol_regdmn_init_channels: !avail mode 0x7f9001 (0x40) flags 0x150 [ 18.320000] ol_regdmn_init_channels: !avail mode 0x7f9001 (0x800) flags 0x10080 [ 18.330000] ol_regdmn_init_channels: !avail mode 0x7f9001 (0x2000) flags 0x20080 [ 18.340000] ol_regdmn_init_channels: !avail mode 0x7f9001 (0x4000) flags 0x40080 [ 18.340000] Add VHT80 channel: 5210 [ 18.350000] Add VHT80 channel: 5290 [ 18.350000] Add VHT80 channel: 5530 [ 18.350000] Add VHT80 channel: 5610 [ 18.360000] Add VHT80 channel: 5690 [ 18.360000] Add VHT80 channel: 5775 [ 18.360000] Skipping VHT80 channel 5825 [ 18.370000] OL Resmgr Init-ed [ 18.370000] ieee80211_bsteering_attach: Band steering initialized [ 18.380000] acfg_attach: using existing sock 86d09c00 [ 18.390000] Green-AP : Green-AP : Attached [ 18.390000] [ 18.390000] Green-AP : Attached [ 18.400000] rate power table override is only supported for AR98XX [ 18.400000] ieee80211com_init_netlink: 3477: Wifipos 1st Netlink socket created:86c67e00 [ 18.410000] ol_if_dfs_attach: called; ptr=84ae1974, radar_info=86f27b20 [ 18.420000] dfs_attach: event log enabled by default [ 18.420000] ol_ath_attach() UMAC attach . [ 18.430000] [ 18.430000] BURSTING enabled by default [ 18.430000] ol_ath_attach: Set global_ic[2] ..ptr:855b89a0 [ 18.440000] osif_wrap_attach:434 osif wrap attached [ 18.450000] osif_wrap_devt_init:395 osif wrap dev table init done [ 18.450000] Wrap Attached: Wrap_com =86c67000 ic->ic_wrap_com=86c67000 &wrap_com->wc_devt=86c67000 [ 18.460000] __ol_ath_attach: needed_headroom reservation 60 [ 18.470000] ol_ath_thermal_mitigation_attach: -- wifid[qca_init_platform:3541]: [qca_init_platform,3541] factoryMode = 0 wifid[qca_init_platform:3555]: [qca_init_platform,3555] factoryMode = 0 wifid[qca_init_platform:3570]: Not in factory mode, go on. [ 18.850000] ath_attach_dfs[12966] dfsdomain 1 [ 18.860000] dfs_attach: event log enabled by default [ 18.880000] isCountryCodeValid: EEPROM regdomain 0x0 [ 18.880000] ol_regdmn_init_channels: !avail mode 0x7f9001 (0x2) flags 0x2150 [ 18.890000] ol_regdmn_init_channels: !avail mode 0x7f9001 (0x4) flags 0xa0 [ 18.900000] ol_regdmn_init_channels: !avail mode 0x7f9001 (0x8) flags 0xc0 [ 18.910000] ol_regdmn_init_channels: !avail mode 0x7f9001 (0x20) flags 0xd0 [ 18.910000] ol_regdmn_init_channels: !avail mode 0x7f9001 (0x40) flags 0x150 [ 18.920000] ol_regdmn_init_channels: !avail mode 0x7f9001 (0x800) flags 0x10080 [ 18.930000] ol_regdmn_init_channels: !avail mode 0x7f9001 (0x2000) flags 0x20080 [ 18.940000] ol_regdmn_init_channels: !avail mode 0x7f9001 (0x4000) flags 0x40080 [ 18.940000] Add VHT80 channel: 5210 [ 18.950000] Add VHT80 channel: 5290 [ 18.950000] Add VHT80 channel: 5530 [ 18.950000] Add VHT80 channel: 5610 [ 18.960000] Skipping VHT80 channel 5660 [ 18.960000] Skipping VHT80 channel 5680 [ 18.970000] Skipping VHT80 channel 5700 [ 19.250000] [wifi1] FWLOG: [23192] WAL_DBGID_TX_AC_BUFFER_SET ( 0x3, 0x1e, 0x94c, 0x94c, 0x0 ) [ 19.250000] [wifi1] FWLOG: [23192] WAL_DBGID_TX_AC_BUFFER_SET ( 0x12, 0x1e, 0x94c, 0x94c, 0x0 ) [ 19.260000] [wifi1] FWLOG: [23192] WAL_DBGID_TX_AC_BUFFER_SET ( 0x45, 0x1e, 0x94c, 0x94c, 0x0 ) [ 19.270000] [wifi1] FWLOG: [23192] WAL_DBGID_TX_AC_BUFFER_SET ( 0x67, 0x1e, 0x94c, 0x94c, 0x0 ) [ 19.280000] [wifi1] FWLOG: [23192] WAL_DBGID_TX_AC_BUFFER_SET ( 0x100, 0x11e1a300 ) [ 19.550000] wmi_unified_vdev_create_send: ID = 0 Type = 1, Subtype = 0 VAP Addr = 98:da:c4:27:cd:49: [ 19.560000] ieee80211_mbo_vattach:MBO Initialized [ 19.560000] In ieee80211_vap_setup, line:384, wifi-pos enabled vap:0 [ 19.570000] Enabling TX checksum bit for the vap ath5 features 4000 [ 19.580000] Enabling SG bit for the vap ath5 features 4000 [ 19.590000] Enabling SG bit for the vap ath5 features 4000 [ 19.590000] Enabling TSO bit for the vap ath5 features 4000 [ 19.600000] Enabling LRO bit for the vap ath5 features 4000 [ 19.600000] VAP device ath5 created osifp: (84bf4b80) os_if: (855f0000) [ 19.610000] wlan_vap_create : enter. devhandle=0x86320380, opmode=IEEE80211_M_HOSTAP, flags=0x1 [ 19.610000] [ 19.630000] ieee80211_mbo_vattach:MBO Initialized [ 19.630000] In ieee80211_vap_setup, line:384, wifi-pos enabled vap:0 [ 19.640000] wlan_vap_create : exit. devhandle=0x86320380, opmode=IEEE80211_M_HOSTAP, flags=0x1. [ 19.640000] [ 19.650000] VAP device ath0 created osifp: (84bf5b80) os_if: (86398000) [ 19.890000] [wifi1] FWLOG: [24164] WAL_DBGID_DEV_RESET ( 0xc01d, 0x409 ) [ 20.140000] siwfreq [ 20.140000] Set freq vap 0 stop send + 86398000 [ 20.140000] Set freq vap 0 stop send -86398000 [ 20.180000] Set wait done --86398000 [ 20.210000] Setting Max Stations:32 [ 20.250000] siwfreq [ 20.250000] Set freq vap 0 stop send + 855f0000 [ 20.260000] Set freq vap 0 stop send -855f0000 [ 20.290000] Set wait done --855f0000 [ 20.290000] [ 20.290000] DES SSID SET=TP-LINK_CD48 [ 20.300000] Setting Max Stations:32 [ 20.320000] [ 20.320000] DES SSID SET=TP-LINK_CD48_5G [ 21.240000] Switching to Tx Mode-0 [ 21.390000] device ath0 entered promiscuous mode [ 21.490000] su bfee 1 mu bfee 0 su bfer 0 mu bfer 1 impl bf 0 sounding dim 1 [ 21.500000] su bfee 1 mu bfee 0 su bfer 0 mu bfer 0 impl bf 0 sounding dim 1 [ 21.570000] su bfee 1 mu bfee 0 su bfer 0 mu bfer 0 impl bf 0 sounding dim 1 [ 21.630000] ME Pool succesfully initialized vaddr - 84640000 paddr - 0 [ 21.630000] num_elems = 1424 buf_size - 64 pool_size = 102528 [ 21.640000] Enable MCAST_TO_UCAST [ 21.670000] device ath5 entered promiscuous mode [ 22.170000] ieee80211_ioctl_siwmode: imr.ifm_active=131712, new mode=3, valid=1 [ 22.190000] DEVICE IS DOWN ifname=ath0 [ 22.190000] DEVICE IS DOWN ifname=ath0 [ 22.210000] ieee80211_ioctl_siwmode: imr.ifm_active=66176, new mode=3, valid=1 [ 22.210000] DEVICE IS DOWN ifname=ath5 [ 22.230000] DEVICE IS DOWN ifname=ath5 [ 22.760000] Warning: node not in table 0x86394000 [ 22.900000] br0: port 2(ath0) entered forwarding state [ 22.910000] br0: port 2(ath0) entered forwarding state [ 22.910000] 8021q: adding VLAN 0 to HW filter on device ath0 [ 22.950000] OL vap_start + [ 22.950000] wmi_unified_vdev_start_send for vap 0 (85040000) [ 22.950000] OL vap_start - [ 23.140000] ol_vdev_start_resp_ev for vap 0 (85040000) [ 23.150000] su bfee 1 mu bfee 0 su bfer 0 mu bfer 0 impl bf 0 sounding dim 1 [ 23.150000] wmi_unified_vdev_up_send for vap 0 (85040000) [ 23.160000] ol_ath_vap_set_param: Now supported MGMT RATE is 6000(kbps) and rate code: 0x3 [ 23.180000] br0: port 3(ath5) entered forwarding state [ 23.190000] br0: port 3(ath5) entered forwarding state [ 23.190000] 8021q: adding VLAN 0 to HW filter on device ath5 [ 23.210000] br0: port 2(ath0) entered disabled state [ 23.220000] wmi_unified_vdev_stop_send for vap 0 (85040000) [ 23.230000] STOPPED EVENT for vap 0 (85040000) [ 23.230000] wmi_unified_vdev_down_send for vap 0 (85040000) [ 23.240000] br0: port 3(ath5) entered disabled state [ 23.310000] OL vap_start + [ 23.310000] wmi_unified_vdev_start_send for vap 0 (85040000) [ 23.310000] OL vap_start - [ 23.320000] ol_vdev_start_resp_ev for vap 0 (85040000) [ 23.320000] su bfee 1 mu bfee 0 su bfer 0 mu bfer 0 impl bf 0 sounding dim 1 [ 23.330000] wmi_unified_vdev_up_send for vap 0 (85040000) [ 23.340000] ol_ath_vap_set_param: Now supported MGMT RATE is 6000(kbps) and rate code: 0x3 [ 23.340000] br0: port 3(ath5) entered forwarding state [ 23.350000] br0: port 3(ath5) entered forwarding state [ 23.350000] 8021q: adding VLAN 0 to HW filter on device ath5 [ 23.400000] br0: port 2(ath0) entered forwarding state [ 23.410000] br0: port 2(ath0) entered forwarding state [ 23.410000] 8021q: adding VLAN 0 to HW filter on device ath0 [ 23.890000] [wifi1] FWLOG: [27983] WAL_DBGID_SECURITY_ENCR_EN ( ) [ 23.900000] [wifi1] FWLOG: [27983] WAL_DBGID_SECURITY_MCAST_KEY_SET ( 0x1 ) [ 23.910000] [wifi1] FWLOG: [28018] vap-0 VDEV_MGR_VDEV_START ( 0x143c, 0x2, 0x0, 0x0 ) [ 23.910000] [wifi1] FWLOG: [28018] WAL channel change freq=5180, mode=10 flags=0 rx_ok=1 tx_ok=1 [ 23.920000] [wifi1] FWLOG: [28227] VDEV_MGR_HP_START_TIME ( 0x0, 0x143c, 0x4c9001 ) [ 23.930000] [wifi1] FWLOG: [28227] RESMGR_OCS_GEN_PERIODIC_NOA ( 0x1 ) [ 23.940000] [wifi1] FWLOG: [28227] RESMGR_OCS_GEN_PERIODIC_NOA ( 0x0 ) [ 23.940000] [wifi1] FWLOG: [28227] VDEV_MGR_AP_TBTT_CONFIG ( 0x0, 0x143c, 0x0, 0x0 ) [ 23.950000] [wifi1] FWLOG: [28306] RESMGR_OCS_GEN_PERIODIC_NOA ( 0x0 ) [ 23.960000] [wifi1] FWLOG: [28306] RESMGR_OCS_GEN_PERIODIC_NOA ( 0x0 ) [ 23.970000] [wifi1] FWLOG: [28386] vap-0 VDEV_MGR_VDEV_START ( 0x143c, 0x2, 0x0, 0x0 ) [ 23.970000] [wifi1] FWLOG: [28408] VDEV_MGR_HP_START_TIME ( 0x0, 0x143c, 0x4e2000 ) [ 23.980000] [wifi1] FWLOG: [28408] RESMGR_OCS_GEN_PERIODIC_NOA ( 0x1 ) [ 23.990000] [wifi1] FWLOG: [28408] RESMGR_OCS_GEN_PERIODIC_NOA ( 0x0 ) [ 24.000000] [wifi1] FWLOG: [28408] VDEV_MGR_AP_TBTT_CONFIG ( 0x0, 0x143c, 0x0, 0x0 ) kill dstd daemon... mmmInit():Total mem size=51364, addr=0x0x5e4008. ************************************************************* *************************MMM TABLE DUMP********************** ------------------------------------------------------------- poolhead(40) poolnum dynamictimes chainhead poolend ------------------------------------------------------------- 0x5e4008 8 0 (nil) 0x5f08ac ------------------------------------------------------------- index poolhead(20) size blocks free usage ------------------------------------------------------------- 1 0x5e4030 32 256 256 0 2 0x5e6448 64 128 128 0 3 0x5e8660 128 64 64 0 4 0x5ea778 256 32 32 0 5 0x5ec810 512 8 8 0 6 0x5ed848 1024 4 4 0 7 0x5ee870 2048 2 2 0 8 0x5ef890 4096 1 1 0 ------------------------------------------------------------- index chainnode(16) magic length prev next ------------------------------------------------------------- (nil) ************************************************************* TL-WPA8630P mips #1 Wed Oct 18 09:58:10 CST 2017 (none) TL-WPA8630P login:


[ 0.000000] Linux version 5.4.70 (builder@buildhost) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r14692-0830ae3a2f)) #0 Sun Oct 11 18:27:20 2020 [ 0.000000] printk: bootconsole [early0] enabled [ 0.000000] CPU0 revision is: 00019750 (MIPS 74Kc) [ 0.000000] MIPS: machine is TP-Link WPA8630P v2.0 (EU) [ 0.000000] SoC: Qualcomm Atheros QCA956X ver 1 rev 0 [ 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] On node 0 totalpages: 32768 [ 0.000000] Normal zone: 288 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 32768 pages, LIFO batch:7 [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 32480 [ 0.000000] Kernel command line: console=ttyS0,115200n8 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: 121800K/131072K available (5138K kernel code, 194K rwdata, 1176K rodata, 1228K init, 205K bss, 9272K 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] random: get_random_bytes called from start_kernel+0x32c/0x520 with crng_init=0 [ 0.000000] CPU clock: 775.000 MHz [ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 4932285024 ns [ 0.000007] sched_clock: 32 bits at 387MHz, resolution 2ns, wraps every 5541893118ns [ 0.008230] Calibrating delay loop... 385.02 BogoMIPS (lpj=770048) [ 0.046721] pid_max: default: 32768 minimum: 301 [ 0.051720] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear) [ 0.059434] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear) [ 0.071515] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns [ 0.081830] futex hash table entries: 256 (order: -1, 3072 bytes, linear) [ 0.089120] pinctrl core: initialized pinctrl subsystem [ 0.097015] NET: Registered protocol family 16 [ 0.128431] workqueue: max_active 576 requested for napi_workq is out of range, clamping between 1 and 512 [ 0.142032] clocksource: Switched to clocksource MIPS [ 0.148487] NET: Registered protocol family 2 [ 0.153935] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear) [ 0.162817] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear) [ 0.170914] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear) [ 0.178355] TCP: Hash tables configured (established 1024 bind 1024) [ 0.185178] UDP hash table entries: 256 (order: 0, 4096 bytes, linear) [ 0.192119] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear) [ 0.199765] NET: Registered protocol family 1 [ 0.204413] PCI: CLS 0 bytes, default 32 [ 0.212145] workingset: timestamp_bits=14 max_order=15 bucket_order=1 [ 0.224970] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.231164] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.254285] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251) [ 0.265545] pinctrl-single 1804002c.pinmux: 544 pins, size 68 [ 0.272128] gpio-export gpio-export: 1 gpio(s) exported [ 0.278481] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled [ 0.287392] printk: console [ttyS0] disabled [ 0.291985] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 9, base_baud = 1562500) is a 16550A [ 0.301092] printk: console [ttyS0] enabled [ 0.310157] printk: bootconsole [early0] disabled [ 0.331706] spi-nor spi0.0: gd25q64 (8192 Kbytes) [ 0.336641] 7 fixed-partitions partitions found on MTD device spi0.0 [ 0.343213] Creating 7 MTD partitions on "spi0.0": [ 0.348181] 0x000000000000-0x000000020000 : "factory-uboot" [ 0.354846] 0x000000020000-0x000000040000 : "u-boot" [ 0.360827] 0x000000040000-0x000000620000 : "firmware" [ 0.370380] 2 tplink-fw partitions found on MTD device firmware [ 0.376539] Creating 2 MTD partitions on "firmware": [ 0.381688] 0x000000000000-0x00000020a2f4 : "kernel" [ 0.387669] 0x00000020a2f4-0x0000005e0000 : "rootfs" [ 0.393648] mtd: device 4 (rootfs) set to be root filesystem [ 0.401252] 1 squashfs-split partitions found on MTD device rootfs [ 0.407705] 0x000000580000-0x0000005e0000 : "rootfs_data" [ 0.414189] 0x000000620000-0x000000630000 : "partition-table" [ 0.420981] 0x000000630000-0x000000640000 : "info" [ 0.426836] 0x000000640000-0x0000007f0000 : "tplink" [ 0.432865] 0x0000007f0000-0x000000800000 : "art" [ 0.440414] libphy: Fixed MDIO Bus: probed [ 1.094401] libphy: ag71xx_mdio: probed [ 1.101467] switch0: Atheros AR8337 rev. 2 switch registered on mdio.0 [ 1.146027] random: fast init done [ 1.689526] ag71xx 19000000.eth: connected to PHY at mdio.0:00 [uid=004dd036, driver=Atheros AR8216/AR8236/AR8316] [ 1.700777] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: sgmii [ 1.707515] i2c /dev entries driver [ 1.713292] NET: Registered protocol family 10 [ 1.723495] Segment Routing with IPv6 [ 1.727437] NET: Registered protocol family 17 [ 1.732122] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this. [ 1.745518] 8021q: 802.1Q VLAN Support v1.8 [ 1.750708] PCI host bridge /ahb/pcie-controller@18250000 ranges: [ 1.757074] MEM 0x0000000012000000..0x0000000013ffffff [ 1.762477] IO 0x0000000000000000..0x0000000000000000 [ 1.768034] PCI host bridge to bus 0000:00 [ 1.772307] pci_bus 0000:00: root bus resource [mem 0x12000000-0x13ffffff] [ 1.779411] pci_bus 0000:00: root bus resource [io 0x0000] [ 1.785170] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0] [ 1.792185] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff] [ 1.800398] pci 0000:00:00.0: [168c:0056] type 00 class 0x028000 [ 1.806660] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit] [ 1.813793] pci 0000:00:00.0: PME# supported from D0 D3hot [ 1.820380] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00 [ 1.827262] pci 0000:00:00.0: BAR 0: assigned [mem 0x12000000-0x121fffff 64bit] [ 1.835701] hctosys: unable to open rtc device (rtc0) [ 1.842836] squashfs: SQUASHFS error: Xattrs in filesystem, these will be ignored [ 1.850607] unable to read xattr id index table [ 1.857649] VFS: Mounted root (squashfs filesystem) readonly on device 31:4. [ 1.871875] Freeing unused kernel memory: 1228K [ 1.876574] This architecture does not have kernel memory protection. [ 1.883223] Run /sbin/init as init process [ 2.505764] init: Console is alive [ 2.509594] init: - watchdog - [ 3.607524] kmodloader: loading kernel modules from /etc/modules-boot.d/* [ 3.764714] kmodloader: done loading kernel modules from /etc/modules-boot.d/* [ 3.782637] init: - preinit - [ 4.710650] random: jshn: uninitialized urandom read (4 bytes read) [ 4.814882] random: jshn: uninitialized urandom read (4 bytes read) [ 4.941246] random: jshn: uninitialized urandom read (4 bytes read) [ 6.173297] Atheros AR8216/AR8236/AR8316 mdio.0:00: Port 5 is up [ 6.186109] eth0: link up (1000Mbps/Full duplex) [ 6.200944] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 6.218154] IPv6: ADDRCONF(NETDEV_CHANGE): eth0.1: link becomes ready [ 6.254303] urandom_read: 4 callbacks suppressed [ 6.254311] random: procd: uninitialized urandom read (4 bytes read) [ 10.475999] jffs2: notice: (557) jffs2_build_xattr_subsystem: complete building xattr subsystem, 21 of xdatum (16 unchecked, 5 orphan) and 26 of xref (5 dead, 0 orphan) found. [ 10.494192] mount_root: switching to jffs2 overlay [ 10.518189] overlayfs: upper fs does not support tmpfile. [ 10.530422] urandom-seed: Seeding with /etc/urandom.seed [ 10.619755] eth0: link down [ 10.641181] procd: - early - [ 10.644320] procd: - watchdog - [ 11.280503] procd: - watchdog - [ 11.286621] procd: - ubus - [ 11.346223] random: ubusd: uninitialized urandom read (4 bytes read) [ 11.354731] random: ubusd: uninitialized urandom read (4 bytes read) [ 11.362795] procd: - init - [ 12.122434] kmodloader: loading kernel modules from /etc/modules.d/* [ 12.342750] Loading modules backported from Linux version v5.8-0-gbcf876870b95 [ 12.350262] Backport generated by backports.git v5.8-1-0-g79400d9e [ 12.452072] urngd: v1.0.2 started. [ 12.455716] xt_time: kernel timezone is -0000 [ 12.690870] ath10k 5.4 driver, optimized for CT firmware, probing pci device: 0x56. [ 12.698962] ath10k_mac_create, priv_size: 804 hw: (ptrval) hw->priv: (ptrval) [ 12.722997] ath10k_pci 0000:00:00.0: enabling device (0000 -> 0002) [ 12.729817] ath10k_pci 0000:00:00.0: pci irq legacy oper_irq_mode 1 irq_mode 0 reset_mode 0 [ 12.741872] random: crng init done [ 15.271002] ath10k_pci 0000:00:00.0: qca9888 hw2.0 target 0x01000000 chip_id 0x00000000 sub 0000:0000 [ 15.280567] ath10k_pci 0000:00:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0 [ 15.300702] ath10k_pci 0000:00:00.0: firmware ver 10.4b-ct-9888-fW-13-8c5b2baa2 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 cbf49903 [ 15.636698] ath10k_pci 0000:00:00.0: failed to fetch board data for bus=pci,bmi-chip-id=0,bmi-board-id=20 from ath10k/QCA9888/hw2.0/board-2.bin [ 15.650857] ath10k_pci 0000:00:00.0: board_file api 1 bmi_id 0:20 crc32 dae4ffa4 [ 17.699255] ath10k_pci 0000:00:00.0: unsupported HTC service id: 1536 [ 17.709494] ath10k_pci 0000:00:00.0: 10.4 wmi init: vdevs: 16 peers: 48 tid: 96 [ 17.717269] ath10k_pci 0000:00:00.0: msdu-desc: 2500 skid: 32 [ 17.747576] ath10k_pci 0000:00:00.0: wmi print 'P 48/48 V 16 K 144 PH 176 T 186 msdu-desc: 2500 sw-crypt: 0 ct-sta: 0' [ 17.758894] ath10k_pci 0000:00:00.0: wmi print 'free: 114572 iram: 12804 sram: 29508' [ 17.993093] ath10k_pci 0000:00:00.0: htt-ver 2.2 wmi-op 6 htt-op 4 cal pre-cal-file max-sta 32 raw 0 hwcrypto 1 [ 18.079122] ath: EEPROM regdomain sanitized [ 18.079131] ath: EEPROM regdomain: 0x64 [ 18.079135] ath: EEPROM indicates we should expect a direct regpair map [ 18.079153] ath: Country alpha2 being used: 00 [ 18.079156] ath: Regpair used: 0x64 [ 18.151184] ath: EEPROM regdomain sanitized [ 18.151195] ath: EEPROM regdomain: 0x64 [ 18.151198] ath: EEPROM indicates we should expect a direct regpair map [ 18.151217] ath: Country alpha2 being used: 00 [ 18.151220] ath: Regpair used: 0x64 [ 18.163260] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht' [ 18.165122] ieee80211 phy1: Atheros AR9561 Rev:0 mem=0xb8100000, irq=2 [ 18.206419] kmodloader: done loading kernel modules from /etc/modules.d/* [ 30.386677] eth0: link up (1000Mbps/Full duplex) [ 30.400089] br-lan: port 1(eth0.1) entered blocking state [ 30.405720] br-lan: port 1(eth0.1) entered disabled state [ 30.411598] device eth0.1 entered promiscuous mode [ 30.416592] device eth0 entered promiscuous mode [ 30.443427] br-lan: port 1(eth0.1) entered blocking state [ 30.449053] br-lan: port 1(eth0.1) entered forwarding state [ 31.407473] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 31.414578] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready [ 33.025385] ath: EEPROM regdomain: 0x812c [ 33.025392] ath: EEPROM indicates we should expect a country code [ 33.025396] ath: doing EEPROM country->regdmn map search [ 33.025400] ath: country maps to regdmn code: 0x37 [ 33.025405] ath: Country alpha2 being used: GR [ 33.025408] ath: Regpair used: 0x37 [ 33.025414] ath: regdomain 0x812c dynamically updated by user [ 33.025485] ath: EEPROM regdomain: 0x812c [ 33.025487] ath: EEPROM indicates we should expect a country code [ 33.025491] ath: doing EEPROM country->regdmn map search [ 33.025494] ath: country maps to regdmn code: 0x37 [ 33.025497] ath: Country alpha2 being used: GR [ 33.025500] ath: Regpair used: 0x37 [ 33.025504] ath: regdomain 0x812c dynamically updated by user [ 36.549692] ath10k_pci 0000:00:00.0: unsupported HTC service id: 1536 [ 36.556884] ath10k_pci 0000:00:00.0: 10.4 wmi init: vdevs: 16 peers: 48 tid: 96 [ 36.564686] ath10k_pci 0000:00:00.0: msdu-desc: 2500 skid: 32 [ 36.594982] ath10k_pci 0000:00:00.0: wmi print 'P 48/48 V 16 K 144 PH 176 T 186 msdu-desc: 2500 sw-crypt: 0 ct-sta: 0' [ 36.606302] ath10k_pci 0000:00:00.0: wmi print 'free: 114572 iram: 12804 sram: 29508' [ 36.919382] ath10k_pci 0000:00:00.0: Firmware lacks feature flag indicating a retry limit of > 2 is OK, requested limit: 4 [ 37.010373] br-lan: port 2(wlan0) entered blocking state [ 37.015908] br-lan: port 2(wlan0) entered disabled state [ 37.021698] device wlan0 entered promiscuous mode [ 37.184722] br-lan: port 3(wlan1) entered blocking state [ 37.190279] br-lan: port 3(wlan1) entered disabled state [ 37.196094] device wlan1 entered promiscuous mode [ 37.201089] br-lan: port 3(wlan1) entered blocking state [ 37.206606] br-lan: port 3(wlan1) entered forwarding state [ 37.548427] ath10k_pci 0000:00:00.0: NOTE: Firmware DBGLOG output disabled in debug_mask: 0x10000000 [ 37.934148] br-lan: port 3(wlan1) entered disabled state [ 38.014500] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready [ 38.021306] br-lan: port 3(wlan1) entered blocking state [ 38.026839] br-lan: port 3(wlan1) entered forwarding state [ 38.845306] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready [ 38.852217] br-lan: port 2(wlan0) entered blocking state [ 38.857768] br-lan: port 2(wlan0) entered forwarding state

Space for additional notes, links to forum threads or other resources.

  • ...
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2024/02/12 11:13
  • by 127.0.0.1