LAN9514 on EfusA9

  • Hi,


    I have a question about integrating a Microchip (SMSC) LAN9514 (USB Hub + Ethernet).

    I use the Starterkit 2 efusA9 Linux, the Microchip Development board for the LAN9514, and build my Linux using the latest (at the time of writing) F&S buildroot release (B2019.08).


    Done so far:


    I have enabled the hardware support for the LAN9514 in both the Linux Kernel (Device driver->Network device support->USB Network Adapters->Multi-purpose USB Networking Framework->SMSC LAN95XX based USB 2.0 10/100 ethernet devices) and in U-boot (Device drivers->USB support->USB to Ethernet Controller Drivers->SMSC LAN95x support).


    I've tested the USB-hub part in both U-boot and Linux, this works.


    But when list my network devices (ip link show) only the onboard ethernet interface is showing. Am I missing something? Do I need something for userland?

  • Hi,


    normally the chip is disabled so you have to call


    Code
    1. ifconfig -a

    to show all devices even the devices which are disabled.


    Does this fix you issue?


    Your F&S Support Team

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • Hi F&S support,


    Thank you for your answer!

    The output of ifconfig -a shows con0, can1, eth0, lo & sit0 but not my attached LAN9514 devboard (or at least the linux representation of it).

    Just to be clear, enabling LAN9514 in the kernel (also in uboot) is normally all that I need to do to get things going?

  • In our default configuration (fsimx6_defconfig), there are already some USB network drivers enabled as kernel modules. If you only added entry "SMSC LAN95XX based USB 2.0 10/100 ethernet devices", then this driver will alsow be built as a kernel module. So maybe you have to load the module first?


    Code
    1. modprobe smsc95xx


    Your F&S Support Team

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • Hi F&S support,


    Thanks again for your answer. The output of modprobe is


    Code
    1. # modprobe smsc95xx
    2. modprobe: module smsc95xx not found in modules.dep

    I compiled the kernel again with the smsc95xx driver as module (selected 'm' in xconfig) before I tried this. Forgive me for I am fairly new to linux drivers so I'm not completely sure what the correct procedure should be.


    Edit: also tried SMSC95xx and SMSC95XX but with the same result, modprobe can't find them in modules.dep

    Edit2: I've added my kernel config: defconfig.txt

  • Hi F&S support,


    I've got it working now:


    I somehow thought (because the Linux Kernel is built from separate directory) that I needed to configure the kernel by running "make xconfig" from the kernel source directory but this had no effect on the kernel being build by buildroot. I've now configured the kernel by using "make linux-xconfig" and everything works now. Thanks again for the very prompt responses!