Compiling Solaris device driver

Hello, I am new to writing device drivers for Solaris 10 OS for x64 platforms (actually EM64T).
I am still getting started on the Writing device drivers tutorial and help files. I have over 8 years of experience doing device drivers for Windows(LAN, USB, PCI, PCIe, IB) and over 5 years of experience writing device drivers for Linux(2.4 and 2.6).
I am thinking I need Sun Studio. What other tools do I need just for compiling drivers and loading the driver on the target?. How about debugging?.
Is it possible to use gcc for compiling and linking drivers?.
Thanks,
RK

Hi RK,
Visit http://www.bolthole.com/solaris/drivers for lots of good information and example drivers. I use gcc exclusively for driver development.
Debugging drivers pretty much requires mdb/kmdb. mdb is an excellent incentive to never, ever make mistakes. It's definitely one of the most obtuse/arcane debuggers I've ever seen, but the Sun guys treasure it.
Good luck,
Dave

Similar Messages

  • Problem while compiling the Device Driver source code onSolaris 8 intel pla

    Hello!
    We are writing Device Driver for PCI (PMC) based HS serial
    communication card on Solaris 8(intel edition).The Processor
    used is Celeron/Pentium III.
    We are facing following problems.
    1) Kindly let us know the cc compiler options for xarch=isa.
    2) Presently we have included following header files.
         #include <sys/ddi.h>
         #include <sys/sunddi.h>
    3)We tried to compile our driver soure file (pmc.c) using
    FORTE DEVELOPER 6 UPDATE 1 with the following command.
         # cc -Xa -D_KERNEL -c pmc.c
    4) The compiler is not able to reach to our source code. It prematurely fails
    while compiling the system header files
    5) The errors were reported during Preprocessor
    compilation in /SYS/*.h header files.
    cc: Warning: using -Xa, ignoring all other -X options
    "/usr/include/iso/limits_iso.h", line 54: warning: macro redefined: SHRT_MIN
    "/usr/include/iso/limits_iso.h", line 56: warning: macro redefined: USHRT_MAX
    "/usr/include/iso/limits_iso.h", line 59: warning: macro redefined: UINT_MAX
    "/usr/include/sys/vnode.h", line 486: syntax error before or at: rlim64_t
    "/usr/include/sys/vnode.h", line 486: warning: undefined or missing type for: rlim64_t
    "/usr/include/sys/vnode.h", line 487: warning: undefined or missing type for: cred_t
    "/usr/include/sys/vnode.h", line 487: warning: undefined or missing type for: ssize_t
    "/usr/include/vm/page.h", line 468: undefined or not a type: pgcnt_t
    6)Kindly let us know :-
    a) if any Environment variables to be set.
    b) What all the system include headre files are required & in what sequence if any.
    Expecting a early reply .
    Can anybody help us.
    Thanking you for your kind co-operation.
    A.P.SINGH
    INDIA               

    Try to use cc comiler from /opt/SUNWspro/bin/ like
    /opt/SUNWspro/bin/cc -Xa -D_KERNEL -c pmc.c

  • "gcc" vs device driver

    Is "gcc" suitable for compiling a Solaris device driver?
    Thanks.

    It is possible to compile device drivers with gcc.
    Use the flags "-O -D_KERNEL -fno-builtin" as a starting point.
    There may be some rough edges with varargs (/usr/include/sys/varargs.h) and on the sparc-v9 64bit platform, though.

  • Any interest in a Device Driver course

    My Company is interested in me attending the Sun Solaris Device Driver Writing course.
    The only scheduled dates for this are in the US.
    Our training Dept. understand that a course could be made available in the UK if we could muster at least 5 people wishing to attend.
    If anyone is interested please contact me and we can take it from there.
    Please Email directly if you wish
    Bruce Levick

    Quite old when looking at the dates but I think I'm interested in it.
    I'm a radiologist and quite like things working. The distro of my choice is arch, unfortunately the amounts of working dicom viewers is approaching zero.
    Besides I like the simple workflow of Arch I'm forced to use three different OS at the moment. (Arch, Win7 and MacOS).
    Standard is Arch, Win7 for scientific papers..thanks to endnote. And the MacOS with OsiriX as DICOM viewer.
    In some harsh words: That sucks alot!
    Besides there are good programs in my Arch world like the DICOM viewer ginkgo-cadx https://aur.archlinux.org/packages.php?ID=47365 or the citation managers zotero https://aur.archlinux.org/packages.php?ID=46784  / mendeley https://aur.archlinux.org/packages.php?ID=44071
    I think other programs like GNUmed or maybe aeskulap and many more are also helpful for your daily workflow.
    The problem as a doctor is you need things just working everytime and anywhere and for me I'm just to stupid to build and fix things myself.
    I've tried though but I failed so far. For these cases I need alot assistance.
    So if we could form a team, help each other out and could assure PKBUILD files in the AUR work out of the box I would be totally in. I don't think we need a medical repo. AUR is working quite well.
    Anyone else?

  • Help in compiling/linking a DEVICE DRIVER in SOLARIS10 x86

    hello!
    PROBLEM:
    ++++++++++++++++++++++++++++++++++
    i need assistance in compiling/linking a video capture
    driver (bt848x) (http://bt848x.sourceforge.net/) for
    solaris 10 x86.
    the driver uses the /usr/lib/libc.a (specifically the _xtoll.o)
    which, if im not mistaken, is not available in solaris 10
    anymore. so how am i going to compile it?
    BACKGROUND:
    ++++++++++++++++++++++++++++++++++
    the original compile/link code in the makefile is:
    /usr/ccs/bin/ld -o bt848x -r bt848-cards.o bt848-driver.o
    bt848-kern.o i2c.o tuner.o sound-tda9875.o
    sound-msp3400.o _xtoll.o
    i modified it to:
    /usr/ccs/bin/ld -o bt848x bt848-cards.o bt848-driver.o
    bt848-kern.o i2c.o tuner.o sound-tda9875.o
    sound-msp3400.o -L/usr/lib -lc
    (NOTE: i removed the -r and _xtoll.o; and added
    -L/usr/lib -lc)
    the output was:
    Undefined ____________ first referenced
    symbol ______________ in file
    mod_install bt848-kern.o
    delay bt848-cards.o
    ddi_get_instance bt848-kern.o
    nodev bt848-kern.o
    ddi_create_minor_node bt848-kern.o
    ddi_regs_map_free bt848-kern.o
    pci_config_getw bt848-driver.o
    pci_config_getb bt848-driver.o
    ddi_soft_state_zalloc bt848-kern.o
    ddi_dma_unbind_handle bt848-kern.o
    kmem_alloc i2c.o
    cv_broadcast bt848-driver.o
    ddi_remove_intr bt848-kern.o
    ddi_get_soft_state bt848-kern.o
    mod_driverops bt848-kern.o
    ddi_get_lbolt bt848-cards.o
    mutex_tryenter bt848-kern.o
    ddi_get_iblock_cookie bt848-kern.o
    nochpoll bt848-kern.o
    ddi_copyin bt848-kern.o
    mod_info bt848-kern.o
    ddi_remove_minor_node bt848-kern.o
    nulldev bt848-kern.o
    ddi_dma_sync bt848-driver.o
    ddi_dma_addr_bind_handle bt848-kern.o
    mod_remove bt848-kern.o
    ddi_prop_lookup_int_array bt848-cards.o
    _pagesize                           bt848-driver.o
    ddi_prop_op bt848-kern.o
    ddi_dma_free_handle bt848-kern.o
    ddi_set_driver_private bt848-kern.o
    cv_wait_sig bt848-kern.o
    ddi_intr_hilevel bt848-kern.o
    ddi_regs_map_setup bt848-kern.o
    pci_config_teardown bt848-driver.o
    ddi_dma_mem_alloc bt848-kern.o
    ddi_copyout bt848-kern.o
    cmn_err bt848-cards.o
    ddi_dma_alloc_handle bt848-kern.o
    ddi_prop_exists bt848-cards.o
    cv_init bt848-kern.o
    pci_config_setup bt848-driver.o
    cv_destroy bt848-kern.o
    timeout sound-msp3400.o
    untimeout sound-msp3400.o
    devmap_umem_setup bt848-kern.o
    ddi_prop_get_int bt848-kern.o
    uiomove bt848-kern.o
    kmem_free i2c.o
    ddi_add_intr bt848-kern.o
    ddi_report_dev bt848-kern.o
    getminor bt848-kern.o
    mutex_exit bt848-driver.o
    ddi_prop_free bt848-cards.o
    ddi_soft_state_fini bt848-kern.o
    ddi_soft_state_free bt848-kern.o
    ddi_soft_state_init bt848-kern.o
    mutex_enter bt848-driver.o
    ddi_mem_putl bt848-cards.o
    ddi_mem_getl bt848-cards.o
    drv_usecwait bt848-cards.o
    drv_usectohz bt848-cards.o
    ddi_dma_mem_free bt848-kern.o
    ld: fatal: Symbol referencing errors. No output written to bt848x
    QUESTIONS:
    ++++++++++++++++++++++++++++++++++
    1.) What other libraries do i need to include so that
    there would no more "symbol referencing errors" ???
    2.) Is my linking code correct?
    /usr/ccs/bin/ld -o bt848x bt848-cards.o bt848-driver.o
    bt848-kern.o i2c.o tuner.o sound-tda9875.o
    sound-msp3400.o -L/usr/lib -lc
    i mean, is it ok to build a driver with dynamic libraries?
    or the device driver should always be statically linked?
    COMPUTER SPECS:
    ++++++++++++++++++++++++++++++++++
    Solaris 10 (6/06 release)
    SunOS 5.10 Generic_118844-26 i86pc i386 i86pc
    Pentium 4 - 1.4GHz
    1GB RDRAM
    32 BIT
    Video Capture Card: PixelView PV-BT878P+FM.RC (rev.9F)
    thanks!!!
    -kllc

    i think i already found the answers to my questions
    (i partially read SUN docs WRITING DEVICE DRIVER in
    http://docs.sun.com/app/docs/doc/816-4854 specifically
    the BUILDING A DEVICE DRIVER) =)
    i used:
    /usr/ccs/bin/ld -o bt848x -dy -r bt848-cards.o bt848-driver.o
    bt848-kern.o i2c.o tuner.o sound-tda9875.o sound-msp3400.o
    -L/usr/lib -lc
    (NOTE: i used the flags -dy -r -L/usr/lib -lc)
    so far, the TV-TUNER is working hehehehe!!
    any comments/suggestions/tips from other people are still welcome!
    thanks!!
    -kllc

  • Problem with a DDI Device driver for Solaris 8 and 9 on a Sun-Blade-1500

    The problem has to do with dma allocated memory and the little-endian format.
    When I copy blocks bigger than 256 bytes to the dma memory, using a uiomove() or bcopy(), the data after the first 32 bytes is swapped around over 8 bytes.
    The bcopy from a driver (stack) buffer into the dma virtual memory has the same affect.
    So it has to do with the kernel dma allocated memory and the endianess.
    When I set the byte order to big-endian inside the ddi_device_acc_attr the data seems to be alright, also with bigger transfer sizes.
    My device however needs the little-endian format.
    I have the same the same device driver running without any errors on a Sun Blade-150 Solaris 8 for a long time now.
    Can somebody please advise me?
    Data example,
    test data: 0x00,0x01,0x02,?.
    64, 128 or 256 bytes blocks:
    000: 07 06 05 04 03 02 01 00 0F 0E 0D 0C 0B 0A 09 08
    016: 17 16 15 14 13 12 11 10 1F 1E 1D 1C 1B 1A 19 18
    032: 27 26 25 24 23 22 21 20 2F 2E 2D 2C 2B 2A 29 28
    048: 37 36 35 34 33 32 31 30 3F 3E 3D 3C 3B 3A 39 38
    064: 47 46 45 44 43 42 41 40 4F 4E 4D 4C 4B 4A 49 48
    080: 57 56 55 54 53 52 51 50 5F 5E 5D 5C 5B 5A 59 58
    096: 67 66 65 64 63 62 61 60 6F 6E 6D 6C 6B 6A 69 68
    112: 77 76 75 74 73 72 71 70 7F 7E 7D 7C 7B 7A 79 78
    512 or 1024 bytes blocks:
    000: 07 06 05 04 03 02 01 00 0F 0E 0D 0C 0B 0A 09 08
    016: 17 16 15 14 13 12 11 10 1F 1E 1D 1C 1B 1A 19 18
    032: 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F <----- ?
    048: 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F <----- ?
    064: 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F <----- ?
    080: 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F <----- ?
    096: 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F <----- ?
    112: 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F <----- ?
    Code example, how I allocate the DMA (kernel) memory:
    DDI_STRUCTURE_LE_ACC = Little Endian format
    DDI_STRUCTURE_BE_ACC = Big Endian format
    static struct ddi_device_acc_attr sse_dma_attr =
    DDI_DEVICE_ATTR_V0, /* The version number of this structure */
    DDI_STRUCTURE_LE_ACC, /* see above */
    DDI_STRICTORDER_ACC, /* How CPU will reference data, default */
    The dma definitions for allocating the DMA memory
    static ddi_dma_attr_t dmaattr= {
    DMA_ATTR_V0, /* version */
    0, /* starting address for DVMA */
    0xffffffff, /* end address for DVMA */
    0xffffffff, /* max transfer count in one cookie */
    0x1, /* address restrictive alignment, 1 = byte alignment */
    0x7, /* burst sizes */
    1, /* min number of byes */
    0x00ffffff, /* max number of bytes device can transmit/receive */
    0xffffffff, /* upper bound of the DMA engine's address */
    1,
    512,
    0, /* DDI_DMA_FORCE_PHYSICAL doesn't work */
    ddi_dma_alloc_handle()
    if((ret=ddi_dma_alloc_handle(xsp->dip,
    &dmaattr,
    DDI_DMA_SLEEP,
    NULL,
    dmahandle_out)) != DDI_SUCCESS)
    cmn_err(CE_CONT, "ucr_dma_alloc_memory, "
    "ERROR ddi_dma_alloc_handle status = %d\n",
    ret);
    return(ret);
    if((ret=ddi_dma_mem_alloc(*dmahandle_out,
    (uint_t) size,
    dma_acc_attr,
    DDI_DMA_CONSISTENT,
    DDI_DMA_SLEEP,
    NULL,
    (caddr_t *)&raw_kern_addr,
    &real_len,
    dma_acc_handle_out)) != DDI_SUCCESS)
    cmn_err(CE_CONT, "ucr_ucr_dma_alloc_memory, "
    "ERROR ddi_dma_mem_alloc status = %d\n",
    ret);
    ddi_dma_free_handle(dmahandle_out);
    return(ret);
    This will also init the PCI - IOMMU for
    address translation.
    if((ret=ddi_dma_addr_bind_handle(*dmahandle_out,
    NULL,
    (caddr_t)raw_kern_addr,
    real_len,
    DDI_DMA_RDWR | DDI_DMA_CONSISTENT,
    DDI_DMA_SLEEP,
    NULL,
    &dma_cookie,
    &count)) != DDI_SUCCESS)
    cmn_err(CE_CONT, "ucr_ucr_dma_alloc_memory, "
    "ERROR ddi_dma_addr_bind_handle status = %d\n",
    ret);
    ddi_dma_mem_free(dma_acc_handle_out);
    ddi_dma_free_handle(dmahandle_out);
    return(ret);
    if((ret=ddi_dma_sync(*dmahandle_out,
    0,
    real_len,
    DDI_DMA_SYNC_FORDEV)) != DDI_SUCCESS)
    cmn_err(CE_CONT, "ucr_ucr_dma_alloc_memory, "
    "ERROR ddi_dma_sync status = %d\n", ret);
    ddi_dma_unbind_handle(*dmahandle_out);
    ddi_dma_mem_free(dma_acc_handle_out);
    ddi_dma_free_handle(dmahandle_out);
    return(ret);

    I am having the similar problem identified in this thread.
    OS: Sun Solaris 10 01/06
    Hardware: Sun Blade 2500
    PCI Memory card.
    Problem: When driver moves more then 40 bytes via PIO from a PCI device memory card, the long words are swapped starting at 40 byte transfer size and greater.
    device memory description:
    static ddi_device_acc_attr_t sdram_access_attr =
    DDI_DEVICE_ATTR_V0, /* Boilerplate value */
    DDI_STRUCTURE_LE_ACC,
    DDI_STRICTORDER_ACC /* Don't reorder accesses */
    The user application does a read call, which goes to xxread. xxread calls physio( xxstrategy, bp, dev, B_READ, xxminphys, uio );
    In xxstrategy the transfer is done using
    ddi_mem_rep_get8(ucb->ucb_sdram_accHndl,
    (uint8_t*) kaddr,
    (uint8_t*) raddr,
    (size_t) bp->b_resid),
    (uint_t) DDI_DEV_AUTOINCR );
    PCI Device memory is loaded with incrementing address (8bit), 0,1,2... This is confirmed using a PCI Bus Analyzer.
    A read of 36 bytes or less returns:
    03 02 01 00 07 06 05 04 ...
    A read of 40 bytes returns:
    07 06 05 04 03 02 01 00 ...
    If I peek 1 byte at a time using ddi_get8(ucb->ucb_sdram_accHndl, ...) I get
    00 01 02 03 04 05 06 07
    Why are the long words swapped starting at 40 byte transfer size and greater?

  • Solaris 10 GA and 64 bit Pentium Processor. Device Driver Problem

    We have a Dell Poweredge SC420 with 3.4 GHz Pentium 4 (EMT64)
    it also has 300Gb SCSI disk and 2 Gb Ram.
    By default this machine tried to boot with the 64 bit kernel then could not load the CADP driver (SCSI CARD). We forced the Kernel to 32 bit by changing the BOOT_FILE from /kernel/AMD64/unix to /kernel/unix.
    The machine is now booted but we are having problems with our PCI device. The device is a DMA Bus master and works fine on another SC420 which has a 2.8GHz Non-64 bit processor running the same release of Solaris. The device driver fails in strategy when we try to bind the dma buffer,(ddi_dma_buf_bind_handle) returning DDI_DMA_TOOBIG when the cookie count is > 1.
    The machine appears to function apart from our device although we have suffered some kernel panics. We cannot ascertain if other devices are performing DMA successfully but must assume that they are.
    Anybody got any ideas, Has anyone else got this processor working?

    My bad. The memory per guest domain is 1GB. Se the Section 1 (NEW) - Hardware http://wikis.sun.com/display/SolarisLogicalDomains/LDoms%20Community%20Cookbook
    Ignore the http://www.sun.com/software/solaris/specs.jsp

  • Device Driver/formatio for Solaris?

    I pulled down a device driver for a GPIB instrument (HP 4145) It requires a library called "formatio". Is this a National Instruments lib and, if so, is this available for Solaris?
    Thanks and regards,
    John

    John,
    It looks like you may have downloaded the LabWindows/CVI version of this driver. I noticed that there is a contributed version of the driver for LabVIEW (which I assume is the development environment that you are using) for the HP 4145B. That one may work for you, but since it is contributed there won't be much I can do if it doesn't.
    Hope this helps.
    Scott B.
    National Instruments
    Applications Engineering

  • Device Driver Loading Problems

    Q1. How to load a 32-bit module in 64-bit kernel?.
    Q2. Can we use gcc to compile device driver code on Solaris 8.
    if yes, how to get 64-bit object file using gcc?.

    Q1. How to load a 32-bit module in 64-bit kernel?.
    A1. You cannot do this. 64-bit kernel requires 64-bit modules.
    Q2. Can we use gcc to compile device driver code on
    Solaris 8.
    if yes, how to get 64-bit object file using
    using gcc?.A2. See gcc docs.

  • How to add and configure a usb device driver in SRSS for Sunray?

    Dear Sir,
    If I want to use a usb device on Sunray 2 (the usb device is plugged into Sunray's usb port), and I have been developed a usb driver on Solaris 10. Can I install the same driver in SRSS host to active the usb device in Sunray? If it can, how do I configure SRSS and where is the location of SRSS drivers? Can I use add_drv similar command to add my driver to SRSS?
    The second question is when I plug-in a usb device to Sunray, can I see device information (VID, PID, and so on) in any log file or by any command as "prtconf -v" on Solaris?
    Thank you very much.
    Best Regards,
    Steven

    What sort of USB device do you want to use ?
    The peripherals chapter in the SRSS admin guide tells you how to use supported USB devices.
    http://docs.sun.com/source/819-2384/dev.html
    Drivers written for Solaris devices will not work with Sun Ray devices. If you want to write a device driver for Sun Ray, it is recommended you use libusb for a userland driver. See libusb notes on same chapter mentioned above.
    There is currently no SRSS utility to list Sun Ray device parameters like prtconf does.
    You could write a libusb application to do this, or use the test program described here:
    http://libusb.sourceforge.net/doc/examples.html

  • Interface with device driver (API or DLL files)

    I want to make my C++ program interface with an instrument which has a device driver available at the OEM's website. It's a DLL file (not a .cpp file), but I don't know how to call DLL file from C++. I am using Measurement Studio for Visual C++ and Microsoft Visual C++ compiler. Do you have a C++ example code or tutorial about calling DLL (or API) from C++ ?

    Irene,
    Measurement Studio is simply a plug-in for Visual Studio C++. Calling a DLL is general to C/C++. It usually amounts to #including the .h file that comes with the library, like this:
    #include "MyDLL.h"
    I found the following website through Google, which is pretty thorough on calling DLLs:
    http://www.codeproject.com/dll/XDllPt1.asp
    I hope that helps.
    Matt P.
    NI

  • How to install the pseduo device driver?

    I downloaded one package to produce high resolution delay ( similar to sleep() ).
    Here is the comment text in main file:
    Written by Jon Zeeff umix!b-tech!zeeff
    This "device driver" uses the kernel delay() call to allow calls
    to nap() from user processes. Nap() is like sleep, but with finer
    resolution.
    Compile with cc -O -c ft.c
    Written for a Sys V.3 system, but should work on others.
    For Sys V.3:
    Make a new kernel according to the instructions and then:
    mknod /dev/ft c 28 0
    modules/ft/config:
    character(28)
    prefix = ft
    functions = open, close, read
    Edit systems/system.std and add ft.
    Copy ft.o to modules/ft/config
    But, where is " modules " directory ? and where is system/system.std ??
    thanks.

    Go here: http://h20180.www2.hp.com/apps/Nav?h_pagetype=s-002&h_lang=en&h_cc=us&h_product=3995705&h_page=hpcom...
    Select your product > Select your model >  Option 2: Go directly to the software and driver results > Driver-Keyboard, Mouse and Input Devices > Synaptics TouchPad Driver
    You should be able to download and reinstall the driver.

  • CVI device driver DLL

    Hello,
    I tried to use CVI device drivers under LabVIEW 6i. The problem ist
    that the device driver DLLs are missing. Is it possible to create
    these DLLs without LabWindows, or create them with LabVIEW? I tried to
    create them with a gnu compiler, there some c-source- and
    c-header-files are missing. I need the DLLs for the device drivers
    bp14xx, hp3325a an 3457a. Can anyone tell me how to get these DLLs?
    Best regards
    Jens

    The CVI drivers for the HP3325 and HP3457 are very old it appears and were propabley created before plug and play and the need for DLL distribution. The only way to create the DLL required is with LabWindows and even then might take some effort to work. However, LabVIEW drivers do exist for the HP3325 and HP3457. Go here, select Agilent as the manufacturer and download them. I don't know about your BP14xx. Who is the manufacturer and what is the exact model number.

  • Solaris 9 - Driver Detachment Issue - ddi_set_driver

    Hi all,
    I'm porting a driver source code from Solaris 8 to Solaris 9.
    This driver is a pseudo devices driver which is hooked to the sd (disk) driver.
    I have a detachment driver issue. I don't arrive to release one instance of my driver (it may have several instances. In fact, one per sd instance).
    Up to Solaris 8, it was made with a call like :
    ddi_set_driver(dev_info_t, NULL)
    But now (on Solaris 9), this function seems not to do the same thing. Indeed, the 'prtconf -P' command enables to display driver is already attached to sd instance although it should not be.
    Anybody can help me?
    Thanks !

    Do you think that can be a bug ? Fixed by a Solaris Patch ?
    Hi all,
    I'm porting a driver source code from Solaris 8 to
    Solaris 9.
    This driver is a pseudo devices driver which is hooked
    to the sd (disk) driver.
    I have a detachment driver issue. I don't arrive to
    release one instance of my driver (it may have several
    instances. In fact, one per sd instance).
    Up to Solaris 8, it was made with a call like :
    ddi_set_driver(dev_info_t, NULL)
    But now (on Solaris 9), this function seems not to do
    the same thing. Indeed, the 'prtconf -P' command
    enables to display driver is already attached to sd
    instance although it should not be.
    Anybody can help me?
    Thanks !

  • CiscoWorks LMS 3.2 device driver discovery problem

    Hi,
    We have many devices Cisco 3825 on our network. For some of them, the device driver is correctly discovered but not for others.
    - Devices correctly discovered : cisco3825 : Cisco IOS Software, 3800 Software (C3825-ADVSECURITYK9-M), Version 12.4(5a), RELEASE SOFTWARE (fc3)Technical Support: http://www.cisco.com/techsupportCopyright (c) 1986-2006 by Cisco Systems, Inc.Compiled Fri 13-Jan-06 21:09 by alnguyen : snmp oid : .1.3.6.1.4.1.9.1.543
    - Devices not recognized : cisco3825 : Cisco IOS Software, 3800 Software (C3825-ADVSECURITYK9-M), Version 12.4(15)T9, RELEASE SOFTWARE (fc5)Technical Support: http://www.cisco.com/techsupportCopyright (c) 1986-2009 by Cisco Systems, Inc.Compiled Tue 28-Apr-09 17:45 by prod_rel_team : snmp oid : .1.3.6.1.4.1.9.1.543
    I didn't see any new device driver package on Cisco site.
    Does somebody has an idea ?
    Many thanks,
    Fabien GIRAUD

    I'm not sure I clearly understand the problem.  Are you saying that some 3825s are not being discovered by Common Services Discovery?  If so, are they showing up as unreachable, or are they not showing up at all in the Discovery reports?

Maybe you are looking for