Hi all, I wrote a small utility which works similar to lspci, lsscsi, and lsusb:
http://me.in-berlin.de/~s5r6/linux1394/ls1394/ Usage: ls1394 [options] List FireWire devices Options: -h, --help Show this help -v, --verbose Increase verbosity -s [[bus]:][node] Show only devices at selected bus (in decimal) and/or with specified node number (node ID or physical ID, in hexadecimal) -d [companyid:][guid] Show only devices with specified company ID or GUID (in hexadecimal) -a, --active Show only nodes with active link and general ROM -r, --remote Show only remote nodes -i file Use specified company ID (OUI) database instead of /usr/share/misc/oui.db --fetch-oui-db Read http://standards.ieee.org/regauth/oui/oui.txt and save /usr/share/misc/oui.db; required for translation of company IDs to company names; location of oui.db can be overridden by -i file -V, --version Show version of program This is a preliminary version. Notably, a big missing feature is the listing of each node's unit directories. ls1394 is written as a bash script and only uses sysfs information. I.e. its only driver requirements are ieee1394 and ohci1394. There are no libraries required. ls1394 can be used by unprivileged users. In order to get the full functionality of ls1394, you need to run it once with the --fetch-oui-db option. This requires that you have "sed" and one of "wget" or "curl" installed. Alternatively, you can let ls1394 access /usr/src/linux/drivers/ieee1394/oui.db if you have kernel sources installed. However this file will probably no longer be available from Linux 2.6.21 onwards. If you don't install a oui.db (systemwide or in a user directory), ls1394 won't translate company IDs into human-readable vendor names, but everything else will still work. Example output: $ ls1394 0:ffc0 00027a0e010020c2 IOI Technology Corporation 'CD-ROM GCR-8520B' '91021U2 ' 0:ffc1 0030e0a5e0080293 OXFORD SEMICONDUCTOR LTD. 'S8001' 0:ffc2 080028560000319b Texas Instruments (local) 1:ffc0 0001042033000e16 DVICO Co., Ltd. 'MOMOBAY FX-3A' 1:ffc1 0010dc5600fed2d4 MICRO-STAR INTERNATIONAL CO., LTD. (local) 1:ffc2 0001041010004beb DVICO Co., Ltd. 'MOMOBAY CX-1' 1:ffc3 unknown 1:ffc4 00301bac00002ba4 SHUTTLE, INC. This is from a PC with two FireWire cards which are marked as "(local)". Node 3 on bus 1 is a hub without configuration ROM. Node 4 on bus 1 is a remote PC. The first column contains the number of host adapter (card) and node ID. The second column contains the GUID. Next come the company name, names of unit directories enclosed in '' if any exist, and the (local) flag if appropriate. Note, the company name should be the one of the manufacturer of the device or author of the device's firmware. But sometimes the manufacturer choses a company ID which he doesn't own. For example, the company ID of the node 0:ffc2 should rather be the one of Sunix, not of Texas Instruments, as it is a Sunix card (although with a TI chip.) $ ls1394 -ar 0:ffc0 00027a0e010020c2 IOI Technology Corporation 'CD-ROM GCR-8520B' '91021U2 ' 0:ffc1 0030e0a5e0080293 OXFORD SEMICONDUCTOR LTD. 'S8001' 1:ffc0 0001042033000e16 DVICO Co., Ltd. 'MOMOBAY FX-3A' 1:ffc2 0001041010004beb DVICO Co., Ltd. 'MOMOBAY CX-1' 1:ffc4 00301bac00002ba4 SHUTTLE, INC. The local nodes (host adapters) and the hub are suppressed in this example. $ ls1394 -s 0:0 -v 0:ffc0 00027a0e010020c2 IOI Technology Corporation 'CD-ROM GCR-8520B' '91021U2 ' IRMC(0) CMC(0) ISC(0) BMC(0) PMC(0) GEN(0) LSPD(3) MAX_REC(4096) MAX_ROM(0) CYC_CLK_ACC(255) capabilities: 0x0083c0 vendor_id: 0x00027a IOI Technology Corporation vendor_name_kv: IOI Here, bus 0 and physical ID 0 is selected. This could also be written as ls1394 -s 0:ffc0. The -v option adds further information. The device in this example is a node with two unit directories. The units are named 'CD-ROM GCR-8520B' and '91021U2 ' respectively. All other nodes had only one unit directory each. $ ls1394 -d 000104: -v 1:ffc0 0001042033000e16 DVICO Co., Ltd. 'MOMOBAY FX-3A' IRMC(0) CMC(0) ISC(0) BMC(0) PMC(0) GEN(0) LSPD(2) MAX_REC(2048) MAX_ROM(0) CYC_CLK_ACC(255) capabilities: 0x0083c0 vendor_id: 0x000104 DVICO Co., Ltd. vendor_name_kv: DViCO 1:ffc2 0001041010004beb DVICO Co., Ltd. 'MOMOBAY CX-1' IRMC(0) CMC(0) ISC(0) BMC(0) PMC(0) GEN(0) LSPD(2) MAX_REC(2048) MAX_ROM(0) CYC_CLK_ACC(255) capabilities: 0x0083c0 vendor_id: 0x000104 DVICO Co., Ltd. vendor_name_kv: "DViCO" In this example, nodes were selected per company ID (first 6 digits of the GUID, IOW the 24 high bits of the EUI-64). -- Stefan Richter -=====-=-=== ---= ---== http://arcgraph.de/sr/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/