红联Linux门户
Linux帮助

Linux学习笔记硬件篇终于结束了

发布时间:2007-09-17 00:31:18来源:红联作者:kbopoeco
  今天终于和RH联系上了。买了一年的的basic subscription,并且下载了RH5的安装盘。这次在VM上安装非常顺利。不像以前第二张盘认不出。奉劝大家不要下载VERY上面的RH5。很可能第二张碟的image是坏的。从RH下的是ISO文件。可以直接被VM所用,非常方便。

  我们接下来继续来学习,争取把第一个PDF分析完成。

  Section 5. PC 扩展卡
  其实我们在以前的部分已经讨论过了这个章节的内容。 请查看/proc/dma,/proc/interrupts,/proc/ioports文件。以及如何找出他们出土的地方、你可以查看/proc/pic或者使用ispci命令。

  Section 6. 通讯设备
  这个章节覆盖了大量的不同通讯设备,比如MODEMS,ISDN卡和DSL交换机。 这个章节主要可以分为2个类别:

  1. 选择和安装你的通讯设备
  2. 使用你的通讯设备

  选择通讯设备的目的是选择适合你总线(PCI和ISA)的设备,你需要Linux对这个设备的支持。你应当查看/proc下面的信息, 以及查看设备的手册。

  每一次Linux核心的发布,Linux就会支持更多的设备。所以,你首先要查看当前的你使用的版本是否支持该硬件。如果该版本支持的话,你的Linux 应当有一个应用程序来帮助你对该硬件进行拍之。 许多系统已经对ISDN,令牌,无线和xDSL的连接进行了支持。记得检查该设备的驱动程序是否已经被安装。如果没有安装,你可能可以从Linux的安装盘里面进行安装。

  对于ISDN连接,你会需要同步PPP驱动程序, 因为一般用于非同步的modem的PPP驱动是传送字节而不是块信息。这个信息以后会再次讲解。

  DSL连接有几个不同的类型。有一些会在modem上提供一个通向ISP网络的以太网口。一般对用户的认证是通过用户使用的以太网卡的MAC地址来进行的。 如果你想用另外一个路由或者计算机来链接到DSL modem上,你可能需要把原来的网卡的MAC进行克隆(非法使用?)。更为常见的是,ISP会使用PPPoE(Point to point Protocol over Ethernet)来做认证。如果是这样的话,你只需要在联机的时候提供一个用户名和密码. 如果你是使用路由器,你会把这个MAC地址配置到路由器并且你的电脑也要有标准的以太网卡连接。有时候,你可能也会有PPPOA(PPP over ATM)。

  如果是用无线网络链接,你可能需要提供SSID(Service Set Identifier)。如果网络是加密的,比如WEP(Wired Equivalent Privacy,已经被破解)或者WPA(Wifi Protected Access) 你需要配置你的网卡进行无线链接。

  Section 7. USB设备

  USB综观在这一个章节,我们会来看看Linux对USB(Universal Serial Bus)的支持。USB是有一系列公司为了提供一个独立,简单的总线来链接附属设备而设计的。在BIOS的章节里面,我们可以看到在ISA总线下,管理IO,IRQ,DMA是多么复杂的一件事情。 USB的设计允许设备进行热插拔,使用标准的连接控制器进行连接。 USB设备包括键盘,鼠标,打印机等等。当前的Linux支持是相当完善的,虽然有一些设备需要特殊的驱动。

  一个计算机系统可能给一个USB设备或者一个外部的USB HUB提供一个或者多个的控制器或者总线。一个HUB可以集成搞达7个设备,这个7个设备里面还可以连接更多的额外HUBs。 这个系统里面的HUB被称为root hub(根集线器)。每个星状拓扑可以支持搞到127个HUBs或者设备。

  注意: 通常,我们这里所说的USB端口是指机器里面硬件端口,而不是IO端口。

  USB系统是一个层次系统。
  1. 总线接口层提供了机器与设备的物理,信号,和包的链接,提供了主机和设备之间的数据传输。

  2. 设备层是用于系统软件来通过总线进行通用USB操作。 这个允许主机来决定该设备的特征,以此来得到该设备的类别,供应商,以及设备名,电压需求,以及许多雷雨设备速度或者USB等级的支持等数据。

  3. 功能层提供了对设备操作的额外的能力。 这个层面允许主机对设备进行特殊功能的操作。

  在早期的USB规范里面(1.0和1.1)支持最高12Mbps传输速度。一般采用这个速度的设备都是低速设备,比如打印机,鼠标,键盘,扫描仪,以及modems。 新的USB2.0规范支持高达480Mbps的数度,一般用来链接硬盘,外置CD/DVD等。一些USB2.0设备额可以向前兼容,以此来在旧机型上工作。 如果你的机器不支持2.0速度,可以安装USB PCI卡。

  USB的线缆是非常细的,4根线缆,其中2根提供电源和接地。插入HUB的接口是一个扁平的长方形接口(叫做接口A), 另外一个插入口叫做接口B。 另外还有集中不容的mini-B接口存在。 USB设备可以从USB总线那里得到供电,或者自己插电。

  Linux USB 模块的支持
  Linux限制支持USB已经相当不错了。 大多数的开发发生在2.6版本以及其分支上。 许多也被2.4版本甚至更老的2.2版本锁支持。 Linux支持USB 2.0同样也支持以前的规范。 因为USB热查拔的特点,一般USB都是有模块所支持。这样就可以随时加载和卸载。现在我们假定你所使用的版本已经安装了相应的模块。 如果你需要编译你自己的核心,请参照201.

  在你确定你的电脑支持USB端口后,你可以检查你的Linux系统,你可以使用lspci命令来检查。

  lspci | grep -i usb (F7支持)

  你可以注意到,系统里面已经有了USB控制器。 UHCI和EHCI是指控制器所需要的驱动模块。 USB2.0需要EHCI驱动加上USB1.1驱动。

  EHCI USB 2.0 支持, 需要和UHCI,OHCI或者JE一同加载

  UHCI Intel和VIA芯片
  JE 这个是UHCI对于2.4核心的另外一个选择。 如果UHCI不工作,并且你有INTEL或者VIA芯片,可以尝试加载JE。OHCI Compaq, 大部分的苹果机, SIS, ALI,OPTI都支持这个。

  我们同样可以使用lsmod命令和/etc/modlues.conf(2.4版本)或者/etc/modprobe.conf(2.6版本)来查看模块程序。

  现在,我们已经知道了关于支持USB模块的事情,那么我们如何来找到USB设备相关信息呢?我们可以在/proc/bus/usb找到。在这里面,有一个叫做devices的文件包括了当前USB上的综合信息。
我们使用cat来查看,我们可以看到,Spd=480表示这个是USB 2.0总线。 如果是Spd=12 表示USB1.0或者1.0版本的设备。如果我们继续往下看,就可以看到SPD=1.5。 这个表示每秒传输1.5MB. 但是这个速度已经对大多数的鼠标够用了。

  另外还有一个命令可以帮助你来显示这些信息。 这个就是lsusb。 你可以得到一个USB设备的树状图,通过使用-t这个参数。这个会显示他们的阶层关系。 你可以用-d来指定一个设备来显示。 -v参数可以给你一个相当全面的报告(可能会太长)。在这个新的列表里面,我们注意到它显示出了最高电量为200mA. 必须要注意这个设备已经被当作一个SCSI设备来对待,可以使用dmesg或者fdisk -l来发现那个SCSI已经镜像了这个设备。许多相机都有windows程序来帮助读取照片。在Linux里面,你可以简单的把SCSI设备挂上,来当作camera并且帮助你复制你camera上面的照片。 你可以用GNU Image Manipulation Program(the GIMP). 你甚至可以从内存卡中删除照片或者从Linux写入文件, 允许你的Camera来当作软盘的替代品使用。

  另外,我们也可以知道USB设备的ID。

  热插拔

  有两条命令在你的系统里面可以帮助你解决热插拔设备。 usbmgr和hotplug(F7里面没有找到)。你可以在/etc/usbmgr或者/etc/hotplug目录下找到配置文件。 新系统可能倾向于Hotplug。

  当系统运行的时候, USB的热插拔进行了热插拔。系统会做以下事情:
  1)决定热插拔设备的类型,并且找到驱动程序且运行
  2)绑定驱动程序到设备上
  3)通知其他子系统关于新设备的事情。 这样磁盘就可以被挂载,打印机可以被认出。

  到现在为为止,Linux的基本硬件知识已经介绍完毕,下一期会进入Linux的内部基础知识。内容会比第一个PDF文档多出近一倍。学习Linux就是坚持吗,对吧?
文章评论

共有 0 条评论