This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Adding Kernel Modules to EVM5432 GLSDK



I apologize in advance if I'm violating any forum rules by posting a question that I already asked in the Linux forum, but I think the question is also applicable to this forum and there might be people here that can get me pointed in the right direction.

A full description of the problem can be found here: http://e2e.ti.com/support/embedded/linux/f/354/p/327585/1147407.aspx#1147407, but here's a much shorter description.

I followed the instructions from here for building a yocto filesystem: http://processors.wiki.ti.com/index.php/OMAP5_GLSDK_Software_Developers_Guide#Building_Yocto_Filesystem

The build process produced a number of warnings, but gave me something that boots and runs just fine.

One of the things that I would like to do is evaluate NAT routing.  iptables provides a way to do that.  My problem is that the filesystem that gets built comes with iptables, but none of the required kernel modules.

http://processors.wiki.ti.com/index.php/OMAP5_GLSDK_Software_Developers_Guide#Creating_your_own_Linux_kernel_image describes how to build a kernel and other posts on this forum discuss the hacks required to modify a config file to get the kernel that you want.

I followed those steps and failed miserably.  I'm not convinced the kernel sources in $GLSDK/board-support are the sources for the same kernel that I got by building the yocto filesystem.  The kernel I got with the yocto filesystem supports TI WiFi modules.  When I try to build the TI WiFi modules with the kernel source in $GLSDK/board-support, the build fails.  I can get a working kernel without support for the TI WiFi modules, but that doesn't do me any good.

I would appreciate any guidance on how to modify the kernel that got produced when I followed the steps for building the yocto filesystem.

-Michael

  • Hello Michael,

    At first, I want to notice: WLAN connection will work only on uEVM with PG2.1 wl8 chip. OMAP5 Panda boards with model number uEVM5432x-02-01-00 and uEVM5432x-02-11-00 both have the WL1857 ES2.1 on them

    I checked in my GLSDK running on my OMAP5 EVM. Wireless core is enabled see the following path:

    root@omap5-evm:/sys/devices# ls
    48211000.interrupt-controller  ocp.3
    breakpoint                     omapdss
    btwilink.22                    platform
    fixedregulator-mmcsd.12        soc.1
    fixedregulator-mmcwl.13        software
    hsusb2_phy.15                  sound.18
    hsusb2_reset_reg.14            sound_hdmi.19
    hsusb3_phy.17                  system
    hsusb3_reset_reg.16            timer.0
    kim.21                         tracepoint
    leds.20                        virtual
    lpddr2.11                      wlcore.23
    root@omap5-evm:/sys/devices# echo wlcore
    wlcore

    I also checked and .config file - ti-glsdk_omap5-uevm_6_03_00_01/board-support/linux/ .config - The wireless module is enabled - CONFIG_CFG80211=m and CONFIG_MAC80211=m

    I suggest checking for enabled wireless module in your .config file.

    Check hire ti-glsdk_omap5-uevm_6_03_00_01/board-support/linux/include/config/ mac80211 is available.

    I suggest having look on information with build steps for Android: http://omapedia.org/wiki/Panda5AJ.1.5_Release_Notes

    See following in menuconfig:

    Best regards,

    Yanko

  • Yanko,

    Thank you for the quick response.  I am not having any problem getting the WLAN connection to work on my hardware.  I can configure the WLAN as a STA and reliably send and receive data for hours.  I can also configure the WLAN as an AP and connect to it from a PC running as a STA.

    What I can't do is route the data from the PC through another interface.  All of the examples that I have read on how to do that require iptables.  The version of kernel that I built by following the instruction for building a yocto filesystem has the user space iptables program, but not the ip_tables kernel module.

    For example, I can follow these steps: http://processors.wiki.ti.com/index.php/Portable_Wireless_Gateway and when I get to the iptables instruction, I get an error message that suggests that I use insmod to install the required modules.  I can't do that, because the kernel didn't get built with the required module.

    To be clear, everything related to the WLAN seems to be working correctly.  I'm also pretty sure that I know which CONFIG options I need to add in order to build a kernel with the netfilter modules that I need.

    I just need somebody to point me to the kernel sources, base config file, and the recipe that I need to use to rebuild the kernel.

    The kernel in ${GLSDK}/board-support/linux doesn't appear to be that kernel that got build with the yocto filesystem.  I'm basing that theory on the fact that when I try to build it with TI WiFi support, I get compiler errors.  The yocto filesystem built with working TI WiFi modules.

    My guess is that the procedures for rebuilding the kernel with the modules that I need are pretty much the same as rebuilding the kernel with any other CONFIG changes.  If somebody could point me to procedures on changing CONFIG options in the kernel used with the yotco filesystem build, that would be a huge help.

    -Michael