The Datto (now Kaseya) L8, E24v3, and E48 switches are Realtek gigabit switches with PoE output. They are cloud managed but Datto EOL’d support several years ago and they can be purchased for a reasonable price ($20-$50) used online.
Datto L8 is based on the RTL8380M with 256MB of RAM and 32MB of SPI (SOIC16) flash:
U-Boot 2011.12.48956-1.0.4 (Aug 23 2018 - 16:40:18)
Board: * CPU:500MHz LXB:200MHz MEM:300MHz
DRAM: 256 MB
SPI-F: 1x32 MB
Loading 65536B env. variables from offset 0x80000
Switch Model: RTL8380M_INTPHY_1G_DEMO (Port Count: 10)
Switch Chip: RTL8380M
**************************************************
#### phy config - MAC ID = 8 ####
Now Internal PHY
Net: Net Initialization Skipped
ethname#0
Enter correct key to stop autoboot: 3
The L8 is powered from an external 54V, 1.2A power supply. 5.5x2.1mm center positive.
The 3.3V UART header is just above the SPI flash in the photo (to the right of the CPU heat sink), pinout (from left→right): GND, Rx, Tx, Vcc (Don’t connect). 115200 baud
Datto E24v3 is based on the RTL8396 with 2 SFP+ ports, 256MB of RAM and 32MB of SPI (SOIC16) flash:
U-Boot 2011.12.48956-1.0.4 (Aug 23 2018 - 15:45:43)
Board: * CPU:700MHz LXB:200MHz MEM:400MHz
DRAM: 256 MB
SPI-F: 1x32 MB
Loading 65536B env. variables from offset 0x80000
chip_index= 24
Switch Model: RTL8396M_DEMO (Port Count: 26)
Switch Chip: RTL8396
Model Info: 83966806
### RTL8218B config - MAC ID = 0 ###
### RTL8218B config - MAC ID = 8 ###
### RTL8218B config - MAC ID = 16 ###
### RTL8295R config - MAC ID = 24 ###
_phy_8295_patch_a_init_rtl8295r FIXME remove dbg
### RTL8295R config - MAC ID = 36 ###
_phy_8295_patch_a_init_rtl8295r FIXME remove dbg
PHY[0]: disable EEE
PHY[1]: disable EEE
PHY[2]: disable EEE
PHY[3]: not supported in EEE
PHY[4]: not supported in EEE
Net: Net Initialization Skipped
ethname#0
Enter correct key to stop autoboot: 3
Console is an RJ-45 port on the front, use a Cisco roll-over cable. 115200 baud
Datto E48 is based on the RTL8393 with 4 SFP ports, 256MB of RAM and 32MB of SPI (SOIC16) flash:
U-Boot 2011.12.48956-1.0.4 (Aug 23 2018 - 17:09:16)
Board: * CPU:700MHz LXB:200MHz MEM:400MHz
DRAM: 256 MB
SPI-F: 1x32 MB
Loading 65536B env. variables from offset 0x80000
Switch Model: RTL8393M_DEMO (Port Count: 52)
Switch Chip: RTL8393M
Model Info: 83936802
### RTL8218B config - MAC ID = 0 ###
### RTL8218B config - MAC ID = 8 ###
### RTL8218B config - MAC ID = 16 ###
### RTL8218B config - MAC ID = 24 ###
### RTL8218B config - MAC ID = 32 ###
### RTL8218B config - MAC ID = 40 ###
### RTL8214FC config - MAC ID = 48 ###
PHY[0]: disable EEE
PHY[1]: disable EEE
PHY[2]: disable EEE
PHY[3]: disable EEE
PHY[4]: disable EEE
PHY[5]: disable EEE
PHY[6]: disable EEE
Net: Net Initialization Skipped
ethname#0
Enter correct key to stop autoboot: 3
Console is an RJ-45 port on the front, use a Cisco roll-over cable. 115200 baud
U-Boot autoboot speculation
Unfortunately, the key to interrupt auto boot is unknown:
Enter correct key to stop autoboot: 3
I tried to brute force this, but without success. Desoldering flash and setting bootstopkey and bootdelaykey in the environment have no effect, so I think they modified U-Boot on production devices to prevent interrupting the boot and just didn’t remove the delay.
Enter pac to stop the U-Boot autoboot timer. Run rtkon to enable networking and then you can tftpboot. Note that $load_addr is set to some invalid address that causes TFTP timeouts. I have been using 0x81000000
U-Boot enviroment
Change bootcmd=boota to bootcmd=sleep 1 and reflash the U-Boot environment to prevent the switch from auto-booting and drop you to a shell:
mkenvimage -b -s 65536 -o e24v3-env.bin e24v3.txt
Note: flashing in-circuit did not work for me. I have socketed the SOIC16.
I have managed to get the rtl838x/rtl839x targets booting, but a lot doesn’t work (fans, LEDs, SFP, POE). If anyone else owns this hardware and would like to contribute to development, please reply or send me a message ![]()






