View this PageEdit this PageUploads to this PageVersions of this PageHomeRecent ChangesSearchHelp Guide

Listar dispositivos y HDDs de un solaris

Para ver el disco duro que tiene un solaris se hace
       # iostat -En



Para listar los dispositivos (PCI, etc) de un solaris basta hacer un

       # prtconf -pv


Si lo que quieres es listar los drivers cargados (el equivaliente a lsmod de linux), entonces basta con un

       # /usr/sbin/modinfo


El prtconf hace que te liste lo que ha encontrado el "hardware assistant" al arrancar, y te pondrá cosas como:

        Node 0xe0744c60
            assigned-addresses:  81006010.00000000.0000f880.00000000.00000080.82006014.00000000.ffe7a800.00000000.00000080.82006030.00000000.00000000.00000000.00040000
            class-code:  00020000
            compatible:  31696370.2c313130.70003431.30316963.312c3131.63700034.616c6369.302c7373.30303032.00000030
            device-id:  00000014
            devsel-speed:  00000001
            fast-back-to-back:  
            interrupts:  00000001
            max-latency:  00000000
            min-grant:  00000000
            model:  'PCI: 1011,14 - DEC 21041 Ethernet'
            name:  'pci1011,14'
            power-consumption:  00000001.00000001
            reg:  00006000.00000000.00000000.00000000.00000000.01006010.00000000.00000000.00000000.00000080.02006014.00000000.00000000.00000000.00000080.02006030.00000000.00000000.00000000.00040000
            revision-id:  00000021
            slot:  00000002
            unit-address:  'c'
            vendor-id:  00001011


Para ver las interrupciones en uso, se mira el vector (A.K.A. hardware irq) del estado actual de los dispositivos, con un:

       # prtconf -v | grep vec


que te pondrá cosas como:

                Interrupt Priority=0xc (ipl 12), vector=0x4 (4)
                Interrupt Priority=0x5 (ipl 5), vector=0x6 (6)
                Interrupt Priority=0x5 (ipl 5), vector=0x1 (1)
                Interrupt Priority=0x5 (ipl 5), vector=0xc (12)
                Interrupt Priority=0x9 (ipl 9), vector=0x3 (3)
                    Interrupt Priority=0x6 (ipl 6), vector=0x9 (9)
                Interrupt Priority=0x1 (ipl 1), vector=0x3 (3)
                Interrupt Priority=0x1 (ipl 1), vector=0xb (11)


Para ver los drivers en uso, hay que usar:

       # prtconf -D


que te pondrá cosas como:

System Configuration:  Sun Microsystems  i86pc
Memory size: 128 Megabytes
System Peripherals (Software Nodes):

i86pc
    +boot
        memory
    aliases
    chosen
    i86pc-memory
    i86pc-mmu
    openprom
    options, instance #0 (driver name: options)
    packages
    delayed-writes
    itu-props
    isa, instance #0 (driver name: isa)
        motherboard
        asy, instance #0 (driver name: asy)
        lp (driver name: lp)
        asy, instance #1 (driver name: asy)
        fdc, instance #0 (driver name: fdc)
            fd, instance #0 (driver name: fd)
            fd, instance #1 (driver name: fd)
        kd (driver name: kd)
        kdmouse, instance #0 (driver name: kdmouse)
        bios
        bios
        kd, instance #0 (driver name: kd)
        chanmux, instance #0 (driver name: chanmux)
    pci, instance #0 (driver name: pci)
        pci1106,691
        pci1106,8598 (driver name: pci_pci)
            pci1002,84
        pci1106,0
        pci-ide, instance #0 (driver name: pci-ide)
            ata, instance #0 (driver name: ata)
                cmdk, instance #0 (driver name: cmdk)
                sd, instance #0 (driver name: sd)
            ata, instance #1 (driver name: ata)
                cmdk, instance #1 (driver name: cmdk)
        pci925,1234
        pci1106,3050
        pci10b7,9055, instance #0 (driver name: elxl)
    used-resources
    objmgr, instance #0 (driver name: objmgr)
    pseudo, instance #0 (driver name: pseudo)


Para desinstalar (en vivo) un módulo del kernel en solaris, y después decirle al driver que busque dispositivos otra vez (nota: el modiule id es la prim era columna del restultado de modinfo):
    # modinfo | grep iprb
    # modunload -i module_id_of_iprb_driver
    # devfsadm -v -i iprb




Para ver qué dispositivo es, puede ser útil consular las PCI Vendor and Device Lists y el Linux PCI id repository

Para buscar dispositivos compatibles, puedes probar aqui

NOTA: Para ver si una tarj. ATI está soportada en las XFree (y en qué versiones de las XFree86), se hace de la siguiente manera:
  1. Miras el PCI id del chipset (arrancas del CD de instalación de la woody, alt-cont-f2, enter, cat /proc/bus/pci/devices, y buscas uno que sea xxxx1002
  2. Buscas en el google "radeon_probe.c nnnn" siendo el nnnn el xxxx que leiste antes
  3. Miras que te salga algún ficherillo del cvs (bien del gatos, bien del xfree86, etc) y lo abres para buscar a que PCI_CHIP corresponde
  4. ahora hacer una busqueda en el google con "site:xfree86.org radeon_driver.c" y entras en él, quitas el nombre de la url y obtienes un listado de directorio con todas las versiones.
  5. Entras en la última versión a ver si tiene el PCI_CHIP que encontraste antes
  6. Si está, puedes buscar hacia atrás haciendo simplemente clicks en los diffs o buscando los ficheros que tienen ciertos "Tags" y entrando en ellos a ver si todavía está ahí.

Ejemplo: ATI RADEON 7000 -> pci_id:5159 -> PCI_CHIP_RV100_QY (aunque tb es PCI_CHIP_RADEON_QY en versiones más antiguas del driver) (esto en radeon_probe?rev=1.7 de gatos/ati.2) -> soportada en xfree86 4.4 y también en 4.3) (viendo radeon_driver.c?rev=1.1222 en xfree86.org y buscando tag a 4.2.99 y buscando otra vez).