Jump to content

Recovery / Reset


imsplitbit

Recommended Posts

You can follow Darren Kitchen's post above for getting it hooked up (cracking it open and finding the serial port). Hook that serial port up immediately, but do not plug the Signal Owl's USB cable in to make sure it does not get any power.

Then you get your hands on the update-1.0.1.bin (from the Hak5 downloads site, it is just the latest firmware update)

Then you download my repository and follow the instructions (make sure you have the NodeJS runtime installed)

Then you follow the app's instructions (it will tell you when to plug the Signal Owl into power)

Link to comment
Share on other sites

  • Replies 59
  • Created
  • Last Reply

Thanks Doridian , you saved my owl!  the script was much slower than expected (~15 hrs), but worked great.   Followed Darren's steps to get connected to the Owl over serial and troubleshoot a bit first. Once I was more confident I was connected correctly,  I was able to follow the steps in Doridians github link.   Just install Node.js on your machine and it should go smoothly.

Link to comment
Share on other sites

Thanks Doridian's script saved my owl!  Running the script was much slower than expected (~15 hrs), but just need to have a little patience and it worked great.  

Followed Darren's steps to get connected to the Owl over serial and troubleshoot a bit first. Once I was more confident I was connected correctly,  I was able to follow the steps in Doridian's github link.   Just install Node.js on your machine and it should go smoothly. 

Link to comment
Share on other sites

I have a bricked owl (power fail during update), could anyone with a working owl send me a memory dump from the uboot interface so that I can reflash it?

e.g.                  md.l 0x9f000000 0x01000000

(a quick ''grep ':' DUMPFILE | wc -l" should show 1048576 if it is complete)

I have a way to reflash it but without a dump its a little difficult. Will share the results here.

 

Thanks for any help.

Link to comment
Share on other sites

1 minute ago, Nutterr said:

I have a bricked owl (power fail during update), could anyone with a working owl send me a memory dump from the uboot interface so that I can reflash it?

e.g.                  md.l 0x9f000000 0x01000000

(a quick ''grep ':' DUMPFILE | wc -l" should show 1048576 if it is complete)

I have a way to reflash it but without a dump its a little difficult. Will share the results here.

 

Thanks for any help.

The update you can download from hak5 is ltieraly a raw binary image (update-1.0.1.bin). So you can just flash that thing. It is what I did. All you do is flash that to $firmware_addr (which should actually be 0x9f000000 IIRC)

Link to comment
Share on other sites

  • 1 month later...
On 10/24/2019 at 3:16 AM, Darren Kitchen said:

No, unfortunately there is not a firmware recovery option if the power is lost while flashing.

So i got my OWL today, read in the doc to put a flash disk with the newes firmware in a ubs port (the doc didnt specify, so i took the passthough one. Plugged the owlin and did as said in the docs. The LED does different patterns..i went away for dinner..returned and the led was blinkig slowly. I safly ejected the owl..removed the usb drive, plugged it back in and now it directly starts with a slow blinking led.

Now you tell me i paid 80$ (cause shippment/tax) just to follow the instuctions and get a chewing toy for my dog? Really no way to firmware reset?? Why???
Isnt there at least a way to get a replacement a bit cheaper? Its really sad, that there is no failsafe..esp, when the first thing you need to do is a firmware update.
Waiting so long for a brick..i followed the easy step by step instuctions except i plugged the stick in the 1st usb port instead of the the payload one. Seeing the led athernating between blinking, no led, static led, blink pattern....i assumed its updating..there was no powerloss..and after over 30min and the led constantly blinking at a slow pace, I assumed its done. Whoosh it is bricked and a customer is very sad.

Please..any help..i cant open it and wire flash it myself..unless i have very clear instructions over somethin like a skype chat.

Link to comment
Share on other sites

  • 1 month later...
On 1/1/2020 at 9:24 PM, Doridian said:

You can follow Darren Kitchen's post above for getting it hooked up (cracking it open and finding the serial port). ...

I have the same problem after trying to install the firmware the first time. Thanks for the tip with the serial transmission. Can you explain or show me how to open the case without damaging it? 

Link to comment
Share on other sites

It's over. With a plectrum (for guitar or other side instruments) it opens quite well.
I made a photo for the general public to get an idea of the inside of the case.
Next I will build a suitable serial cable.

DSC-0109.jpg

Link to comment
Share on other sites

Not a chance. All I get is character salad over the serial port, and no access to uboot. The same thing over and over, indicating a boot loop. The settings were definitely correct (115k, 8N1), I also tried other settings (9.6k for example) and other terminal programs. 

The serial cable is okay, I tested it using loop test. 

Finally I tried the script. It starts with the same string of characters (yes, it's always the same string), asks me to plug in the power supply, and then there was a tab jump on the screen about every 5 seconds, later only every 5 seconds a |. 
After 36h I aborted. The Owl now shows the same reaction as before the script, bootloop with always the same character salad. 

script.png

Link to comment
Share on other sites

  • 1 month later...

@Doridian i've some problem with your script the 5 second delay dont work for me.
The code crash immediately after the message "plug target now ".

the problem is due to the set interval function seems not working correctly... in my case .

modified code
 

function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

function gf(j) {
    if (j >= file.byteLength) {
        return '00';
    }
    return ('00'+(file[j].toString(16))).substr(-2);
}

for (let i = 0; i < file.byteLength; i += 4) {
    fileData.push(
        gf(i) + gf(i+1) + gf(i+2) + gf(i+3)
    );
}

const firmware_size = 0x${file.byteLength.toString(16)};

console.log(FW prepared. Size = ${firmware_size}. Begin FLASH! (Plug in target NOW));
sleep(2000).then(() => {
    console.log(timer end);
});
let pokeInternal = setInterval(() => { port.write('.\n'); }, 5000);


 the result :

C:\path\slow-uboot-flasher-master>node ./flashme.js
Prepping FW...
FW prepared. Size = 0xf1031b. Begin FLASH! (Plug in target NOW)
(node:18836) UnhandledPromiseRejectionWarning: Error: Opening COM21: File not found
(node:18836) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:18836) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
timer end

so impossible to restore my owl 😞 

(ps : another question to be sure , we only need to plug on GND TXD RXD (not vcc) ? and to be sure ,what kind of serial usb adaptater are you using ?)

Link to comment
Share on other sites

Are you sure you performed these tasks befor?

  • npm i serialport
  • Adjust COMPORT and FILENAME in file node.js

It seems COM port 21 does not exist.

And you definitely need a TTL device, I used this one: DSD TECH SH-U09C2, You only need GND TXD RXD 

Link to comment
Share on other sites

@LarsM Yes , the com21 is the right port in my case and i've installed the serial port package , and changed the code as asked with my settings (i've left as original the filename and just changed the port).

Here the error due to port 21 is due to the fact the script continue to execute without waiting i plug the serial usb and so crash because nothing is plugged at COM21.
But i cant plug my serial before executing ,i've tried , "if its work after all ?" .
I dont have any error message but i've nothing on my terminal too and the transfert led of my serial dont blink

 

Link to comment
Share on other sites

Why  you can't connect the serial device before starting the script? You have to, because otherwise the command before will give an error message. 

You should only power the Signal Owl after you are prompted to do so.

Forget the script for now.

Connect PC to the serial device and connect it with the signal Owl. Switch on the Signal Owl and see if you get clear readable characters in the terminal. If you press a key in the terminal, you get into the bootloader uboot.

If that works, you can continue with the script.

Link to comment
Share on other sites

11 minutes ago, LarsM said:

Why  you can't connect the serial device before starting the script? You have to, because otherwise the command before will give an error message. 

You should only power the Signal Owl after you are prompted to do so.

Forget the script for now.

Connect PC to the serial device and connect it with the signal Owl. Switch on the Signal Owl and see if you get clear readable characters in the terminal. If you press a key in the terminal, you get into the bootloader uboot.

If that works, you can continue with the script.

So (to be sure and for other that can be in my situation ) the protocol is :

Preparation :

  • install the serial port package
  • open the signal owl case to expose the card and the 4 port

Flashing:

  1. Plug the serial (GND TXD RXD connected to the signal owl card but not VCC) i use a  DSD TECH SH-U09C2 too.
  2. launch script (eddited com port and if needed the filename)
  3. when asked plug the signal owl by his male usb to power

because if i do this , my terminal dont move , my owl blink (brik blink) and nothing is visible (TX blink once every 5 s and RX dont blink at all) 

Link to comment
Share on other sites

Are you sure that the communication between terminal and Signal Owl works properly? 

Once again: Forget the script for now.

If you see the boot process in the terminal (like in this post https://forums.hak5.org/topic/49420-recovery-reset/?do=findComment&comment=324456) and you can stop it, only then is it time to continue with the script. Because then you can be sure that the connection RX and TX between terminal and Signal Owl works. 

RX must light/flash all the time, since you are receiving the signs of the boot process. TX must flash when you press a key on the terminal or every 5 seconds because the boot loop will start again (reset). 

And if you have pressed a key in the terminal and the signal comes up to the Signal Owl, then RX will also stop flashing/lighting because the boot process has been interrupted and the signal Owl is waiting for further input in the terminal.

Link to comment
Share on other sites

Download Putty, start the app, settings serial, speed 115200 (8,N,1, no flow control) and then click OPEN (see the attachement).

If everything works so far, you can see the boot process and stop it. Or you can try to navigate through the boot menu. If that works, then you can try the script.

image.png

image.png

Link to comment
Share on other sites

@LarsM Problem solved ! I'm terribly stupid !

i've inverted RX and TX -_- soooo ..... all work perfectly now , the reset is processing now...
(for the port reading i've used the arduino ide ->monitor)

So if another noob like me block on the recovery there is the protocol i've used 

 

Preparation :

  • install node js (https://nodejs.org/en/)
  • install the serial port package ( "npm i serialport" on a cmd/ps terminal)
  • open the signal owl case to expose the card and the 4 port
  • verify the COM port used by your serial.
  • Put the update binary in the same folder than the flashme.js file
  • open a terminal on this folder

Flashing:

  1. Plug the serial (GND TXD RXD connected to the signal owl card but not VCC) (i use a  DSD TECH SH-U09C2).
  2. launch script (eddited com port and if needed the filename) "node ./flashme.js" on the terminal open in the folder
  3. When asked plug the signal owl by his male usb to power.
  4. wait.

DEBBUGING action if impossible to flash:

-check if RX and TX are not inverted !
-use PUTTY for testing port communication like this 

hoping this will help someone


thank a lot to @LarsM  for your patience and Help !
And by the way thank you @Doridian for your script !

Link to comment
Share on other sites

  • 2 months later...
15 minutes ago, BHak said:

i suppose this process will work on other devices (i.e keycroc) as long as we can serial into it? right ?

As long as you can attach to serial and there is a firmware.bin file available from Hak5 it should work, yes.

Link to comment
Share on other sites

10 hours ago, Doridian said:

As long as you can attach to serial and there is a firmware.bin file available from Hak5 it should work, yes.

For Keycroc, it come with a large package .tar.gz format. Can it work directly in this way ? i have connected serial to keycroc and it look like the strings are not clear text and i am trying to see if i can access the udisk directly. Anyone know how to do this ?

Link to comment
Share on other sites

On 4/5/2020 at 3:12 PM, LarsM said:

Not a chance. All I get is character salad over the serial port, and no access to uboot. The same thing over and over, indicating a boot loop. The settings were definitely correct (115k, 8N1), I also tried other settings (9.6k for example) and other terminal programs. 

The serial cable is okay, I tested it using loop test. 

Finally I tried the script. It starts with the same string of characters (yes, it's always the same string), asks me to plug in the power supply, and then there was a tab jump on the screen about every 5 seconds, later only every 5 seconds a |. 
After 36h I aborted. The Owl now shows the same reaction as before the script, bootloop with always the same character salad. 

script.png

Hi, how did you solve your character salad? When I am connected via putty, there is no string(rubbish string) that I can understand

Link to comment
Share on other sites

On 7/24/2020 at 5:31 PM, LarsM said:

You have to use a USB-to-TTL device like this one. A USB-to-RS232 converter will not work. This was my problem.

Oic. May I ask, how does u guys connect the serial lead? Soldering on the board is not easy and the wiring keep falling off after awhile

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...