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,
-VikrantFirst 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
PurushottamWill 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 KumarHello,
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 KumarHello,
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 -
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 PMjhawk@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?
ThanksI 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
-
ITunes crashed after I download a tv episode in iTunes 6
I went and downloaded an episode of "Lost" on iTunes and had iTunes crash as the file was finishing its download. Now when I go into iTunes that video is not being displayed under the video tab, as if I had never purchased it. When iTunes crashed, it
-
Update showing as succeeded in update history but still pending installation (KB2975719)
I just installed September patches. KB2975719 is showing as downloaded but not installed in both the WSUS console, and the Windows Update control panel of servers. The WindowsUpdate.log file shows the patch as successfully installed: 2014-09-20 19
-
Spacing between minimize maximize close buttons
''locking - duplicate - https://support.mozilla.com/en-US/questions/782562'' This problem is only in firefox. How remove space between these buttons. Buttons should look like in my computer window. IMAGE : http://www.bildites.lv/images/jx5yixdwdam0b5
-
Hello im trying to update my apps and its keep asking me for my bank details can u help me please
Hello im trying to update my apps and its keep asking me for my bank details can u help me please
-
OS 10.6 --opening interchange file
I'm on Win XP, CS2 (4.0.5). Our designer just upgraded to Mac os 10.6 Snow L using CS3. Before she upgraded her OS she would export an Interchange file which I could open, no problem. Now the Interchange file crashes my CS2 as it's trying to open the