Espressobin V5 lost brain function - complete melt down

During a simple power cycle sequence which included shutting down Samba, unmounting hard drive, running e2fsck, then issuing the reboot command that always crashes the system but never reboots it, I had a catastrophic error in the form that nothing came back up this time other than the shining green light. (Nothing was different, used the same sequence to power cycle always.) As of today I've worked a couple of days trying to get the terminal interface live which would not work with Putty serial interface on 115200 but I finally downloaded Tera Term (using Windows 10) and found it worked. Got a crazy > (right arrow) or E on the console and finally found that a ? yielded this:

h/? - print this help screen
r yyyyyyyy - read register/memory at address yyyyyyyy in hex
w yyyyyyyy zzzzzzzz - write zzzzzzzz to address yyyyyyyy in hex
j yyyyyyyy - jump to address yyyyyyyy in hex
x y - change the boot mode, where y is in hex
a - UART control passed to AP CPU ROM
c - UART control passed to CM3 CPU ROM

Espressobin blogers say I lost the bootloader but no "Idiots Guide" designed for me on exactly how that is repaired ....
Any takers?

Also would appreciate a suggestion for something else besides this unit to run Samba 4 and Transmission. I was ready to ditch this thing for a while now since reboot doesn't work but this is the icing on the cake, and that assums anyone here can help me restore it. Looks pretty "brain dead".

Perhaps recoverable, but the RPi4 works well and not very expensive, reboots just fine. Add a consumer 8port managed switch for $30 or less... Its a great deal and saves a lot of hassle.

linux necessary tool :

necessary files :

easy to repair with a linux system, and a snashot build of OpenWRT (which now contains flashimages firmware, ready to use)

some information at armbian : and uboot here :

Thank you. I have spent several months working through changing laptop BIOS, reloading WIndows for second time as non-UEFI BIOS and many other iterations to get Linux to boot. I have it now on my laptop but still struggling with how to use it (installed Mint desktop).

It is concerning (from the perspective of the company) that the Espressobin link says it can be also fixed via Windows using Hyperterminal (hasn't been available on Windows since XP) and that a tool kit Marvell's WTPTP tools is available which they now say requires a user portal sign-in and now they collect all your info to sign in for marketing and after you submit all personal data, the user portal link is not responding. Also attempt to download WTPTP tools from all "free download" resources is not available either.

I will take all your kindly shared info and see if I can make any headway with my new Ubt. Mint desktop. Thanks for the level of research and willing to help. I would prefer to try to fix with Windows but Espressobin must be in a time warp to recommend 10 year old facilities that are no longer available ..... (update - just found Hyperterminal for Win10 for sale for $64 US LOL)

I just read over the armbien instructions for loading the boot loader. This is way over my skill level and I'm at the stage in life that I'm forgetting faster than learning, so that path is out for me. I might be better served once I get back to the states to just try the Raspberry Pi 4 route and sell this thing (with full disclosure) on eBay. All I really wanted was a bargain device with a lot of processing power and memory and that ran an OS I was at least vaguely familiar with. This device has caused enough headaches to justify having purchased a more stable device by many times over. The SAMBA file transfers would only max out a 9M and that was using direct hard drive connection to the board. It was more often 3M. I am thinking that RPi4 might at least be faster than that. I like OpenWRT and not anxious to start with a new OS for the RPi4 but I guess I'll be forced to. Thanks again!

RPi runs OpenWrt just fine, you just need to use current snapshots. Lots of people have been using it for routing since I put up my speed tests back in Feb 2020.

I'm running a dual-rpi4 file-server cluster, that gets 45MB/s file transfer rates and that's mostly because limit of the ethernet (it's shared between the two devices and the client), direct to USB3 hard drive docking station it gets much more. Those machines are running Raspbian not OpenWrt though.

The RPi is way way more well supported than the espressobin. I have an espressobin but it's a backup device for when I have to take down my router for any reason. Since switching to an RPi for routing in ~Feb 2020 it's been running continuously (on raspbian) and routing away like crazy. it works fine, it's reliable. Don't waste your life on poorly supported electronic devices.

Does raspbian have a Samba interface that is GUI and easy to use? Does it support the software Transmission? Support ftp server? How about OpenVPN server? (Also can these software enhancements be installed via a package download and not a bunch of compiling?) Thanks!

*** update - does it also support NTFS disks on USB3?

Not making much headway. I know I have a V5 board and it's stamped as 1GB but I can't determine if I have the DDR3 1CS 1G or the DDR3 2CS 1G bootloader and how to tell which one the board needs. I don't see this designation on any of the documentation for the board.

** receipt for device says its ESPRESSObin SBUD102 V5 64 Bit Single Board Computer Network Switch

Raspbian is just Debian, so whatever packages are in Debian are available +-

1CS and 2CS is for 1 chip or 2 chips

This board has a lot of chips, I wonder how one would discover how many chips of what part number exist there without knowing the part number or shape of the chips to be counted?

From the armbian page:
"if your board is older than a few months it has two RAM chips – one on each side of the PCB opposite to each other"

So look for two medium size square chips symmetrically above and below each other on opposite sides of the board...?

For the v7 it shows the SDRAM1 and SDRAM2 but it doesn't label them on the v5 image... :expressionless:

1 Like

Voila 2 chips, top and bottom - thank you!

Now does anyone have the WTPTP executable for Windows, Espressobin had taken them off their link and now requires customers contact sales to form a non-disclosure agreement to obtain the Windows tool package. I tried phoning a couple times today and they don't answer the phone.

no luck there. This is to talk to the device over the USB as a serial port? I can't remember... But your best bet might be to get a bootable linux image on a USB stick and just boot into linux and do the commands that way.

It seems really odd that your bootloader is corrupted, can you post a full bootlog here or pastebin?

You're much better off with Rockchip if you want an open device as RPi uses a lot of binary blobs which may/may not bite you in the end.

I was not able to make it work. I was using Linux Mint desktop and terminal from that platform. The instructions from Espressobin are so cryptic, for example they give a heading title of UART Mode, yet they never come out and say to replug the board for UART Mode:

So I read on another site where it said to plug it for UART so I did that. Now here is my dinking around on the console. Remember on Windows, Putty would never connect when it was plugged as normal and I had to use Tera Term. The situation now however and what is not displayed here is that I have issued the MKDIR and the GIT commands and all those files downloaded into the repected directories as expected. And also the Espressobin never says how or if to start a terminal session on the serial port. All very cryptic and a lot of knonwledge is assumed ...

oem@oem-Laptop:/media/oem/4EF2DA17F2DA02DF/openwrt$ dmesg | egrep --color 'serial|tty'
[    0.096011] printk: console [tty0] enabled
[  150.765185] usbcore: registered new interface driver usbserial_generic
[  150.765192] usbserial: USB Serial support registered for generic
[  150.767111] usbserial: USB Serial support registered for pl2303
[  150.767831] usb 1-3: pl2303 converter now attached to ttyUSB0
[ 1576.622375] pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0
[ 1582.505331] usb 1-3: pl2303 converter now attached to ttyUSB0
[ 1613.124074] traps: putty[7997] general protection fault ip:55b34e711fc5 sp:7ffd1dd69a40 error:0 in putty[55b34e6fd000+a7000]
oem@oem-Laptop:/media/oem/4EF2DA17F2DA02DF/openwrt$ cu -l ttyUSB0 -s 115200s
cu: open (/dev/ttyUSB0): Permission denied
cu: ttyUSB0: Line in use
oem@oem-Laptop:/media/oem/4EF2DA17F2DA02DF/openwrt$ ^C
oem@oem-Laptop:/media/oem/4EF2DA17F2DA02DF/openwrt$ screen /dev/ttyS0 115200
bash: screen: command not found
oem@oem-Laptop:/media/oem/4EF2DA17F2DA02DF/openwrt$ sudo add-apt-repository ppa:git-core/ppa
[sudo] password for oem:        
You are about to add the following PPA:
 The most current stable version of Git for Ubuntu.

For release candidates, go to .
 More info:
Press Enter to continue or Ctrl+C to cancel

Executing: /tmp/apt-key-gpghome.KR1Oh5cLqQ/ --keyserver hkps:// --recv-keys E1DD270288B4E6030699E45FA1715D88E1DF1F24
gpg: key A1715D88E1DF1F24: "Launchpad PPA for Ubuntu Git Maintainers" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1
oem@oem-Laptop:/media/oem/4EF2DA17F2DA02DF/openwrt$ apt update
Ign:1 ulyana InRelease
Hit:2 focal InRelease                      
Hit:3 focal InRelease             
Hit:4 ulyana Release                             
Hit:5 focal InRelease                         
Get:6 focal-security InRelease [109 kB]      
Get:7 focal-updates InRelease [114 kB]        
Get:9 focal-backports InRelease [101 kB]
Fetched 324 kB in 2s (165 kB/s)    
Reading package lists... Done
Building dependency tree       
Reading state information... Done
442 packages can be upgraded. Run 'apt list --upgradable' to see them.
oem@oem-Laptop:/media/oem/4EF2DA17F2DA02DF/openwrt$ apt install screen
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
Suggested packages:
  byobu | screenie | iselect ncurses-term
The following NEW packages will be installed:
  libutempter0 screen
0 upgraded, 2 newly installed, 0 to remove and 442 not upgraded.
Need to get 585 kB of archives.
After this operation, 1,073 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 focal/main amd64 libutempter0 amd64 1.1.6-4 [8,256 B]
Get:2 focal/main amd64 screen amd64 4.8.0-1 [577 kB]
Fetched 585 kB in 3s (173 kB/s)  
Selecting previously unselected package libutempter0:amd64.
(Reading database ... 289877 files and directories currently installed.)
Preparing to unpack .../libutempter0_1.1.6-4_amd64.deb ...
Unpacking libutempter0:amd64 (1.1.6-4) ...
Selecting previously unselected package screen.
Preparing to unpack .../screen_4.8.0-1_amd64.deb ...
Unpacking screen (4.8.0-1) ...
Setting up libutempter0:amd64 (1.1.6-4) ...
Setting up screen (4.8.0-1) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for install-info (6.7.0.dfsg.2-5) ...
Processing triggers for libc-bin (2.31-0ubuntu9) ...
Processing triggers for systemd (245.4-4ubuntu3) ...
oem@oem-Laptop:/media/oem/4EF2DA17F2DA02DF/openwrt$ screen /dev/ttyS0 115200
[screen is terminating]
oem@oem-Laptop:/media/oem/4EF2DA17F2DA02DF/openwrt$ screen /dev/ttyUSB0 115200
[screen is terminating]

After re-reading the website instructions for Linux, I don't understand how to make the command file execute as a command:

************ I got the command working by adding a "./" in front of it ...

oem@oem-Laptop:/media/oem/4EF2DA17F2DA02DF/openwrt/a3700-utils/wtptp/linux$ ls
TBB_linux  WtpDownload_linux
oem@oem-Laptop:/media/oem/4EF2DA17F2DA02DF/openwrt/a3700-utils/wtptp/linux$ WtpDownload_linux
bash: WtpDownload_linux: command not found
oem@oem-Laptop:/media/oem/4EF2DA17F2DA02DF/openwrt/a3700-utils/wtptp/linux$ WtpDownload_linux
bash: WtpDownload_linux: command not found
oem@oem-Laptop:/media/oem/4EF2DA17F2DA02DF/openwrt/a3700-utils/wtptp/linux$ ls
TBB_linux  WtpDownload_linux
oem@oem-Laptop:/media/oem/4EF2DA17F2DA02DF/openwrt/a3700-utils/wtptp/linux$ ls WtpDownload_linux
oem@oem-Laptop:/media/oem/4EF2DA17F2DA02DF/openwrt/a3700-utils/wtptp/linux$ sudo WtpDownload_linux
[sudo] password for oem:        
sudo: WtpDownload_linux: command not found

oem@oem-Laptop:/media/oem/4EF2DA17F2DA02DF/openwrt/a3700-utils/wtptp/linux$ /WtpDownload_linux
bash: /WtpDownload_linux: No such file or directory
oem@oem-Laptop:/media/oem/4EF2DA17F2DA02DF/openwrt/a3700-utils/wtptp/linux$ ./WtpDownload_linux
Start time: 11/30/20 19:18:14
WtpDownload for 32-bit Host (Target Images Downloading Tool)

Trusted version for TIM and NTIM
Release Date: 04.May.2017
WtpDownload HELP Menu.

 -V                         Verbose mode. Print all debug messages.
                            Default: false
 -B [TIM.bin]               Input TIM file (binary)
 -I [Image_h.bin]           Input any image file (_h binary)
 -J [JTAG_key.txt]          Input Jtag Key File (ASCII)
 -M [Message Mode] 	    <DISABLED = 1>
			    <MESSAGE_ONLY = 2>
			    <DOWNLOAD_ONLY = 4>
                            Default: 3
 -P [Port Type]             USB
 -G [USB Interface string]  Optional. Valid only when Port type is USB
 -U [Packet Size]           Size of download packets.
                            Actual packet size may be normalized to nearest valid size.
                            Default: 4096
 -C [port number]           UART Port number
                            Default: 1
 -R [baud rate]             110, 300, 600, 1200,						  2400, 4800, 9600, 14400,						  19200, 38400, 57600, 115200,						  12800, 256000
 -O [Special]		Force UART Download Mode
 -Y [Special]		Force UART R/W Mode
 -T [Platform type]	    <PXA168 = 0> ; ASPEN-A0
			    <PXA30x = 1> ; MH-L
			    <PXA31x = 2> ; MH-LV
			    <PXA32x = 3> ; MH-P
			    <ARMADA610 = 4> ; MMP2
			    <PXA91x = 5> ; TTC
			    <PXA92x = 6> ; TAVOR TD
			    <PXA93x = 7> ; TAVOR P/PV
			    <PXA94x = 8> ; TAVOR PV
			    <PXA95x = 9> ; TAVOR PV2
			    <ARMADA16x = 10> ; Aspen family
			    <PXA955 = 12> ; TAVOR MG1
			    <PXA968 = 13> ; TAVOR MG2
			    <PXA1701 = 14> ; CP888/ESHEL
			    <PXA978 = 15> ; NEVO
			    <PXA2128 = 16> ; MMP3 Family
			    <ARMADA622 = 18> ; MMP2X
			    <PXA1202 = 19> ; WUKONG
			    <PXA1801 = 20> ; ESHEL2
                <88PA62-70 = 21> ; GRANITE2
			    <PXA988 = 22> ; EMEI
			    <PXA1920 = 23> ;  HELN LTE
			    <PXA2101 = 24> ;  BIRCH-40
			    <PXA192 = 25> ; BIRCH-28
			    <PXA1928 = 26> ;  EDEN
			    <PXA1986 = 27> ;  ADIR
			    <PXA1802 = 28> ;  NEZHA
			    <PXA986 = 29> ; KUNLUN
			    <PXA1206 = 30> ;  WUJIN
			    <PXA888 = 31> ; WUTAI
			    <PXA1088 = 32> ;  HELN
			    <PXA1812 = 33> ;  ESHEL3
			    <PXA1822 = 34> ;  NEZHA2
			    <PXA1U88 = 35> ;  HELAN2
			    <PXA1908 = 36> ;  ULC1
			    <PXA1826 = 37> ;  NEZHA3
                <P88PA62_20 = 38> ; GEMSTONE2
                <P88PA62_10 = 39> ; // BASALT2
				<PXA1956 = 40> ; // HELAN4
				<VEGA = 41> ; // VEGA
				<BOWIE = 42> ; // BOWIE
				<ULC2 = 43> ; // ULC2
 -Q [partition.bin]         Download partition table bin file.
 -N                         Disables the fast download mode(if supported).
 -L [LogFilename.txt]       Log all messages of download to a log file.
 -W [UploadSpec.txt]        Upload Specification file. Upload data from target to PC

 -H                         Help. Displays this help message.

WtpDownload for Jtag Re-Enabling:
WtpDownload.exe -J JtagOEMkeyfile.txt

WtpDownload of TIM-JTAG Reenable-Image Usage:
WtpDownload.exe -P UART -B <NTIM/TIM.bin> -I <Image_h.bin> -J JtagOEMKeyfile.txt
WtpDownload for Downloading images:
WtpDownload.exe -P USB -B TIM.bin -I OBM_h.bin

WtpDownload with MESSAGE_ONLY Mode(Mode 2):
WtpDownload.exe -P USB -M 2

WtpDownload with MESSAGE_AND_DOWNLOAD Mode (Mode 3):
WtpDownload.exe -P USB -B <NTIM/TIM.bin> -I <Image_h.bin> -M 3

WtpDownload with DOWNLOAD_ONLY Mode (Mode 4):
WtpDownload.exe -P USB -B <NTIM/TIM.bin> -I <Image_h.bin> -M 4

 Error: Minimum number of arguments not provided

Finish time: 01/00/00 00:00:00

WtpDownload Incomplete!
Failure: WtpDownload Exiting with Failure Code!

**** But I still don't know what to do next ....

Maybe the console is not supposed to work with the board jumpered to the UART mode because I can't make it work from Linux or Windows any longer once I changed the jumpers. I could just move ahead and run the Wtptp linux tool but I don't know what parameters to use?????

I need to figure out which one of these files is which according to the Linux tool:
(see my post above for the full help info from this command)
-B [TIM.bin] Input TIM file (binary)
-I [Image_h.bin] Input any image file (_h binary)

Now I have at my disposal:
(is this my -B or -I option file?)

I also have from Espressobin zip file "ebin-openwrt-17.10" containing these three files:
(are either of these my -B or -I option file?

I will look into my notes to help you on the WTPDownload command...

1 Like

To boot via UART, take WtpDownload_linux binary from Marvell:

switch espressobin jumper for UART booting, unpack .tgz archive and run:
./WtpDownload_linux -P UART -C 1 -R 115200 -B uart-images/TIM_ATF.bin -I uart-images/wtmi_h.bin -I uart-images/boot-image_h.bin -E

(-C 1 means to use /dev/ttyUSB0, -C 2 --> /dev/ttyUSB1, ...)