Kernel-modules: Difference between revisions
From Bashlinux
Jump to navigationJump to search
Content deleted Content added
No edit summary |
Redirected page to Modules |
||
| (4 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
#REDIRECT [[Modules]] |
|||
__NOTOC__ |
|||
= Kernel module drivers = |
|||
== applesmc == |
|||
The applesmc module allows to monitor the temperature on Macmini terminals and set/get the fan speed in order to control the temperature. |
|||
The rpm available at Bashlinux repository includes the kernel module for CentOS and a service daemon which is monitoring the temperature and setting the fan speed. |
|||
To get the module working install the rpm from repository: |
|||
<pre><nowiki> |
|||
# yum -y install applesmc-utils |
|||
</nowiki></pre> |
|||
== drm == |
|||
The drm module avilable at Bashlinux repo has been modified in order to create dri device for AGP card on CX700M2 chipset. |
|||
== tpm == |
|||
The tpm module available at Bashlinux has been build from sources to setup the TPM chipset on Dell servers. |
|||
To build the module is necessary to enable it on kernel, one way to get this done is going to the kernel source folder, usually `/usr/src/linux` then run the config utility. |
|||
'''Useful Information''' |
|||
Please note that `ncurses-devel` must be installed to get menuconfig running. |
|||
<pre><nowiki> |
|||
# cd /usr/local/src |
|||
# make menuconfig |
|||
</nowiki></pre> |
|||
Select the TPM device driver under _Device Drivers > Character devices > TPM devices_, save the configuration and build the kernel modules. |
|||
<pre><nowiki> |
|||
# make modules |
|||
</nowiki></pre> |
|||
== usblp == |
|||
The current usblp module at uWink has been modified in order to create a usblp device for USB printer Epson M129 series. |
|||
The patch is based on kernel 2.6.21 |
|||
<pre><nowiki> |
|||
diff --git a/drivers/usb/class/usblp.c b/drivers/usb/class/usblp.c |
|||
index 63e50a1..6584cf0 100644 |
|||
--- a/drivers/usb/class/usblp.c |
|||
+++ b/drivers/usb/class/usblp.c |
|||
@@ -202,6 +202,7 @@ struct quirk_printer_struct { |
|||
#define USBLP_QUIRK_BIDIR 0x1 /* reports bidir but requires unidirectional mode (no INs/reads) */ |
|||
#define USBLP_QUIRK_USB_INIT 0x2 /* needs vendor USB init string */ |
|||
+#define USBLP_QUIRK_BAD_CLASS 0x4 /* descriptor uses vendor-specific Class or SubClass */ |
|||
static const struct quirk_printer_struct quirk_printers[] = { |
|||
{ 0x03f0, 0x0004, USBLP_QUIRK_BIDIR }, /* HP DeskJet 895C */ |
|||
@@ -218,6 +219,7 @@ static const struct quirk_printer_struct quirk_printers[] = { |
|||
{ 0x0409, 0xf0be, USBLP_QUIRK_BIDIR }, /* NEC Picty920 (HP OEM) */ |
|||
{ 0x0409, 0xf1be, USBLP_QUIRK_BIDIR }, /* NEC Picty800 (HP OEM) */ |
|||
{ 0x0482, 0x0010, USBLP_QUIRK_BIDIR }, /* Kyocera Mita FS 820, by zut <[email protected]> */ |
|||
+ { 0x04b8, 0x0202, USBLP_QUIRK_BAD_CLASS }, /* Seiko Epson Receipt Printer M129C */ |
|||
{ 0, 0 } |
|||
}; |
|||
@@ -1048,7 +1050,8 @@ static int usblp_select_alts(struct usblp *usblp) |
|||
ifd = &if_alt->altsetting[i]; |
|||
if (ifd->desc.bInterfaceClass != 7 || ifd->desc.bInterfaceSubClass != 1) |
|||
- continue; |
|||
+ if (!(usblp->quirks & USBLP_QUIRK_BAD_CLASS)) |
|||
+ continue; |
|||
if (ifd->desc.bInterfaceProtocol < USBLP_FIRST_PROTOCOL || |
|||
ifd->desc.bInterfaceProtocol > USBLP_LAST_PROTOCOL) |
|||
@@ -1232,6 +1235,7 @@ static struct usb_device_id usblp_ids [] = { |
|||
{ USB_INTERFACE_INFO(7, 1, 1) }, |
|||
{ USB_INTERFACE_INFO(7, 1, 2) }, |
|||
{ USB_INTERFACE_INFO(7, 1, 3) }, |
|||
+ { USB_DEVICE(0x04b8, 0x0202) }, /* Seiko Epson Receipt Printer M129C */ |
|||
{ } /* Terminating entry */ |
|||
}; |
|||
</nowiki></pre> |
|||
== kbde == |
|||
Keyboard emulation is done by installing kbde-driver, it will read all the keystokes send to `/dev/kbde`. There is also a package that convert ascii char to keystroke. |
|||
To have both on system just install the proper RPMs: |
|||
<pre><nowiki> |
|||
yum -y install kbde-driver kbde |
|||
</nowiki></pre> |
|||
Latest revision as of 03:24, 11 June 2015
Redirect to: