Update 'Linux kernel modules'

Triss 2021-08-17 21:53:54 +00:00
parent 4785464089
commit 35b8426157
1 changed files with 6 additions and 6 deletions

@ -2,14 +2,14 @@
Currently, 5 modules exist: Currently, 5 modules exist:
* `dmj`: This module is responsible for binding to the [USB vendor interface](USB-config-%26-command-protocol), handling the low-level command transfer protocol, exposing this functionality to the other modules, and auto-loading the other modules when their functionality is available on the device. Not to be used directly. * `dragonprobe`: This module is responsible for binding to the [USB vendor interface](USB-config-%26-command-protocol), handling the low-level command transfer protocol, exposing this functionality to the other modules, and auto-loading the other modules when their functionality is available on the device. Not to be used directly.
* `dmj-char` implements a character device driver (`/dev/dmj-*`), exposing the USB vendor interface (in use by the kernel) to userspace. Mainly for use with [`dmctl`](dmctl), not to be used directly. * `dragonprobe-char` implements a character device driver (`/dev/dragonprobe-*`), exposing the USB vendor interface (in use by the kernel) to userspace. Mainly for use with [`dmctl`](dmctl), not to be used directly.
* `spi-dmj` exposes a SPI controller to the kernel. If the `spidev` module has been loaded (load it using `modprobe`), a `/dev/spidevA.B` device should be available to access the device's SPI bus. * `spi-dragonprobe` exposes a SPI controller to the kernel. If the `spidev` module has been loaded (load it using `modprobe`), a `/dev/spidevA.B` device should be available to access the device's SPI bus.
* `i2c-dmj` exposes an I2C controller to the kernel. If the `i2c-dev` module has been loaded (load it using `modprobe`), a `/dev/i2c-BUSNUM` device should be available to access the device's I2C bus. * `i2c-dragonprobe` exposes an I2C controller to the kernel. If the `i2c-dev` module has been loaded (load it using `modprobe`), a `/dev/i2c-BUSNUM` device should be available to access the device's I2C bus.
* `dmj-hwmon` implements the temperature sensor functionality as a Linux hardware monitoring device. Its readout should be available in the output of the `sensors` command, from the `lm_sensors` package. * `dragonprobe-hwmon` implements the temperature sensor functionality as a Linux hardware monitoring device. Its readout should be available in the output of the `sensors` command, from the `lm_sensors` package.
### Compiling and loading the modules ### Compiling and loading the modules
The source code of the modules can be found in the `host/modules/` folder in the source tree. A `Makefile` is made available to compile these for the Linux kernel you are currently running. Linux 5.4 and up have been tested to work. The source code of the modules can be found in the `host/modules/` folder in the source tree. A `Makefile` is made available to compile these for the Linux kernel you are currently running. Linux 5.4 and up have been tested to work.
Loading these modules can be done using `sudo insmod <modulename>.ko`, and unloaded using `sudo rmmod <modulename>`. Note that all modules depend on the `dmj` module, so the latter one has to be loaded first, and unloaded last. Loading these modules can be done using `sudo insmod <modulename>.ko`, and unloaded using `sudo rmmod <modulename>`. Note that all modules depend on the `dragonprobe` module, so the latter one has to be loaded first, and unloaded last.