Hasty Briefsbeta

Bilingual

Why Android can't use CDC Ethernet (2023)

a year ago
  • #CDC Ethernet
  • #Kernel Configuration
  • #Android
  • Android's EthernetTracker service only recognizes interfaces named ethX, ignoring CDC Ethernet interfaces named usbX.
  • Compatibility of USB Ethernet adapters with Android is largely based on hearsay due to lack of official support lists.
  • Finding kernel configuration is key to determining supported Ethernet adapters, with methods varying by Android version.
  • CDC Ethernet (Communications Device Class) standards (EEM, ECM, NCM) are supported in Linux kernels but ignored by Android due to interface naming.
  • The issue stems from a regex in EthernetTracker.java that only validates interfaces starting with 'eth', excluding 'usb' named interfaces.
  • Workarounds require rooting the phone to modify the config_ethernet_iface_regex value.