First Installment (of frkit)

I've teased people before about the nifty hacks I've been doing for my Ferrari 3400 laptop.

The hacks I did and the tool I wrote to make the distribution easier were so well liked that there was this "meme" propagating that whenever we got even cooler laptops, I should get the first one. And so it happened, I literally got the first Ferrari 4000 shipped to Sun.

Now, this is a whole different beast than the Ferrari 3400 and I haven't yet gotten quite to the same comfort level yet.

I've long promised to make all of the neat stuff available, but legalities are the difficult part of such a venture. But now with OpenSolaris and a supported license scheme (plus management buy-in), I now feel comfortable to release the stuff which I wrote or was derived from source now available under the CDDL)

The first installment includes my single CPU "PowerNow!(tm)" driver and my battery driver and utility.

What the heck, let's throw in the mdb scripts which enable the additional keys on the Acer keyboards (mail, www, P1, P2, audio control). Some of these appear standard controls and may work for internet keyboards as well.

The tar.gz files all come with an install script which will take care of all the details of the installation; the battery driver requires ACPICA; that is only included in Solaris Nevada (11) build 14 and later.

I'll see what I can do about the GNOME battery utility we've done as well; oh, sorry for the somewhat lacking documentation.

Update: I've added acpipowertool, a small graphic battery meter by Matt Simmons, and fixed some installation issues for root user's without "nm" in $PATH.

Update2: (2005/7/31) Ive upgraded powernow so it works for more systems and to better integrate powernowadm with SMF; apcidrv is also updated to do a little bit more of thermal zone handling.

acpidrv only works for Solaris express build 14 and later; powernow should work with Solaris 10 GA also.

Update3: frkit is for some time now available as runnable script at in the

Permanent link to this entry


So when will this stuff be merged into OpenSolaris?

Posted by Jimmy Laptop on June 28, 2005 at 11:23 AM MEST #

The code I just is experimental and defies much of what we call "architectures". So this exact code will not make it into Solaris or OpenSolaris. But code like it certainly will. The power management is very important for laptops and grid computing; battery status is a must have.

Posted by Casper Dik on June 28, 2005 at 02:31 PM MEST #

Thanks Casper for the battery and power code; but what is really lacking is wireless support. A laptop is defined by portability, and portability by wireless capabilities. Solaris, IMO, is just short of useless on a laptop without wireless connectivity. Give us WirelessNow, forget PowerNow(tm)! ;-)

Posted by Charles Meeks on June 29, 2005 at 08:35 AM MEST #

Great job! I am wondering whether you could make "suspend to ram" work as well? OTHO, making Solaris working on Ferrari laptops is great. However, not everyone can afford a Ferrari. Without diminishing your great contributions, I am also wondering whether it would be possible to have your scripts ported to more "Honda Civic" type laptops such as HP ze2000e and the zv6125s (both are based on the Turion64 chips, same as Ferrari 4000 but much cheaper.) Thanks again for your excellent work.

Posted by W. Wayne Liauh on June 29, 2005 at 02:01 PM MEST #

The "powernow" code should work on the Turion64 based systems as well; I haven't yet done a lot of testing but it seem that the Ferrari 4000 just downshifts to 800MHz as well; this all depends on the presence of the appropriate tables in the ACPI BIOS which list which power states use what parameters.

I think we all know how Solaris/x86 was first 'serverized' (no laptop support, later no desktop support) and then really abandoned. We're recovering from four or five years of wanton neglect and such recovery takes time. We made great strides in Solaris 10, the first release with substantial x86 specific optimizations and features and full fledged amd64 support.

The power management stuff I threw over the fence is a stop-gap; without it I find that the AMD64 laptops are too hot to handle and battery life sucks too.

We have people working on the various ACPI power, states including suspend to RAM which would probably happen automatically when you close the lid.

Another important laptop feature is wifi; I think we're fairly close to releasing those prototypes as well.

Posted by Casper Dik on June 29, 2005 at 02:11 PM MEST #

Wow, I am speechless! Please keep us posted of your progress. My wholehearty thanks in advance!!! On my way home, I am going to get an HP Turion64 notebook that is advertised by CompUSA for $599: One question: Should I try Solaris 10 or the lazy/binary version of OpenSolaris (nv16)? Thanx again. (This sale ends this Saturday, and I encourage everyone interested in exploring Solaris on laptops get one. I looked at a floor model this Sunday, running Windows, and it is much better than anyone would have expected at this price.)

Posted by W. Wayne Liauh on June 29, 2005 at 06:40 PM MEST #

I've posted the GNOME battery applet source and binary to my blog

Posted by Darren Moffat on July 18, 2005 at 05:21 PM MEST #

Is Solaris 10 considered "Solaris Nevada (11) build 14 and later"? Thanx

Posted by W. Wayne Liauh on July 28, 2005 at 12:34 PM MEST #

I had to add some patch to your code. My laptop BIOS (Acer Aspire 1520) sets FIDVID_\*_MSR that are not ACPI _PSS. The BIOS sets VID=0/FID=e to MSR, but the ACPI reported _PSS are VID=2/FID=e | VID=6/FID=c | VID=a/FID=a | VID=12/FID=0. I recommend to add code in the powernow driver initialization to set VID/FID with first ACPI-compliant values.

Posted by Martin Cerveny on September 05, 2005 at 12:04 PM MEST #

I broke down recently and splurged on the ferrari 4000 laptop. It is a very nice laptop lots of nice features. Is there anything, in your experience, that you can divulge about getting it up and running with Solaris (nv_19 currently ripped to cd)?

Posted by Joe Gainey on September 16, 2005 at 02:45 PM MEST #

I've installed acpidrv on Solaris Express 8/05 in my Toshiba notebook (Satellite A45-S2501) and it reports the battery levels and temperature. Something, however, makes me curious: no matter what, it always reports that the system is running on AC power, even when disconnected from AC. I have investigated further and found that prtconf -v shows the status for device ACPI0003 (_SB.ADP1) as "driver not attached". Shouldn't acpidrv be attached to this device? Why does it behave so?

Posted by Douglas Atique on September 21, 2005 at 11:23 AM MEST #

The driver not attached message is weird; please set the kernel variable "acpidrv:acpidrv_allnotify" to 1 and see if that yields any messages for unplugging the powercord. The acpi driver caches the information of the power status so that may be an issue.

Posted by Casper Dik on September 22, 2005 at 05:10 AM MEST #

I have tried setting acpidrv:acpidrv_allnotify=1 in /etc/system and rebooted, yet nothing gets printed in the console, except for a thermal zone message on reboot. The acpipowertool still says I am connected to AC whatever happens.
I am very interested in knowing what goes on under the hood with ACPI. I already know there is some kind of microcode in some specific memory locations that is specific to my hardware and there is an interpreter for this code that is provided by the OS, and that when a hardware event triggers an event handler must be registered somehow in the OS (in Solaris case, some functions inside acpidrv module) so that it can take proper action. But what happens behind the scenes with prtconf? Why does it say there is no driver attached? Does it have something to do with the minor device number you create on /dev?
prtconf -v still says acpi device has no driver attached. Here it is (just the part that talks about acpi):
acpi (driver not attached)
Hardware properties:
name='acpi-namespace' type=string items=1
name='model' type=string items=1
value='ACPI AC Device'
name='compatible' type=string items=1

Posted by Douglas Atique on September 26, 2005 at 09:20 AM MEST #

I have upgraded to Solaris Express 9/05 and I had to uninstall acpidrv, as now the machine gets hot and the X console hangs. Without the driver, everything goes ok. Any known issues?

Posted by Douglas Atique on October 09, 2005 at 06:07 PM MEST #

Oops, I have blamed acpidrv for my lockup, but I was wrong. I found out that it is in fact the X server that is hanging my display. Please delete the comment above. Sorry...

Posted by Douglas Atique on October 11, 2005 at 11:29 AM MEST #

The acpidrv (2005-08-02) reports correctly the AC status.
And the atheros driver was promptly recognized in my Toshiba Satellite A45-S2501 notebook
Thanks, Casper!

Posted by Douglas Atique on October 11, 2005 at 10:52 PM MEST #

Hello Sir, I would like to try your driver. However the content of following URL is missing. Thanks, ------ mh

Posted by Masaki Hasegawa on January 26, 2006 at 12:18 AM MET #

Masaki, You typed in the wrong address. Just click on the link for powernow:

Posted by Dan on December 06, 2006 at 02:47 PM MET #

Hi!! I hass ben used, from a very long time, the frkit (before destroy my acer 5050, literally, with a electric shock in a openSolaris presentation), and it's a great job, but now I have a hp pavilion dv2625, the keyboard hack work only for volumen control. I did like to know how you discover the key codes from ferrary, to do something similar with my hp laptop. Thanks and excuse my bad english. Regards from Chile!

Posted by Raul Ortega on May 26, 2008 at 01:07 PM MEST #

Post a Comment:
Comments are closed for this entry.



« March 2015