DGS-1210-28P F1 - Web Install


I'm trying to install openwrt on a DGS-1210-28P F1. I would like to avoid opening up the device if possible.
I am following these instructions: D-Link DGS-1210 rev F working factory images (no serial needed) - #12 by joer
I am trying to install the build via the web interface, however its not working and I get the following error:

Firmware Backup and Upgrade !
FW upgrade/backup fail, check FW file...

I have tried the following releases so far:
openwrt-realtek-rtl838x-d-link_dgs-1210-28-squashfs-factory_image1.bin (snapshot)

I am using the firmware version 6.20.B009 per the instructions.

I have read all the related forum posts already. Apologies if I am doing something stupid.


I'm afraid, your switch is not supported. Only DGS-1210-28 and DGS-1210-28MP are supported, not the DGS-1210-28P variant that you own.

However, support for it is probably trivial for you to add: The -28 and -28MP share the same board, the -28MP has only a few additional buttons and LEDs which I assume are also present on the -28P.

I would do the following to be on the safe side:

  • Attach serial
  • Boot the 28MP initramfs version via serial console
  • Verify that everything works
  • Create a new device in the OpenWrt source tree, all you need to change is the model ID so that the firmware image is accepted by the stock web GUI
  • Submit a PR

And if you are brave (I was lucky with the -28MP, I never opened my device when I was in your situation): Directly add the 28P variant to the source tree, build and flash and hope that your switch still boots :wink:

-28 and -28MP isn’t even close to similar board! -P is POE.

-28P and -28MP, -M is internal PSU and on the -10P and -10MP they are identical as far as the firmware is concerned.

So go with the -28P if you have a -28MP.

All GPIOs are the same, same flash layout, same i2c interface ... so it's very similar from the software perspective. On the TP-Links and ZyXELs, PoE is a separate daughter card so the mainboard is very similar. I didn't disassemble my D-Link and really do not know how close the mainboards are - bad phrasing from my side.

The OP has a -28P and is looking for an OpenWrt-compatible firmware which doesn't exist. There is only -28 and -28MP. You cannot install the -28MP version from the OEM web interface as the firmware tag won't match (although it should work just fine when flashed from U-Boot).

The difference between -28P and -28MP is the PSU, it's internal in all cases. The -28MP has 370W PoE budget, the -28P has 193W PoE budget.

Thank you very much for the detailed answer.

Adding my experiences here if anyone else comes looking - I also have the DGS1210-28P (not MP).
It's quite easy to flash:
Solder to the J2 header and connect via serial (115200 8N1)
Follow the flash procedure here: link

Worked for me!

Which firmware did you flash?

The DGS1210-28MP works a treat. Need to do some more testing as using it with a NIC as a WAN port, in a different clan and passing traffic through the firewall seems to hit the CPU quite highly. Know it's a switch and a single CPU but it's an interesting test to play with.

Else might use it as a L3 switch with my router as a router, but I pass inter-vlan traffic through firewall rules

The single core 500MHz MIPS 4kc SOC in these switches was never intended for routing traffic. Its a switch not a router!

You're saying that this firmware works perfectly fine on your -28P? If that's the case, please create a separate firmware for the-28P and create a PR so that it's officially supported.

Please keep in mind that this is not a L3 switch - performance will be as bad as with routing, i.e. in the range of 20MBit/s.

Meant L2 - yea the L3 performance does suck quite a bit, but this was never designed for L3.

Seems to work nicely as a switch, performance is where I'd expect. Yet to put a number of clients on a see how far I can push it.

One thing I've noticed is the fans are off - need to look into why this is and if there is a way to turn them on. On the DLink fw they were on all the time.

The device has an LM63 Temp Sensor and Fan Control module which doesn't appear to be defined in the DTS file.

Uh, you're right - the -28MP has one, too. I don't remember how the fan behaved when adding support for it. Looks like I need to dig out the switch!

However, reading the LInux driver documentation here, it looks like there isn't much to configure - it should basically work, shouldn't it?

dts will need an i2c node which references the lm63 and the i2c register where it is located. Here is an example from a different device.

&i2c0 {
        status = "okay";

        lm63@4c {
                compatible = "national,lm63";
                reg = <0x4c>;

1 Like