Skip to content

Instantly share code, notes, and snippets.

@Weissnix4711
Last active August 7, 2021 14:58
Show Gist options
  • Save Weissnix4711/eeb54186469d313d07ffb44d00344a3f to your computer and use it in GitHub Desktop.
Save Weissnix4711/eeb54186469d313d07ffb44d00344a3f to your computer and use it in GitHub Desktop.
Tenda PH5 (P3 + PA6) PLC kit

Firmware available here for both devices.

PA6

Hardware info

BCM Board ID 96345

Analysis

[thomas@thomas-pc Downloads]$ binwalk US_PA6V1.0br_V1.0.1.21_multi_TDE01.bin 

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
64            0x40            Broadcom 96345 firmware header, header size: 256, firmware version: "33", board id: "60500WIFI_P201", ~CRC32 header checksum: 0x882265D0, ~CRC32 data checksum: 0x51208637
320           0x140           Squashfs filesystem, little endian, version 4.0, compression:xz, size: 3041780 bytes, 552 inodes, blocksize: 131072 bytes, created: 2018-01-21 17:10:45
3043660       0x2E714C        LZMA compressed data, properties: 0x6D, dictionary size: 4194304 bytes, uncompressed size: 2991760 bytes
SquashFS
[thomas@thomas-pc Downloads]$ dd if=US_PA6V1.0br_V1.0.1.21_multi_TDE01.bin bs=1 skip=$((0x140)) of=PA6.sqfs
4039386+0 records in
4039386+0 records out
4039386 bytes (4.0 MB, 3.9 MiB) copied, 14.7909 s, 273 kB/s
[thomas@thomas-pc Downloads]$ unsquashfs PA6.sqfs 
Parallel unsquashfs: Using 4 processors
495 inodes (540 blocks) to write

[========================================|                      ] 354/540  65%

created 196 files
created 57 directories
created 112 symlinks
created 0 devices
created 1 fifo
created 0 sockets
[thomas@thomas-pc Downloads]$ ls -R squashfs-root/
squashfs-root/:
bin  data  dev  etc  lib  linuxrc  mnt  opt  proc  sbin  sys  tmp  usr  var  webs

squashfs-root/bin:
acs_cli            bpmctl    cp       eapd      fcctl           homeplugd  memaccess  nvramUpdate  pwd            sleep    true    wlevt
acsd               brctl     date     ebtables  flash_cp        hotplug    mkdir      ping         pwr            smd      udhcpd  wlmngr
ash                bsd       deluser  echo      flash_erase     httpd      mknod      ping6        pwrctl         sntp     umount  wps_monitor
ate                busybox   df       ethctl    flash_eraseall  kill       mount      plcboot      rm             ssk      vi
bash               cat       dhcpc    ethswctl  flash_info      lld2d      nas        plcnvm       scratchpadctl  stty     wl
bcm_boot_launcher  chmod     dhcpd    false     grep            ln         nas4not    ps           send_cms_msg   sync     wlconf
bpm                consoled  dmesg    fc        homeplugctl     ls         nvram      pspctl       sh             telnetd  wlctl

squashfs-root/data:

squashfs-root/dev:
fuse  initctl  log  misc  pts  ram

squashfs-root/dev/misc:
fuse

squashfs-root/dev/pts:

squashfs-root/etc:
adsl               dhcp6c.conf.sample  filesystems   inittab            mtab     product_name_file  rc3.d        soft_bridge    wlan
arl                dhcp6s.conf.sample  fstab         iproute2           passwd   profile            resolv.conf  sysmsg         wrt54g.large.ico
cms_entity_info.d  dms.conf            gateway.conf  ipsec.conf         plcboot  psk.txt            samba        udhcpd.conf    wrt54g.small.ico
default.cfg        dyndscp.sh          group         ipv6_start.sample  ppp      racoon.conf        services     udhcpd.leases
dhcp               ethertypes          init.d        mdk                pppmsg   radvd.conf.sample  snmp         vlan

squashfs-root/etc/adsl:

squashfs-root/etc/cms_entity_info.d:
eid_bcm_base.txt  eid_bcm_homeplugctl.txt  eid_bcm_homeplugd.txt  eid_bcm_kthreads.txt  eid_bcm_mgmt.txt  eid_bcm_voip.txt  symbol_table.txt

squashfs-root/etc/dhcp:
dhcp_getdata

squashfs-root/etc/init.d:
bcm-base-drivers.sh  gre-tunnel-drivers.sh  mount-fs.sh  smd.sh  system-config.sh

squashfs-root/etc/iproute2:
rt_tables

squashfs-root/etc/plcboot:
fw.bin  paramconfig.bin  paramconfig.csv  ucode.bin

squashfs-root/etc/ppp:
chap-secrets  ip-down  ip-up  options  pap-secrets

squashfs-root/etc/rc3.d:
K25smd  K95mount-fs  S25mount-fs  S35system-config  S45bcm-base-drivers  S45gre-tunnel-drivers  S65smd

squashfs-root/etc/snmp:

squashfs-root/etc/wlan:
bcm43217_map.bin  bcm4331_vars.bin  bcm43602_nvramvars.bin  bcm4360_nvramvars.bin  bcmcmn_nvramvars.bin  nvram_params

squashfs-root/lib:
gpl                 libcms_msg.so   libc.so.0      libm.so.0        libwlbcmcrypto.so  libwlctl.so   libwps.so  public
ld-uClibc.so.0      libcms_util.so  libdl.so.0     libnvram.so      libwlbcmshared.so  libwlmngr.so  modules
libcms_boardctl.so  libcrypt.so.0   libgcc_s.so.1  libpthread.so.0  libwlcsm.so        libwlupnp.so  private

squashfs-root/lib/gpl:
libebtable_broute.so  libebtable_nat.so  libebt_ftos.so  libebt_ip.so      libebt_mark.so     libebt_standard.so  libebt_vlan.so
libebtable_filter.so  libebtc.so         libebt_ip6.so   libebt_mark_m.so  libebt_skiplog.so  libebt_time.so      libebt_wmm_mark.so

squashfs-root/lib/modules:
3.4.11-rt19

squashfs-root/lib/modules/3.4.11-rt19:
extra  kernel

squashfs-root/lib/modules/3.4.11-rt19/extra:
bcm_bpm.ko  bcm_enet.ko  chipinfo.ko  pktflow.ko  pwrmngtd.ko  wlcsm.ko  wlemf.ko  wl.ko

squashfs-root/lib/modules/3.4.11-rt19/kernel:
net

squashfs-root/lib/modules/3.4.11-rt19/kernel/net:
ipv4  netfilter

squashfs-root/lib/modules/3.4.11-rt19/kernel/net/ipv4:
netfilter

squashfs-root/lib/modules/3.4.11-rt19/kernel/net/ipv4/netfilter:
iptable_filter.ko  ip_tables.ko

squashfs-root/lib/modules/3.4.11-rt19/kernel/net/netfilter:
nfnetlink.ko  nfnetlink_queue.ko  xt_limit.ko  xt_LOG.ko  xt_mark.ko  xt_multiport.ko  xt_SKIPLOG.ko  xt_TCPMSS.ko

squashfs-root/lib/private:
libcjson.so    libcms_core.so  libcms_qdm.so   libfcctl.so            libhomeplugctl.so  libnanoxml.so
libcms_cli.so  libcms_dal.so   libethswctl.so  libhomeplugctl_drv.so  libmdm.so          libpwrctl.so

squashfs-root/lib/public:
libcms_boardctl.so  libcms_msg.so  libcms_util.so

squashfs-root/mnt:

squashfs-root/opt:
bin  modules  scripts

squashfs-root/opt/bin:

squashfs-root/opt/modules:

squashfs-root/opt/scripts:
db  dh  dw  fb  fh  fw  sb  sh  sw

squashfs-root/proc:

squashfs-root/sbin:
arp  depmod  ethctl  halt  hotplug  ifconfig  init  insmod  logread  modprobe  poweroff  reboot  rmmod  route  sysinfo  syslogd  vconfig

squashfs-root/sys:

squashfs-root/usr:
bin  sbin

squashfs-root/usr/bin:
'['  '[['   chrt   expr   ftpget   killall   logger   nc   sendarp   taskset   test   tftp   tftpd   top   tty   wget

squashfs-root/usr/sbin:
flash_eraseall

squashfs-root/var:

squashfs-root/webs:
css  favicon.ico  img  index.html  js  lang  login.html  powerline.html  system.html  wireless.html

squashfs-root/webs/css:
ie6.css  lang.css  reasy.css

squashfs-root/webs/img:
country.png  Facebook.png      ico-pwd.png     loading.gif  off.png  save-success.png    tenda-logo.png  validatebox_arrows.png
delIcon.png  icon-easy-en.png  img-radius.png  Navpic.png   on.png   tenda-logo-big.png  Twitter.png

squashfs-root/webs/js:
common.js  index.js  libs  login.js  powerline.js  system.js  wireless.js

squashfs-root/webs/js/libs:
ajaxfileupload.js  j.js  libs.js  reasy-ui.js

squashfs-root/webs/lang:
b28n.js  de  es  fr  hu  it  pl  pt  ro  ru  tr

squashfs-root/webs/lang/de:
translate.json

squashfs-root/webs/lang/es:
translate.json

squashfs-root/webs/lang/fr:
translate.json

squashfs-root/webs/lang/hu:
translate.json

squashfs-root/webs/lang/it:
translate.json

squashfs-root/webs/lang/pl:
translate.json

squashfs-root/webs/lang/pt:
translate.json

squashfs-root/webs/lang/ro:
translate.json

squashfs-root/webs/lang/ru:
translate.json

squashfs-root/webs/lang/tr:
translate.json
LZMA
[thomas@thomas-pc Downloads]$ xz --format=lzma --decompress PA6.lzma 
[thomas@thomas-pc Downloads]$ binwalk PA6

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
2424936       0x250068        Linux kernel version 3.4.11
2473308       0x25BD5C        CRC32 polynomial table, little endian
2560228       0x2710E4        xz compressed data
2609755       0x27D25B        Neighborly text, "neighbor %.2x%.2x.%pM lostdrType %d is not supported"
2737664       0x29C600        CRC32 polynomial table, little endian
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment