Can't get information from batteries with apm

Kirill Yelizarov ykirill at yahoo.com
Sun Nov 11 02:31:42 PST 2007


Hi,

I have WalkAbout HammerHead HH3 tablet pc with recent
FreBSD 6.3-PRERELEASE.
This is a PIII-400MHz PC.
I get the following trap when i call apm when one or
both batteries are inserted.
When there are no batteries inserted the following
function doesn't generate a trap.

kernel trap 9 with interrupts disabled


Fatal trap 9: general protection fault while in kernel
mode
instruction pointer	= 0x70:0x3a45
stack pointer		= 0x28:0xcd32bb60
frame pointer		= 0x28:0xcd32bb78
code segment		= base 0x00f0000, limit 0xffff, type
0x1b
			= DPL 0, pres 1, def32 0, gran 0
processor eflags	= resume, IOPL = 0
current process		= 968 (apm)
[thread pid 968 tid 100073 ]
Stopped at	0x3a45: *** error reading from address 3a45
***
db> trace
Tracing pid 968 tid 100073 td 0xc26bd300
db>

This happens /usr/src/usr.sbin/apm/apm.c on line 226:
                        for (i = 0; i <
aip->ai_batteries; ++i) {
                                bzero(&aps,
sizeof(aps));
                                aps.ap_device =
PMDV_BATT0 + i;
                                if (ioctl(fd,
APMIO_GETPWSTATUS, &aps) == -1)
                                        continue;
                                printf("Battery
%d:\n", i);
                                if (aps.ap_batt_flag &
APM_BATT_NOT_PRESENT) {
                                        printf("not
present\n");
                                        continue;
                                }
 in function APM_GETPWSTATUS.

I don't see battery initialization messages in dmesg.
This PC has APM v1.2 only. 

Tell me, what else should i check to make APM and
batteries work?

Regards,

Kirill

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


More information about the freebsd-acpi mailing list