From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 17 Apr 2006 13:22:20 +0400 From: "Anton D. Kachalov" To: devel@lists.altlinux.org Message-ID: <20060417092220.GA28107@basalt.office.altlinux.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="x+6KMIRAuhnl3hBn" Content-Disposition: inline Content-Transfer-Encoding: 8bit Subject: [devel] Q: hwdatabase Vs. kernel pcimap X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.7 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Apr 2006 09:22:21 -0000 Archived-At: List-Archive: List-Post: --x+6KMIRAuhnl3hBn Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit После некоторого шаманства произвёл на свет скрипт, который аналогично getpciids из libhw-devel, выдаёт список соответствия vendorID/productID(subvendor/subproduct) <=> ядерный модуль. getpciids использует нахаченную базу соответствий из hwdatabase. Модули в 2.6 ядрах итак прекрасно умеют сообщать, какие железки они поддерживают. Исключение составляют шаблонные девайсы, например, uhci-hcd, где принадлежность модуля к железке определяется по его классу. В hwdatabase это нахачено в виде нескольких известных VID/PID. К письму приложен скрипт mod2pciids, который имеет совместимость с getpciids, если вызывать его с параметром "-s". А так же diff между modules.map для первой стадии livecd/installer/..., полученные в результате работы getpciids и mod2pciids соответственно. Я считаю более верным использование pcimap от ядра, нежели некой базы. Но для этого потребуется добавить некоторые железки в модули. А ещё подумать на тему того, как быть с модулями, подобными uhci-hcd. Возможно, придётся внести нахаченные VID/PID в aliases к соответствующим модулям помимо существующих там wildcards. -- mouse --x+6KMIRAuhnl3hBn Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=mod2pciids #!/bin/sh readonly PROG="${0##*/}" show_usage() { cat <