Skip to content

[Accton][as4625-30p] Add new platform - #1024

Open
roger530-ho wants to merge 1 commit into
opencomputeproject:masterfrom
roger530-ho:add_platform_as4625_30p
Open

[Accton][as4625-30p] Add new platform#1024
roger530-ho wants to merge 1 commit into
opencomputeproject:masterfrom
roger530-ho:add_platform_as4625_30p

Conversation

@roger530-ho

@roger530-horoger530-ho commented May 19, 2025

Copy link
Copy Markdown

CPU: Intel Atom Processor C3508 1.6GHZ
DDR4 SDRAM: 16GB 2400MHz with ECC(SO-DIMM) DDR4*1
SPI Flash(boot): 16Mb * 2
M.2 SSD: SATA 32GB MLC
EC: IT8528E/VG-I
TPM: SLB 9670XQ2.0 FW7.63 INFINEON
Management: WGI210AT, INTEL, Out-band Mangement Ethernet port[RJ45], UART RS232 console port(RJ45)
MAC: Broadcom Trident3 X2 BCM562771
PoE: STM32F100C8T6BTR1, PoE MCU, BCM59131 *4, PSE Controller
Ethernet Ports: 24 x 1G Base-T + 6 x 10G SFP+ (Port1 ~ Port16 support PoE 30W; Port17 ~ Port24 support PoE 90W)
Power Supply: AC 600W PSU, UMEC, 1+1 redundant load-sharing, hot-swappable
Cooling: F2B fixed fan with 3 pcs of 40mmx40mmx28mm 12V
Dimention:350.35mm(L: Depth) x 440mm(W: Width) x 44mm(H: Height)

Logical to Physical Port Mapping:

Logical PortPanel PortTypePoE Support
011G Base-T30W
121G Base-T30W
231G Base-T30W
341G Base-T30W
451G Base-T30W
561G Base-T30W
671G Base-T30W
781G Base-T30W
891G Base-T30W
9101G Base-T30W
10111G Base-T30W
11121G Base-T30W
12131G Base-T30W
13141G Base-T30W
14151G Base-T30W
15161G Base-T30W
16171G Base-T90W
17181G Base-T90W
18191G Base-T90W
19201G Base-T90W
20211G Base-T90W
21221G Base-T90W
22231G Base-T90W
23241G Base-T90W
242510G SFP+N/A
252610G SFP+N/A
262710G SFP+N/A
272810G SFP+N/A
282910G SFP+N/A
293010G SFP+N/A

@roger530-ho
roger530-hoforce-pushed the add_platform_as4625_30p branch from f1379a1 to 01a034fCompareMay 19, 2025 07:26

@paulmenzelpaulmenzel left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for upstreaming new devices. Due to ONL being unmaintained, I cannot recommend using ONL anymore, as a lot of components of the stack are outdated.

Nevertheless, as the AS4625-30P uses a Broadcom switch ASIC, could you please add to the commit message description, where to get the binaries, and how to build the image?

@roger530-ho

Copy link
Copy Markdown
Author

Follow the steps below to build the Open Network Linux (ONL) image for this pull request (PR):

# Get the ONL master branch
ubuntu@ubuntu:~$ git clone https://github.com/opencomputeproject/OpenNetworkLinux.git
# Prepare and apply patch files (including build_workaround.patch and the patch from PR #1024)
ubuntu@ubuntu:~$ cp build_workaround.patch ./OpenNetworkLinux/
ubuntu@ubuntu:~$ cd OpenNetworkLinux/
ubuntu@ubuntu:~/OpenNetworkLinux$ wget https://patch-diff.githubusercontent.com/raw/opencomputeproject/OpenNetworkLinux/pull/1024.patch
ubuntu@ubuntu:~/OpenNetworkLinux$ git apply --whitespace=nowarn 1024.patch
ubuntu@ubuntu:~/OpenNetworkLinux$ git apply --whitespace=nowarn build_workaround.patch
# Build ONL using the default build steps
ubuntu@ubuntu:~/OpenNetworkLinux$ docker/tools/onlbuilder -10
ubuntu@ubuntu:~/OpenNetworkLinux$ source setup.env
ubuntu@ubuntu:~/OpenNetworkLinux$ make amd64

build_workaround.patch

@paulmenzelpaulmenzel left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Follow the steps below to build the Open Network Linux (ONL) image for this pull request (PR):

# Get the ONL master branch
ubuntu@ubuntu:~$ git clone https://github.com/opencomputeproject/OpenNetworkLinux.git
# Prepare and apply patch files (including build_workaround.patch and the patch from PR #1024)
ubuntu@ubuntu:~$ cp build_workaround.patch ./OpenNetworkLinux/
ubuntu@ubuntu:~$ cd OpenNetworkLinux/
ubuntu@ubuntu:~/OpenNetworkLinux$ wget https://patch-diff.githubusercontent.com/raw/opencomputeproject/OpenNetworkLinux/pull/1024.patch
ubuntu@ubuntu:~/OpenNetworkLinux$ git apply --whitespace=nowarn 1024.patch
ubuntu@ubuntu:~/OpenNetworkLinux$ git apply --whitespace=nowarn build_workaround.patch
# Build ONL using the default build steps
ubuntu@ubuntu:~/OpenNetworkLinux$ docker/tools/onlbuilder -10
ubuntu@ubuntu:~/OpenNetworkLinux$ source setup.env
ubuntu@ubuntu:~/OpenNetworkLinux$ make amd64

build_workaround.patch

Thank you. Could you please paste the output of ip l and how you test the ports?

KERNELS := onl-kernel-5.4-lts-x86-64-all:amd64
#KMODULES := $(wildcard *.c)
KMODULES := src
#KMODULES := x86-64-accton-as4625-30p-cpld.c x86-64-accton-as4625-30p-fan.c x86-64-accton-as4625-30p-leds.c x86-64-accton-as4625-30p-psu.c

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why comment this out?

@roger530-horoger530-hoMay 20, 2025

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since I selected kernel 5.4 for this platform, and this version requires an additional directory level when building kernel modules, I have placed the kernel module source code in the src folder to meet this requirement. If the comments in the Makefile are no longer needed, I can remove them as well.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

According to Active kernel releases, the 5.4 series is going to be supported until December 2025. I guess your new product is going to be supported longer. Leave aside, that ONL hasn’t been updated in a long time, and the core is unmaintained, please clarify in the commit message, why not a newer version can be supported.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your comment.

Currently, ONL upstream only provides and maintains kernel version 5.4 as the latest available version. There is no newer kernel version available in ONL at this time, so this platform is based on kernel 5.4. I will add this clarification to the commit message.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed:

$ ls packages/base/any/kernels/
3.16-lts 3.2-lts 4.14-lts 4.19-lts 4.9-lts	5.4-lts archives legacy lts	modules

Yes, a note would be nice.

@roger530-ho

Copy link
Copy Markdown
Author

Follow the steps below to build the Open Network Linux (ONL) image for this pull request (PR):

# Get the ONL master branch
ubuntu@ubuntu:~$ git clone https://github.com/opencomputeproject/OpenNetworkLinux.git
# Prepare and apply patch files (including build_workaround.patch and the patch from PR #1024)
ubuntu@ubuntu:~$ cp build_workaround.patch ./OpenNetworkLinux/
ubuntu@ubuntu:~$ cd OpenNetworkLinux/
ubuntu@ubuntu:~/OpenNetworkLinux$ wget https://patch-diff.githubusercontent.com/raw/opencomputeproject/OpenNetworkLinux/pull/1024.patch
ubuntu@ubuntu:~/OpenNetworkLinux$ git apply --whitespace=nowarn 1024.patch
ubuntu@ubuntu:~/OpenNetworkLinux$ git apply --whitespace=nowarn build_workaround.patch
# Build ONL using the default build steps
ubuntu@ubuntu:~/OpenNetworkLinux$ docker/tools/onlbuilder -10
ubuntu@ubuntu:~/OpenNetworkLinux$ source setup.env
ubuntu@ubuntu:~/OpenNetworkLinux$ make amd64

build_workaround.patch

Thank you. Could you please paste the output of ip l and how you test the ports?

ONL_Verificaton_Log.txt

@paulmenzel

Copy link
Copy Markdown

Thank you for providing these logs.

# onlpdump -S
Port Type Media Status Len Vendor Model S/N
---- -------------- ------ ------ ----- ---------------- ---------------- ----------------
24 25GBASE-CR Copper 1m Amphenol NDCCGF-0001 APF16270013KU0
25 25GBASE-CR Copper 1m Amphenol NDCCGF-0001 APF16270013KU0
26 NONE
27 NONE
28 NONE
29 NONE

Shouldn’t 30 ports be listed in there?

@KanjiMonster

Copy link
Copy Markdown
Contributor

Thank you for providing these logs.

# onlpdump -S
Port Type Media Status Len Vendor Model S/N
---- -------------- ------ ------ ----- ---------------- ---------------- ----------------
24 25GBASE-CR Copper 1m Amphenol NDCCGF-0001 APF16270013KU0
25 25GBASE-CR Copper 1m Amphenol NDCCGF-0001 APF16270013KU0
26 NONE
27 NONE
28 NONE
29 NONE

Shouldn’t 30 ports be listed in there?

onlpdump only lists SFP ports, not TP ports. Presumably ports 0 to 23 are standard ethernet ports.

@paulmenzel

Copy link
Copy Markdown

Thank you for the clarification.

Could you please list the ports 0 to 23 then?

@roger530-ho

Copy link
Copy Markdown
Author

Thank you for your comment.

I have added the following detailed port mapping table to the PR description for clarity:

Logical to Physical Port Mapping:

Logical PortPanel PortTypePoE Support
011G Base-T30W
............
23241G Base-T90W
242510G SFP+N/A
............
293010G SFP+N/A

Please let me know if this format meets your needs or if you would like the information presented elsewhere or in a different format.

@roger530-ho
roger530-hoforce-pushed the add_platform_as4625_30p branch from 01a034f to d95941bCompareMay 21, 2025 02:06
@paulmenzel

Copy link
Copy Markdown

Thank you for replying so quickly.

Please let me know if this format meets your needs or if you would like the information presented elsewhere or in a different format.

This table is very useful. Thank you.

Why I am asked the question regarding building and listing the ports is, that I thought you need some binaries from Broadcom to make full use of the device, and these binaries are not in the ONL archive, are they?

@roger530-ho

Copy link
Copy Markdown
Author

You are correct that, to fully utilize some advanced features—such as SDK-based management or advanced switching functions—proprietary Broadcom binaries are required. Due to licensing, these binaries are not included in the public ONL archive. For this PR, I have only ported the platform-related code and have not integrated or tested with the Broadcom SDK or any proprietary binaries.

@paulmenzel

Copy link
Copy Markdown

You are correct that, to fully utilize some advanced features—such as SDK-based management or advanced switching functions—proprietary Broadcom binaries are required. Due to licensing, these binaries are not included in the public ONL archive. For this PR, I have only ported the platform-related code and have not integrated or tested with the Broadcom SDK or any proprietary binaries.

Thank you for clearing this up. It’d be great if you added this to the commit message.

CPU: Intel Atom Processor C3508 1.6GHZ
DDR4 SDRAM: 16GB 2400MHz with ECC(SO-DIMM) DDR4*1
SPI Flash(boot): 16Mb * 2
M.2 SSD: SATA 32GB MLC
EC: IT8528E/VG-I
TPM: SLB 9670XQ2.0 FW7.63 INFINEON
Management: WGI210AT, INTEL, Out-band Mangement Ethernet port[RJ45], UART RS232 console port(RJ45)
MAC: Broadcom Trident3 X2 BCM562771
PoE: STM32F100C8T6BTR1, PoE MCU, BCM59131 *4, PSE Controller
Ethernet Ports: 24 x 1G Base-T + 6 x 10G SFP+ (Port1 ~ Port16 support PoE 30W; Port17 ~ Port24 support PoE 90W)
Power Supply: AC 600W PSU, UMEC, 1+1 redundant load-sharing, hot-swappable
Cooling: F2B fixed fan with 3 pcs of 40mmx40mmx28mm 12V
Dimention:350.35mm(L: Depth) x 440mm(W: Width) x 44mm(H: Height)
Note:
1. The latest kernel version supported by the Open Network Linux (ONL) upstream is 5.4, and there is no newer
kernel version available or maintained at this time. Therefore, this platform is based on kernel 5.4.
2. Some advanced features, such as SDK-based management or advanced switching, require proprietary Broadcom
binaries. These binaries are not included in ONL due to licensing restrictions. This commit only ports the
platform code and does not include any Broadcom SDK or proprietary binaries.
Signed-off-by: Roger Ho <roger530_ho@accton.com>
@roger530-ho
roger530-hoforce-pushed the add_platform_as4625_30p branch from d95941b to a5a8ecfCompareMay 23, 2025 00:38
@roger530-ho

Copy link
Copy Markdown
Author

You are correct that, to fully utilize some advanced features—such as SDK-based management or advanced switching functions—proprietary Broadcom binaries are required. Due to licensing, these binaries are not included in the public ONL archive. For this PR, I have only ported the platform-related code and have not integrated or tested with the Broadcom SDK or any proprietary binaries.

Thank you for clearing this up. It’d be great if you added this to the commit message.

I have updated the commit message to clarify the limitation as you recommended.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@roger530-ho@paulmenzel@KanjiMonster