---
title: "10GbE DAC 케이블의 EEPROM을 조작해서 25Gbps를 뽑아낸 이야기"
published: 2026-03-22T23:44:33.000Z
canonical: https://jeff.news/article/923
---
# 10GbE DAC 케이블의 EEPROM을 조작해서 25Gbps를 뽑아낸 이야기

10GbE DAC 케이블의 SFP EEPROM에 저장된 속도 메타데이터를 I2C로 수정하여 25Gbps 링크를 성공시킨 홈랩 해킹기. 실측 9.4Gbps에서 22.8Gbps로 점프. 모든 케이블이 되는 건 아님.

## 문제 상황

- 홈랩을 10GbE에서 25GbE로 업그레이드하면서, NIC와 스위치만 바꾸면 될 줄 알았는데 **기존 DAC(Direct Attach Copper) 케이블이 10Gbps로만 연결됨**. 25Gbps NIC에 꽂아도 9.4 Gbps밖에 안 나옴
- DAC 케이블 하나에 $15~$20이라 전부 교체하면 비용이 꽤 됨

## SFP 커넥터의 비밀

- SFP(Small Form-factor Pluggable) 커넥터 안에는 EEPROM이 있고, 여기에 벤더 ID, 제품 ID, 시리얼, 그리고 **지원 속도(nominal signaling rate)**가 메타데이터로 들어있음. NIC가 이 정보를 읽고 속도를 결정함

- SFF-8472 스펙에 따르면 속도는 바이트 0x0c에 100 Mbaud 단위로 저장됨. 10G 케이블은 `0x67`(10,300 Mbaud), 25G 케이블은 0x0c에 `0xFF`를 넣고 바이트 0x42에 `0x68`(26,000 Mbaud)을 씀

- 핵심 발상: **"이 속도 필드를 바꾸면 어떻게 될까?"**

## 실제 해킹 과정

- Banana Pi BPI-R3 라우터($200 미만)의 SFP+ 포트를 이용해 I2C 버스로 EEPROM에 직접 접근. `i2csfp` 도구로 속도 바이트를 수정하고 체크섬을 갱신함

- 양쪽 커넥터 모두 수정해야 함 (흥미롭게도 양쪽 끝의 EEPROM 데이터가 시리얼 번호까지 동일했음)

- 결과: iperf3로 측정했더니 **9.4 Gbps → 22.8~23.4 Gbps**로 점프! 2.5배 속도 향상이 EEPROM 바이트 2개 바꾸는 걸로 달성됨

> [!IMPORTANT]
> 10GbE DAC 케이블을 EEPROM 수정만으로 25GbE로 "업레이트"할 수 있음. 실측 22.8 Gbps. 다만 모든 케이블이 되는 건 아님 — 얇은 케이블(30AWG)이나 특정 제조 배치는 실패할 수 있음.

## 모든 케이블이 되는 건 아님

- 10Gtek 케이블 여러 개로 테스트한 결과, 한 케이블은 수정 후에도 **링크 자체가 안 올라옴**
- 안 되는 케이블의 특징: 10Gtek 로고에 노란 배경 없음, 리벳 대신 나사 사용, 케이블이 가장 얇음. 케이블 굵기(저항/차폐)가 원인일 수 있음
- 26AWG가 30AWG보다 훨씬 두꺼우니 가능하면 26AWG를 선택할 것. 하지만 그것만으로 성공이 보장되진 않음

- 커넥터를 분해해보니 Twinax 와이어가 핀 폭의 일부밖에 안 되는 초소형이고, 와이어가 크로스 연결돼 있음. Cat.8 케이블로 교체 시도도 했지만 패드가 뜯어져서 포기

## 핵심 포인트

- SFP EEPROM 바이트 0x0c와 0x42 수정으로 10G→25G 속도 변경
- Banana Pi BPI-R3의 SFP 포트로 I2C 직접 접근
- 실측 9.4 Gbps → 22.8-23.4 Gbps
- 일부 케이블(얇은 케이블, 특정 배치)은 링크 자체가 안 올라옴

## 인사이트

패시브 DAC 케이블이 물리적으로는 25G 신호를 전달할 수 있는데 EEPROM 메타데이터 때문에 제한되는 경우가 있다는 발견. 홈랩 운영자에게 $15-20 x N 절약 팁.
