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.