一、内核文件修改
以下内容是在 Linux2.6.24 标准内核代码中添加 ME3760 模块的驱动,如果您维护有自己的内
核源代码,请根据源代码的具体情况修改相应的文件。(假定内核源代码所在的目录为
/linux-2.6.24)
1. 文件: /linux-2.6.24/drivers/usb/serial/option.c
找到如下行:
static struct usb_device_id option_ids[] = {
在其下添加内容:
{ USB_DEVICE(0x19d2, 0x0199) },
如图 1 所示:
图 1
2. 文件:/linux-2.6.24/drivers/usb/serial/usb-serial.c
找到 usb_serial_probe 函数,在函数中找到如下行:
lock_kernel(); /* guard against unloading a serial driver module */
在其下添加如下内容:
if ((le16_to_cpu(dev->descriptor.idVendor) == 0x19d2) &&
(le16_to_cpu(dev->descriptor.idProduct) == 0x0199)) {
if (1 == interface->cur_altsetting->desc.bInterfaceNumber) {
unlock_kernel();
return -ENODEV;
}
}
如图 2 所示:
图 2
3. 文件:/linux-2.6.24/drivers/net/usb/cdc_ether.c
本文件改动内容较多,不再一一列举,请直接使用我们提供的文件 cdc_ether.c 替换掉原
来的 cdc_ether.c。(如果您的内核源代码本来就修改过这个文件,则不宜直接覆盖,请
注意保留原来的修改)
4. 文件:/linux-2.6.24/drivers/net/usb/Makefile