Giter Site home page Giter Site logo

USB wifi/bt about minimal HOT 11 CLOSED

ivandavidov avatar ivandavidov commented on May 21, 2024
USB wifi/bt

from minimal.

Comments (11)

yhaenggi avatar yhaenggi commented on May 21, 2024

Very likely not. If there would be just 1 small module to build and support them all, maybe. But this isnt a case as supporting all those devices means much more kernel modules. If you want special modules, just update the kernel config before building MLL. Ie, build MLL yourself.

from minimal.

JPB1JPB1 avatar JPB1JPB1 commented on May 21, 2024

ok but could it be explained how to add the support for one example of each, wifi and Bt/btle, let say one USB TP Link wifi ( 300Mbits or Dual band), and one USB CSR dual mode bluetooth...
Just to get any idea with the main modification and how to do it..
Thanks, and keep going..
Jp

from minimal.

yhaenggi avatar yhaenggi commented on May 21, 2024

You will have to provide a .config file for the kernel. best get the source, run make defconfig && run make menuconfig and enable the modules you want included.
If you want a working MLL build and your own config, add the changes the build does aswell (in the 02*sh) or Ctrl + C when its building and work with that for a base .config (ie, for further use in make menuconfig).
Then you move said file elsewhere and update MLL's config, more about this here:

# Use predefined '.config' file when building the kernel. This overrides the

If you want to extend your scripts to automatically add stuff to the config, you can do it this way:
https://github.com/K1773R/minimal/blob/c1a4c4337bc70eeb429e4c3eb609fc78caf95fc5/src/02_build_kernel.sh#L80

from minimal.

JPB1JPB1 avatar JPB1JPB1 commented on May 21, 2024

ok, THANKS

from minimal.

yhaenggi avatar yhaenggi commented on May 21, 2024

once you got a kernel which has the drivers for your device, of course you'd have to add some userspace tools aswell, for example wpa_supplicant. for this you'd have to create a new overlay bundle, which is documented in docs/

from minimal.

ivandavidov avatar ivandavidov commented on May 21, 2024

@JPB1JPB1 - I agree with @K1773R and what he says is exactly what will/should happen:

  • I have no intention to add support for any specific hardware.
  • You should either add the support for your specific hardware as part of the MLL build process, or create overlay bundle which includes the same support via loadable kernel module.
  • You don't really need to recompile the drivers you need from source. If you already have proper driver/module for kernel 4.4.x, you can reuse this driver directly. All you need to do is to add overlay bundle which packs your module and then modprobe it when MLL starts.

from minimal.

ivandavidov avatar ivandavidov commented on May 21, 2024

Another option - get the kernel configuration from your OS (e.g. Ubuntu or Linux Mint) and use the MLL feature to build new kernel with already prepared configuration, as @K1773R already mentioned. This will provide you with kernel which supports much broader range of hardware devices. However, currently this might not work for you.

Assuming you have the kernel, you also need to build and pack the modules. Currently this is not part of the official MLL build process. However, there are some MLL forks where you can see how to do that. Or even better - research it yourself.

The same applies for the kernel firmware packages. Currently MLL doesn't build/pack the kernel firmwares but these firmware binary blobs sometimes are required by some specific drivers. So, you need to ensure that you pack the firmware binaries along with the modules.

You also need to implement a device manager (e.g. mdev, udev, eudev, etc.) in order to process hotplug events. The fact that you have all the necessary kernel modules and firmware binaries only guarantees you that the kernel will recognize the hardware once it is available. At this point you need the device manager to properly configure the device.

Finally, as @K1773R already mentioned, you need user space tools in order to work with the device. Again, it is up to you to pack these tools in MLL. Probably the easiest way is to pack the executable binary files, along with their dependencies as separate overlay bundle.

from minimal.

JPB1JPB1 avatar JPB1JPB1 commented on May 21, 2024

ok thanks for the information and the basic procedure..
Any weblink to explain a bit more if possible how to do it ?
Ok not to support all hardware, only two or three USB dongles which are identified and running under Linux..
The idea is to be able to adapt and add for a dedicated USB hardware, any USB dongle for wireless connection.

Again great MLL, and Thanks
Jp

from minimal.

ivandavidov avatar ivandavidov commented on May 21, 2024

@JPB1JPB1 - please have in mind that we are talking about OS specific things. Don't expect this to be easy. Don't expect to find tutorials for your specific use case. This is operating system, not some generic stuff that every programmer should know it.

That said, I am not aware of a tutorial which explains how to add specific drivers from scratch in Linux based OS. We already provided you with guidelines and at this point your best friend is uncle Google.

One piece of advice - I believe it will be more useful to you if you read about (and understand) the normal MLL build process before you move to more advanced stuff.

from minimal.

yhaenggi avatar yhaenggi commented on May 21, 2024

The kernel can have a internal udev variant, if you enable it (see my links above).
Regarding docs, i recommend you'd read this first: https://github.com/ivandavidov/minimal/blob/master/src/the_dao_of_minimal_linux_live.txt

from minimal.

ivandavidov avatar ivandavidov commented on May 21, 2024

I'm closing the issue.

from minimal.

Related Issues (20)

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.