要使您笔记本电脑的 IrDA 端口在 Linux/IrDA 下工作,您可以使用标准红外 (SIR) 或快速红外 (FIR)。
最高 115.200bps,红外端口模拟一个串行端口,例如 16550A UART。这将在启动时或当您加载串行模块时被内核串行驱动程序检测到。如果在 BIOS 中启用了红外支持,对于大多数笔记本电脑,您将收到类似以下的内核消息
Serial driver version 4.25 with no serial options enabled ttyS00 at 0x03f8 (irq = 4) is a 16550A #first serial port /dev/ttyS0 ttyS01 at 0x3000 (irq = 10) is a 16550A #e.g. infrared port ttyS02 at 0x0300 (irq = 3) is a 16550A #e.g. PCMCIA modem port |
如果您想使用高达 4Mbps 的速度,您的机器必须配备特定的 FIR 芯片。您需要特定的 Linux/IrDA 驱动程序来支持此芯片。因此,您需要有关 FIR 芯片的准确信息。您可以通过以下方式之一获取此信息
阅读机器的规格,尽管您在那里找到足够且可靠的信息的情况非常罕见。
尝试找出 FIR 芯片是否是 PCI 设备。执行 cat /proc/pci 命令。适用于 2.2.x 内核的相关文件位于/proc/bus/pci。尽管通常 PCI 信息是不完整的。您可以在内核文档中找到有关 PCI 设备和供应商编号的最新信息,通常位于/usr/src/linux/Documentation或 Craig Hart 的页面。从内核 2.1.82 开始,您也可以使用 pci-utils 软件包中的 lspci 命令。
使用德国计算机杂志 CT 以 ZIP 格式提供的 DOS 工具 CTPCI330.EXE。此程序提供的信息有时比 Linux 工具提供的信息更好。
尝试获取有关即插即用 (PnP) 设备的信息。虽然我尚未将它们用于此目的,但 isapnp 工具可能有用。
如果您已安装 Linux/IrDA® 软件,请加载 FIR 模块并查看 dmesg 的输出,以确定是否检测到 FIR。
Thomas Davis (由 WH 修改) 解释了另一种方法来弄清楚它:“浏览供应商的 FTP 站点,找到 Windows9x FIR 驱动程序,他们有(对于 SMC 芯片)”
-rw-rw-r-- 1 ratbert ratbert 743 Apr 3 1997 smcirlap.inf -rw-rw-r-- 1 ratbert ratbert 17021 Mar 24 1997 smcirlap.vxd -rw-rw-r-- 1 ratbert ratbert 1903 Jul 18 1997 smcser.inf -rw-rw-r-- 1 ratbert ratbert 31350 Jun 7 1997 smcser.vxd |
此外,Thomas Davis 找到了一个由 SMSC 制作的小型 DOS 实用程序包。请查看 IR_UTILS.ZIP。该软件包包含 FINDCHIP.EXE。并包含一个 FIRSETUP.EXE 实用程序,该实用程序应该能够设置除芯片地址之外的所有值。此外,它还包含 BIOSDUMP.EXE,它会产生以下输出
示例 1(来自 COMPAQ Armada 1592DT)
In current devNode: Size = 78 Handle = 14 ID = 0x1105D041 = 'PNP0511' -- Generic IrDA SIR Types: Base = 0x07, Sub = 0x00, Interface = 0x02 Comm. Device, RS-232, 16550-compatible Attribute = 0x80 CAN be disabled CAN be configured BOTH Static & Dynamic configuration Allocated Resource Descriptor Block TAG's: TAG=0x47, Length=7 I/O Tag, 16-bit Decode Min=0x03E8, Max=0x03E8 Align=0x00, Range=0x08 TAG=0x22, Length=2 IRQ Tag, Mask=0x0010 TAG=0x79, Length=1 END Tag, Data=0x2F |
结果 1
Irq Tag, Mask (bit mapped - ) = 0x0010 = 0000 0000 0000 0001 0000,因此,它是 IRQ 4。(从 0 开始,向上计数...),所以这是一个仅 SIR 设备,位于 IRQ=4,IO=x03e8。
示例 2(来自未知机器)
In current devNode: Size = 529 Handle = 14 ID = 0x10F0A34D = 'SMCF010' -- SMC IrCC Types: Base = 0x07, Sub = 0x00, Interface = 0x02 Comm. Device, RS-232, 16550-compatible Attribute = 0x80 CAN be disabled CAN be configured BOTH Static & Dynamic configuration Allocated Resource Descriptor Block TAG's: TAG=0x47, Length=7 I/O Tag, 16-bit Decode Min=0x02F8, Max=0x02F8 Align=0x00, Range=0x08 TAG=0x22, Length=2 IRQ Tag, Mask=0x0008 TAG=0x47, Length=7 I/O Tag, 16-bit Decode Min=0x02E8, Max=0x02E8 Align=0x00, Range=0x08 TAG=0x2A, Length=2 DMA Tag, Mask=0x02, Info=0x08 TAG=0x79, Length=1 END Tag, Data=0x00 |
结果 2
a) 这是一个 SMC IrCC 芯片
b) 一部分位于 0x02f8,具有 8 字节的 io 范围;irq = 3
c) 另一部分位于 0x02e8,io 范围为 8 字节;dma = 1 (0x02 =0000 0010)
![]() | 该软件包不适用于最终用户,并且某些实用程序可能有害。软件包中唯一的文档是 Microsoft Word 格式。 |
使用 MicroSoft Windows9x/NT 操作系统的设备管理器。
您也可以使用下面提到的硬件调查。
最后,作为最后的手段,您甚至可以打开笔记本电脑并查看芯片本身的铭文。以下是一个可能不完整的制造商列表:Chrystal、Hewlett Packard (惠普,芯片组标记为 HSDL)、Hitachi、IBM、National Semi Conductor (NSC)、NEC、Philips、Sharp、Standard Micro Systems Corporation (SMC/SMSC)、Texas Instruments (TI)、VLSI、Winbond。作为应用电路的示例,HSDL-7001(来自惠普手册,由 WH 修改)
LEDs Encode/Decode SIR/FIR HSDL-1001 HSDL-7001 UART 16550/ MicroController ______ ______________ ____________ | | | | | | (|| TXD|<---|IR_TXD TXD|<---|SOUT | | | | | | | | | | RCV|--->|SIN | | | | | | | (|| RCV|--->|IR_RCV 16XCLK|<---|BAUDOUT | | | | NRST|-+ | | ------ -------------- | ------------ V |