7. 还有一些其他要点需要注意。

这里还有一些您可能会觉得有趣/有用的要点。

7.1. 非官方的 PCTel winmodem-Linux 兼容性数据库。

对于 --with-hal 选项,在 configure 脚本中使用时,存在很多困惑。为此,我编写了一个 MySQL-PHP 驱动的数据库,用于收集调制解调器所有者的信息,以便新手可以浏览和搜索数据库,并找到他们调制解调器的芯片组。如果您有 PCTel 调制解调器,请在 http://pctelcompdb.sourceforge.net 提交您的调制解调器信息。

7.2. 自动加载模块

好的,如果您将 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/目录中(我在附录部分有一个此类脚本的示例)

7.3. 国家代码

ptserial.o 驱动程序还允许您指定国家代码,但对于大多数情况,默认的 USA 是可以的。如果您仍然想指定国家代码,请使用以下命令加载 ptserial.o 模块

bash$ insmod ptserial country_code=x

(其中 x 是您想要的国家代码)下面列出了国家代码及其对应的国家名称。

表 1. 国家代码

国家名称国家代码
美国1
法国2
德国3
意大利4
瑞典5
英国6
日本7
澳大利亚8
西班牙9
台湾10
新加坡11
韩国12
瑞士13
挪威14
荷兰15
比利时16
加拿大17
爱尔兰18
葡萄牙19
波兰20
匈牙利21
芬兰22
丹麦23
奥地利24
南非25
CTR21 国家26
中国27
马来西亚28
卢森堡29
希腊30
冰岛31
新西兰32
巴西33

7.4. 加载模块时的其他选项。

加载 ptserial.o 时您可能想使用的其他选项是

适用于所有 HAL

- irq:强制使用 irq #。

- iobase:强制使用 iobase 进行调制解调器检测。

仅适用于 I810/VAI686A HAL

- iobase1:强制 iobase 1

Note

注意:如果您想设置 iobase 或 iobase1,您应该同时使用 irq/iobase/iobase1。

仅适用于 CM8738/PCT789 HAL

- vendor_id:调制解调器的供应商 ID

- device_id:调制解调器的设备 ID。

Note

注意:vendor_id 和 device_id 应该同时使用,但您不能将这两个选项与 iobase 结合使用,iobase 优先于 (vendor/device)_id 检测。

7.5. 加载/卸载模块的顺序。

当您加载模块时,您必须首先加载 pctel.o 模块

bash$ insmod pctel

然后再加载 ptserial.o

bash$ insmod ptserial

卸载时,顺序相反,

bash$ rmmod ptserial

bash$ rmmod pctel

7.6. pctel-0.9.6 和 0.8.6 版本中的错误。

内核 2.4x 的驱动程序中存在一个严重的错误。调制解调器在拨号时经常似乎停止工作/挂起,您只能从调制解调器扬声器中听到 beeeeeeeeee... 的声音,稍后,拨号器会给出消息无载波并断开连接。

这个问题没有真正的解决方法,但有时卸载并重新加载模块会有效。为此,命令将是(假设您的模块位于/lib/modules/'您的内核版本`/misc/)

bash$ rmmod ptserial

bash$ rmmod pctel

bash$ insmod pctel

bash$ insmod ptserial

Note

在尝试卸载驱动程序之前,您必须退出拨号器,否则您将收到设备或资源忙错误。

当问题变得过于严重时,唯一的解决方案似乎是重启。

还有人注意到,有时,这个问题取决于 ISP,在使用特定 ISP 时会出现问题。

7.7. 内核源文件目录

如果您收到错误提示/usr/src/linux/include/linux/modversions.h : 没有该文件或目录,请在您的 /usr/src 目录中查找内核源文件。默认位置是/usr/src/linux/但某些发行版可能会将文件安装在其他位置。

如果您发现文件在其他地方,例如在目录/usr/src/myspecialsource/中,请不要尝试移动文件,只需使用以下命令创建符号链接

bash$ ln -s /usr/src/myspecialdirectory/ /usr/src/linux/

Note

对于 PCTel-0.8.6 或更新的驱动程序,您还可以使用以下选项指定内核源文件的位置

bash$ --with-kernel-includes=您的内核源文件目录

在运行 configure 脚本期间。

7.8. PnP BIOS 问题

由于大多数计算机都是为 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”。保存您所做的更改,然后重启。

Warning

适用于所有 BIOS,如果您有不同类型的 BIOS 配置菜单,建议您查阅您的 PC 文档。

7.9. AMR 调制解调器

有一些基于 PCTel 芯片组的内置调制解调器,它们安装在 AMR 插槽而不是普通的 PCI 插槽中。它们通常被识别为HSP MR通过 bash$ lspci 命令。这些调制解调器仅受 pctel-0.9.6 驱动程序支持。

7.10. 可能与声卡模块冲突

最近,在 discuss@linmodems.org 列表中有一些帖子指出,PCTel 模块只有在通过 bash$ rmmod 命令卸载声卡模块后才能工作。如果您在加载 pctel.o 和 ptserial.o 模块后仍然没有收到调制解调器的响应,那么您可以尝试卸载声卡模块,然后重新加载 PCTel 模块。但是,如果您使用的是来自 www.opensound.com 的商业 ($$$) 驱动程序,则不会发生此问题。