Search

Technical Discussion Group Forum

This forum is provided for user discussion. While Beacon EmbeddedWorks support staff and engineers participate, Beacon EmbeddedWorks does not guarantee the accuracy of all information within in the Technical Discussion Group (TDG).

The "Articles" forums provide brief Articles written by Beacon EmbeddedWorks engineers that address the most frequently asked technical questions.

To receive email notifications when updates are posted for a Beacon EmbeddedWorks product download, please subscribe to the TDG Forum of interest.

TDG Forum

PrevPrev Go to previous topic
NextNext Go to next topic
Last Post 11 Dec 2014 06:40 PM by  David Montague
linux build without loadable modules: wl1283 firmware not found
 4 Replies
Sort:
You are not authorized to post a reply.
Author Messages
David Montague
New Member
New Member
Posts:9


--
04 Dec 2014 06:23 PM

    when I take my working 1026167_LogicPD_Linux_BSP_2.4-3 build, and configure the kernel to not use loadable modules, when I load and start the kernel I get the error message: [   15.331329] wl1283: ERROR could not get firmware: -2

     

    Is there a way to include the wl1283 firmware into the kernel built without loadable modules?  If so, what are the CONFIG_ parameters I need to use?

     

    Thanks

    Adam Ford
    Advanced Member
    Advanced Member
    Posts:794


    --
    05 Dec 2014 07:23 AM
    I am not aware of a way to build the firmware into the kernel automatically. The firmware is closed-source by its manufacturer, and depending on what mode is required, the firmware that is loaded may change. I will investigate this to see if there is any options, and if so, I'll post again.

    adam
    David Montague
    New Member
    New Member
    Posts:9


    --
    08 Dec 2014 06:23 PM
    When I build linux with loadable module support enabled, the wl1283 firmware blob from the manufacturer is included in the uImage, and loaded properly so the WIFI works. This is the default configuration of the LogicPD Linux BSD.

    I should be able to build linux with loadable module support disabled and still have the wl1283 firmware blob from the manufacture included in uImage (Linux loadable modules are (should be) unrelated to firmware blobs). I would like to know what configuration options I need to select in the Linux Kernel Configuration to make this happen.

    Thanks, Dave
    Adam Ford
    Advanced Member
    Advanced Member
    Posts:794


    --
    09 Dec 2014 08:59 AM
    The issue has to do with how the the firmware is deployed from the kernel. The firmware is considered modules and deployed as part of the make modules_install phase. When you disable the loadable modules, you cannot even call this step manually.

    There is a hack/work around that seems to work, but it's not as simple as a few kernel flags.

    1. Build the kernel with the loadable modules enabled.
    2. Copy rootfs/lib/firmware directory to someplace outside of the rootfs
    3. Rebuild the kernel with the loadable modules disabled.
    4. Copy the firmware directory from step 2 back to rootfs/lib
    5. Rebuild the rootfs image with ./ltib -p kernel -m scdeploy

    I tested it with yaffs, but I expect it work with ramdisk as well.

    If you try using the scripts in the Linux User guide, expect to see an error
    loading wl12xx_sdio
    FATAL: Module wl12xx_sdio not found.

    It should be OK to ignore this since the driver is already loaded an part of the kernel, so modprobe has no module to load.
    After that, you should see the firmware load.

    adam
    David Montague
    New Member
    New Member
    Posts:9


    --
    11 Dec 2014 06:40 PM

    This resolved our issue, thank you very much.

     

    Dave

    You are not authorized to post a reply.