mirror of
https://github.com/logicog/RTLPlayground.git
synced 2026-10-29 17:54:14 +08:00
Hardware reset starts the firmware with SFR 0x97 = 1, which maps xdata 0x4000-0xbfff to the flash image: reads return flash bytes, writes are lost. main() cleared it only after __mcs51_genXINIT and the XSEG clear had run, so XISEG (initialised globals) and the part of XSEG above 0x4000 kept stale RAM contents, e.g. session_timeout = 4484 and LLDP blocked on logical ports 0, 3 and 5. Clear it in __sdcc_external_startup(), which SDCC calls before both. Rename SFR_97 to MAP_FLASH_PAGE_TO_XDATA.
3.2 KiB
3.2 KiB
Change Log
[0.x] - 2026-xx-XX
Added
-
Devices
- Support the hongyavision HYWS-SGT0204S (PCB marking
2G5F4_10G2_V1.01), an RTL8372 based 4x2.5G + 2xSFP+ unmanaged switch with a 512 KB Bright MoonT25S40flash. It is a sibling of the KP-9000-6XH-X2 (2M-PCB43-V1.1) with the two SFP+ cages wired the other way round (physical 5 is on SDS1, physical 6 on SDS0), no reset button fitted, wrong silkscreen labels on the serial header,LED_GLB_IO_ENbit 6 has to be set for the port LEDs to work, and the fitted T25S40 cannot be read in DIO mode on this board, so the target selects single-IO flash reads (flash_sio). New machine targetMACHINE_2G5F4_10G2_V1_01, seedoc/devices/2G5F4_10G2_V1.01.md.
- Support the hongyavision HYWS-SGT0204S (PCB marking
-
Web UI
- Compress the embedded assets (minify + gzip) and switch to a single-page layout. #315
- Replace the multi-page UI with a themed single-page app: light, dark and Selenized themes following the browser by default, English, Japanese and Chinese, save to flash merges the command log into the startup config and verifies the write, firmware images are checked in the browser before upload. #429
Changed
Fixed
-
Time
rtl8372_init()sets SDS 0 to SGMII as the stock firmware does. The masks were 0, so on RTL8372 boards without 10G ports both SerDes stayed off, and with SDS 0 offRTL837X_REG_SEC_COUNTERdoes not hold a written value: NTP never retried after a failed first attempt at boot and froze the clock after a sync.
-
Web UI
- Firefox no longer fills a saved login into the new admin password fields. It also put the user name into the NTP poll interval, which marked the Time card as edited, so it kept its defaults (NTP off, no server, UTC-12:00) instead of the switch's settings.
- Accept firmware uploads regardless of the file part's MIME type, including
application/macbinarysent by Chrome on macOS for.binfiles.
-
Health
HEALTH=1builds no longer write past the phase timing arrays at the LLDP checkpoint, which corrupted thelinkslow counter and the DHCP client state. #658
-
Config
- A startup configuration line longer than the command buffer no longer stops the replay: the offending line is skipped and the following lines are still applied.
- The web UI and the configuration upload now refuse a line the replay cannot take, instead of writing it to flash.
-
Startup
- Initialised and zero-initialised globals above xdata 0x4000 now get their values at boot.
Hardware reset leaves SFR 0x97 at 1, which maps xdata 0x4000-0xbfff to the flash image,
and it was cleared only in
main(), after the C startup code had copied and cleared them. This showed as a random web session timeout and LLDP blocked on some ports without config.
- Initialised and zero-initialised globals above xdata 0x4000 now get their values at boot.
Hardware reset leaves SFR 0x97 at 1, which maps xdata 0x4000-0xbfff to the flash image,
and it was cleared only in
Breaking changes
- Config
- VLAN don't accept port
u-suffix anymore. Sovlan 1 4uis not valid anymore. Replace it withvlan 1 4.
- VLAN don't accept port
- Commands
- port zero/
0is treated as theCPU_PORT. #326 - Many commands don't accept the CPU_PORT anymore. See #334.
When the CPU_PORT is needed, the command/service will add the CPU_PORT automaticly.
Only
isolateaccept the CPU_PORT as destination port.
- port zero/
[v0.1_aplha] - 2025-11-03
First release.