3. 解决安装和配置问题

以下章节列出了您可能遇到的问题的解决方案。

3.1. DSP 未启动

为了识别 64 Meg 以上的内存,可能需要在内核命令行中附加 “mem=” 选项。如果您使用 LILO 作为引导加载程序,您需要在lilo.conf文件中进行此操作。例如,如果您的机器有 128 Meg 内存,您需要输入

append="mem=130496K"

Note注意
 

您输入的数值必须比您实际拥有的内存少 576K。指定全部内存容量将阻止 DSP 启动。在上面的例子中,用于计算正确数值的公式是 1024 * nMB - 576 = nK。

如果您忘记运行 Thinkpad™ 实用程序来启用 ACP 调制解调器,并且在插入 mwave 模块时没有指定任何命令行参数(或者它不起作用),您将在系统日志 (syslog) 中收到一条消息,类似于下面的消息

ACP Modem, UART settings IRQ 0x3	IO 0x2f8

tp3780::EnableDSP, pSettings->bDSPEnabled 0 failed

Mwave Modem, ERROR cannot Enable DSP error fffffffb

Mwave Modem, ERROR cannot perform Mwave Initialization retval fffffffb

如果您收到类似于上面消息的消息,请检查您提供给 insmod 的命令行参数。

3.2. 资源冲突

ACP 调制解调器需要使用系统资源,用于 ACP 芯片提供的 DSP 和 UART。对于 Linux 系统,您需要使用 insmod mwave 命令行参数来指定启动期间使用的参数,这些参数在 第 2.4.1 节 中列出。

通常配置的资源是

For the DSP:  IRQ 10, I/O address 0x130-0x13f

For the UART: IRQ 3,  I/O address 0x2f8 (if using ttyS1)

				  IRQ 4,  I/O address 0x3f8 (if using ttyS0)

对于双启动系统,我们建议您在 Windows NT 或 DOS 上使用 Thinkpad™ 配置实用程序来配置这些系统资源。

Windows NT Thinkpad 配置实用程序注意事项:(在 Internal Modem --> Advanced 选项下)

  1. 将 IRQ 共享设置为禁用

  2. 将第一个 IRQ 设置为您的 DSP IRQ(建议为 10)

  3. 将第二个 IRQ 设置为您的 UART IRQ(例如,ttyS1 相当于 COM2)

  4. 设置 DSP I/O 地址(建议为 0x130)

  5. 将内部调制解调器 I/O 地址设置为 UART I/O 地址(例如,COM2 为 0x2f8)

  6. DMA 地址未使用,可以设置为任何值。

Note注意
 

您还可以使用 insmod mwave 命令行参数来指定启动期间使用的参数,这些参数在 第 2.4.1 节 中列出。

3.3. 未以指定的起始速度连接

配置的初始连接速度设置为 64000。调制解调器应该从这里开始,并根据目标调制解调器和线路能力协商降低连接速度。如果调制解调器无法连接,则可能是与目标调制解调器协商时遇到困难。尝试在mwavem.conf中将 SPEED 参数设置为较低的初始起始速度。支持的速度包括

3.4. 拨号器应用程序无法检测到串口

执行串口设置的启动脚本在 Red Hat、Debian、Slackware 和 SuSE 上运行良好。如果您没有运行这些发行版之一,您可能需要执行以下步骤进行设置。

在插入 mwave.o 模块并启动 mwavem 应用程序后,您必须运行 setserial 命令,以便串口配置可以发现 mwave 硬件上的 UART。

setserial /dev/ttySx autoconfig

将 ttySx 替换为您已配置 ACP 驱动程序使用的串口。

要测试串口是否设置正确,请运行

setserial /dev/ttySx

上面的命令应该为串口 1 返回以下内容

/dev/ttyS1, UART: 16550A, Port: 0x2f8, IRQ: 3

端口和 IRQ 号码应与 ACP 模块加载时放置在系统日志 (syslog) 中的信息相匹配

kernel: Mwave Modem, UART settings IRQ 0x3 IO 0x2f8

如果 setserial 返回的信息表明 UART 是 “unknown”,或者如果 IRQ 和 I/O 资源与您在系统日志 (syslog) 中的信息不匹配,您将需要重新配置。查看 setserial 手册页以了解如何设置 ttySx 上的资源,使其与系统日志 (syslog) 输出中显示的内容相匹配。

如果您在运行 setserial 时遇到问题,您可能存在资源冲突。在使用 insmod mwave 之前,请检查/proc/ioports/proc/interrupts以确保您打算声明的资源尚未被使用。

3.5. 使用 2.4.0 版本内核时的 PPP 错误

当升级到 2.4.0 版本内核时,请务必阅读./Documentation/Changes文件。Kernel 2.4.0 需要升级版本的 pppd、gcc 和 modutils(以及其他一些东西)。请仔细按照说明设置新的 pppd 守护程序。

在 2.4.0 版本中运行 ppp 时,您可能会遇到一些初始问题。我们收到的最常见的错误之一是 “Can't locate module tty-ldisc-3.”。但是,在用以下选项重建内核后,我们没有遇到任何问题

CONFIG_PPP=y

CONFIG_PPP_ASYNC=m

CONFIG_PPP_SYNC_TTY=m

CONFIG_PPP_DEFLATE=m

CONFIG_PPP_BSDCOM=m