5. HSF

5.1. 历史

HSF 驱动程序在 2000 年中期突然出现,当时 Olitec 为他们的 Olitec PCI 调制解调器发布了用于 2.2.14 内核的仅二进制驱动程序,不久之后有人意识到 Olitec 调制解调器是基于 Rockwell/Conexant HSF 芯片组的。向 Olitec 询问后得知,该驱动程序应该适用于任何 HSF 芯片组,因为驱动程序中没有任何特定于 Olitec 调制解调器的内容。许多人试图让驱动程序与非 Olitec 调制解调器一起工作,但不幸的是没有成功,但是几个月后,在许多人花费大量时间尝试各种技巧来使驱动程序工作之后,一些人偶然发现了解决方案。这是一个简单的单行文件更改解决了问题,世界有了一个可用的 HSF 驱动程序,当时它仅适用于 2.2.14 内核,并且 Olitec 拒绝发布源代码以让其他人尝试使其与​​其他内核一起工作。

几个月后,Olitec 发布了用于 2.2.16 和 2.2.17 内核的驱动程序,这使 HSF winmodem 社区感到满意,直到我们来到 2.4 内核发布的那一天。以前的驱动程序似乎都无法与 2.4 内核一起工作,这给所有想要升级的人以及大量使用基于 2.4.* 内核发行版(如 Mandrake 8 和 RedHat 7.1)的新用户带来了问题。自从 2.4 内核发布以来,Olitec 就一直没有消息,但 Conexant 宣布他们打算开发 Linux 驱动程序。在等待 2.4.* 驱动程序几个月后,Marc Boucher 决定为此做些什么,并编写了一个包装器,允许旧版本的驱动程序与 2.4.* 内核一起使用。

这就是我们现在的处境,Marc 的包装器仍处于实验开发阶段,但它可以工作,并且许多人正在使用它在 Linux 下连接到互联网。

从历史记录中您将了解为什么下一节必须分为两部分,一部分用于 2.2.14 - 2.2.18 内核,一部分用于 2.4.* 内核。如果您不知道您拥有哪个内核版本,您可以使用 'uname -r' 命令在控制台窗口中找出,然后再继续阅读本 HOWTO 的相应部分。

5.2. Kernel 2.2.14 - 18

5.2.3. 如果您有 2.2.14 内核

在 2.2.14 内核上安装 HSF 驱动程序

  1. 下载文件 HSF_V1.01.02_K2.2.14-5.0.tar,可以从 Olitec 的站点镜像站点 获取。

  2. 将其复制到您的主目录

  3. 在控制台窗口中,切换到您的主目录

    [user@localhost]$cd ~

  4. 解压缩文件

    [user@localhost]$tar xzvf HSF_V1.01.02_K2.2.14-5.0.tar

  5. 进入驱动程序目录

    [user@localhost]$cd pci_56k_v2

  6. 在您喜欢的文本编辑器中加载 lin_hsf.inf 文件,在 [generic] 部分下,您将看到几行类似于 “%HSFModem% = ModemX, PCI\VEN_127A&DEV_1025&SUBSYS_1025127A” 的行,在这些行下添加您之前制作的 %HSFModem% 行。

  7. 切换到 root 用户

    [user@localhost]$su

  8. 运行 ins_all 脚本来安装驱动程序

    [user@localhost]$./ins_all

现在您可以通过告诉您的拨号软件您的调制解调器位于 /dev/modem 来访问互联网。

ins_all 只会临时加载调制解调器驱动程序,并且调制解调器驱动程序将在您重新启动时被删除。因此,如果您重新启动,您将需要运行 ./ins_all 程序来重新加载驱动程序,如果您经常重新启动,您可能希望将 ./ins_all 命令设置为在每次计算机启动时自动运行。

5.2.4. 如果您有 2.2.16 内核

在 2.2.16 内核上安装 HSF 驱动程序

  1. 下载文件 PCI_56K_V2_K2.2.16.tar.gz,可以从 Olitec 的站点镜像站点 获取。

  2. 将其复制到您的主目录

  3. 在控制台窗口中,切换到您的主目录

    [user@localhost]$cd ~

  4. 解压缩文件

    [user@localhost]$tar xzvf PCI_56K_V2_K2.2.16.tar.gz

  5. 进入驱动程序目录

    [user@localhost]$cd pci_56k_v2_k2.2.16

  6. 在您喜欢的文本编辑器中加载 lin_hsf.inf 文件,在 [generic] 部分下,您将看到几行类似于 “%HSFModem% = ModemX, PCI\VEN_127A&DEV_1025&SUBSYS_1025127A” 的行,在这些行下添加您之前制作的 %HSFModem% 行。

  7. 切换到 root 用户

    [user@localhost]$su

  8. 运行 ins_all 脚本来安装驱动程序

    [user@localhost]$./ins_all

现在您可以通过告诉您的拨号软件您的调制解调器位于 /dev/modem 来访问互联网。

ins_all 只会临时加载调制解调器驱动程序,并且调制解调器驱动程序将在您重新启动时被删除。因此,如果您重新启动,您将需要运行 ./ins_all 程序来重新加载驱动程序,如果您经常重新启动,您可能希望将 ./ins_all 命令设置为在每次计算机启动时自动运行。

5.2.5. 如果您有 2.2.17 或 2.2.18 内核

在 2.2.17 或 2.2.18 内核上安装 HSF 驱动程序

  1. 下载文件 PCI_56K_V2_K2.2.17.tar.gz,可以从 Olitec 的站点镜像站点 获取。

  2. 将其复制到您的主目录

  3. 在控制台窗口中,切换到您的主目录

    [user@localhost]$cd ~

  4. 解压缩文件

    [user@localhost]$tar xzvf PCI_56K_V2_K2.2.17.tar.gz

  5. 进入驱动程序目录

    [user@localhost]$cd pci_56k_v2_k2.2.17

  6. 在您喜欢的文本编辑器中加载 lin_hsf.inf 文件,在 [generic] 部分下,您将看到几行类似于 “%HSFModem% = ModemX, PCI\VEN_127A&DEV_1025&SUBSYS_1025127A” 的行,在这些行下添加您之前制作的 %HSFModem% 行。

  7. 切换到 root 用户

    [user@localhost]$su

  8. 运行 ins_all 脚本来安装驱动程序

    [user@localhost]$./ins_all

现在您可以通过告诉您的拨号软件您的调制解调器位于 /dev/modem 来访问互联网。

ins_all 只会临时加载调制解调器驱动程序,并且调制解调器驱动程序将在您重新启动时被删除。因此,如果您重新启动,您将需要运行 ./ins_all 程序来重新加载驱动程序,如果您经常重新启动,您可能希望将 ./ins_all 命令设置为在每次计算机启动时自动运行。

5.3. Kernel 2.4.*

5.4. 故障排除 FAQ

5.4.1. 当运行 ./ins_all 时,我收到内核不匹配错误?
5.4.2. 当我尝试运行 ./ins_all 时,我收到错误 “bash: ./ins_all No such file or directory.”
5.4.3. 当安装驱动程序时,当它尝试加载 myserial.o 时,我收到段错误?
5.4.4. 当尝试拨打我的 ISP 时,我收到 “No Carrier” 错误?
5.4.5. 当运行 ./ins_alI 时,我收到错误 “No matching INF file is found for SoftK56 PCI device”?
5.4.6. 在我的笔记本电脑上,驱动程序似乎安装正常,但我无法访问 /dev/modem 上的调制解调器?