Support for RTL838x based managed switches

A make clean, inclusion as a default package to my board, and a full build of that board was enough to have the build generate that package.

I suspect the issue with realtek-poe segfaulting may be related to the difference in the PoE board on my GS1900-24HP v1 (in comparison to other PoE boards).

I don't have easy access to the board.

Here's realtek-poe -d:

root@gs1900-24hp:~# realtek-poe -d
TX -> 0x20 0x01 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x18
RX -> 0x20 0x01 0x02 0x18 0x00 0xe1 0x11 0x11 0x00 0x01 0x01 0x40
TX -> 0x18 0x02 0x02 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x14
RX -> 0x18 0x02 0x02 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x15
TX -> 0x18 0x03 0x00 0x00 0x00 0x00 0x00 0xff 0xff 0xff 0xff 0x17
RX -> 0x18 0x03 0x00 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x14
TX -> 0x06 0x04 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x02
RX -> 0x06 0x04 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x02
TX -> 0x18 0x05 0x00 0x02 0x8a 0x00 0x3c 0xff 0xff 0xff 0xff 0xe1
RX -> 0x18 0x05 0x00 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x16
TX -> 0x1a 0x06 0x00 0x02 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x1b
RX -> 0x1a 0x06 0x00 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x19
TX -> 0x1c 0x07 0x00 0x03 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x1f
RX -> 0x1c 0x07 0x00 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x1c
TX -> 0x15 0x08 0x00 0x01 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x17
RX -> 0x15 0x08 0x00 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x16
TX -> 0x13 0x09 0x00 0x02 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x17
RX -> 0x13 0x09 0x00 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x15
TX -> 0x11 0x0a 0x00 0x01 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x15
RX -> 0xfe 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf4
TX -> 0x10 0x0b 0x00 0x03 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x17
RX -> 0x10 0x0b 0x00 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x14
TX -> 0x00 0x0c 0x00 0x01 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x06
RX -> 0x00 0x0c 0x00 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x05
TX -> 0x00 0x0d 0x01 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x07
RX -> 0x00 0x0a 0x01 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x07
TX -> 0x00 0x0e 0x02 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x09
RX -> 0x00 0x0e 0x02 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x09
TX -> 0x00 0x0f 0x03 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x0b
RX -> 0x00 0x0f 0x03 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x0b
TX -> 0x00 0x10 0x04 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x0d
RX -> 0x00 0x10 0x04 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x0a
TX -> 0x00 0x11 0x05 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x0f
RX -> 0x00 0x11 0x05 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x0f
TX -> 0x00 0x12 0x06 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x11
RX -> 0x00 0x12 0x06 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x11
TX -> 0x00 0x13 0x07 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x13
RX -> 0x00 0x13 0x07 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x13
TX -> 0x23 0x14 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x2e
RX -> 0x23 0x14 0x00 0x00 0x00 0x00 0x07 0x02 0xff 0xff 0xff 0x3d
TX -> 0x2a 0x15 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x37
RX -> 0x2a 0x15 0x00 0x11 0xc0 0x10 0x10 0x10 0x10 0x10 0x10 0x70
TX -> 0x26 0x16 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x34
RX -> 0x26 0x16 0x00 0x03 0x01 0x4d 0x02 0x00 0xff 0xff 0xff 0x8c
TX -> 0x30 0x17 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x3f
RX -> 0x30 0x17 0x00 0x00 0x00 0x00 0x00 0x00 0xce 0x00 0x00 0x15
TX -> 0x26 0x18 0x01 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x37
RX -> 0x26 0x18 0x01 0x03 0x01 0x4d 0x00 0x01 0xff 0xff 0xff 0x8e
TX -> 0x30 0x19 0x01 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x42
RX -> 0x30 0x19 0x01 0x00 0x00 0x00 0x00 0x00 0xcd 0x00 0x00 0x17
TX -> 0x26 0x1a 0x02 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x3a
RX -> 0x26 0x1a 0x02 0x03 0x01 0x4d 0x00 0x02 0xff 0xff 0xff 0x92
TX -> 0x30 0x1b 0x02 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x45
RX -> 0x30 0x1b 0x02 0x00 0x00 0x00 0x00 0x00 0xcd 0x00 0x00 0x1a
TX -> 0x26 0x1c 0x03 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x3d
RX -> 0x26 0x1c 0x03 0x03 0x01 0x4d 0x00 0x03 0xff 0xff 0xff 0x96
TX -> 0x30 0x1d 0x03 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x48
RX -> 0x30 0x1d 0x03 0x00 0x00 0x00 0x00 0x00 0xce 0x00 0x00 0x1e
TX -> 0x26 0x1e 0x04 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x40
RX -> 0x26 0x1e 0x04 0x03 0x01 0x4d 0x00 0x04 0xff 0xff 0xff 0x9a
TX -> 0x30 0x1f 0x04 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x4b
RX -> 0x30 0x1f 0x04 0x00 0x00 0x00 0x00 0x00 0xcc 0x00 0x00 0x1f
TX -> 0x26 0x20 0x05 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x43
RX -> 0x26 0x20 0x05 0x03 0x01 0x4d 0x00 0x05 0xff 0xff 0xff 0x9e
TX -> 0x30 0x21 0x05 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x4e
RX -> 0x30 0x21 0x05 0x00 0x00 0x00 0x00 0x00 0xcc 0x00 0x00 0x22
TX -> 0x26 0x22 0x06 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x46
RX -> 0x26 0x22 0x06 0x03 0x01 0x4d 0x00 0x06 0xff 0xff 0xff 0xa2
TX -> 0x30 0x23 0x06 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x51
RX -> 0x30 0x23 0x06 0x00 0x00 0x00 0x00 0x00 0xcc 0x00 0x00 0x25
TX -> 0x26 0x24 0x07 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x49
RX -> 0x26 0x24 0x07 0x03 0x01 0x4d 0x00 0x07 0xff 0xff 0xff 0xa6
TX -> 0x30 0x25 0x07 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x54
RX -> 0x30 0x25 0x07 0x00 0x00 0x00 0x00 0x00 0xcc 0x00 0x00 0x28
TX -> 0x26 0x26 0x08 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x4c
RX -> 0x26 0x26 0x08 0x00 0x00 0x4d 0x00 0x08 0xff 0xff 0xff 0xa6

And of ubus call poe info which more clearly demonstrates bugginess:

{
	"firmware": "v17.1",
	"mcu": "ST Micro ST32F100 Microcontroller",
	"budget": 65.000000,
	"consumption": 0.000000,
	"ports": {
		"lan1": {
			"priority": 2,
			"mode": "PoE+",
			"status": "Searching"
		},
		{
			"priority": 0,
			"mode": "",
			"status": "",
			"consumption": 8760293210493327441055989213691904.000000
		},
		{
			"priority": 215,
			"mode": "",
			"status": "unknown"
		}
	}
}