这里还有一些您可能会觉得有趣/有用的要点。
对于 --with-hal 选项,在 configure 脚本中使用时,存在很多困惑。为此,我编写了一个 MySQL-PHP 驱动的数据库,用于收集调制解调器所有者的信息,以便新手可以浏览和搜索数据库,并找到他们调制解调器的芯片组。如果您有 PCTel 调制解调器,请在 http://pctelcompdb.sourceforge.net 提交您的调制解调器信息。
好的,如果您将 pctel.o 和 ptserial.o 文件放在/lib/modules/`您的内核版本`/misc/,您可以将以下行添加到您的/etc/modules.conf文件
# for pctel modem alias char-major-62 ptserial below ptserial pctel # country code for pctel modem options ptserial country_code=1 |
运行
bash$ depmod -a
在修改您的/etc/modules.conf.
在这种情况下,运行 ppp 将自动加载这些模块。您还可以编写一些 shell 脚本并将它们放在您的/usr/bin/目录中(我在附录部分有一个此类脚本的示例)
ptserial.o 驱动程序还允许您指定国家代码,但对于大多数情况,默认的 USA 是可以的。如果您仍然想指定国家代码,请使用以下命令加载 ptserial.o 模块
bash$ insmod ptserial country_code=x
(其中 x 是您想要的国家代码)下面列出了国家代码及其对应的国家名称。
加载 ptserial.o 时您可能想使用的其他选项是
适用于所有 HAL
- irq:强制使用 irq #。
- iobase:强制使用 iobase 进行调制解调器检测。
仅适用于 I810/VAI686A HAL
- iobase1:强制 iobase 1
![]() | 注意:如果您想设置 iobase 或 iobase1,您应该同时使用 irq/iobase/iobase1。 |
仅适用于 CM8738/PCT789 HAL
- vendor_id:调制解调器的供应商 ID
- device_id:调制解调器的设备 ID。
![]() | 注意:vendor_id 和 device_id 应该同时使用,但您不能将这两个选项与 iobase 结合使用,iobase 优先于 (vendor/device)_id 检测。 |
当您加载模块时,您必须首先加载 pctel.o 模块
bash$ insmod pctel
然后再加载 ptserial.o
bash$ insmod ptserial
卸载时,顺序相反,
bash$ rmmod ptserial
bash$ rmmod pctel
内核 2.4x 的驱动程序中存在一个严重的错误。调制解调器在拨号时经常似乎停止工作/挂起,您只能从调制解调器扬声器中听到 beeeeeeeeee... 的声音,稍后,拨号器会给出消息无载波并断开连接。
这个问题没有真正的解决方法,但有时卸载并重新加载模块会有效。为此,命令将是(假设您的模块位于/lib/modules/'您的内核版本`/misc/)
bash$ rmmod ptserial
bash$ rmmod pctel
bash$ insmod pctel
bash$ insmod ptserial
![]() | 在尝试卸载驱动程序之前,您必须退出拨号器,否则您将收到设备或资源忙错误。 |
当问题变得过于严重时,唯一的解决方案似乎是重启。
还有人注意到,有时,这个问题取决于 ISP,在使用特定 ISP 时会出现问题。
如果您收到错误提示/usr/src/linux/include/linux/modversions.h : 没有该文件或目录,请在您的 /usr/src 目录中查找内核源文件。默认位置是/usr/src/linux/但某些发行版可能会将文件安装在其他位置。
如果您发现文件在其他地方,例如在目录/usr/src/myspecialsource/中,请不要尝试移动文件,只需使用以下命令创建符号链接
bash$ ln -s /usr/src/myspecialdirectory/ /usr/src/linux/
![]() | 对于 PCTel-0.8.6 或更新的驱动程序,您还可以使用以下选项指定内核源文件的位置 bash$ --with-kernel-includes=您的内核源文件目录 在运行 configure 脚本期间。 |
由于大多数计算机都是为 M$-Windows 操作系统设计的,因此计算机的 BIOS 假定您安装了它所谓的“PnP OS”。这可能会给 GNU/Linux 中这些类型的调制解调器带来麻烦(特别是当您有资源冲突时),因此最好的办法是将“PnP OS Installed”选项更改为“No”。要执行这些操作,您必须执行以下步骤
在启动期间,当您看到“Memory Test”消息、CPU 信息、BIOS 信息时,只需按下 DEL 键(如果不起作用,通常 Function (Fx) 键之一会起作用……请查看您的手册)。
您将看到 BIOS 配置菜单。进入“PNP/PCI Configuration”部分,并将“PNP OS Installed”选项设置为“NO”。保存您所做的更改,然后重启。
![]() | 这不适用于所有 BIOS,如果您有不同类型的 BIOS 配置菜单,建议您查阅您的 PC 文档。 |
有一些基于 PCTel 芯片组的内置调制解调器,它们安装在 AMR 插槽而不是普通的 PCI 插槽中。它们通常被识别为HSP MR通过 bash$ lspci 命令。这些调制解调器仅受 pctel-0.9.6 驱动程序支持。
最近,在 discuss@linmodems.org 列表中有一些帖子指出,PCTel 模块只有在通过 bash$ rmmod 命令卸载声卡模块后才能工作。如果您在加载 pctel.o 和 ptserial.o 模块后仍然没有收到调制解调器的响应,那么您可以尝试卸载声卡模块,然后重新加载 PCTel 模块。但是,如果您使用的是来自 www.opensound.com 的商业 ($$$) 驱动程序,则不会发生此问题。