Nintendo-Switch

為什麼 Nintendo Switch 只能使用帶有 AX88179 晶片組的 USB-LAN 適配器?

  • March 22, 2020

我認為自己對網路基礎知識相當了解,但我不知道晶片組在 LAN 適配器中的作用是什麼。我可以看到他們可能執行了一個將 USB 信號轉換為乙太網信號的小過程,但我不明白一些晶片組如何與特定硬體兼容,而另一些則不兼容 - 數據一離開就不應該設備,是一樣的嗎?為什麼 Switch 只能支持一個晶片組?是有意的,還是為更多晶片組添加“支持”需要做很多工作?

數據確實是一樣的,只是封裝方式不同。

**適配器不會簡單地將 USB 信號轉換為乙太網信號,**電腦也不能簡單地開始通過 USB 連接發送乙太網幀。相反,它仍然必須像普通的 USB 主機一樣工作——作業系統會將適配器辨識為 USB 設備,列舉它提供的介面和端點,然後使用 USB 傳輸發送每個乙太網幀。適配器的晶片接收 USB 傳輸,提取數據,然後通過乙太網重新發送數據。

但是,有幾種不同的標準描述了 USB 設備如何提供乙太網仿真。創建諸如 RNDIS 等較新的功能是為了提供 ECM 等較舊的功能無法滿足的更多功能。

最重要的是,一些製造商決定發明他們自己的定制協議——ASIX 及其 AX88179 晶片組系列確實是其中之一,既不使用 RNDIS 也不使用 ECM 或任何其他標準。(這確實允許他們對乙太網適配器的行為提供更多控制——ethtool在 Linux 上,與其他適配器相比,它顯示了更多關於連接狀態的資訊。)

電腦的作業系統需要為它想要支持的每種方法提供一個驅動程序,因為它必須知道要使用哪些端點、必須如何格式化傳輸等。一些作業系統只帶有 ECM 驅動程序。其他人也支持 RNDIS(Android 網路共享使用它,並且您過去需要 WinXP 中的驅動程序)。Nintendo Switch 顯然只有ASIX AX88179 的驅動程序。

引用自:https://gaming.stackexchange.com/questions/365484