I recently purchased a GL.iNet GL-B1300 and I have been running 19.07.06 and 19.07.7 on it successfully. The only packages I have added are for iPhone tethering through USB and Wireguard client support.
I decided to try my hand at building my own image, which I have never done before. From the default basic settings in menuconfig (target - Qualcomm Atheros IPQ40XX, profile - GL.iNet GL-B1300), I added the packages to support iPhone tethering (kmod-usb-net, kmod-usb-net-cdc-ether, kmod-usb-net-ipheth, usbmuxd, libimobiledevice, usbutils) and Wireguard (luci-proto-wireguard, luci-app-wireguard), along with Luci. The image compiles and builds fine. Everything works except that I can't enable the tethering interface. I'm using the directions here. When I configure the tethering interface with one of the stable builds, I bind it to ethernet adapter 'Eth2', which isn't an available option with my snapshot build. Nothing in the system or kernel logs jumps out at me as a problem -- usbmuxd, kmod-usb-net-cdc-ether, and kmod-usb-net-ipheth all seem to load okay. Interestingly, I'm not getting the trust dialog box on the iPhone when the router boots up, which tells me something is not right with the USB.
My question is, what am I missing that prevents 'Eth2' from showing up as an interface option in my build?