正如我之前所说,我提供的选项来自 2.3.99pre6 内核。如果一切不完全相同,我认为进行合理的猜测应该会有所帮助 ;)
** 提示:[] 代表是/否选项,而 <> 代表是/否/模块 **
首先,您必须启用实验性代码
代码成熟度级别选项 --->
[*] 提示开发和/或未完成的代码/驱动程序
如果您不这样做,您将无法访问某些驱动程序。
然后,继续到 USB 部分。
USB 支持 --->
<*> 支持 USB
[*] USB 详细调试信息
--- 其他 USB 选项
[*] 初始 USB 设备文件系统
启用此选项后,您将激活 /dev/usb/* 的新功能(当然,您需要创建它:稍后会看到)
--- USB 控制器
<*> UHCI (Intel PIIX4, VIA, ...) 支持
< > OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) 支持
您必须选择其中一个,且只能选择一个。因此,如果一个不起作用,则选择另一个。如果您使用 x86 系统,则很可能会选择 UHCI 驱动程序。
--- USB 设备
< > USB 打印机支持
< > USB 扫描仪支持
< > USB 音频支持
< > USB 调制解调器 (CDC ACM) 支持
如果您有其中任何一个,请随意激活这些选项
<M> USB 串口转换器支持
必须激活此选项才能使 Wacom 绘图板工作。
[*] USB 通用串口驱动程序
[ ] USB Handspring Visor 驱动程序
[ ] USB ConnectTech WhiteHEAT 串口驱动程序 (实验性)
[ ] USB FTDI 单端口串口驱动程序 (实验性)
[ ] USB Keyspan PDA 单端口串口驱动程序 (实验性)
[ ] USB ZyXEL omni.net LCD Plus 驱动程序 (实验性)
[*] USB 串口转换器详细调试
如果您想要拥有所有消息(这在开始时可能非常有用)。当对功能感到满意时,您可以停用它。
< > USB Kodak DC-2xx 相机支持
< > USB Mustek MDC800 数码相机支持 (实验性)
< > USB 大容量存储支持 (实验性)
< > USS720 并口驱动程序
< > DABUSB 驱动程序
< > PLUSB Prolific USB-网络驱动程序 (实验性)
< > USB ADMtek Pegasus 基设备支持 (实验性)
< > USB Diamond Rio500 支持 (实验性)
--- USB HID
HID 有点像您和设备之间的接口,因此您必须激活它。
<M> USB 人体学接口设备 (HID) 支持
< > USB HIDBP 键盘支持
< > USB HIDBP 鼠标支持
<M> Wacom Intuos/Graphire 绘图板支持
好了,Wacom 支持应该被激活了(除非您只是为了好玩而阅读本文 ;) )
< > Logitech WingMan Force 摇杆支持
< > 键盘支持
<M> 鼠标支持
要激活以使用 Wacom Intuos/Graphire 鼠标
(1024) 水平屏幕分辨率
(768) 垂直屏幕分辨率
<M > 摇杆支持
<M> 事件接口支持
现在是简单的部分了
当您退出配置时,按照他们说的做
make dep bzImage modules modules_install
就像这样输入,计算机将按顺序运行所有步骤。
然后将 bzImage 文件复制到 /boot,将 System.map 复制到 /boot,编辑您的 lilo.conf 以指向您的新内核,并在提示符下输入 /sbin/lilo。
** 当然,所有这些(内核配置、内核编译和 lilo 调整必须以 root 用户身份完成) **
如果您想避免在下次重启时出现错误消息,您必须执行以下操作
编辑文件 /etc/fstab 并添加以下行
none /proc/bus/usb usbdevfs defaults 0 0
这一行用于激活 usb 设备文件系统
none /var/shm shm defaults 0 0
这一行是因为内核中共享内存机制的更改。
接下来,如果您想能够使用 USB
mkdir /dev/input
mknod /dev/input/mouse0 c 13 32
这将激活鼠标支持
mknod /dev/input/event0 c 13 64
mknod /dev/input/event1 c 13 65
mknod /dev/input/event2 c 13 66
mknod /dev/input/event3 c 13 67
这些将激活触控笔:移动、压力、按钮和橡皮擦。
编辑文件 /etc/modules.conf 并添加以下行
alias char-major-13 usbcore
接下来,我在 /etc/rc.d/boot.local 文件中添加了以下内容(请记住,我使用的是 SuSE 发行版,但您应该在 RedHat 的 /etc/rc.d/init.d/boot.local 或 /etc/rc.d/init.d/rc.local 中找到等效项)
/sbin/modprobe wacom
/sbin/modprobe mousedev
/sbin/modprobe evdev
只是为了确保模块在启动时加载。
重启 ;)
检查您的启动消息 (dmesg | less),看看是否有与 USB 相关的错误。这可能是因为您选择了 UHCI,而您的系统是 OHCI 系统。
在我的系统上,显示以下消息
.....
.....
usb.c: 注册了新的驱动 usbdevfs
usb.c: 注册了新的驱动 hub
usb-uhci.c: $修订版: 1.9 $ 时间 17:54:28 2000年5月8日
usb-uhci.c: 启用了高带宽模式
usb-uhci.c: Intel USB 控制器:设置延迟计时器为 0
usb-uhci.c: USB UHCI 在 I/O 0xffe0, IRQ 11
usb-uhci.c: 检测到 2 个端口
usb.c: 注册了新的 USB 总线,分配总线号 1
usb.c: USB 新设备连接,分配设备号 1
usb.c: kmalloc IF c3fcd2e0, numif 1
usb.c: 新设备字符串:制造商=0,产品=2,序列号=1
usb.c: USB 设备号 1 默认语言 ID 0x0
产品: USB UHCI 根集线器
序列号: ffe0
hub.c: 找到 USB 集线器
hub.c: 检测到 2 个端口
hub.c: 成组电源切换
hub.c: 独立集线器
hub.c: 全局过流保护
hub.c: 上电到电源良好时间:2ms
hub.c: 集线器控制器电流需求:0mA
hub.c: 端口 1 是可移除的
hub.c: 端口 2 是可移除的
hub.c: 本地电源良好
hub.c: 不存在过流情况
hub.c: 正在启用所有端口的电源
usb.c: 集线器驱动声明了接口 c3fcd2e0
.....
.....
hub.c: 端口 1 连接更改
usb.c: USB 新设备连接,分配设备号 2
usb.c: kmalloc IF c3fcd620, numif 1
usb.c: 跳过 1 个类/供应商特定的接口描述符
usb.c: 新设备字符串:制造商=1,产品=2,序列号=0
usb.c: USB 设备号 2 默认语言 ID 0x409
制造商: WACOM
产品: ET-0405-UV1.1-1
usb.c: 设备上未处理的接口
usb.c: 此设备未被任何已安装的 USB 驱动程序识别。
长度 = 18
描述符类型 = 01
USB 版本 = 1.00
供应商:产品 = 056a:0010
MaxPacketSize0 = 0
配置数量 =1
设备版本 = 1.11
设备类:子类:协议 = 00:00:00
每个接口的类
配置
.....
.....
当内核说“此设备未被任何已安装的 USB 驱动程序识别”时,是因为在启动时,wacom 模块尚未加载。但是正如您所看到的,整个 USB 总线和接口都被识别了。因此,如果您的系统无法工作并且没有此类消息,请尝试检查您是否忘记了 USB 选项(我指示放入内核的某些内容,而您将其作为模块放置:如果是这种情况,在 /etc/rc.d/init.d/boot.local 中,将必要的 modprobe 放在我指示的 3 行之前,例如 /sbin/modprobe usb-uhci)。
当 wacom 模块加载时,以下是消息
.....
.....
usb.c: 注册了新的驱动 wacom
input0: Wacom Graphire 在 usb2 上
usb.c: wacom 驱动声明了接口 c3fcd620
mouse0: input0 的 PS/2 鼠标设备
mice: 所有鼠标通用的 PS/2 鼠标设备
event0: input0 的事件设备
.....
.....
重试并检查所有内容,直到您获得所有这些消息(或相应的消息)。