Thank you for the direction, I have been able to compile a kernel that boots with the modules I need builtin.
My next issue is that the USB NIC still doesn’t appear to be detected on boot until after the onboard NIC gets a link.
To clairify, I want to NFS boot from the USB device instead of the onboard NIC. If I connect the network cable to the USB device, it does not register as a network device with a MAC address. If I then disconnect the cable from the USB device, plugin the onboard one, the USB device registers, the onboard NIC gets an address and the NFS boot continues.
[ 3.089318] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00
[ 3.092945] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 3.099291] smsc95xx v1.0.4
[ 3.162057] smsc95xx 1-1.1:1.0 eth0: register ‘smsc95xx’ at usb-3f980000.usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:ef:9c:d4
[ 3.330983] smsc95xx 1-1.1:1.0 eth0: hardware isn’t capable of remote wakeup
[ 3.399080] usb 1-1.4: new high-speed USB device number 4 using dwc_otg
[ 3.504837] usb 1-1.4: New USB device found, idVendor=0b95, idProduct=1790
[ 3.508616] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3.512432] usb 1-1.4: Product: AX88179
[ 3.516167] usb 1-1.4: Manufacturer: ASIX Elec. Corp.
[ 3.519915] usb 1-1.4: SerialNumber: 000050B6CAB2C8
[ 13.329078] Waiting up to 110 more seconds for network.
[ 17.574868] random: nonblocking pool is initialized
[ 22.337246] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xC1E1
[ 22.349767] ax88179_178a 1-1.4:1.0 eth1: register ‘ax88179_178a’ at usb-3f980000.usb-1.4, ASIX AX88179 USB 3.0 Gigabit Ethernet, 00:50:b6:ca:b2:c8
[ 22.369095] Sending DHCP requests …, OK
[ 24.479074] IP-Config: Got DHCP answer from 192.168.2.1, my address is 192.168.2.109
[ 24.483223] IP-Config: Complete:
[ 24.487139] device=eth0, hwaddr=b8:27:eb:ef:9c:d4, ipaddr=192.168.2.109, mask=255.255.255.0, gw=192.168.2.1
I thought perhaps I just didn’t wait long enough on the first attempt. This was not the case:
[ 3.389093] usb 1-1.4: new high-speed USB device number 4 using dwc_otg
[ 3.494842] usb 1-1.4: New USB device found, idVendor=0b95, idProduct=1790
[ 3.498627] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3.502477] usb 1-1.4: Product: AX88179
[ 3.506218] usb 1-1.4: Manufacturer: ASIX Elec. Corp.
[ 3.509985] usb 1-1.4: SerialNumber: 000050B6CAB2C8
[ 13.319087] Waiting up to 110 more seconds for network.
[ 18.236851] random: nonblocking pool is initialized
[ 23.319081] Waiting up to 100 more seconds for network.
[ 33.319082] Waiting up to 90 more seconds for network.
[ 43.319081] Waiting up to 80 more seconds for network.
[ 53.319082] Waiting up to 70 more seconds for network.
[ 63.319081] Waiting up to 60 more seconds for network.
[ 71.245553] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xC1E1
[ 71.250127] ax88179_178a 1-1.4:1.0 eth1: register ‘ax88179_178a’ at usb-3f980000.usb-1.4, ASIX AX88179 USB 3.0 Gigabit Ethernet, 00:50:b6:ca:b2:c8
Any idea why this would be happening? I looked at the Kernel command line:
[ 0.000000] Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=1680 bcm2708_fb.fbheight=1050 bcm2709.boardrev=0xa21041 bcm2709.serial=0xfdef9cd4 smsc95xx.macaddr=B8:27:EB:EF:9C:D4 bcm2708_fb.fbswap=1 bcm2709.uart_clock=3000000 bcm2709.disk_led_gpio=47 bcm2709.disk_led_active_low=0 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000 root=/dev/nfs nfsroot=192.168.2.100:/nfsshares/rpi/retropie ip=dhcp rootwait osmcdev=rbp2
The only relevant thing I see in there is setting the MAC address for the builtin NIC.