Add USB Ethernet support
Currently Replicant devices can connect to the Internet via a USB connection to a computer that's connected to the Internet: https://redmine.replicant.us/projects/replicant/wiki/ReplicantUSBNetworking
However, Replicant devices can't connect to the Internet via a a USB Ethernet Adapter: https://redmine.replicant.us/boards/9/topics/8001
It seems as though the reason why Replicant doesn't currently work with USB Ethernet Adapters is due to the fact that upstream LineageOS disables kernel module support for security reasons. https://www.reddit.com/r/LineageOS/comments/5xrapo/ethernet_on_lineage/ https://redmine.replicant.us/boards/9/topics/8001?r=8031#message-8031
It seems like Android 6 does support this type of feature: https://www.youtube.com/watch?v=uisnj8Xufp0
I'm not sure if this is helpful, but I figured I'd add this link to LineageOS' source code as well: https://git.replicant.us/LineageOS-mirror/android_frameworks_opt_net_ethernet/log/?h=cm-13.0
Would it be a security issue to add this functionality to all Replicant devices by enabling kernel module support to get ethernet working, as the LineageOS dev suggested on the reddit post?
Replicant 6 currently supports 3 "Wi-Fi only" tablets. Without mobile data or the ability to use the internal Wi-Fi card with software freedom, users must choose between reverse tethering their Replicant device to a computer that is on the internet or buying an external USB Wi-Fi dongle and using RepWifi. It'd be great to offer another option.
Lastly, I couldn't find a Category for this issue that made sense. Please feel free to create an "Other" category in redmine or move this issue to a Category that makes more sense.
#1 Updated by Denis 'GNUtoo' Carikli 4 months ago
As I understand the best way to solve this bug would be to simply compile in the kernel image, all USB Ethernet adapters drivers. This should be trivial to do.
It would be better to have them as modules (as it would use less RAM and would carry less risk of making the kernel image too big for the boot partition) but as far as I know we have no good enough module loading mechanism in Android 6.x to do that.