NXP GoldBox 2 (S32G2) 이더넷 스위치 문제 분석

1. 개요

NXP GoldBox 2 (S32G274A) 보드에서 TSN(Time-Sensitive Networking) 기능 검증을 위해 이더넷 연결을 시도하였으나, PFE(Packet Forwarding Engine)에 연결된 SJA1110 이더넷 스위치가 정상적으로 초기화되지 않는 문제를 확인했습니다. 이 문서는 해당 문제의 원인을 분석하고 해결 방안을 제시합니다.

2. 장비 정보

항목 사양
보드 모델 NXP GoldBox 2 (S32G274ARDB2)
프로세서(SoC) Freescale S32G274A
OS / BSP Auto Linux BSP 35.0
Kernel 버전 5.10.145-rt74+g1594b25154a2 (Real-Time)
메모리(RAM) 약 3.5 GB

3. 문제 현상

정상적인 GoldBox 3 (S32G3) 보드와 달리, GoldBox 2 보드의 PFE 포트에 이더넷 케이블을 연결해도 'Link is Up' 상태가 되지 않으며 네트워크 연결이 전혀 이루어지지 않습니다.

TSN의 핵심 기능인 하드웨어 트래픽 제어(TC) 오프로드 기능 또한 비활성화된 상태로 확인되었습니다.

$ ethtool -k pfe0 Features for pfe0: ... hw-tc-offload: off [fixed] ...

hw-tc-offloadoff [fixed]로 표시되는 것은 하드웨어 스케줄링(TAS/CBS 등) 가속 기능을 사용할 수 없음을 의미하며, 이는 스위치 드라이버가 제대로 동작하지 않기 때문입니다.

4. 원인 분석: 펌웨어 로딩 실패

부팅 로그(dmesg)를 분석한 결과, 커널이 SJA1110 이더넷 스위치를 초기화하는 과정에서 필요한 펌웨어 파일 sja1110_switch.bin을 찾지 못해 오류가 발생하는 것을 확인했습니다.

# dmesg | grep sja1110 sja1110 spi0.0: sja1110_switch_probe: Probing spi0.0 sja1110 spi0.0: sja1110_switch_probe: Firmware file 'sja1110_switch.bin' not found sja1110 spi0.0: sja1110_load_firmware: Direct firmware load for sja1110_switch.bin failed with error -2 sja1110 spi0.0: sja1110_reset: Could not load firmware, will use static config

오류 코드 -2는 '파일 없음(No such file or directory)'을 의미합니다. 이로 인해 스위치가 기본(Static) 설정으로만 동작하거나 혹은 완전히 초기화에 실패하여 PFE 포트가 활성화되지 않는 것으로 판단됩니다.

5. 시스템 다이어그램 및 문제 지점

S32G2 SoC Packet Forwarding Engine (PFE) SJA1110 Ethernet Switch /lib/firmware SPI 펌웨어 로딩 실패! (sja1110_switch.bin)

6. 해결 방안 (To-Do)

문제를 해결하기 위해 S32G274A 보드 및 BSP 버전에 맞는 sja1110_switch.bin 펌웨어 파일을 확보하여 보드의 파일 시스템에 복사해야 합니다.