Cooking with Linux - Access Point,你在哪里?
是的,François。壁炉旁的接入点更适合您连接。ESSID?是 cmfireplace。如果您扫描它,您会在列表中看到它。Quoi? Mon Dieu,François,你不是真的在编辑脚本吧?虽然我钦佩您想要熟悉 shell 的愿望,但对于您来说,选择扫描接入点、选择、点击并继续会容易得多。
啊,我明白了!您网卡的 Linux 驱动程序不支持扫描。是的,我的也遇到了类似的问题,但我有一个解决方案。我稍后会告诉您,但时间不多了,我们的客人随时都会到。去酒窖,François。前往酒窖的南翼,带回 1983 年的 Batard Montrachet。Vite!
欢迎,mes amis,来到 Chez Marcel,这里有美味的 Linux 食物、美酒和美妙的客人,当然。在您到来之前,我和我忠实的侍者正在讨论我们无线网卡遇到的一些问题。我自己的笔记本电脑的无线网卡在我的家庭网络上工作正常,但它的工作效果仅此而已。支持该网卡的标准 Linux Orinoco 驱动程序不允许诸如扫描之类的操作。每个月,我都会去电视台录制节目,每个月我都会问可以使用哪个无线路由器,因为我必须手动将信息输入到网络配置文件 ifcfg-eth2 中。
当然,无线网卡的 Windows 驱动程序支持这些功能,而且有时制造商不会 100% 公开信息或规范,以使完全 Linux 支持变得容易。我真的很钦佩 Linux 开发人员令人难以置信的才华和精力,他们在供应商黑洞中工作,同时为 Linux 提供了出色的驱动程序。然而,这种信息的缺乏是 NdisWrapper 项目的推动力,该项目使得通过可加载的 Linux 内核模块来使用 Windows Ndis 驱动程序成为可能。
以下是它的工作原理。首先,您需要从该项目的网站(请参阅在线资源)获取 NdisWrapper 的副本,以保证您使用的是最新版本。话虽如此,如果您有最新的 Linux 发行版,请先检查您的 CD。您可能会发现您已经拥有该软件。其次,您需要网卡随附的 Windows 驱动程序,特别是该网卡的 INF 文件。
这是一个来自我自己的 Presario 笔记本电脑的示例,它配备了内置的 LanExpress 网卡。在 Linux 下,Orinoco 驱动程序支持连接,但正如我所提到的,扫描不起作用。因为我从未真正在我的笔记本电脑上安装 Windows——它在那里,但在我启动设备之前我放入了一张 Linux CD,所以我从未在上面运行过 Windows——所以我去了 HP 网站并下载了自解压 EXE 文件中的驱动程序文件。我使用 CrossOver Office 提取了软件包,然后导航到软件包所在的文件夹。使用 NdisWrapper,我通过其 INF 文件安装了驱动程序;这必须以 root 用户身份完成
ndiswrapper -i NetWlan.INF Installing netwlan
查看上面的输出,似乎没有发生太多事情。通过使用 -l 选项,我们可以找出已加载了哪些驱动程序以及这些驱动程序的状态
ndiswrapper -l Installed ndis drivers: netwlan driver present, hardware present
下一步是将驱动程序加载到正在运行的内核中,这通过加载 NdisWrapper 本身来完成
modprobe ndiswrapper
可以通过查看 dmesg 命令的输出来看到最终结果
ndiswrapper version 1.2rc1 loaded (preempt=no,smp=no) ndiswrapper: driver netwlan (LAN-Express,01/18/2002,1.07.29.20118) loaded ACPI: PCI interrupt 0000:00:09.0[A] -> GSI 10 (level, low) -> IRQ 10 ndiswrapper: using irq 10 wlan0: ndiswrapper ethernet device 00:02:8a:a9:e6:eb using driver netwlan, configuration file 1260:3873.5.conf ndiswrapper (set_auth_mode:584): setting auth mode failed (C0010015) wlan0: encryption modes supported: WEP
太棒了,我们现在已将 Windows 驱动程序加载到我们的 Linux 系统中,并且已准备就绪。为了让所有这些在启动时神奇地发生,我将这些步骤(减去 dmesg)添加到了我的 rc.local 文件中。
现在,您可以使用以下命令获取您附近的无线接入点列表iwlist带有 scan 选项的命令。假设 eth2 上的无线接口,该命令将是iwlist eth2 scan。然后,我可以使用 iwconfig 命令连接到我选择的网络,分配 IP 地址等等。但是,对于整个桌面体验来说,拥有一个图形化的替代方案也会很好,它可以扫描网络,报告信号质量,然后提供一种连接到您选择的服务的方法。毕竟,笔记本电脑也是一种桌面工具。
我发现最好的此类工具之一是 Pawel Nawrocki 的 Wireless Assistant。这是一个外观精美的小程序,可让您扫描可用的无线网络,然后单击一下即可连接到它们。每个已识别的网络都通过链路质量和加密等因素来识别。该应用程序可以配置为自动处理 WEP 密钥、忽略各种类型的网络(ad hoc 或加密)、在连接时自动运行脚本等等。图 1 显示了该应用程序的运行情况。
Wireless Assistant 网站(请参阅资源)提供了源代码以及几种发行版的二进制软件包。顺便说一句,我现在必须提到,SourceForge 站点仅提供代码。如果您想跟踪有关该软件包的讨论,KDE-Apps.org(请参阅资源)站点是查找该信息的更好场所。从源代码构建应用程序是一个经典的提取和构建五步
tar -xjvf wlassistant-0.3.9.tar.bz2 cd wlassistant-0.3.9 ./configure --prefix=/usr make su -c "make install"
实际的程序名称是 wlassistant。当软件包首次启动时,它会自动检查您的活动网络设备。如果它没有,请单击“检测”按钮。如果您仍然遇到问题,则可能是无线工具的路径未正确设置。单击“配置”按钮,将出现一个配置对话框。在左侧边栏中,列出了选项类别,而实际更改发生在较大的右侧窗口中。单击“路径”按钮以确认无线工具命令的路径名(图 2)。您可以手动输入它们,也可以单击“检测”按钮。
当您在配置对话框中时,请花一些时间检查您可以使用的其他选项。当您对设置感到满意时,单击“确定”返回到主 Wireless Assistant 窗口。如果您尚未这样做,请单击“重新扫描”以查找您可用的接入点(图 1)。从图像中可以看出,我有很多网络可供选择。显示屏还显示接入点是否使用 WEP 加密;这始终是一个好主意,除非您实际上想向任何来者提供开放访问。
单击您选择的条目,将出现一个框,以便您可以输入 root 密码(图 3)。现在您的连接已建立。这就是全部内容。

图 3. 在切换网络设置之前,您需要提供 root 密码。
当我去拜访客户并连接到各种网络时,我创建了一个小脚本,根据我当天访问的站点来回复制 ifcfg-ethX 和 network。它奏效了,但这不是最优雅的解决方案。在无线连接的世界中,这种情况没有改变。如果您从一个接入点移动到另一个接入点,从办公室移动到办公室,然后再回到家,您将需要某种帮助来维护所有这些不同的配置文件。无论您处理的是无线连接还是那些老式的有线连接,情况都是如此,non?
这就是 Per Johansson 的 netGo(图 4)背后的想法。netGo 是一个很棒的小应用程序,可让您创建各种网络配置文件,然后单击一下即可在它们之间切换。不使用时,该应用程序会停靠在您的系统托盘中。该程序本身是一个 Qt 应用程序,但它与 KDE 或 GNOME 以及其他程序同样适用。
要获取您的副本,请访问 netGo 网站(请参阅资源)。如果您选择从源代码构建,这是您基本的提取和构建五步,所以这里没什么可怕的。要运行该应用程序,请运行命令netgo。此时会要求您提供 root 密码,以便稍后您可以进行网络地址更改。
最初,主窗口不包含任何配置文件。要开始该过程,请单击“添加配置文件”按钮,将出现一个新窗口(图 5)。在顶部,输入配置文件名称,例如 HomeLAN 或 CoffeeShop,然后选择一个接口卡;许多笔记本电脑除了无线网卡外,还内置了 10/100 以太网卡。对于需要静态 IP 地址的连接,请在 IP 地址、子网掩码等每个字段中填写信息。
完成后,单击“确定”按钮以保存您的配置文件。如果您设置的连接是无线的,请单击“更多选项”按钮。在那里,您可以输入网络模式——ad hoc、managed、none——ESSID 和 WEP 密钥。另请注意“自定义脚本”字段。这提供了一种在启动接口时自动执行一系列命令(例如自定义防火墙脚本)的方法。单击“后退”按钮返回到主配置屏幕。
以相同的方式继续添加您需要的任意数量的配置文件。要激活配置文件并应用您的网络设置,请单击配置文件名称,然后单击标记为“Go!”的按钮以应用更改。然后会出现一个状态窗口,显示新设置(图 6)。
我发现 netGo 的唯一真正缺点是它目前不提供关闭您的第二个接口的功能,因此如果需要,仍然需要手动完成。但根据 Per 的网站,在我撰写此专栏时,此功能正在开发中。
看来,mes amis,如果墙上的时钟可信的话,打烊时间到了。不过,我相信 François 不介意我们让门晚开一会儿;有足够的时间最后一次续杯。我们甚至可以拿出一点双倍黄油布里干酪来搭配葡萄酒。由于我们今晚都在运行无线网络,也许每个人都可以将他们的笔记本电脑带到外面的露台上,在那里我们可以享受夜晚,然后再各自回家。请举起酒杯,mes amis,让我们大家为彼此的健康干杯。A votre santé Bon appétit!
本文的资源: /article/8398。
Marcel Gagné 是一位获奖作家,居住在安大略省密西沙加市。他是 Moving to the Linux Business Desktop(ISBN 0-131-42192-1)的作者,这是他在 Addison Wesley 出版的第三本书。他还定期在电视节目中露面,担任 Call for Help 的 Linux 专家。Marcel 还是一位飞行员和前 40 强唱片骑师。他创作科幻小说和奇幻小说,并能折出很棒的折纸霸王龙。您可以通过电子邮件 mggagne@salmar.com 与他联系。您可以从他的网站 www.marcelgagne.com 发现许多其他内容(包括很棒的葡萄酒链接)。