USB 포트와 이더넷 포트가 동일한 컨트롤러를 공유하는 이유는 무엇입니까?


12

Pi의 USB 포트가 이더넷 포트와 동일한 컨트롤러를 공유한다는 것을 이해합니다.

즉, Pi를 NAS로 사용하는 경우 USB 포트와 이더넷 포트가 동시에 사용되므로 네트워크를 통한 데이터 전송이 제한됩니다.

내 질문은 데이터 전송이 느려지는 효과에 대한 것이며이 문제에 대한 해결 방법이 있습니까?


2
더 이상 (Pi 3에서는) : raspberrypi.stackexchange.com/q/44433/24224
PNDA

답변:


13

공유 USB / 이더넷 버스는 병목 현상이라는 것을 이해하고 있습니다.

한 가지 옵션은 WiFi를 통한 Pi 3를 사용하는 것입니다. WiFi 칩 USB 소켓과 버스공유하지 않으므로 최고 속도로 실행해야합니다.

어떤 파이 사용하여 다른 파이 3 이상을, 나는 USB 소켓에 USB 3 기가비트 이더넷 어댑터를 사용하여 연결 속도에 대한 놀라운 일을 할 수 있다고 믿게하고 있습니다. jeffgeerling.com 의이 기사 는 이러한 방식으로 네트워크 처리량을 크게 향상시킬 수 있다고 제안합니다.

네트워크 I / O 성능-Raspberry Pi B + / 2


7

USB 2.0의 최대 전송 속도는 480Mb / sec (Mega bits )입니다
. 실제 실제 전송 속도는 훨씬 느립니다.

내 Pi 2는 USB를 통해 최대 220Mb / sec (메가 비트 ) 처리량 을 갖습니다 .

Pi가 10/100 네트워크 포트를 통과 할 수있는 최대 값은 약 90Mb / sec (메가 비트 )입니다.


그래서:

  480 Mb/sec        (USB 2.0 maxium throughput)
- 260 Mb/sec        (For real-world speeds)
-  90 Mb/sec        (For the network port)
-----------
  130 Mb/sec        (Left over bandwidth)

따라서 네트워크 포트를 완전히로드 한 후에는 130Mb / sec (메가 비트 )의 대역폭이 남아 있습니다.
안전하게 재생하려면 100Mb / sec (Mega bits )를 남겨 두십시오 .


따라서 (Pi 2가 있다고 가정) :

USB 대역폭이 100Mb / sec (메가 비트 )를 초과하지 않는 한 괜찮습니다. 그 중 90Mb / sec (Mega bits )가 네트워크 카드로 전달됩니다.

따라서 USB 포트에 연결된 HDD 이외의 장치가 10Mb / sec (메가 비트) 미만을 사용하는 경우 Pi 2가 처리 할 수있는 최대 속도로 작동하게됩니다.)


5

컨트롤러는 Microchip LAN9512 이며 여러 개의 독립 컨트롤러 대신 사용되는 이유는 다음과 같습니다.

  1. 가격. 다음은 각각 $ 5에서 100 개를 구입할 수있는 곳 의 예 입니다.

  2. 폼 팩터. Raspberry Pi는 "아직도 다른 mini-ITX 시스템"또는 "사용하는 컴퓨터"가 아니라 "신용 카드 크기의 컴퓨터"또는 "손바닥에 맞는 컴퓨터"로 마케팅되거나 기술 된 블로그를 기억할 수 있습니다. 큰 모자 아래에 들어갈 것 "등

  3. 힘. 데이터 시트의 첫 번째 페이지 (Microchip 링크를 통해 액세스 가능)에서 "저전력 작동 모드 구현"을 "기능"중 하나로 언급합니다. 당신은 그것이 실제로 비교 용어로 무엇을 의미하는지 알아 내기 위해 더 깊이 파고들 필요가 있지만, 적어도 표면적으로는 이해할 수 있습니다.

파이 비용은 ~ 35 달러 소매점임을 기억하십시오. $ 135 또는 $ 350이 아닙니다. "왜 USB 포트와 이더넷 포트가 같은 컨트롤러를 공유 하는가?" 라는 제목의 질문에 대한 답입니다. .

여러 개의 USB 포트가 동일한 버스를 공유하는 것은 드문 일이 아닙니다. 아마도 표준 일 것입니다. 현재 사용중인 랩톱에 3 개의 USB 포트가 있지만 lsusb2.0 "최대 속도"허브는 2 개만보고합니다. 따라서 해당 포트 중 두 개 이상이 허브를 공유하며 동시에 "최대 속도"를 얻지 못합니다. 현재 시스템을 확인하면 비슷한 라인을 따라 구성됩니다.

이더넷과 그것의 결합은 드문 일이지만 USB 2.0은 480Mbps를 제공해야하지만 10/100 이더넷 연결에는 최대 100가 필요하다는 점은 주목할 가치가 있습니다.

Wikipedia는 "버스 액세스 제한 때문에 고속 신호 전송률의 유효 처리량은 280Mbit / s 또는 35MB / s로 제한되어있다"는 사양으로 소스를 인용하면서 Wikipedia 노트 를 언급했다. 포트 당 또는 버스 전체를 의미하는지는 확실하지 않습니다.

데이터 전송이 느려지는 효과

분명히 당신은 총 480 Mbps 이상을 얻지 못하고 아마 280 이상을 얻지 못할 것입니다. 개인적으로, 로컬 이더넷에서 USB로 10 MB / s 이상의 전송을 수행하는 파이에 대한 보고서를 보거나들은 적이 없습니다. 일반적인 목적으로 일관되게 드라이브 (예 : 80Mbps). 그러나 , 그 수는 이후에 변수를 추가 할 자신이 처리 된 프로토콜,하지만 난 작은 비율을 생각 - 이더넷으로 연결된 네트워크의 토폴로지 및 활동에 따라 크게 달라질 수 있습니다.

이 문제에 대한 해결 방법이 있습니까

당신이 의미하는 경우에, 나는 파이프에 포함 된 것보다 더 많은 물을 짜낼 수 있습니까? 아니면 펌프가 더 빨리 작동하거나 일부 조합 또는 두 가지를 다시 작동시킬 수 있습니까? 더 빠른 펌프 또는 더 큰 파이프가 필요한 경우 더 빠른 펌프와 더 큰 파이프를 구입하십시오.


1

USB 포트와 이더넷 포트가 동일한 컨트롤러를 공유하는 이유는 무엇입니까?

pi 1 ~ 3의 SoC에는 이더넷 컨트롤러가 없으므로 단일 USB 컨트롤러 만 있고 이더넷에 쉽게 사용할 수있는 다른 인터페이스가 없습니다. Eben은 BCM2835 디자인에 약간의 영향을 줄 수 있었지만 궁극적으로는 Broadcom 제품이었고 Broadcom의 그의 상사는 총격을 불렀을 것입니다.

또한 Pi는 아이들이 프로그래밍을 배울 수있는 저렴한 컴퓨터로 설계되었습니다. 그것이 다른 종류의 물건에도 사용되어 사용되었다는 사실은 운이 좋은 부작용이었습니다.

LAN9512 (나중에 포트를 추가하기 위해 LAN9514로 교체하고 더 빠른 이더넷을 제공하기 위해 LAN7515)는 여분의 USB 포트 및 이더넷 포트를 추가하는 편리한 솔루션을 제공했습니다.

그들이 팔 코어를 업그레이드 할 때 pi2와 pi3은 나머지 칩을 남겨두기로 결정했습니다 (1GB의 램을 허용하도록 메모리 컨트롤러 버그를 수정하는 것 제외). 업그레이드를 가능한 한 저렴하고 위험 부담이 없도록함으로써 동기 부여가 된 것으로 알고 있습니다.

마지막으로 그들은 선택의 여지가 거의 없었지만 SoC 설계를 대대적으로 점검하기까지했다. 다행스럽게도 그들은 그러한 점검이 재정적으로 실행 가능한 시점까지 고객 기반을 구축했습니다. raspberry pi 4를 사용하면 이더넷 칩이있는 USB 허브가 사라지고 새 SoC의 MAC에 의해 구동되는 이더넷 PHY 칩과 새 SoC의 PCIe에 의해 구동되는 USB3 컨트롤러로 대체됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.