It took me a couple of days to pinpoint the issue.
I have a fancy setup, Rock Pi 4 and Google Coral Dev Board stacked up, meanwhile, Rock Pi 4 and my Windows PC share keyboard, mouse and card reader through a UGreen USB switch (it’s a USB hub with a switch button).
I want Rock Pi 4 and Google Coral Dev Board talk through a 6 inch USB-A to USB-C cable directly, using ethernet over USB.
The drill is, Google Coral acts as a USB gadget/OTG (it’s configured with g_ether.ko module out of box, running Debian too by the way), and Rock Pi 4 runs USBNET which is already built into the kernel. It supposed to be a simple job, but didn’t work for days, I tried everything I could think of but no luck. Interesting enough, the two boards worked together perfectly when communicating serial through the same cable when setting up (ran things like fastboot), only problematic when trying ethernet over USB.
This evening, I plugged the Google board into the UGreen hub, all of sudden Rock Pi 4 USBNET fired up and recognized the Google board, I can ssh to the Google board through USB instead of bouncing around the router. Seems once Rock Pi 4 has the external USB hub plugged in it starts being fussy (it only hates ethernet but no issue with serial communication whatsoever).
I really don’t understand. But if you are facing the same problem, the hub is where to look.