Paulie's World

Things I do ...

Adobe Flash Player 10.1 RC is now available as a prerelease. This version does not require the medialib dependency and should work on its own after installation. You can find it at the Adobe Labs site.

x86
$ wget http://download.macromedia.com/pub/labs/
flashplayer10/flashplayer10_1_rc1_solaris_x86_0
61010.tar.bz2
$ bzip2 -d flashplayer10_1_rc1_solaris_x86_061010.tar.bz2
$ tar xvf flashplayer10_1_rc1_solaris_x86_061010.tar
$ mkdir -p ~/.mozilla/plugins/
$ mv flash_player_solaris_10_1_53_64_x86/libflashplayer.so 
~/.mozilla/plugins/
  OR
$ pfexec mv flash_player_solaris_10_1_53_64_x86/
libflashplayer.so /usr/lib/firefox/plugins/
SPARC
$ wget http://download.macromedia.com/pub/labs/
flashplayer10/flashplayer10_1_rc1_solaris_sparc_
061010.tar.bz2
Follow x86 directions above
7:2 PST - June 11, 2010
On occasion if you are trying to fdisk or mount a USB disk on Solaris 10 you may get an error that says "Cannot open device." For example:
# fdisk /dev/rdsk/c2t0d0s2
Cannot open device
Things to check:
  • 1. Make sure you are root or have the correct user privilege
  • 2. Try `devfsadm -Cv` to remove any stale disk entries
  • 3. Stop volume management `svcadm disable volfs`
12:27 PST - June 9, 2010
If you have been using the package management system in the newest builds of OpenSolaris (b133+), you may have noticed the naming scheme changes that affect new and existing packages. [Full list of changes]

For example, trying to find the usb header file package is a bit trickier. These files, namely usba.h, usbai.h, and usbdevs.h, are not installed into /usr/include/sys/usb in the default installation. To retrieve them, use this command:

$ pfexec pkg install header-usb
In previous version, these files could have been obtained from either SUNWusbu or SUNWsfwhea. The removal of the SUNW prefix is the most apparent name change for the package collection. Now you can get busy building the latest apcupsd version!
13:46 PST - April 28, 2010
I needed to find a way to get the physical (MAC) address using C. From what I could gather from searching opensolaris.org, there are two methods for retrieving it: libdlpi and arp. libdlpi is the more elegant solution as it requires a simple call to dlpi_get_physaddr(). This is how ifconfig prints your network interface's MAC address. Unfortunately, libdlpi calls are only permitted as root.

As explained by James Carlson:

The reason it was like this was historical: getting the 
MAC address in ifconfig meant opening up the DLPI node
and talking to the driver. As the drivers didn't have
discrete privileges for each operation, and you had to be
almighty root to touch them, 'ifconfig' didn't show the
MAC address when not privileged.
*whatever*

The second solution is to use arp. In Solaris you can determine the physical address by looking at the arp tables directly (`arp -a | grep <INTERFACE>` or `netstat -p | grep <INTERFACE>`). With C, this can be done by using the if sockets and arp libraries.

I wrote up a solution called "getmac" using both methods. You can gather it here.

  • Directions
    $ wget http://www.pauliesworld.org/project/getmac.c
    $ gcc getmac.c -o getmac -lsocket -ldlpi
    $ ./getmac <interface_name>
    arp:	ffffffffffff
    dlpi:	dlpi failure, are you root?
    $ pfexec ./getmac <interface_name>
    arp:	ffffffffffff
    dlpi:	ffffffffffff
    
Remember to use pfexec for the libdlpi method.
8:3 PST - February 9, 2010
libupnp 1.6.6 is a little tricky to compile on Solaris. After downloading the source from Source Forge, you will want to extract the bzip2 and cd to the libupnp-1.6.6 directory, then do the following.
vi upnp/src/api/upnpapi.c
On line 59, there is a bug. Change
#if defined(_sun)
to
#if defined(__sun)
The change is adding an extra underscore. Otherwise sockio.h will not be recognized properly and you will get some missing networking variables when you try to build. After that is taken care of...
$ ./configure CFLAGS="-DSPARC_SOLARIS" --disable-samples
$ gmake
# gmake install
8:58 PST - February 3, 2010
After the failure of the SATA and USB ports on my Intel D945GCL Atom board, I decided to build out a new file server. Sticking to the Atom theme, I decided to go small and get the CompuLab FIT-PC2. This little toy uses the Z530 1.6Ghz CPU that apparently uses only 6 watts of power. I'm assuming that means *without* a hard drive installed.

fitpc2-outside.jpg

Measuring in at around 115 x 101 x 27mm (~ 4.5"x4.0"x1.0"), it is only big enough to hold one laptop sized 2.5" SATA drive.

fitpc2-insides.jpg

The drive I installed only has 80GB of space. That would run out real quick with my needs, so I decided to get a MediaSonic USB disk enclosure to link up with my server. It can hold up to 4 SATA drives.

fitpc2-probox.jpg

The PC sits on top of the enclosure on my bookshelf taking up 8.5" x 5.0" x 6.5" amount of space. This is not only power efficient, but space efficient since I am using 4 x 1TB drives. 4TB total (theoretical), ~2.6TB in a ZFS raidz. If I were to have purchased the 2TB drives, it would be even better.

Doug's blog on the FIT-PC2 gives a good overview on the features of the device and what works. There is no wifi driver and Xorg doesn't work, so you may want to install OpenSolaris on another machine before installing the internal HDD. My server is headless and uses the built-in gigabit ethernet, so I don't care about those issues.


Links and prices Total = $748
10:50 PST - January 21, 2010

Blog Archive by Year

2014 2013 2012 2011 2010 2009
Powered by Perl