hadess / smartboy-dumper

Linux dumper for the Hyperkin Smartboy
GNU General Public License v3.0
10 stars 2 forks source link

Smartboy dumper does nothing #6

Closed shad0wxwolf closed 3 years ago

shad0wxwolf commented 4 years ago

Instructions on how to use this program are very vague I've attempted to dump the device using both the USB ID and the ttyacm0 and all I get is how to use the program for an output, no rom dumping or anything.

hadess commented 4 years ago

./smartboy-dumper /dev/ttyACM0 as root should work.

shad0wxwolf commented 4 years ago

this is all that happens when I run that smartboy-dumper error

hadess commented 4 years ago

Have you tried following the instructions in https://github.com/hadess/smartboy-dumper/issues/6#issuecomment-647809700 ?

shad0wxwolf commented 4 years ago

Screenshot from 2020-06-25 22-59-23 Tried with root still nothing.

shad0wxwolf commented 4 years ago

Screenshot from 2020-06-25 23-21-02 okay I got it working but now I get this

hadess commented 4 years ago

Can you try running it with G_MESSAGES_DEBUG=all as an environment variable? And also please stop posting screenshots, you can cut and paste the text directly, by putting it in between 3 backticks. See the markdown help linked from the bottom right of the text entry.

shad0wxwolf commented 4 years ago

exported the g massages debug thing and all I get is

Opened device /dev/ttyACM0 Got ROM Size: 0 bytes (0 x 16kB) ** ERROR:smartboy-dumper.c:258:fd_watch: code should not be reached Bail out! ERROR:smartboy-dumper.c:258:fd_watch: code should not be reached

Aborted

pawntheory commented 4 years ago

I'm also getting this under Arch Linux 5.7.6-arch1-1. Not getting any of the debug messages with G_MESSAGES_DEBUG=all.

Running ./smartboy-dumper /dev/ttyACM0 as root gets:

*** Opened device /dev/ttyACM0
*** Got ROM Size: 2097152 bytes (128 x 16kB)
**
ERROR:smartboy-dumper.c:258:fd_watch: code should not be reached
Bail out! ERROR:smartboy-dumper.c:258:fd_watch: code should not be reached

Device opens and the size is read successfully, but after that it sets the dumper->tag_pos to IN_STARTROM, throwing the above assert. (I put a g_print under that switch case to check and it definitely is going to IN_STARTROM, not just falling through the default).

Another thing: when running any time after the first time it hangs and I have to kill it. This is the case until the device is unplugged and reinserted. This may also be a fault with my system or my USB-C adapter, however. Heck, the whole thing could be my system or adapter. I'll try a different of each when I get the chance and reply.

hadess commented 4 years ago

Finally got the device out of storage. I've seen one of the assertion, but it was reading a 0-sized ROM. The whole code could do with being a little more forgiving for device errors, which I'll try to do when it stops falling over and disabling USB ports after a couple of tries :/

(I also use a USB-C adapter that's super fiddly...)

hadess commented 4 years ago

I've ordered some USB cable bits to debug this properly.

hadess commented 3 years ago

There were multiple problems:

You might still need to Ctrl+C and restart the dumper if it doesn't detect carts after a while.