Giter Club home page Giter Club logo

orangepi_wily_firmware_loader's Introduction

orangepi_wily_firmware_loader

firmware loader in udev for kernel 3.4.39, which is used by orangepi

udev change in kernel

since 3.8, firmware can be loaded in kernel mode, a new function is provided by kernel in drivers/base/firmware_class.c, named "fw_get_filesystem_firmware". And thus, systemd removed the support of loading firmware in usermode since v217(udev-builtin-firmware.c is removed from udev)

what happed to orangepi

orangepi ubuntu use kernel 3.4.39, in which version, usermode firmware loading is essential, but missed. For this reason, the orangepi wily will prevent pass the firmware request by setting stub response in 50-firmware.rules it says:

  • #stub for immediately telling the kernel that userspace firmware loading
  • #failed; necessary to avoid long timeouts with CONFIG_FW_LOADER_USER_HELPER=y
  • SUBSYSTEM=="firmware", ACTION=="add", ATTR{loading}="-1"

what you need to do

if you want to use hardware with firmware orangepi wily,

    1. you should replace the "/lib/udev/rules.d/50-firmware.rules" in the wily with the one I provided
    1. you have to build the firmware.c in the orangepi ubuntu or with a cross compiling tool, I compiled it with arm-linux-gnueabi-gcc, you can use apt-get to install it. There is a prebuilt binary file in the prebuilt directory. copy it to "/lib/udev"
    1. orangepi wily doesn't provide firmware, you have to copy the firmware from other source. I copied them from PC ubuntu.

about the firmware.c

I copied function set_loading, copy_firmware, and builtin_firmware from udev-builtin-firmware.c, and remove the dependence to udev. now, it only use std features and little linux feature.

issues

these is still some issue now: the rtl8188cu will work well after reboot, but if you plug it out, rtlwifi will print some error message, and then if you plug it in again, the wifi will not be light up. This will not be a trouble if you don't plug out it, but the root cause is still not clear.

orangepi_wily_firmware_loader's People

Contributors

freason avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.