PCI Symphony 网络卡
制造商:Proxim
电子邮件:sales@proxim.com
价格:PCI 卡 120 美元,PC 卡 130 美元
评测人:Denny Fox
最近,我将无线网段集成到我的 SOHO (小型办公室,家庭办公室) 网络中,该网络基于 Proxim 公司广泛可用且相对便宜的新 Symphony 系列网卡。在关注无线网络发展相当一段时间后,我终于找到了一个适用于 Linux 且价格实惠的无线解决方案。直到现在,无线网卡的价格还高达数百美元,而集线器的价格则高达数千美元。
我的目标是让我的运行 Win98 的笔记本电脑能够在我的 SOHO 中移动。我成功地实现了这一目标,成本仅为 250 美元,通过利用我现有的 Linux 服务器和两张 Symphony 网卡。
我使用 Linux 作为多功能服务器,它带有 Samba 和按需拨号 ISDN,为我内部网络上的所有机器提供地址伪装。Linux 服务器通过其 eth0 接口连接到内部网络。我在这台机器上添加了一张 Proxim PCI Symphony 网卡,现在它作为 eth1 运行。(参见图 1。)
现在所有的网络都已设置好,我可以完全连接到我的内部网络和互联网,并且可以在家里的任何地方工作。在浏览网页或发送电子邮件时,性能没有明显的下降,因为无线网段的带宽不是瓶颈。从服务器到笔记本电脑的 FTP 下载在约 9 秒内传输了一个 560KB 的文件,吞吐量略低于 64KB/秒。它不如有线以太网,但也不算太差。
我的家楼下(我的 SOHO 所在地)有装修好的天花板,这使得将网络或电话线拉到其他区域非常不方便。我还设想在天气允许的情况下能够在室外露台上工作。显然,某种形式的无线网络将是理想的。在过去的几年里,我一直在断断续续地关注无线网络产品,但价格实在太高了。
最近,我遇到了 Proxim “Symphony” 系列无线网络产品。它们使用无绳电话中常见的 2.4GHz 技术来实现 1.6Mbps 的原始吞吐量。这提供的性能与以太网普及之前我运行的 ARCnet 相当。更棒的是,该产品线分布广泛且价格合理。
Proxim 在 Symphony 产品线中生产全套无线组件。有用于 ISA 和 PCI 总线的网卡,以及用于笔记本电脑的 PC 卡。他们还为有需要的用户提供无线网桥和无线调制解调器。我在当地百思买的货架上找到了接口卡产品,并在 OnSale/Egghead 和 AtCost 网站上找到了全系列产品。还有许多其他来源,如 CDW、HardwareStreet.com、Office Max、Office Depot 和 Staples。我从 OnSale 的 AtCost 订购了一张用于 Linux 服务器的 PCI 卡和一张用于笔记本电脑的 PC 卡(见图 2),价格分别约为 120 美元和 130 美元,免运费。正如您将在下面看到的,我们这些有幸使用 Linux 作为互联网连接服务器的人可以避免购买价格约为 370 美元的无线网桥或价格约为 225 美元的无线调制解调器。
Proxim 网站 http://www.proxim.com/symphony/index.htm 提供了完整的信息,包括在线手册、软件、常见问题解答和技术提示。在操作系统支持下,他们将您指向来自 www.komacke.com/distribution.html 的 Linux 驱动程序。Proxim 不直接支持 Linux,但我得到了 rl2 驱动程序开发者 Dave Koberstein 以及 rl2-library 邮件列表上其他人的大力帮助。您可以轻松地在 www.komacke.com/maillists.html 订阅。名称中的 rl2 部分来自最初且成本更高的 Proxim 产品线 RangeLAN2。邮件列表对于回答我关于这些网卡在 Linux 下的实用性以及驱动程序工作原理的几个基本问题起到了重要作用。
Proxim 数据手册很好地描述了产品和功能在 Windows NT 环境中的使用,但没有提供我需要的一些繁琐的技术细节。Proxim 提供了一个对等网络设置软件层,用于配置和操作其产品,这使用户免受 Microsoft 网络属性对话框的影响。我的问题是
这些网卡是否像操作系统的标准以太网接口卡一样工作?是的,这些网卡为 Windows 和 Linux 提供了一个标准的以太网接口。在 Win9x 和 NT 下,您可以使用标准的 Microsoft 网络属性对话框来设置和控制无线网卡。
是否可以在 Linux 服务器上使用标准网络路由,从而无需昂贵的无线网桥来为已安装以太网的其余部分提供连接?是的,一旦在 Linux 机器上安装并设置了 Proxim 无线网卡,标准的 TCP/IP 路由就可以为其他以太网主机和互联网提供连接。
感谢 Linux 驱动程序邮件列表,我获得了足够的信息继续进行下去。
现有网络在私有 C 类网络 192.168.1.0 上运行。Linux 服务器通过 ipfwadm 防火墙和 diald 对 ISDN 互联网连接的支持,为内部网络上的所有系统提供 IP 地址伪装。我目前在服务器上运行 Debian 2.0,内核版本为 2.0.34。我选择使用 192.168.4.0 作为新无线网段的网络号。
在笔记本电脑上安装 Proxim 驱动程序非常简单。记下您使用的 Secid,因为 Linux 驱动程序和将位于同一无线网段上的任何其他节点都需要使用它。Proxim 安装完成后,转到“Microsoft 网上邻居 | 属性”以打开“网络”对话框。在“配置”选项卡上,选择“TCP/IP Symphony Cordless PC Card Adapter—属性”以设置网络参数,使用适合您系统的地址,如下所示
IP Address: IP address: 192.168.4.2 Subnet Mask: 255.255.255.0 WINS Configuration: Enable WINS Resolution Add 192.168.1.254 as a WINS server Gateway: Add 192.168.4.1 as a new gateway DNS Configuration: Enable DNS Enter a Host name and your Domain name Enter one or more IP addresses of your DNS server(s) Add Domain Suffix Search Orders as desired
“新网关”条目将是 Linux 机器上 eth1 接口的 IP 地址。
我使用我的 ISP 的域名和他们的 DNS 服务器。您需要使用与您的网络和 ISP 相对应的条目。使用 diald,对新连接的第一个 DNS 查询会将线路连接到 ISP。我选择为笔记本电脑使用不同的主机名,具体取决于 Symphony 卡是否处于活动状态,或者常规有线 10/100 PC 卡是否处于活动状态。当在无线网络上时,笔记本电脑位于 192.168.4 网段;当在有线以太网上时,它位于 192.168.1 网段。我使用不同的主机名,以便可以在 Linux 服务器上的 /etc/hosts 表中显式声明它们。
在“标识”选项卡上,设置计算机名、工作组和可选的计算机描述。使用您在上面的 DNS 设置中使用的相同名称,以及 Microsoft 网络的工作组名称。如果工作组匹配,这将允许您浏览 Linux Samba 服务器上的共享。再次强调,我确保笔记本电脑在无线接口上时使用的名称与在有线网络上时使用的名称不同,因为它们的 IP 地址将不同。
首先,您需要从 ftp.komacke.com/pub/rl2isa-drive 站点获取驱动程序。如果您运行的是 2.0.3x 内核,我建议尝试 rl2-1.5.1.tgz 版本。截至撰写本文时,最新版本 rl2-1.5.3.tgz 已更改为支持 2.2.x 内核,但对于较旧的内核则会崩溃。驱动程序邮件列表中一位好心人帮助我确定了适用于我的版本。Symphony 驱动程序用作可安装模块,因此您必须将模块支持编译到您的内核中。
将 .tgz 文件放在合适的目录中,并使用以下命令解压缩:
tar -xvzf rl2-1.5.1.tgz
这将在当前目录下创建一个目录树。我喜欢使用 /usr/src 存放源文件,所以我最终将驱动程序源树放在了 /usr/src/rl2-1.5.1 中。
rl2-version 目录包含非常好的 README 文件,解释了安装过程。示例和默认值适用于 Red Hat Linux,因此在 make config 步骤中,我需要为我的 Debian Linux 主机以不同的方式回答几个提示。
对于 Debian,我回答如下
Module location? /lib/modules/2.0.34/net Executables? /usr/local/bin Man pages? /usr/man System header files? /usr/src/kernel-source-2.0.34/include CardType default []: 5 PC Card support? []: n
特别注意模块位置和系统头文件。在我正确设置它们之前,生成的驱动程序模块将无法加载。README 文件给出了 CardType 值;5 是 PCI。
接下来,执行 make modules,然后执行 make modules_install。如果驱动程序模块编译没有错误,您应该能够执行 insmod rlmod,并在控制台和 /var/log.messages 中看到初始化消息。您可以通过执行 lsmod 来确认模块已加载。由于我使用了 PCI 卡,因此 I/O 地址和中断在驱动程序模块加载时会自动设置。
通过键入以下命令为 eth1 接口建立 IP 地址
ifconfig eth1 192.168.4.1 broadcast 192.168.4.255\ netmask 255.255.255.0
使用以下命令为 Symphony 无线网段设置 Secid
rl2cfg dev eth1 secid使用与您在上面设置笔记本电脑时使用的相同的 Secid,确保您键入的相同,包括大小写。Secid 只需要设置一次;它存储在卡上的 nvram 中。1.5.1 之后的 rlmod 驱动程序版本使用 proxcfg 而不是 rl2cfg 来设置 Symphony 网卡的参数。查看 man 页面和 README 文件。
现在,通过键入以下命令为 eth1 接口建立路由
route add -net 192.168.4.0 dev eth1
您可以通过键入 ifconfig eth1 和 netstat -r 来检查您的结果。您应该能够看到 eth1 接口已完全配置其 IP 地址,并且存在使用 eth1 到 192.168.4.0 网络的路由。
还有一个配置命令可以将 Symphony 网卡模式设置为“master”并设置其名称。键入以下命令,为您的服务器使用适当的名称
rl2cfg dev eth1 msta
如果您的 Linux 系统上没有运行防火墙,您应该能够从 Linux ping 笔记本电脑,并从笔记本电脑 ping Linux,使用 IP 地址。您还应该能够从笔记本电脑 telnet 到 Linux 系统,再次使用 Linux 服务器的 IP 地址。如果这有效,您就快完成了;如果无效,请检查您的日志文件以查找错误。
在 Linux 服务器上的 /etc/hosts 表中添加一行,给出笔记本电脑在无线子网上的 IP 地址,并根据需要使用您的域名。
192.168.4.2 wnb-dfoxwnb-dfox.
如果您在笔记本电脑上没有 c:\windows\hosts 文件,其中包含来自有线以太网配置的 Linux 服务器的条目,请立即创建一个。我的 c:\windows\hosts 中的相关行条目是
192.168.1.254 server1 server1.如果您的 Linux 服务器上运行了防火墙,您将需要为 eth1 接口添加输入和输出规则,以允许数据包通过。我将行添加到 /etc/rc.boot/masq 的这两个部分,如下所示
# local interface, local machines, going anywhere # is valid ipfwadm -I -a accept -W eth1 -S 192.168.4.0/24\ -D 0.0.0.0/0 # local interface, any source going to local net # is valid ipfwadm -O -a accept -W eth1 -S 0.0.0.0/0 \ -D 192.168.4.0/24根据您的 Linux 发行版和版本,以及您是否使用 ipfwadm 或 ipchains,规则文件的位置和名称会有所不同。请参阅您的防火墙软件包的文档。此时,您应该能够通过主机名在笔记本电脑和原始网络上的所有系统之间 ping 和使用 telnet。
要允许数据包从无线网段通过防火墙转发到互联网,您将需要添加类似于以下内容的规则
# Masquerade from local net on local interface to # anywhere ipfwadm -F -a masquerade -W eth0 -S 192.168.4.0/24\ -D 0.0.0.0/0 ipfwadm -F -a masquerade -W ppp0 -S 192.168.4.0/24\ -D 0.0.0.0/0 ipfwadm -F -a masquerade -W sl0 -S 192.168.4.0/24\ -D 0.0.0.0/0
由于 diald 的工作方式,ppp0 和 sl0 都有规则。请记住在进行更改后重新启动您的防火墙规则集。
一旦我设置了防火墙规则,我就获得了从笔记本电脑到所有本地主机和互联网的完全连接。最后一个需要正常工作的服务是来自 Linux 服务器的 Samba 共享。这花了我一番心思,但最终我意识到我在 /etc/smb.conf 中有一行限制了哪些网络可以访问 Samba 服务器。由于无线网段是新的,因此需要将其添加到配置文件中,然后需要重新启动 Samba。/etc/smb.conf 中修改后的行如下所示。
hosts allow = localhost, 192.168.1., 192.168.4.
一旦一切正常工作,您需要添加命令以在系统启动时初始化无线 eth1 接口。Debian Linux 使用 SysV init,因此我在 eth0 接口部分之后和设置默认路由的行之前,将以下行添加到 /etc/init.d/network 文件中
insmod rlmod ifconfig eth1 192.168.4.1 netmask 255.255.255.0\ broadcast 192.168.4.255 route add -net 192.168.4.0 dev eth1 \ /usr/local/bin/rl2cfg dev eth1 msta name server1
这些行加载模块,配置 eth1 接口,添加路由并将模式设置为 master。确保所有内容都在重新启动时启动。
当在无线网段上时,笔记本电脑可以完全连接到本地网络的其余部分和互联网;只是速度稍慢。Proxim 规范声明范围为 150 英尺。我在家里的任何地方连接都没有问题。我已经测量了笔记本电脑和 Linux 服务器之间半兆字节文件的 FTP 性能,下载速度约为 64Kbps,上传速度约为 56Kbps。我对这种性能感到满意,因为我不打算在无线网段上传输大量数据。当我需要这样做时,我只需将笔记本电脑带回办公室,然后将其切换回有线以太网接口。在正常的互联网浏览和电子邮件发送过程中,没有明显的性能下降。
Proxim 在 Maestro 实用程序中提供了一个方便的功能,用于在有线和无线以太网接口之间来回切换。Maestro 实用程序作为 Win9x 设置的一部分安装,通常位于任务栏的右下角。如果您双击 Maestro 图标,单击“配置”,然后单击“网络配置文件”选项卡,您将到达那里。
Win9x 只能存储许多网络参数中的一组,即使可能存在多个网络接口和环境。Maestro 创建了几个新的注册表部分,一个用于“原始”网络设置 (profile0),另一个用于“Symphony”网络设置 (profile1)。这使得在笔记本电脑上的有线以太网接口和无线 Symphony 网卡之间切换非常容易。另一种方法是在更改接口时手动更改多个不同屏幕上的设置。
在摆弄了一会儿之后,我意识到当您更改为 profile1 并单击“确定”时,它会保存 profile0 的必要网络参数,反之亦然。这使得在不实际更换网卡和每次重新启动的情况下,相对容易地获得您想要的设置。您可以根据需要来回单击多次。例如,选择“Symphony”配置文件,单击“确定”,然后使用 Windows 网络属性对话框进行更改。完成后,单击 Microsoft 对话框上的“确定”,但不要重新启动。然后返回 Maestro,单击“原始”配置文件,然后单击“确定”,您的 profile1 设置将被保存。如果您不让它关闭您的系统,您可以来回切换,直到获得每个配置文件所需的设置。
当您实际想要切换网卡时,运行 Maestro 并选择您要切换到的网卡的正确配置文件。单击“确定”,然后确认提供关闭系统的框。系统断电后,插入正确的网卡并启动电源。它将具有该接口卡和环境的所有适当设置。如果您好奇并想查看它保存的所有内容,请使用 regedit 在 HKEY_LOCAL_MACHINE\Software\ProximSwitch 中查找。
Proxim 声称您可以在一个无线网段上最多连接十台机器。您还可以在同一物理区域内拥有多个无线网段,方法是为每个无线网段使用不同的 Secid。对于某些安装,这可能非常有用。Dave Koberstein 报告说,十个单元的限制是基于 Proxim 无线网桥和无线调制解调器的限制。如果您使用 Linux 作为无线路由器,那么您唯一的限制是您认为可接受的性能以及您可以在 150 英尺半径内容纳多少个节点。
对于 2.2.x 内核版本和更高版本的 rl2 驱动程序,有一些令人兴奋的新发展。据报道,桥接适用于内核 2.2.14 和 rl2-1.5.3。配置更复杂,但您可以避免在无线网络上使用不同名称和 IP 地址的需求。下一个驱动程序 rl2-1.6.0 将具有改进的报告、改进的故障排除能力,并将显示在 Win9x Symphony 工具网络地图中。订阅邮件列表以查看这些内容。
