Extract firmware for TP-LINK BE550

Hello guys, anyone know how to extract firmware from TP-LINK BE550, i think its same type of firmware with BE450 and BE450 have OpenWRT image.

(ubienv) root@vbox:/home/user/Documents# binwalk -e --run-as=root 'be550v1-up-all-ver1-2-1-P1[20250813-rel27119]_nosign_2025-08-13_16.03.25.bin'

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
2000988       0x1E885C        StuffIt Deluxe Segment (data): f
30797924      0x1D5F064       Cisco IOS experimental microcode, for "d4]"

(ubienv) root@vbox:/home/user/Documents# binwalk -Me --run-as=root 'be550v1-up-all-ver1-2-1-P1[20250813-rel27119]_nosign_2025-08-13_16.03.25.bin'

Scan Time:     2026-01-11 08:26:37
Target File:   /home/user/Documents/be550v1-up-all-ver1-2-1-P1[20250813-rel27119]_nosign_2025-08-13_16.03.25.bin
MD5 Checksum:  2ec3e7ab822ed112bae4ddbcd08ad462
Signatures:    411

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
2000988       0x1E885C        StuffIt Deluxe Segment (data): f
30797924      0x1D5F064       Cisco IOS experimental microcode, for "d4]"

(ubienv) root@vbox:/home/user/Documents# binwalk -E --run-as=root 'be550v1-up-all-ver1-2-1-P1[20250813-rel27119]_nosign_2025-08-13_16.03.25.bin'

DECIMAL       HEXADECIMAL     ENTROPY
--------------------------------------------------------------------------------
0             0x0             Rising entropy edge (0.997368)

base command of binwalk not helped, how to unpack it ?

Try unblob

unblob dead on it

(unblob) root@vbox:/home/user/Documents/unblob_test# unblob ./'be550v1-up-all-ver1-2-1-P1[20250813-rel27119]_nosign_2025-08-13_16.03.25.bin'

╭─────────────────────────────────────────────────────────────────────────── unblob (25.11.25) ───────────────────────────────────────────────────────────────────────────╮
│ Output path: None                                                                                                                                                       │
│ Extracted files: 1                                                                                                                                                      │
│ Extracted directories: 0                                                                                                                                                │
│ Extracted links: 0                                                                                                                                                      │
│ Extraction directory size: 44.88 MB                                                                                                                                     │
╰──────────────────────────────────────────────────────────────────────────────── Summary ────────────────────────────────────────────────────────────────────────────────╯
2026-01-11 19:38.26 [debug    ] Logging configured             extract_root=. pid=73506 vebosity_level=0
2026-01-11 19:38.26 [info     ] Creating extraction directory  extract_root=. pid=73506
2026-01-11 19:38.26 [info     ] Start processing file          file=be550v1-up-all-ver1-2-1-P1[20250813-rel27119]_nosign_2025-08-13_16.03.25.bin pid=73506
2026-01-11 19:38.26 [info     ] Activated FS access restrictions; rules=[Read("/"), ReadWrite("/dev/shm"), ReadWrite("/home/user/Documents/unblob_test"), RemoveDir("/home/user/Documents/unblob_test"), RemoveFile("/home/user/Documents/unblob_test"), MakeDir("/home/user/Documents"), ReadWrite("unblob.log")], status=FullyEnforced pid=73506
2026-01-11 19:38.26 [debug    ] Detected file-magic            magic=data path=be550v1-up-all-ver1-2-1-P1[20250813-rel27119]_nosign_2025-08-13_16.03.25.bin pid=73510
2026-01-11 19:38.26 [debug    ] Processing file                path=be550v1-up-all-ver1-2-1-P1[20250813-rel27119]_nosign_2025-08-13_16.03.25.bin pid=73510 size=0x2ce12d9
2026-01-11 19:38.26 [debug    ] Calculating chunk for pattern match handler=arc pid=73510 real_offset=0x2cfcd start_offset=0x2cfcd
2026-01-11 19:38.26 [debug    ] Calculating chunk for pattern match handler=cpio_binary pid=73510 real_offset=0x2e2d5 start_offset=0x2e2d5
2026-01-11 19:38.27 [debug    ] File format is invalid         handler=cpio_binary pid=73510
Traceback (most recent call last):
  File "/root/unblob/lib/python3.11/site-packages/unblob/finder.py", line 36, in _calculate_chunk
    return handler.calculate_chunk(file, real_offset)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/unblob/lib/python3.11/site-packages/unblob/handlers/archive/cpio.py", line 420, in calculate_chunk
    parser.parse()
  File "/root/unblob/lib/python3.11/site-packages/unblob/handlers/archive/cpio.py", line 154, in parse
    raise InvalidInputFormat("CPIO entry filename is too long.")
unblob.file_utils.InvalidInputFormat: CPIO entry filename is too long.
2026-01-11 19:38.27 [debug    ] Calculating chunk for pattern match handler=compress pid=73510 real_offset=0x32713 start_offset=0x32713
2026-01-11 19:38.27 [debug    ] File format is invalid         handler=compress pid=73510
Traceback (most recent call last):
  File "/root/unblob/lib/python3.11/site-packages/unblob/finder.py", line 36, in _calculate_chunk
    return handler.calculate_chunk(file, real_offset)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/unblob/lib/python3.11/site-packages/unblob/handlers/compression/compress.py", line 258, in calculate_chunk

Please use the "Preformatted text </>" button for logs, scripts, configs and general console output (red circle; this works best in the 'Markdown' composer view in the blue oval):

Screenshot 2025-10-20 at 8.14.14 PM

1 Like

Read the flash chip with SPI programmer.