See Update below.
I got an email from Logitech that they are End of Lifing their Harmony Link product (see https://community.logitech.com/s/question/0D55A0000745EkCSAU/harmony-link-eos-or-eol).
So I took it upon myself to start taking it apart. Peeling back the sticky pads on the bottom revealed 4 solder points. Two of which happen to UART connections.
Here is the info when booting:
++NAND: RCSR=54200900
Searching for BBT table in the flash ...
.
Found version 1 Bbt0 at block 1023 (0x7fe0000)
Total bad blocks: 0
.[Warning] FEC not connect right PHY: ID=fffffc
FEC: [ FULL_DUPLEX ] [ connected ] [ 100M bps ]:
Ethernet mxc_fec: MAC address sn:ip:ped:fr:om:vu
No IP info for device!
Unrecognized chip: 0xf8!!!
hardware reset by POR
Clock input is 24 MHz
RedBoot(tm) bootstrap and debug environment [ROMRAM]
Non-certified release, version FSL 200904 - built 21:32:37, Jul 5 2011
Platform: Logitech Baby (i.MX25 ) PASS 1.0 [x32 DDR]
System type 2070 revision 6
Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.
Copyright (C) 2003, 2004, 2005, 2006 eCosCentric Limited
RAM: 0x00000000-0x03f00000, [0x00095250-0x03ef1000] available
FLASH: 0x00000000 - 0x8000000, 1024 blocks of 0x00020000 bytes each.
== Executing boot script in 3.000 seconds - enter ^C to abort
RedBoot> ubi attach -f 0x80000 -l 0x07EC0000 -w 0x800 -e 0x20000 -s 0x200
scanning 1014 PEBs
........................................................................................................................................d
RedBoot> ubi load -b 0x100000 kernel%{os_backup}
RedBoot> exec -c %{os_cmdline}entry=0x80008000, target=0x80008000
Using base address 0x00100000 and length 0x0013a6d4
Uncompressing Linux..................................................................................... done, booting the kernel.
So it is running a booter called RedBoot. This seems to show the individual image files:
RedBoot> ubi info
Volumes count: 8
Logical eraseblock size: 129024
Total amount of logical eraseblocks: 1014 (130830336 bytes)
Amount of available logical eraseblocks: 337 (43481088 bytes)
Maximum count of volumes 128
Count of bad physical eraseblocks: 0
Count of reserved physical eraseblocks: 10
Current min/mean/max erase counter: 2/5/9
Minimum input/output unit size: 2048 bytes
VID header offset: 512
-----------------------------------
Volume ID: 0
Type: static
Alignment: 1
Size: 17 LEBs (2228224 bytes)
Used: 10 LEBs (1287892 bytes)
State: OK
Name: kernel
-----------------------------------
Volume ID: 1
Type: static
Alignment: 1
Size: 114 LEBs (14942208 bytes)
Used: 92 LEBs (11862016 bytes)
State: OK
Name: cramfs
-----------------------------------
Volume ID: 4
Type: dynamic
Alignment: 1
Size: 25 LEBs (3276800 bytes)
State: OK
Name: mfgdata
-----------------------------------
Volume ID: 5
Type: dynamic
Alignment: 1
Size: 261 LEBs (34209792 bytes)
State: OK
Name: storage
-----------------------------------
Volume ID: 6
Type: static
Alignment: 1
Size: 25 LEBs (3276800 bytes)
Used: 10 LEBs (1287892 bytes)
State: OK
Name: kernel_sm
-----------------------------------
Volume ID: 7
Type: static
Alignment: 1
Size: 114 LEBs (14942208 bytes)
Used: 102 LEBs (13033472 bytes)
State: OK
Name: cramfs_sm
-----------------------------------
Volume ID: 8
Type: dynamic
Alignment: 1
Size: 25 LEBs (3276800 bytes)
State: OK
Name: usrconf
-----------------------------------
Volume ID: 9
Type: dynamic
Alignment: 1
Size: 82 LEBs (10747904 bytes)
State: OK
Name: logitech
-----------------------------------
Volume ID: 2147479551
Type: dynamic
Alignment: 0
Size: 0 LEBs (0 bytes)
State: OK
Name:
Here's the question: Can anyone help me make use of this info? How can I best get the info off the device via this UART cable? I've toyed with the dump command to various levels of success but that is pretty cumbersome just showing typical hex text in the form of
00139E70: F8 13 90 C7 98 3B 7B CF 04 9F 80 E1 9A FF 8B 68 |.....;{........h|
which is hard to do anything with. So, any ideas as to how I should proceed? Many thanks.
Update: I've managed to dump (I think) the entire memory, but haven't gotten much out of it with Binwalk. In case anyone else wants to take a look, here it is. https://www.dropbox.com/s/pxpugqpptqc3ph9/data-complete.bin