Wednesday June 25, 2008 Solaris Thinkpad T61 Xorg Projector configuration
The default Nvidia driver that is being shipped with Solaris Express/OpenSolaris distro doesn't allow you to switch to 1024x768 resolution for Thinkpad T61. The issue here is most of the LCD projectors loves "1024x768" resolution. So with below workaround you can switch to 1024x768 (note this is experimental). Add the following lines to Nvidia device section in /etc/X11/xorg.conf
---
Option "UseEdidFreqs" "False" Option "HorizSync" "DFP-0: 40-70" Option "VertRefresh" "DFP-0: 58-62"
---
I have attached xorg.conf file for reference. Tested this on Thinkpad T61 which comes with Nvidia Quadro NVS 140M chipset. Special thanks to John.M.Martin for pointing this workaround.
Thinkpad T61 Solaris Projector configuration
Here is the xorg.conf.projector.T61.Nvidia projector configuration of Thinkpad T61 for Solaris . Best resolution is "1280x960" for display in case your are using with projector . Note this for the Thinkpad T61 which comes with Nvidia display card. Below is the PCI ID.
pci bus 0x0001 cardnum 0x00 function 0x00: vendor 0x10de device 0x0429
nVidia Corporation Device unknown
Installed "Solaris Express Developer Edition 1/08 snv_79a X86" on Thinkpad T61 . Here is the list of devices
Wireless doesnot work. Waiting for iwk driver release.
For sound driver use the OSS driver from http://www.4front-tech.com/download.cgi . One issue with OSS driver is that it puts "input-mixer" on high, so its noisy while you boot up. Workaround is to mute while bootup and then set the ossmix after bootup.
#~ossmix connector.int-speaker.input-mix 0
This comes with Nvidia card so compiz-fusion works fine . Compiz-fusion can be downloaded from Erwann's blog
bash~# scanpci
pci bus 0x0000 cardnum 0x00 function 0x00: vendor 0x8086 device 0x2a00
Intel Corporation Mobile Memory Controller Hub
pci bus 0x0000 cardnum 0x01 function 0x00: vendor 0x8086 device 0x2a01
Intel Corporation Mobile PCI Express Root Port
pci bus 0x0000 cardnum 0x19 function 0x00: vendor 0x8086 device 0x1049
Intel Corporation 82566MM Gigabit Network Connection
pci bus 0x0000 cardnum 0x1a function 0x00: vendor 0x8086 device 0x2834
Intel Corporation 82801H (ICH8 Family) USB UHCI #4
pci bus 0x0000 cardnum 0x1a function 0x01: vendor 0x8086 device 0x2835
Intel Corporation 82801H (ICH8 Family) USB UHCI #5
pci bus 0x0000 cardnum 0x1a function 0x07: vendor 0x8086 device 0x283a
Intel Corporation 82801H (ICH8 Family) USB2 EHCI #2
pci bus 0x0000 cardnum 0x1b function 0x00: vendor 0x8086 device 0x284b
Intel Corporation 82801H (ICH8 Family) HD Audio Controller
pci bus 0x0000 cardnum 0x1c function 0x00: vendor 0x8086 device 0x283f
Intel Corporation 82801H (ICH8 Family) PCI Express Port 1
pci bus 0x0000 cardnum 0x1c function 0x01: vendor 0x8086 device 0x2841
Intel Corporation 82801H (ICH8 Family) PCI Express Port 2
pci bus 0x0000 cardnum 0x1c function 0x02: vendor 0x8086 device 0x2843
Intel Corporation 82801H (ICH8 Family) PCI Express Port 3
pci bus 0x0000 cardnum 0x1c function 0x03: vendor 0x8086 device 0x2845
Intel Corporation 82801H (ICH8 Family) PCI Express Port 4
pci bus 0x0000 cardnum 0x1c function 0x04: vendor 0x8086 device 0x2847
Intel Corporation 82801H (ICH8 Family) PCI Express Port 5
pci bus 0x0000 cardnum 0x1d function 0x00: vendor 0x8086 device 0x2830
Intel Corporation 82801H (ICH8 Family) USB UHCI #1
pci bus 0x0000 cardnum 0x1d function 0x01: vendor 0x8086 device 0x2831
Intel Corporation 82801H (ICH8 Family) USB UHCI #2
pci bus 0x0000 cardnum 0x1d function 0x02: vendor 0x8086 device 0x2832
Intel Corporation 82801H (ICH8 Family) USB UHCI #3
pci bus 0x0000 cardnum 0x1d function 0x07: vendor 0x8086 device 0x2836
Intel Corporation 82801H (ICH8 Family) USB2 EHCI #1
pci bus 0x0000 cardnum 0x1e function 0x00: vendor 0x8086 device 0x2448
Intel Corporation 82801 Mobile PCI Bridge
pci bus 0x0000 cardnum 0x1f function 0x00: vendor 0x8086 device 0x2811
Intel Corporation Mobile LPC Interface Controller
pci bus 0x0000 cardnum 0x1f function 0x01: vendor 0x8086 device 0x2850
Intel Corporation Mobile IDE Controller
pci bus 0x0000 cardnum 0x1f function 0x02: vendor 0x8086 device 0x2829
Intel Corporation Mobile SATA AHCI Controller
pci bus 0x0000 cardnum 0x1f function 0x03: vendor 0x8086 device 0x283e
Intel Corporation 82801H (ICH8 Family) SMBus Controller
pci bus 0x0001 cardnum 0x00 function 0x00: vendor 0x10de device 0x0429
nVidia Corporation Device unknown
pci bus 0x0003 cardnum 0x00 function 0x00: vendor 0x8086 device 0x4230
Intel Corporation Device unknown
pci bus 0x0015 cardnum 0x00 function 0x00: vendor 0x1180 device 0x0476
Ricoh Co Ltd RL5c476 II
pci bus 0x0015 cardnum 0x00 function 0x01: vendor 0x1180 device 0x0832
Ricoh Co Ltd Device unknown
pci bus 0x0015 cardnum 0x00 function 0x02: vendor 0x1180 device 0x0822
Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter
pci bus 0x0015 cardnum 0x00 function 0x03: vendor 0x1180 device 0x0843
Ricoh Co Ltd Device unknown
pci bus 0x0015 cardnum 0x00 function 0x04: vendor 0x1180 device 0x0592
Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter
pci bus 0x0015 cardnum 0x00 function 0x05: vendor 0x1180 device 0x0852
Ricoh Co Ltd xD-Picture Card Controller
Different ways of playing audio CD in Solaris
* Solaris Express and SXDE by default ships
- rhythmbox (/usr/bin/rhythmbox) for organizing and playing audio CD's
- sound-juicer (/usr/bin/sound-juicer) for playing audio CD's
If you wish to play audio CD's from Xmms . Follow the below steps .
*) install Xmms from blastwave.org
*) start Xmms right click and goto Options -> Preferences
* ) Select Solaris audio plugin (libSolaris.so)
*) Click on CD Audio Player plugin and then click on Configure button
*) Make sure you enter the correct information for Device: and to a vaild Directory:
hint: to find the correct CD/DVD drive info you can run "rmformat" command
*) Insert the CD into drive and click on add files and browse the directory which you have pointed in previous step.
Enjoy music !!!
Projector configuration for intel i945 ( i810 ) driver for Solaris
Recently installed Solaris Express build 70 in couple of laptops which had Intel 945 chipsets . So enabled compiz-fusion on them with the help of Erwann's Compiz-fusion packages . Next step was to configure display for projector. Below procedure should work for Intel chipsets which uses i945 (i810) driver. To make laptop projector aware add the following lines in /etc/X11/xorg.conf in Section "Device" . Note that you need to modify BusID for your Laptop / Desktop requirement.
<snip>
BusID "PCI:0:2:0" # modify it for your laptop / desktop
Option "Clone" "true"
Option "MonitorLayout" "CRT,LFP"
<snip>
Sample section
<code>
Section "Device"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
### [arg]: arg optional
#Option "NoAccel" # [<bool>]
#Option "SWcursor" # [<bool>]
#Option "ColorKey" # <i>
#Option "CacheLines" # <i>
#Option "Dac6Bit" # [<bool>]
#Option "DRI" # [<bool>]
#Option "NoDDC" # [<bool>]
#Option "ShowCache" # [<bool>]
#Option "XvMCSurfaces" # <i>
#Option "PageFlip" # [<bool>]
Identifier "Card0"
Driver "i810"
VendorName "Intel Corporation"
BoardName "Mobile 945GM/GMS/940GML Express Integrated Graphics Controller"
BusID "PCI:0:2:0"
BusID "PCI:0:2:0"
Option "Clone" "true"
Option "MonitorLayout" "CRT,LFP"
EndSection
</code>
You can have a look at the sample xorg.conf from Solaris Express build 70 . I have tested with Intel 945 GM chipset .
Posted by pradhap ( Sep 13 2007, 06:48:11 AM PDT ) Permalink Comments [3]
X.Org 7.3 with DTrace support released
X.Org 7.3 has been released last week. One of the interesting feature is DTrace support for X server. When run under OpenSolaris platform it allows detailed accounting of operations inside the X server. For more information visit Alan Coopersmith's webpage.
Posted by pradhap ( Sep 09 2007, 10:27:17 PM PDT ) Permalink
Belenix featured in http://www.isohunt.com
Belenix is featured in main page of http://www.isohunt.com
<<snip from isohunt.com>>
Since the nice folks over at
Genunix.org
the makers of Belenix (an OpenSolaris distribution) have decided to use
us to distribute their torrents, and their trackers were failing under
the load, I've decided to upload their torrent to torrentbox.com with
us listed as an additional tracker, hopefully this will help out the
folks at tuxdistro.com.
Anyway, I've been nice enough to 'donate' one of our machines
(a02.ext.isohunt.com) as a seed box and one of my personal machines as
well, let's hope that it helps get this distro out into the public eye.
More info http://www.isohunt.com/forum/viewtopic.php?p=266395&highlight=#266395
<<snip>>
Posted by pradhap ( Sep 07 2007, 01:28:07 AM PDT ) PermalinkMount NTFS / Ext2 / Ext3 / FAT 16 / FAT 32 in Solaris
I often get queries about mounting NTFS / Ext2 / Ext3 / FAT 16 / FAT 32 partions in Solaris . Follow the below steps . Note that its only read-only support for NTFS / Ext2 / Ext3 .
* Download packages
FSWpart
FSWfsmisc
Note these are packages for x86 Solaris .
* unzip the packages and install it
root~#gzcat FSWpart.tar.gz | tar xvf -
root~#gzcat FSWfsmisc.tar.gz | tar xvf -
root~#pkgadd -d . FSWpart
root~#pkgadd -d . FSWfsmisc
* Now run the prtpart tool
root~#/usr/sbin/prtpart
It would result in following output
root~#/usr/sbin/prtpart
Fdisk information for device /dev/rdsk/c1d0p0
Block Size : 512 bytes
Controller : ide
Disk : cmdk
Capacity : 74 GB
# start block # nblocks startCylSecHd endCylSecHd OSType
1: 0000000063 0006152832 0/ 1/ 1 7e/7f/fe Diagnostic
2: 0006152895 0025173855 7f/41/ 0 ff/ff/fe WIN95 FAT32(LBA)
3: 0031328640 0052432128 ff/ff/fe ff/ff/fe Solaris x86
4: 0083760830 0072535555 ff/ff/fe ff/ff/fe DOS Extended
# start block # nblocks startCylSecHd endCylSecHd OSType
5: 0000000001 0031407012 ff/ff/fe ff/ff/fe Linux native
0: 0031407013 0001994202 ff/ff/fe ff/ff/fe DOS Extended
# start block # nblocks startCylSecHd endCylSecHd OSType
6: 0000000063 0001994139 ff/ff/fe ff/ff/fe Linux swap
0: 0033401215 0039134340 ff/ff/fe ff/ff/fe DOS Extended
# start block # nblocks startCylSecHd endCylSecHd OSType
7: 0000000063 0039134277 ff/ff/fe ff/ff/fe WIN95 FAT32(Upto 2047GB)
Now note the disk id. In the above example its "/dev/rdsk/c1d0p0"
Now run
root~#/usr/sbin/prtpart /dev/rdsk/c1d0p0 -ldevs
Fdisk information for device /dev/rdsk/c1d0p0
** NOTE **
/dev/dsk/c1d0p0 - Physical device referring to entire physical disk
/dev/dsk/c1d0p1 - p4 - Physical devices referring to the 4 primary partitions
/dev/dsk/c1d0p5 ... - Virtual devices referring to logical partitions
Virtual device names can be used to access EXT2 and NTFS on logical partitions
/dev/dsk/c1d0p1 Diagnostic
/dev/dsk/c1d0p2 WIN95 FAT32(LBA)
/dev/dsk/c1d0p3 Solaris x86
/dev/dsk/c1d0p4 DOS Extended
/dev/dsk/c1d0p5 Linux native
/dev/dsk/c1d0p6 Linux swap
/dev/dsk/c1d0p7 WIN95 FAT32(Upto 2047GB)
The above command scan you hard-disk and displays all available filesystems. Note the required filesystems to be mounted.
To mount NTFS partition use
root~#mount -F ntfs /dev/dsk/c1d0p<number> /mnt/windows
To mount FAT 16 / FAT 32 partition use
root~#mount -F pcfs /dev/dsk/c1d0p<number> /mnt/windows
if the above command fails you can try the below option
root~#prtpart /dev/dsk/c1d0p0 -fat
the above command should list the available PCFS / FAT partitions in colon notation, then use the same for mounting (eg)
root~#mount -F pcfs /dev/dsk/c1d0p0:d /mnt/windows
To mount Ext2 / Ext3 partitions use
root~#mount -F ext2fs /dev/dsk/c1d0p<number> /mnt/linux
To unmount a partition use "umount <directory>"
root~#umount /mnt/linux
Posted by pradhap ( Jul 16 2007, 03:07:20 AM PDT ) Permalink Comments [2] Yesterday tried installing Solaris Express on Sony Vaio laptop VGN-FE48G/H . Ran into few issues, which we eventually resolved.
*) Ethernet doesnot come up. It keeps throwing the error message on console
iprb0: Selftest failed Sig = 0 Result = ffffffff
iprb0: Port is not clear, SW reset command is not completed yet...
Workaround is to do update the driver alias
~#update_drv -a -i '"pci8086,1092"' iprb~#ifconfig -a plumb
*) For sound drivers download package oss-solaris-v4.0-1002-i386.pkg from http://www.opensound.com
and install it . Run "ossdetect" and "osstest" to see if audio works.
Tips for playing movies:-
~#mplayer -ao oss:/dev/oss/hdaudio0/pcm3 movie.mpg
For playing music in XMMS select
*) Preferences-> OSS Driver [libOSS.so]
Then click on configure and check the "Use alternate device" and add /dev/oss/hdaudio0/pcm3
Hidden Treasure in Solaris Express Developer Edition Release
I upgraded my laptop to Solaris Express Developer Edition (Build 55b). Found some cool flash presentation which is installed as part of Solaris Express Developer Edition (SXDE)
* Solaris 10 Features
* Sun Studio Features
* Netbeans
Demos are located at file:///usr/share/doc/soldevex/html/developer_guide.html
Below is the screenshot you can directly click on highlighted links.

Posted by pradhap ( Mar 01 2007, 02:11:23 AM PST ) Permalink
Recently Sun conducted TechDays across various parts in India. Main SunTech days event was held at Hyderabad. In addition to that Sun also conducted TechDays in various cities Mumbai, Pune and Delhi. We had 400+ (approx) attendees for the conference in Mumbai. Till 12pm we had "Live Satellite Link" to SunTech days Hyderabad. Sridhar Reddy from Sun Developer Outreach gave talks on (Java SE6, Simplifying Persistence and AJAX, jMaki and Phobos for Web 2.0 Development using Java) and I gave talk on "Solaris: The Developer Friendly Operating System". In addition to our talks we had speakers from Accenture (Implementing Secure J2EE Web Services & Sun Identity Management Solutions) and SAS (Data Visualization for Large Scale Analytical Data). People who attended talks were mostly working professionals and few students.
Since we delayed the start we had to rush through and some of the talks. My talk started at arround 6'pm evening. I had very little time to cover whole of Solaris 10 features. I ended my preso at arround 6.45pm and the people started of with various queries on (DTrace, ZFS and Zones). Solaris Q&A session went more than 20mins. Finally talk ended arround 7.15pm. Couple of folks stayed back and asked various queries about Solaris 10 technologies. It was a nice experience getting to know the developer community in Mumbai.
Posted by pradhap ( Feb 27 2007, 06:57:33 AM PST ) Permalink
Solaris first boot essential configurations Everytime one installs Solaris from a DVD/CD user needs to do a lot of initial configurations. The following perl script takes care some of those.
This script is meant to be run on development box in secure environment.This script enables SSHD explicitly so if someone doesnt want to root access for SSHD please disable "PermitRootLogin No" in "/etc/ssh/sshd_config" and restart SSHD daemon by "svcadm restart ssh"
Script configures following stuffs.
* Creates /root directory for root user updates /etc/passwd with "/root" directory and sets "/usr/bin/bash" as default shell
* Moves "/.dot-config" files to new /root directory
* Enables "PermitRootLogin yes" for /etc/ssh/sshd_config to allow root access over sshd and restarts sshd
service
* Create /root/.bashrc and /root/.bash_profile
| >updates with PATH and TERM settings |
| >bash prompt settings |
| >title bar customizations |
| >screen customization for telnet |
Belenix covered in TimesofIndia TimesofIndia is one of the leading newpapers which carried the article about Belenix . The Electronic version of this article can be viewed at
http://infotech.indiatimes.com/articleshow/1798092.cms
http://economictimes.indiatimes.com/articleshow/1798092.cms
Cool work Moinak!!!
Posted by pradhap
( Jul 24 2006, 05:10:00 AM PDT )
Permalink
Mount NTFS partition in Solaris In multiboot system if your have Windows with NTFS filesystem and you wanted read-only support this utlity can mount the NTFS filesystem in Solaris.
This project http://mount-ntfs.sourceforge.net/ NTFS Mount (Solaris), UFS Reader (Windows XP) has released utils for NTFS support for Solaris and UFS reader support for Windows vice-versa so that you can access data across . The idea here is to use NFSv2 server that has the ability to read raw blocks from a block device and interpret the raw data as per the NTFS on-disk format. You can use the existing NFS client in Solaris to mount via the loopback interface.
Download the binaries from http://sourceforge.net/project/showfiles.php?group_id=169514
* Warning You use this program on your own risk !!! *
For mounting a NTFS filesystem. Follow the below procedure.
bash-3.00~# fdisk /dev/rdsk/c1d0s0 Below is the sample output for the disk c1d0s0 === Total disk size is 38765 cylinders Cylinder size is 4032 (512 byte) blocks Cylinders Partition Status Type Start End Length % ====================== ====================================== 1 Diagnostic 0 1525 1526 4 2 IFS:NTFS 1526 7769 6244 16 <== NTFS 3 Active Solaris2 7770 20773 13004 34 4 EXTLBA 20774 38763 17990 46 SELECT ONE OF THE FOLLOWING: 1. Create a partition 2. Specify the active partition 3. Delete a partition 4. Change between Solaris and Solaris2 Partition IDs 5. Exit (update disk configuration and exit) 6. Cancel (exit without updating disk configuration) Enter Selection: 5 Press 5 to exit from fdisk menu. Note that your NTFS partition here is 2 . Now to mount the NTFS filesystem run the below command. bash-3.00# ./mount_ntfs.opensol-x86-binary /dev/rdsk/c1d0p2 /mnt/windows To unmount the file system type "kill 15554". bash-3.00# mount / on /dev/dsk/c1d0s0 read/write/setuid/devices/intr/largefiles/logging/xattr/onerror=panic/dev=1980000 on Wed Jul 12 16:01:09 2006 /devices on /devices read/write/setuid/devices/dev=4380000 on Wed Jul 12 16:00:47 2006 /system/contract on ctfs read/write/setuid/devices/dev=43c0001 on Wed Jul 12 16:00:47 2006 /proc on proc read/write/setuid/devices/dev=4400000 on Wed Jul 12 16:00:47 2006 /etc/mnttab on mnttab read/write/setuid/devices/dev=4440001 on Wed Jul 12 16:00:47 2006 /etc/svc/volatile on swap read/write/setuid/devices/xattr/dev=4480001 on Wed Jul 12 16:00:47 2006 /system/object on objfs read/write/setuid/devices/dev=44c0001 on Wed Jul 12 16:00:47 2006 /lib/libc.so.1 on /usr/lib/libc/libc_hwcap2.so.1 read/write/setuid/devices/dev=1980000 on Wed Jul 12 16:01:00 2006 /dev/fd on fd read/write/setuid/devices/dev=4680001 on Wed Jul 12 16:01:09 2006 /tmp on swap read/write/setuid/devices/xattr/dev=4480002 on Wed Jul 12 16:01:11 2006 /var/run on swap read/write/setuid/devices/xattr/dev=4480003 on Wed Jul 12 16:01:11 2006 /data on /dev/dsk/c1d0p1 read/write/setuid/devices/hidden/nofoldcase/dev=1980011 on Wed Jul 12 16:01:18 2006 /mnt/windows on 127.0.0.1:/ remote/read only/setuid/devices/port=53805/public/vers=2/proto=udp/xattr/dev=4740003 on Wed Jul 12 18:02:25 2006 For unmounting the filesystem you need to kill the process. eg) bash-3.00# kill 15554I tried mounting NTFS partition (Windows XP) under Solaris Nevada it works fine. Posted by pradhap ( Jul 18 2006, 05:33:25 AM PDT ) Permalink
Unison for Solaris x86 / AMD64 / Sparc platform Unison is a file-synchronization tool for Unix and Windows. It allows two replicas of a collection of files and directories to be stored on different hosts (or different disks on the same host), modified separately, and then brought up to date by propagating the changes in each replica to the other.
For more documentation click here.
If one needs compiled version of unison for AMD64 / x86 platform you can download it from here unison.gz
For SPARC version you can download from unison-sparc.gz
Download and gunzip unison.
Below are the for building on Solaris AMD / x86 / SPARC platform :-
Compile Ocaml:-
*) Download ocaml-3.09.2.tar.gz
*) Do ./configure
*) gmake world
*) gmake opt
*) gmake install
Compile Cl75:-
*) Download cl75unix.tar.gz
*) cd src
*) gmake configure && gmake world && gmake install
Compile labgtk :-
*) Download lablgtk-2.6.0.tar.gz
*) Do ./configure
*) sed 's/\-mt//g' config.make > config.make.mod
*) mv config.make.mod config.make
*) gmake world && gmake install
Compile unison :-
*) Download unison-2.13.16.tar.gz
*) sed 's/tail/gtail/g' Makefile.OCaml > Makefile.OCaml.mod
*) mv Makefile.OCaml.mod Makefile.OCam
*) gmake UISTYLE=gtk2 STATIC=true
*) copy unison to your location
Posted by pradhap
( Jul 05 2006, 12:23:16 AM PDT )
Permalink