Solaris Driver Development

I am trying to get information on how Sun is pursuing its Kernel Configuration model.
Like in HP-UX, there master/system files associated with a specific dynamically-loadable kernel module, plus an object. All the above information is being used to install/configure a module. I am wondering if Sun has a similar model. And if does, does anyone know what direction does SUN is planning to take - would it use WBEM or DMI technology for its kernel configuration tasks?
Any help is appreciated.
Leon

Hai friends
Iam developing PCI driver.
The driver is first installe with add_drv : Then it works correctly
When I reboot my workstation, I have the following message:
WARNING: Missing name/number? on line 128 of /etc/name_to_major
WARNING: Missing name? on line 128 of /etc/name_to_major
At the end of boot sequence, the driver is not correctly installed. I can't open it, the modinfo or prtconf command do not see it.
I had a look to /etc/name_to_major: line 133 describes my driver, and has been added by the add_drv command ...!
Can any body help me to clear above problem
by
velan

Similar Messages

  • How / from where to start on Solaris Driver developement?

    Hi,
    'm a User domain developer, want to also learn about driver developement.
    Please give me pointers so that I can start with
    Thanks,
    -Vikrant

    First of all you should download the following two documents:
    - Writing Device Drivers
    - STREAMS Programming Guide
    If you want to develop USB drivers you must have USBA 1.0 installed (Solaris 8/9 has 0.8 as default) and additionally download the "USB DDK" from Sun.
    A device driver is an object file (created by "ld -r ..."). You cannot decide if you use 32 or 64 bit. On a 64 bit OS you MUST use 64 bit code.
    If you use GCC: On Sparc machines 64 bit code is generated using "-m64", not using "-xarch=v9".
    The driver must provide three functions: "_init", "_info" and "_fini" (see first document).
    There are two types of drivers:
    1) Streams drivers (described in the second document) are drivers for stream devices. These are all devices that implement a character stream and can be used with "streamio" ioctls. Examples are: All terminals and serial ports, printer ports, mice, keyboards, ...
    These devices communicate with the system calls (e.g. read, write, ioctl) using special data packets. Therefore programming Streams drivers is very different from writing other drivers.
    All streams devices are character devices.
    You can also write streams modules (see man streamio, I_PUSH). Such modules are "filters" that can modify the data between the device driver and the application.
    2) Other drivers. They may be character or block devices. These drivers have different functions for different function calls. Example: The "ioctl" function call will call the function "MyDriver_Ioctl" of your driver.
    I think writing a non-streams driver is way more simple than writing a streams driver. I had some system crashes when running instable self-written streams drivers. However some drivers must be streams drivers e.g. if you want to use the device as a terminal device or if you want to push modules using I_PUSH.
    Unlike Linux the OS detects the presence of hardware and decides when to load a driver. You create the file /kernel/drv/NameOfYourDriver.conf with driver settings. This file also contains the information that your driver does not require hardware (e.g. ram disks). You must add your driver to the system by typing "add_drv NameOfYourDriver". Use the "-i" option to tell the system which hardware is handled by your driver.
    Martin

  • Driver development on solaris 8

    Hello,
    I want to know which all the documents I need to refer for developing a network interface driver
    (token ring ) on solaris 8. Where can I find all these documents.
    Thank you
    Purushottam

    Will Solaris 8 Foundation Source Code help me on
    driver development?
    Hi,
    Friends. I am now writing a stream module which will
    be
    inserted between IP driver and underlying NIC driver
    and
    PPP/SLIP driver as well to filter IP packets. I can
    access
    the Solaris 8 foundation source code and I have read
    some posts saying that the solaris 8 source code will
    help writing driver greatly. But someone also tell me
    that the foundation source code doesn't include
    anything
    regarding network or protocol stack stuff and
    therefore
    will not help me. So, the truth is???The source foundation at least includes all of the IP source code as well as a couple of ethernet drivers
    (hme at least), which is enough to figure out the lower
    IP interface. It doesn't include everything (like
    the x86 elx driver for instance) but it does include
    pretty much everything....

  • Help me in Installing Solaris Express, Developer Edition  X 86

    Hi,
    Help me in installing Solaris Express, Developer Edition
    When i am trying to install Solaris, system hangs and the moniter is switcher off when the system goes in GUI mode.
    i have intel 945GTP mother board with as on board Intel Graphics Media Accelerator Drives , Chipset -> Intle 945G , 160 SATA Hard Disk, 1 GB DDR2 Ram , P4 3.Ghz Processer , on board Intel PRO/100 VE Network Card.
    Please,Help me.
    Thanking you,
    P.Sathish Kumar

    Hello,
    first of all: Try to run the HCTS (Hardware
    Compatibility Test Suite) first, it's available
    here:
    http://www.sun.com/bigadmin/hcl/hcts/device_detect.htm
    l
    This you can run from Windows, and it will list all
    hardware that has drivers, and all those, that do not
    have drivers (including some public domain drivers).
    After that, you have the possibility to install
    Solaris WITHOUT a GUI, use one of the two "terminal"
    modes. The first Is still a GUI, as it only starts X
    and opens a terminal, in which then the installer
    runs. The second does NOT start X, but runs the
    installer on the console. Try this one, and once you
    get through that, you can afterwards figure out the
    settings of the Xserver.Hi ,
    i have installed the solaris using console.
    Still GUI is not starting, the moniter is switched off when GUI gets started
    I used Hardware Compatibility Test Suite, its say that system is supported
    by Solaris.
    Should i have change BIOS setting to stated the system
    Bye
    P.Sathish Kumar

  • Help me in installing Solaris Express, Developer Edition X86

    Hi,
    Help me in installing Solaris Express, Developer Edition
    When i am trying to install Solaris, system hangs and the moniter is switcher off when the system goes in GUI mode.
    i have intel 945GTP mother board with as on board Intel Graphics Media Accelerator Drives , Chipset -> Intle 945G , 160 SATA Hard Disk, 1 GB DDR2 Ram , P4 3.Ghz Processer , on board Intel PRO/100 VE Network Card.
    Please,Help me.
    Thanking you,
    P.Sathish Kumar

    Hello,
    first of all: Try to run the HCTS (Hardware
    Compatibility Test Suite) first, it's available
    here:
    http://www.sun.com/bigadmin/hcl/hcts/device_detect.htm
    l
    This you can run from Windows, and it will list all
    hardware that has drivers, and all those, that do not
    have drivers (including some public domain drivers).
    After that, you have the possibility to install
    Solaris WITHOUT a GUI, use one of the two "terminal"
    modes. The first Is still a GUI, as it only starts X
    and opens a terminal, in which then the installer
    runs. The second does NOT start X, but runs the
    installer on the console. Try this one, and once you
    get through that, you can afterwards figure out the
    settings of the Xserver.Hi ,
    i have installed the solaris using console.
    Still GUI is not starting, the moniter is switched off when GUI gets started
    I used Hardware Compatibility Test Suite, its say that system is supported
    by Solaris.
    Should i have change BIOS setting to stated the system
    Bye
    P.Sathish Kumar

  • USB driver development using DDK

    I heard that Sun Blade 1000 supports USB.
    To connect our product with Sun machine through USB, we are trying to develop USB device driver using DDK for Solaris.
    Please let me know that present DDK supports USB device driver development.
    Thank you in advance.

    You may want to look at
    http://soldc.sun.com/developer/support/driver/docs/whitepapers.html
    There are a couple of whitepapers on the subject
    Regards,
         Cyril
    I heard that Sun Blade 1000 supports USB.
    To connect our product with Sun machine through USB,
    we are trying to develop USB device driver using DDK
    for Solaris.
    Please let me know that present DDK supports USB
    device driver development.
    Thank you in advance.

  • Solaris Driver Wrong Address Recovery

    Hi,
    i am developing a solaris driver for a custom made IO card. I have a simple question. I have completed development and provide an entry point for pread in driver. When a legal user space address is passed over pread everything is fine data is read correctly. But when an illegal address buffer is passed to driver, kernel panics and system is restarted.
    I handle NULL pointer in driver but how can driver check/recover or just create a segmentation fault without kernel panic when pread is called to read from device to a user space buffer that is NON-NULL illegal address. This problem is applicable for pwrite also by the way?
    Thanks in advance.

    no actually that is not the case. in my seg_flg is UIO_USERSPACE which is set by system(transfer between user and kernel). no conflict on that. the problem is if user space buffer is an invalid address uiomove panics system.
    i guess nothing to do with that. i will have to rewrite my read/write over ioctl entry point and hope that ddi_copyin/out wont panic the kernel. or just live with that weird situation and be careful while calling pread/pwrite on application side :)
    thanks .

  • A problem logging in in Solaris Express Developer Edition 05/07

    Hi all.
    I just upgraded Solaris 10 11/06 to Solaris Express Developer Edition 05/07 on a Sun Ultra 20 M2 and a strange problem arose: after root has logged in in a Gnome session, then when another user tries to log in in Gnome everything slows down: the login screen with "Window manager" takes some 20 secs to go away and then "Panel" sticks there... The only option is killing X with ctrl+alt+backspce. This only happens if root logs in with Gnome, and not in CDE. If root doesn't log in, nothing strange happens ever.
    The problem seems unrelated with the user that logs in:
    - existing users which could login in Solaris 10 11/06 now have this problem
    - new users have this problem too...
    Rebooting the machine and never logging in to Gnome with root "solves" the problem.
    Has anyone ever had this problem?
    Can be a problem relating to upgrading?
    Thanks,
    Enrico.

    You should probably direct SXDE queries to the forums at http://opensolaris.org, more chance of a response from the JDS developers there.
    Message was edited by:
    calum

  • Driver development for custom PCI card

    Hi friends,
    I've a PCI card developed in-house. How to prepare a driver for the same in LabVIEW? Can I develop drivers in VISA? I don't have a manufacture id. Is there any other method to develop a driver for PCI card? Once developed, can I use them for other platforms like VC++? My OS is Windows 9X/NT & 2000. I need a driver to use for all these. Lot of querries! hope I made it clear.

    THE ANSWER IS THAT YES YOU CAN DO THIS IN NI-VISA!
    Some have said that you need a kernel driver. This is partially true in that a PXI or PCI card (they are the same as viewed by the OS) must have a kernel driver. NI-VISA provides one for you.
    You said that you do not have a manufacturer ID. This is a requirement of all PCI cards and no kind of driver will work until the card has one. Once you have this ID, run the VISA PXI Driver Development Wizard and it will generate an INF for you for all supported NI-VISA environments that support PXI/PCI. Read the instructions in the appropriate INF file for how to install it into the system so that the OS will attach NI-VISA to your device. It's really simple. NI-VISA supports PXI/PCI on Windows 95, 98, ME, NT
    4, 2000, XP, and LabVIEW RT.
    Some have said that MAX will just show you all PXI/PCI devices in your system. Your device will not show up until NI-VISA can see it, and that won't happen until you generate an INF as described above.
    Since the INF file associates NI-VISA itself to your card, the ADE you use does not matter. NI-VISA supports PXI/PCI in LabVIEW, CVI, MSVC, Visual Basic, or any other ADE that normally works with VISA.
    NI-VISA works well even with more advanced devices because we support all types of register accesses (config, I/O, memory) as well as interrupt handling. Just look at the visa.h that NI ships in the VXIpnp directory. If you are using C/C++, make sure you define NIVISA_PXI before including visa.h. If you use LabVIEW, you need to use the address space numbers as defined in visa.h.
    Good luck.
    Dan Mondrik
    Senior Software Engineer, NI-VISA
    National Instruments

  • Urgent!! How to use driver development in visual C++ 6.0...

    Can anyone help me ...
    i want to know where can get this driver devepment and how to setup this...
    please help me...
    thanks for everyone who read and help...

    Can you elaborate a little more about what you're trying to do? What kind of driver development are you interested in doing? Or are you trying to use drivers (and what kind of drivers) from an application you're trying to write?

  • Solaris Express Developer 9/07  gcc can't find GTK-2

    Solaris Express Developer 9/07 configure can't find GTK-2
    located in /usr/lib/gtk-2.0 & /usr/include/gtk-2.0
    It is my understanding that default ld includes /usr/lib (i.e. crle ouput)
    Any help appreciated.
    John
    Update:
    installed packages /opt/cfw
    atk-1.10.1-Solaris10-x86.pkg
    gtk-2.8.3-Solaris10-x86.pkg
    cairo-1.0.0-Solaris10-x86.pkg
    pango-1.10.0-Solaris10-x86.pkg
    glib-2.8.1-Solaris10-x86.pkg
    Configuration file [version 4]: /var/ld/ld.config
    Platform: 32-bit LSB 80386
    Default Library Path (ELF): /lib:/usr/lib:/usr/local/lib:/opt/sfw/lib:/opt/cfw/lib:/opt/gnu/lib
    Trusted Directories (ELF): /lib/secure:/usr/lib/secure (system default)
    Command line:
    crle -c /var/ld/ld.config -l /lib:/usr/lib:/usr/local/lib:/opt/sfw/lib:/opt/cfw/lib:/opt/gnu/lib
    Still fails!
    Edited by: jhawk on Oct 10, 2007 7:01 PM

    jhawk@solaris-devx gftp-2.0.18rc1 >export LD_LIBRARY_PATH=/opt/cfw/lib/gtk-2.0:/lib:/usr/lib:/usr/local/lib:/opt/sfw/lib
    jhawk@solaris-devx gftp-2.0.18rc1 >./configure --prefix=/usr/local
    checking for a BSD-compatible install... /usr/bin/ginstall -c
    checking whether build environment is sane... yes
    checking for gawk... no
    checking for mawk... no
    checking for nawk... nawk
    checking whether make sets $(MAKE)... yes
    checking build system type... i386-pc-solaris2.11
    checking host system type... i386-pc-solaris2.11
    checking for gcc... gcc
    checking for C compiler default output file name... a.out
    checking whether the C compiler works... yes
    checking whether we are cross compiling... no
    checking for suffix of executables...
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ANSI C... none needed
    checking for style of include used by make... GNU
    checking dependency style of gcc... gcc3
    checking how to run the C preprocessor... gcc -E
    checking for egrep... egrep
    checking for AIX... no
    checking for ANSI C header files... yes
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking minix/config.h usability... no
    checking minix/config.h presence... no
    checking for minix/config.h... no
    checking for ranlib... ranlib
    checking for special C compiler options needed for large files... no
    checking for FILEOFFSET_BITS value needed for large files... 64
    checking for LARGEFILES value needed for large files... no
    checking for gcc option to accept ANSI C... none needed
    checking for function prototypes... yes
    checking for ANSI C header files... (cached) yes
    checking for string.h... (cached) yes
    checking for an ANSI C-conforming const... yes
    checking for inline... inline
    checking whether the printf family of functions supports %'ld... yes
    checking whether to enable maintainer-specific portions of Makefiles... no
    checking for gawk... (cached) nawk
    checking for a BSD-compatible install... /usr/bin/ginstall -c
    checking whether ln -s works... yes
    checking whether make sets $(MAKE)... (cached) yes
    checking for dirent.h that defines DIR... yes
    checking for library containing opendir... none required
    checking for ANSI C header files... (cached) yes
    checking for sys/wait.h that is POSIX.1 compatible... yes
    checking fcntl.h usability... yes
    checking fcntl.h presence... yes
    checking for fcntl.h... yes
    checking libutil.h usability... no
    checking libutil.h presence... no
    checking for libutil.h... no
    checking limits.h usability... yes
    checking limits.h presence... yes
    checking for limits.h... yes
    checking malloc.h usability... yes
    checking malloc.h presence... yes
    checking for malloc.h... yes
    checking pty.h usability... no
    checking pty.h presence... no
    checking for pty.h... no
    checking for strings.h... (cached) yes
    checking sys/ioctl.h usability... yes
    checking sys/ioctl.h presence... yes
    checking for sys/ioctl.h... yes
    checking sys/time.h usability... yes
    checking sys/time.h presence... yes
    checking for sys/time.h... yes
    checking for unistd.h... (cached) yes
    checking for stdint.h... (cached) yes
    checking sys/mkdev.h usability... yes
    checking sys/mkdev.h presence... yes
    checking for sys/mkdev.h... yes
    checking for inttypes.h... (cached) yes
    checking for socklen_t in sys/socket.h... yes
    checking for mode_t... yes
    checking for intptr_t in stdint.h... yes
    checking for pid_t... yes
    checking for size_t... yes
    checking whether time.h and sys/time.h may both be included... yes
    checking whether struct tm is in sys/time.h or time.h... time.h
    checking for off_t... yes
    checking size of off_t... 8
    checking for working alloca.h... yes
    checking for alloca... yes
    checking whether gcc needs -traditional... no
    checking for stdlib.h... (cached) yes
    checking for unistd.h... (cached) yes
    checking for getpagesize... yes
    checking for working mmap... yes
    checking return type of signal handlers... void
    checking for strftime... yes
    checking whether utime accepts a null argument... yes
    checking for gai_strerror... no
    checking for getaddrinfo... no
    checking for getcwd... yes
    checking for gettimeofday... yes
    checking for getwd... yes
    checking for mkdir... yes
    checking for mktime... yes
    checking for putenv... yes
    checking for rmdir... yes
    checking for select... yes
    checking for socket... no
    checking for strdup... yes
    checking for strstr... yes
    checking for strtod... yes
    checking for strtol... yes
    checking for uname... yes
    checking for grantpt... yes
    checking for openpty... no
    checking for getdtablesize... yes
    checking for pkg-config... /usr/bin/pkg-config
    checking for glib-2.0 >= 2.0.0... yes
    checking GLIB_CFLAGS... -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
    checking GLIB_LIBS... -lglib-2.0
    checking for openpty in -lutil... no
    checking for socket in -lsocket... yes
    checking for gethostbyname in -lnsl... yes
    checking whether to use readline... yes
    checking for readline in -lreadline... no
    checking for readline in -lreadline... no
    checking for readline in -lreadline... no
    checking for readline in -lreadline... no
    checking for log10 in -lm... yes
    checking if malloc debugging is wanted... no
    checking for gtk+-2.0 >= 2.0.0... configure: error: You have GLIB 2.0 installed but I cannot find GTK+ 2.0. Run configure with --disable-gtk20 or install GTK+ 2.0
    jhawk@solaris-devx gftp-2.0.18rc1 >

  • Solaris Express , Developer Edition as a linux alternative

    Hi Folks,
    there is no doubt that Solaris began shining lately . I'm thinking to install it on my laptop as an alternative to linux to develop web applications .
    some issues are bothering my a lot, I'll name them to you ,so we can decide together :
    1. ruby official website does not provide a solaris package, how to develop Rails websites then ?
    2. Mono has no official package for x86 machines running solaris , only Solaris 8 (Sparc) is supported .
    I'm very interested in Solaris, especially Developer edition , eager to start to installing it !
    what do you think ?

    I think I hope it installs, especially on a laptop system. It failes to install on every desktop system here, I wouldn't dare put it in my laptop and see what it says. Laptops usually have a more esoteric hardware configuration than desktop systems.
    For you I really don't see the benefit of switching operating systems just to develop web applications. If you were a Java developer developing J2EE web applications then Solaris and it's integrated Java Enterprise system and first-rate developer tools would be a great change, but for Ruby on Rails and Mono - I don't see the point.
    For Ruby there may be a package available, check the OpenSolaris website and see if it has been ported over (it most probably has been, but I haven't checked yet).
    For Mono... I don't see the point in developing .NET web applications for Linux/Solaris, so I won't go there. Mono is a joke compared to Microsoft's .NET platform.

  • Solaris Express Developer x86 -- only 64-bit?

    Hi, people, glad to be back. Just downloaded Solaris Express Developer edition x86 and installed -- almost with no problems.
    It's a system with Intel Celeron D with 64-bit and Hyper Threading support, DDR2 1Gb.
    Now running Solaris I noticed it's a 64-bit version, not 32-bit, as I meant to have. The command `isainfo -n` gives back ... "amd64"!
    Is there a 32-bit version of Solaris Express DE x86?
    Or maybe I need not worry at all and keep running the 64-bit one (actually, I've got no problem as yet)?
    Thanks in advance for any comments.

    So, my system supports 64-bit computing after all. I
    never thought about it, in fact.
    But does it mean Solaris Express DE x86 runs as
    64-bit on the systems supporting 64-bit, and as
    32-bit on 32-bit-only systems?Yes, that's correct. Solaris 10 was the first version of Solaris to support 64 bit operation on the x86 architecture.
    It and later versions (including Solaris Express DE x86) should automatically detect the architecture and run in that mode at boot time. There are some ways to force it to run in 32 bit mode only if necessary, but that would be unusual.
    Darren

  • Solaris Express Developer Edition, free DVD kit

    Today I ordered the "Free Solaris Express Developer Edition DVD":
    "For a limited time, Sun is offering a Solaris Express Developer Edition DVD for x86 platforms mailed to you at no charge." (http://developers.sun.com/sxde/download.jsp)
    Will I get the new 9/07 version or an older one? When I ordered Solaris 10 some time ago, Sun sent me version 11/06.
    Thanks!

    Well, it looks like this version of Solaris simply forgot to bundle the FLAC gstreamer plugin. Does anyone know where to find a version compiled for solaris?

  • Solaris Express Developer Questions

    Currently I am running Solaris Express Developer however i noticed there is no Subversion or CVS installed by default.
    The version I am running is as follows.
    bash-3.00$ uname -a
    SunOS solaris-devx 5.11 snv_55b i86pc i386 i86pc
    Any ideas if there is a newer version, and whether it has subversion and cvs installed by default?
    Thanks

    I have looked at the latest download for Solaris Express, Developer Edition 2/07 which is what I am running now.
    I have connected the Sun Update Manager and I receive no updates.
    Currently I am trying to use this as my development platform/workstation at work. Developing java applications seems to be well catered for however some sections of the desktop environment look a little rough.
    I am having issues printing from Evince and Gimp, which seem to be using a different printing interface to other applications.
    It seems that this "Developer Platform" may be a little green for use as a workstation without some proper update mechanisms...

Maybe you are looking for