설정:
- USB3.0 포트가 있는 Dell 노트북
- TrueNas(12.2-RELEASE-p2 FreeBSD 12.2-RELEASE-p2 663e6b09467(HEAD) amd64)
- 네트워크 카드 2개(ugreen usb3.0 ~ 1Gbit 이더넷, 각 네트워크 카드에는 USB 포트 3개가 있음)
두 장치 모두 axge 드라이버를 사용하여 성공적으로 설치되었습니다. 하드 드라이브는 USB를 통해 첫 번째 장치에 연결되었으며 100Mb/s에 가까운 벤치마크를 얻었습니다(따라서 각 장치의 USB3.0 허브가 제대로 작동했습니다).
root@truenas[~]# ifconfig ue0
ue0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8000b<RXCSUM,TXCSUM,VLAN_MTU,LINKSTATE>
ether 00:0e:c6:7c:e2:32
inet 192.168.1.200 netmask 0xffffff00 broadcast 192.168.1.255
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
nd6 options=1<PERFORMNUD>
root@truenas[~]# ifconfig ue1
ue1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=80009<RXCSUM,VLAN_MTU,LINKSTATE>
ether 00:0e:c6:7c:e1:cd
inet 192.168.1.201 netmask 0xffffff00 broadcast 192.168.1.255
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
nd6 options=1<PERFORMNUD>
root@truenas[~]# dmesg
...
re0: <RealTek 810xE PCIe 10/100baseTX> port 0x2000-0x20ff mem 0xc1404000-0xc1404fff,0xc1400000-0xc1403fff irq 16 at device 0.0 on pci2
re0: Using 1 MSI-X message
re0: ASPM disabled
re0: Chip rev. 0x40800000
re0: MAC rev. 0x00400000
miibus0: <MII bus> on re0
rlphy0: <RTL8201E 10/100 media interface> PHY 1 on miibus0
rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto, auto-flow
re0: Using defaults for TSO: 65518/35/2048
re0: Ethernet address: XX:XX:XX:XX:XX:XX
...
ugen0.5: <ASIX Elec. Corp. AX88179> at usbus0
axge0 on uhub7
axge0: <NetworkInterface> on usbus0
...
miibus1: <MII bus> on axge0
rgephy0: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 3 on miibus1
rgephy0: none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
ue0: <USB Ethernet> on axge0
ue0: Ethernet address: XX:XX:XX:XX:XX:XX
ugen0.6: <GenesysLogic USB3.1 Hub> at usbus0
uhub8 on uhub1
uhub8: <GenesysLogic> on usbus0
uhub8: 4 ports with 4 removable, self powered
ugen0.7: <ASIX Elec. Corp. AX88179> at usbus0
axge1 on uhub8
axge1: <NetworkInterface> on usbus0
miibus2: <MII bus> on axge1
rgephy1: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 3 on miibus2
rgephy1: none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
ue1: <USB Ethernet> on axge1
ue1: Ethernet address: XX:XX:XX:XX:XX:XX
ugen0.8: <AsmediaASM1051 USB3.0 Serial> at usbus0
umass0 on uhub8
umass0: <AsmediaASM1051 USB3.0 Serial, class 0/0, rev 3.00/1.00, addr 7> on usbus0
umass0: SCSI over Bulk-Only; quirks = 0xc100
umass0:4:0: Attached to scbus4
(probe0:umass-sim0:0:0:0): REPORT LUNS. CDB: a0 00 00 00 00 00 00 00 00 10 00 00
(probe0:umass-sim0:0:0:0): CAM status: SCSI Status Error
(probe0:umass-sim0:0:0:0): SCSI status: Check Condition
(probe0:umass-sim0:0:0:0): SCSI sense: ILLEGAL REQUEST asc:20,0 (Invalid command operation code)
(probe0:umass-sim0:0:0:0): Error 22, Unretryable error
....
lo0: link state changed to UP
re0: link state changed to DOWN
ue0: link state changed to UP
ue1: link state changed to UP
...
ue0: link state changed to DOWN
ue1: link state changed to DOWN
ue0: link state changed to UP
ue1: link state changed to UP
문제: 각 인터페이스(ue0, ue1)를 통해 인터넷 연결을 측정하면 최대 60Mbits까지만 얻을 수 있지만 약 300Mbits여야 합니다(이것이 제 ISP 속도입니다).
인터페이스로 설정하면 ifconfig ue0 media 100baseTX mediaopt full-duplex
전체 100Mbit 연결이 됩니다. 하지만 기본 1000baseT를 사용하는 경우 최대 60Mbits의 대역폭을 제공하면 효과가 더 나빠집니다.
Ubuntu 18의 LiveCD로 간단한 테스트를 수행했고 동일한 설정을 사용하여 완전한 인터넷 연결을 얻었습니다. 즉, 케이블, 라우터, 제공된 인터넷 연결, USB 포트 등에 문제가 없다는 의미입니다.
AXGE 드라이버는 제대로 작동해야 합니다. 적어도 인터넷에서 제안하는 극소수의 결과는 그렇습니다. 저는 이 상황이 정말 혼란스럽고 더 나쁜 것은 이에 대한 정보가 그다지 많지 않다는 것입니다.
내가 무엇을 놓치고 있나요?
답변1
USB 속도 확인
가장 먼저 고려하고 싶은 부분은 USB 부분입니다.
추가한 스니펫에서 다음을 확인할 수 있습니다.
Mortherbord USB (unknown) -> Unknown (Prabably GenesysLogic) (uhub7) -> axge0 (ugen0.5)
Mortherbord USB (unknown) -> GenesysLogic (uhub8) -> axge1 (ugen0.7)
따라서 우리는 게임을 할 수 있는 USB 칩셋(Dell 마더보드, Ugreen 허브)과 드라이버 또는 그 조합을 2개 이상 보유하고 있습니다.
먼저 나는 이렇게 할 것이다:
grep usbus /var/run/dmesg.boot
여기서는 내가 사용하고 있는 USB 드라이버와 지원되는 속도를 알아봅니다. Dell은 일반 EHCI, UHCI, OHCI 또는 XHCI 드라이버를 사용합니까? "슈퍼 스피드"라고 적혀 있나요?
우리는 다음을 찾을 것입니다:
usbus0: 5.0Gbps Super Speed USB v3.0
usbus1: 480Mbps High Speed USB v2.0
usbus2: 480Mbps High Speed USB v2.0
usbconfig
그런 다음 다양한 포트의 속도를 알려주는 출력을 살펴보겠습니다 .
귀하의 설정에서 다음을 시도해 보겠습니다.
usbconfig -d ugen0.5 dump_device_desc
usbconfig -d ugen0.7 dump_device_desc
다시 한번 axge0 및 axge1에 대해 "Super Speed"가 표시되는지 확인하세요.
"Super Speed"가 표시되지 않으면 Linux에서도 동일한 속도가 표시되는지 확인하세요. 고속은 300Mbps를 포화시키기에 충분합니다.
그래서 이 질문은이론적으로는 그렇습니다USB 관련. 아마도 Linux 드라이버에는 차이점을 설명할 수 있는 칩셋의 몇 가지 특징이 있을 수 있습니다.
기타 보고서
"Super Speed"를 본 적이 있다면 인터넷에서 당신보다 더 나쁜 보도를 본 적이 있다고 말해야 합니다.
흐름 제어
그런데 또 다른 기회가 있습니다. "고속"만 있는 경우에만 의미가 있을 가능성이 높습니다. 그것을 시도하고 netstat -i
당신이 많이 있는지 확인하십시오 Ierrs
. 이 경우 다음을 시도하십시오.
ifconfig ue0 media auto mediaopt flow
위 명령은 링크 파트너와의 링크를 다시 설정하고 이더넷 흐름 제어를 활성화합니다. 위 명령을 실행한 후 ifconfig(8)를 사용하여 현재 미디어를 확인합니다. 모든 것이 정상이면 ifconfig 출력의 미디어 줄에 "rxpause" 및 "txpause"가 표시되어야 합니다. 링크 파트너도 흐름 제어를 지원해야 합니다. 그렇지 않으면 위 명령이 작동하지 않습니다.
바라보다버그 210488 - 높은 네트워크 부하에서 ue0 axge AX88179 Ierrs 오류 발생
dmesg를 올바르게 읽으면 기본값은 "auto-stream"이고 위 명령은 이를 "stream"으로 변경합니다.
주사위가 없나요?
위의 방법 중 어느 것도 도움이 되지 않는 경우(또는 더 나은 답변이 있는 경우) 버그 225179에 기여하는 것을 고려해 보십시오.
답변2
두 개의 AX88179 어댑터(하나는 도크에, 다른 하나는 딩글에 있음)와 동일한 문제가 있습니다. Windows 및 Linux Live CD에서는 약 5-6MB/s를 얻습니다. 이 칩에는 이상한 버그가 있는데, 구글에 검색해 보면 이 버그를 보고하는 사람들을 찾을 수 있습니다.