科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Linux操作系统下即插即用设备的安装 (2)

Linux操作系统下即插即用设备的安装 (2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

即插即用,在Linux底下?这可能是困扰大家好久的问题,我也曾经妥协过,用老的非即插即用设备取代它。

作者:ChinaITLab 来源:ChinaITLab 2007年10月18日

关键字: 安装 设备 操作系统 Linux

  • 评论
  • 分享微博
  • 分享邮件
 

接下来就是为每个设备分配所需资源。有许多方法可以实现。第一种,也是最简单的方法就是,如果你在同一台机器上也装了WIN95或WIN98,通过控制面板的系统的属性页,可以看到在WINDOWS系统下各即插即用设备的资源,记下用到Linux即可。如果你的机器中没有其它的操作系统,采用第二种方法。即手动分配资源,只要各设备资源不发生冲突就行。手动分配资源以前,最好先看一下已经使用的中断列表、I/O列列表,它们分别位于/proc/interrupts、/proc/ioports、/proc/dma。一旦你确定了各设备使用的资源,就可以分配了。

选择分配给每个设备的资源非常简单。你只要去掉你的设备所需资源前的注释号即可。描述资源的行很容易找到,因为它们总是以INT, IO或 DMA开头。在这些行之前是你所能使用资源的描述。你可以选一组,因为象下面这样的一行说明它们有优先权的区别。

  
  # Start dependent functions: priority preferred
  

在去掉所需资源的注释号后,你还必须去掉(ACT Y)行上的注释号来告诉ISAPNP激活该设备。

下面是我的/etc/isapnp.conf经过编辑并去掉注释行后的样本:

  
  READPORT 0x0203) 
  (ISOLATE PRESERVE) 
  (IDENTIFY *) 
  (VERBOSITY 2) 
  (CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # or WARNING 
  
  (CONFIGURE AXE2201/3229569797 (LD 0 
  (IO 0 (SIZE 32) (BASE 0x0240)) 
  (INT 0 (IRQ 3 (MODE +E))) 
  (ACT Y) 
  )) 
  
  (CONFIGURE YMH0020/2156265473 (LD 0 
  (IO 0 (SIZE 16) (BASE 0x0220)) 
  (IO 1 (SIZE 8) (BASE 0x0530)) 
  (IO 2 (SIZE 4) (BASE 0x0388)) 
  (IO 3 (SIZE 2) (BASE 0x0330)) 
  (IO 4 (SIZE 2) (BASE 0x0370)) 
  (INT 0 (IRQ 5 (MODE +E))) 
  (DMA 0 (CHANNEL 0)) 
  (DMA 1 (CHANNEL 1)) 
  (ACT Y) 
  )) 
  
  (CONFIGURE YMH0020/2156265473 (LD 1 
  (IO 0 (SIZE 1) (BASE 0x0201)) 
  (NAME "YMH0020/2156265473[1]{OPL3-SA2 Sound Chip }") 
  (ACT Y) 
  )) 
  
  (CONFIGURE USR3090/1179010630 (LD 0 
  (IO 0 (SIZE 8) (BASE 0x02f8)) 
  (INT 0 (IRQ 3 (MODE +E))) 
  (NAME "USR3090/1179010630[0]{U.S. Robotics 56K Voice INT}") 
  (ACT Y) 
  )) 
  
  (WAITFORKEY)
  

如果喜欢,留着其余的注释也行。下一步就是测试你的配置是否正确。使用以下命令/sbin/isapnp /etc/isapnp.conf,屏幕会出现一些信息,样本如下:

  
  Board 1 has Identity c5 c0 7f 53 05 01 22 05 07: AXE2201 
  Serial No 3229569797 [checksum c5] 
  Board 2 has Identity 5a 80 86 00 01 20 00 a8 65: YMH0020 
  Serial No 2156265473 [checksum 5a] 
  Board 3 has Identity e8 46 46 46 46 90 30 72 56: USR3090 
  Serial No 1179010630 [checksum e8]
  

如果你的配置文件有问题或发生资源冲突,它就会告诉你。发生问题不要着急,从头慢慢查找原因,一步一步再来。如果一切平安无事,你还必须保证你的即插即用设备在启动时能进行认证。不幸的是许多发行套件的初始脚本执行方式不同。如果你的发行套件中有isapnptools的话,可能你已经有正确的初始脚本。如果没有,仿照/etc/rc.d/init.d中的格式,自己写一个。

最后一步是让你的内核支持即插即用设备。目前,内核支持isapnp设置的即插即用设备的唯一方法是把它们编译为模块。所以,对每一个被认为是即插即用的设备,确信把它编译为内核支持的模块。

好了,不用再为你的新的设备不能被Linux接受而烦恼了,去尽情享受Linux带给你的乐趣吧。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章