https://github.com/openwrt/openwrt/issues/13262
Redmi AX6000 random crash (NETDEV WATCHDOG: eth0 (mtk_soc_eth): transmit queue 7 timed out
tso 문제
TSO(TCP Segmentation Offload)는 네트워크 성능을 최적화하기 위해 네트워크 인터페이스 카드(NIC)가 TCP 패킷의 분할 작업을 대신 처리하도록 하는 기능입니다. 일반적으로 TCP는 전송 시 큰 데이터를 작은 패킷으로 나누어 전송해야 하는데, 이 작업을 CPU가 아닌 NIC에서 처리하도록 하여 CPU 부하를 줄이고 네트워크 성능을 향상시킵니다
하드웨어 문제인지 암튼 에러가 남... 그리고 저걸로 강하게 의심중
해결방법
openwrt 터미널로 연결 후
ifconfig 로 혹은 다른 방식으로 네트워크 장비 이름?을 찾아봄
$ ethtool -K eth0 tso off
#체크
$ ethtool -k eth0 | grep tcp-segmentation-offload
영구적인 설정
# Edit the /etc/rc.local file
$ vi /etc/rc.local
#Add the following line before the exit 0 statement:
ethtool -K eth0 tso off
# 이전 설정 참고
#설정을 영구적으로 적용:
ethtool로 변경한 설정은 재부팅 시 초기화되므로, 설정을 영구적으로 유지하려면 네트워크 설정 파일에 추가해야 합니다. 예를 들어:
$ vi /etc/sysconfig/network-scripts/ifcfg-eth0
파일에 다음 내용을 추가합니다:
ETHTOOL_OPTS="--offload eth0 tso off"
주의사항
TSO 비활성화 시 CPU 사용량이 약간 증가할 수 있습니다(CPU가 직접 세그멘테이션 작업을 처리하기 때문).
네트워크 성능 문제나 특정 테스트/디버깅 목적이 아니라면 기본적으로 TSO를 활성화 상태로 유지하는 것이 좋습니다.
결론적으로, ethtool -k tso off 명령어는 TCP 세그멘테이션 오프로드 기능을 끄고 네트워크 안정성을 높이거나 특정 문제를 해결하는 데 유용합니다.
만약 관련 패키지가 없다면
# 패키지 목록 업데이트
opkg update
# 패키지 설치
opkg install <패키지명>
# 패키지 제거
opkg remove <패키지명>
# 설치된 패키지 목록 확인
opkg list-installed
# 특정 패키지 정보 확인
opkg info <패키지명>
결과
20일동안 별문제가 없었음... 이후는 모르겠지만...
이글을 작성후 12/30 까지 에러가 없었음
그래도 개인 신념상 일주일에 한번씩 재부팅을 시켜놓음ㅋㅋㅋ
728x90
'서버 > Openwrt' 카테고리의 다른 글
openwrt 본딩 (0) | 2025.01.12 |
---|---|
openwrt 사용량 측정 by vnstat (0) | 2025.01.10 |
openwrt 에서 wifi 프린터가 접속이 안될때 (0) | 2024.11.27 |
grafana 로 데이터 보내기 (0) | 2024.10.27 |
openwrt 모니터링 (0) | 2024.10.27 |