3 Replies Latest reply on Aug 22, 2016 1:17 PM by Intel_Peter

    Intel Quark stm mac kernel module

    Peter_de_witte

      Hi,

       

      I have troubles with the stmmac.ko module for the Intel Quark X1001 Soc. The Ethernet device is not showing up.

       

      I have bought the UNO-1252G of Advantech. It is a device based on the Intel Quark X1001 Soc. I build an image with the latest krogoth release of Yocto with the same release of the meta-intel layer. The build configuration is placed at the bottom of this post.

       

      If I boot the Intel Quark, you can see in the log that the kernel module is not initialising properly. libphy of the kernel is not picking up the Ethernet device. The nic's are not recognised.

       

      Is there somebody else who experienced these problems already? Do I miss some patches of Intel that are not included in the mainstream Yocto recipes?

       

      Thx in advance

       

      Peter

       

       

      Boot messages

       

      root@intel-quark:~# dmesg | grep stmmac

      stmmaceth 0000:00:14.6: enabling device (0000 -> 0002)

      stmmaceth 0000:00:14.6: enabling bus mastering

      stmmaceth 0000:00:14.7: enabling device (0000 -> 0002)

      stmmaceth 0000:00:14.7: enabling bus mastering

       

       

       

      Modinfo

       

      root@intel-quark:~# modinfo stmmac

      filename:       /lib/modules/4.4.13-yocto-standard/kernel/drivers/net/ethernet/stmicro/stmmac/stmmac.ko

      license:        GPL

      author:         Giuseppe Cavallaro <peppe.cavallaro@st.com>

      description:    STMMAC 10/100/1000 Ethernet device driver

      depends:       

      intree:         Y

      vermagic:       4.4.13-yocto-standard preempt mod_unload 586TSC

      parm:           watchdog:Transmit timeout in milliseconds (default 5s) (int)

      parm:           debug:Message Level (-1: default, 0: no output, 16: all) (int)

      parm:           phyaddr:Physical device address (int)

      parm:           dma_txsize:Number of descriptors in the TX list (int)

      parm:           dma_rxsize:Number of descriptors in the RX list (int)

      parm:           flow_ctrl:Flow control ability [on/off] (int)

      parm:           pause:Flow Control Pause Time (int)

      parm:           tc:DMA threshold control value (int)

      parm:           buf_sz:DMA buffer size (int)

      parm:           eee_timer:LPI tx expiration time in msec (int)

      parm:           chain_mode:To use chain instead of ring mode (int)

       

       

       

      Build configuration

       

      Build Configuration:

      BB_VERSION        = "1.30.0"

      BUILD_SYS         = "x86_64-linux"

      NATIVELSBSTRING   = "universal"

      TARGET_SYS        = "i586-poky-linux"

      MACHINE           = "intel-quark"

      DISTRO            = "poky"

      DISTRO_VERSION    = "2.1.1"

      TUNE_FEATURES     = "m32 i586-nlp"

      TARGET_FPU        = ""

      meta             

      meta-poky        

      meta-yocto-bsp    = "krogoth:f73006031ef8bca7b8851724832c6f37ed63ec89"

      meta-intel        = "krogoth:b8c199201ffe026485a14e1fcfc398e2b3551512"

        • 1. Re: Intel Quark stm mac kernel module
          Intel_Peter

          Hello Peter_de_witte,

           

          I believe you were using Yocto's BSP in order to build the latest version of Yocto Krogoth. Nevertheless, if you are working with Quark, you should use Intel's official BSP (https://downloadcenter.intel.com/download/23197/Intel-Quark-SoC-X1000-Board-Support-Package-BSP-). This BSP has been officially tested to work with boards based on Quark and currently it supports an older version of Yocto. I understand you would like to use features present in the latest version of Yocto, nevertheless, if you don't use the official BSP you might encounter issues such as the one you describe. In order to fix them you'll probably need to modify the image's kernel extensively which might prove challenging. So, my best suggestion is that you use Intel's official BSP for Quark which can be found in the link above.

           

          -Peter.

          • 2. Re: Intel Quark stm mac kernel module
            0andriy

            Can you try either v4.4.y (means from linux-stable releases) or quite recent vanilla kernel's, such as v4.8-rc1?

             

            # lspci -nk -s 14.6

            00:14.6 0200: 8086:0937 (rev 10)

                    Subsystem: 8086:0937

                    Kernel driver in use: stmmaceth

             

            # ip addr show dev eth0

            2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000

                link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff

             

            # uname -a

            Linux buildroot 4.8.0-rc1+ #258 Thu Aug 11 17:56:24 EEST 2016 i586 GNU/Linux

             

            # udhcpc

            udhcpc: started, v1.25.0

            [ 6926.598389] eth0: device MAC address 98:4f:ee:05:ac:47

            [ 6926.706791] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready

            udhcpc: sending discover

            [ 6928.736247] stmmaceth 0000:00:14.6 eth0: Link is Up - 100Mbps/Full - flow control off

            [ 6928.745414] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

            udhcpc: sending discover

            udhcpc: sending select for 192.168.2.54

            udhcpc: lease of 192.168.2.54 obtained, lease time 43200

            deleting routers

            adding dns 192.168.2.1

             

            # ip addr show dev eth0

            2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000

                link/ether 98:4f:ee:05:ac:47 brd ff:ff:ff:ff:ff:ff

                inet 192.168.2.54/24 brd 192.168.2.255 scope global eth0

                   valid_lft forever preferred_lft forever

                inet6 fe80::9a4f:eeff:fe05:ac47/64 scope link

                   valid_lft forever preferred_lft forever

            • 3. Re: Intel Quark stm mac kernel module
              Intel_Peter

              Hello Peter_de_witte,

               

              Do you have any updates about this?

               

              -Peter.