우분투 24.04-2 커널버전 Linux 6.11.0-19-generic 데스크탑을 사용하고 있는데 사용하는 usb 이더넷 (모델 아이피타임 U1G 기가비트 usb 이더넷) 의 아이피타임 공홈에 올려진 드라이버가 설치오류가 나서 깃허브에 올라와 있는 realtek-r8152-dkms-2.19.2-1버전의 최신 드라이버를 sudo apt install realtek-r8152-dkms 로 설치해서 사용합니다.
*개발자 양덕규 님이 빌드한 커스텀 드라이버 입니다.
그런데 usb 이더넷이 usb2.0 에서는 자동으로 아이피를 호출하여 이상없이 사용 가능합니다만 USB3.0에서는 인터넷 주소를 받아오지 못하여 연결이 안되는 증상이 있습니다.
해당 모델은 기가비트를 지원하는 모델로 usb3.0에 연결해야 정상적인 기가비트 속도의 인터넷을 사용할수 있으며 usb2.0에서의 연결은 일반 광랜(100mb)의 속도로 연결되어 제 속도를 낼수 없기 때문에 기가비트를 사용할수있는 usb3.0의 연결을 목적으로 인터넷 정보를 자동에서 → 수동으로 등록하여 아이피를 잡아주면 연결은 되지만 정작 인터넷 연결은 안되더군요.
눈에 보이는 특정 증상들을 보면
예를들어 자동으로 ipv4 주소를 받아오지 못하여 ipv6 주소가 ipv4 주소로 입력 되는 등의 증상 등이 있으며 usb3.0 에서만 특정된 증상들 입니다,
물론 usb 2.0 에서는 정상적으로 주소룰 받아와 등록 됩니다 인터넷 연결도 정상적으로 됩니다.
usb 3.0 포트에서만 위에 열거한 증상들이 발현 되더군요;;;;
아래는 sudo lshw -c network 로 조회한 usb 3.0 포트에 연결된 해당 드라이버 설치 정보 입니다
lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 003: ID 2232:1018 Silicon Motion WebCam SC-13HDL11431N
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 003: ID 214b:7250 Huasheng Electronics USB2.0 HUB
Bus 002 Device 004: ID 8087:07dc Intel Corp. Bluetooth wireless interface
Bus 002 Device 005: ID 05e3:0727 Genesys Logic, Inc. microSD Reader/Writer
Bus 002 Device 006: ID 04b4:120d Cypress Semiconductor Corp. Majestouch Convertible 2
Bus 002 Device 007: ID 30fa:0400 USB Optical Mouse
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 2109:2813 VIA Labs, Inc. VL813 Hub
Bus 003 Device 003: ID 2109:2813 VIA Labs, Inc. VL813 Hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 002: ID 2109:0813 VIA Labs, Inc. VL813 Hub
Bus 004 Device 003: ID 17e9:436e DisplayLink Dell D3100 Docking Station
Bus 004 Device 004: ID 2109:0813 VIA Labs, Inc. VL813 Hub
*아래가 해당 드라이버 연결 정보 입니다.
Bus 004 Device 010: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter
이 증상의 원인이 무었이며 해결할 방법은 없을까요? 비슷한 증상을 격으신 분이나 해결 가능한 능력자 분을의 피드백을 부탁 드립니다.
usb3.0으로 연결하시고 wireshark를 통해 해당 인터페이스에 연결하여 패킷을 우선 보세요. broadcasting으로 들어오는 패킷이 있으면 네트워크 설정 문제가 유력할 것 같습니다. broadcasting 패킷도 없다면 드라이버 동작에 문제가 있는것으로 보여지고요.
wireshark 로 조회한 패킷 정보입니다. 해당 기기의 아이디 "enxb0386cf22fd7"로 보면 미약 하지만 ipv6패킷은 돌아가는 것 같지요? 물론 네트워크 연결은 이미지에서 처럼 ipv4 가 아닌 ipv6 주소가 등록되어 연결이 안되고 있습니다, 제가 이쪽에 지식이 없어서 wireshark 조회 정보론 유추할수 없네요;;;;
No. Time Source Destination Protocol Length Info
88 212.124098548 Ubiquoss_31:77:0c Broadcast ARP 60 Who has 14.68.132.166? Tell 14.68.132.254
Frame 88: 60 bytes on wire (480 bits), 60 bytes captured (480 bits) on interface enxb0386cf22fd7, id 0
Ethernet II, Src: Ubiquoss_31:77:0c (70:30:5d:31:77:0c), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Address Resolution Protocol (request)
ipv6는 link-local 주소라서 mac addr 기반으로 계산하고 자동으로 부여됩니다. ipv6만 되는건 아니고 둘다 안되는데 ipv6는 스스로 주소를 만들어낸거에요.
패킷이 생성되고 usb bulk에 packing 되서 전송이 되어야 하는데 usb3 또는 네트워크 driver에 문제가 있어 안되는것 같네요. 번거롭겠지만 iptime이 배포하는 공식 드라이버를 빌드해서 사용하셔야 될 것 같습니다. 물론 커널 버전이 달라 수정이 필요합니다.
쉽게 확인이 가능한건, usb2로 연결시 ipv4가 되잖아요? 그 이유는 network connection 초기에 dhcp가 broadcasting 해서 패킷이 제대로 전달되고 있는것이고 usb3로 해서 확인하니 broadcasting 패킷에 대한 응답이 없으니 패킷이 전달은 하는데 못받는것 또는 나가지 않는것으로 보여지는 거에요.
귀한시간에 댓글 먼저 감사드립니다 ^^
제 짧은 소견으로 아이피 타임의 제품 U1G 모델의 넷드라이버 스팩을 검색해보니 r8153로 명시되 있는데 아마 제품이 출시되던 당시에는 r8152와 r8153 드라이버가 따로 구분되 있다가 리얼택 정책으로 드라이버가 패밀리로 묶여진건 아닐까도 생각을 해봤습니다.
즉 통합드러이버로 묶여 나오는 드라이버 소스로 인해 r8152로 usb2.0 으로는 연결 되는데 usb3.0 으로 연결을 위해선 r8153을 불러와야 하는데 그렇게 연결 해주지 못하는게 아닐까 생각해본 근거는 아이피타임 공홈의 제공 드라이버에 유독 r8153에 대한 드라이버 내용들에 주석들을 많이 달아져 있더군요
이런 내용들로 r8152.c 코드내용들 여러군데 주석처리가 된거로 봐선 제품 특성에 r8152 와 r8153 을 따로 구분해 타도록 설계된게 아닐까도 생각해 봤습니다.
처음 아이피타임 공홈 드라이버의 makefile 을 컴파일 할때 오류 내용중
24번 줄이였던가? 모들로 연결에 오류가 나서 중지된다는 내용이던가를 언듯 본거같아서 지금 make파일을 확인해 보니
.PHONY: modules
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
이 부분에서 뭔가 우분투 커널 버전이 바뀌면서 내부 변경된 경로 때문에 타켓모둘 path 를 연결 못해 설치 오류가 나는 것 아닐까 유추만 해봤습니다.
공홈 파일을 커스텀 해서 빌드할 만한 지식이 없어서 될까 자신은 없지만 아이피타임 제공의 드라이버를 뜯어보고 디텍토리 구조의 변경 부분을 고민해 보긴 하겠습니다,
감사합니다
일단 드라이버 제설치및 확인을 위해서 드라이버는 원래 커널에 설치된 버전으로 롤백 해논 상태 입니다 (driver=r8152 driverversion=v1.12.13 )그리고 혹시나 해서 예전에 서피스 프로3에서 사용하던 100mb usb2.0 기능의 서피스프로 전용 usb2.0 이더넷으로 디바이스의 usb3.0 포트에 연결해보니 정상적으로 연결 됩니다.
서피스프로3에서 사용하던 usb 이더넷도 리얼택 칩 이였던 모양입니다. 위에 네트워크 정보를 보면 usb 3.0 에 체결해도 usb2.0 이더넷은 아이피를 정상적으로 받아오며 연결이 되는 걸 봐서는 디바이스의 usb3.0 포트 문제는 아니고 해당 usb3.0 이더넷의 드라이버 문제로 usb3.0 연결이 안되는 것으로 보여집니다
그런데 usb 정보에서 살펴보면
Bus 003 Device 006: ID 045e:07ab Microsoft Corp. Ethernet Adapter
기기는 리얼텍이 아닌 마이크로 소프트 그룹으로 연결 됩니다 물론 usb3.0 포트에 체결해도 이더넷이 usb2.0 이라 usb 2.0 그룹으로 표기됩니다. 아무튼 2.0 기기는 연결되는 걸 봐서는 디바이스의 usb3.0 포트완 상관없다고 봐도 되겠지요?