Skip to content

Instantly share code, notes, and snippets.

@EtoTen
Last active April 1, 2025 14:17
Show Gist options
  • Save EtoTen/5ad00314df4ec64ea018a6576fd59c2a to your computer and use it in GitHub Desktop.
Save EtoTen/5ad00314df4ec64ea018a6576fd59c2a to your computer and use it in GitHub Desktop.
Gaining root on FLSun Speederpad with (v1.40) stock firmware

FLSun Speeder Pad Root via Serial TTY

This guide allows you to root a stock FLSun Speeder Pad without erasing anything. You only need a Phillips Screw driver, a plastic wedge tool, a USB to Serial USB Adapter (that supports 3v3) and 3 dupont female-female wires.

2024/03 - I noticed a typo in this guide on the setenv init lines which I corrected

2024/03 - Tested with clean FLSun v400 speeder-pad firmware at v1.4

Alternatively you can root the device by flashing a recovery image and overwriting the FLSun Klipper build: https://github.com/Guilouz/Klipper-Flsun-Speeder-Pad

1) Open the case Speeder Pad case: There are 2 Phillips screws and multiple snaps. Use a plastic thin wedge to unclip the snaps and separate the back cover from the device.

There is a 3 pin connector on the motherboard that has the labels RX,TX and GND

Connect a serial to USB adapter, set to 3v3

  • RX->TX
  • TX->RX
  • GND-GND

2) Connect to the device with a serial console app like Putty or screen, the baud rate is 115200

To get a u-boot console you have to quickly press a key on your keyboard to interrupt bootup sequence, immediately after powering the device on with the 24vdc+ barrel connector coming from the printer

Once you are in the u-boot console:

=> setenv bootdelay 5
=> setenv init /bin/sh -m
=> saveenv
Saving Environment to SUNXI_FLASH... Writing to redundant env... OK
=> boot

After boot-up you should be presented with a logged in root session where you can add the pi user to the "sudo" group and change it's password:

/bin/sh: 0: can't access tty; job control turned off
 #  [    7.159243] 
 [    7.159243] insmod_device_driver
 [    7.159243] 
 # bash
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
root@(none):/# usermod -a -G sudo pi
root@(none):/# id pi
uid=1000(pi) gid=1000(pi) groups=1000(pi),4(adm),5(tty),20(dialout),27(sudo),44(video)
root@(none):/# passwd pi 

Reboot and interrupt boot again

In u-boot console:

=> setenv init /sbin/init
=> saveenv
Saving Environment to SUNXI_FLASH... Writing to redundant env... OK
=> boot

Once the device boots, you can now connect to it via SSH with the pi / whatever_password_you_set

@hollebolle222
Copy link

I have tried it this way, which actually works.
I get a connection to the console, but only with gibberish characters

I think it has something to do with the baud rate, I tried several, but unfortunately without success. :/

@EtoTen
Copy link
Author

EtoTen commented Apr 21, 2023

@hollebolle222 Should be 115200... Make sure you are using 3v3 too and not 5v levels.
What app are you using to connect? Putty on Windows?

@hollebolle222
Copy link

yes, i use putty on windows.

it could also be my serial cable, a usb-c to rj45 from delock.
(this cable works for example with pretty much all lan switches except Cisco. Cisco is special, yes, but still it could have something to do with the cable. I am not sure)

@alexpebody
Copy link

Great manual! But if on my Speeder Pad FLSun V400 unknown pi user and FLSun do not want tells me pi (default password pi not working) user password and root too? How can I do this and add pi user to sudoers? Thx.

@tita2000
Copy link

tita2000 commented Sep 15, 2023

Hello everyone, I gained root access to the V400 speeder-pad version V1.4. Here is how I did it:

Gain U-Boot access described above

=> setenv bootdelay 5
=> setenv init /bin/sh -m
Do not use "saveenv" at this point, so the environment variable will only be used for this boot. The next cycle your speeder pad will boot normal.
=> boot

After that you get a sh prompt.
sh-5.0#
sh-5.0# passwd pi
after typing the password 2 times just
=> exit

try ssh connect with the pi user and the set password.

For changing the root password just type "sudo passwd root" in the ssh connection and reenter the new root password 2 times.

Regards
Timo

@EtoTen
Copy link
Author

EtoTen commented Mar 12, 2024

Hello everyone, I gained root access to the V400 speeder-pad version V1.4. Here is how I did it:

Gain U-Boot access described above

=> setenv bootdelay 5 => setenv init /bin/sh -m Do not use "saveenv" at this point, so the environment variable will only be used for this boot. The next cycle your speeder pad will boot normal. => boot

After that you get a sh prompt. sh-5.0# sh-5.0# passwd pi after typing the password 2 times just => exit

try ssh connect with the pi user and the set password.

For changing the root password just type "sudo passwd root" in the ssh connection and reenter the new root password 2 times.

Regards Timo

Thanks, I made the correction to the init lines. Sorry it took so long, I did not get notifications of the comments for some reason.

@titou4307
Copy link

I have used this How To ...
Perfect, it is OK

Now I am lookin for to fix the MAC address under U Boot

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment