Dell Precision M70 and S3

Stefan Farfeleder stefanf at FreeBSD.org
Sun Jan 7 06:03:23 PST 2007


Hi,

I'm trying to get S3 working on an Dell Precision M70, for the moment
without X.  I have two problems:

1) This notebook has a serial port which I'd like to use for debugging
my second problem.  However, after resuming it seems to be dead.  If I
restart getty on /dev/ttyd0 I get this error:

  open /dev/ttyd0: Input/output error

Is the combination sio and ACPI suspend/resume generally suppposed to
work?

2) Resuming basically works but the display stays black.  If I write to
hw.acpi.video.*.active or press the CRT/LCD Fn-key the notebook
completely freezes.  If I load acpi_video, I get this:

---
acpi_video0: <ACPI video extension> on vgapci0
found TV/HDTV or Analog-Video Monitor(200), idx#0, port#0, detectable by BIOS, head #0
found VGA CRT or VESA Compatible Analog Monitor(100), idx#0, port#0, detectable by BIOS, head #0
found Internal/Integrated Digital Flat Panel(110), idx#0, port#1, detectable by BIOS, head #0
found VGA CRT or VESA Compatible Analog Monitor(120), idx#0, port#2, detectable by BIOS, head #0
--

And this is the -v kernel output from suspending and resuming in case
that's any help:

---
acpi_button1: sleep button pressed
acpi_lid0: wake_prep enabled for \\_SB_.LID_ (S3)
acpi_button0: wake_prep enabled for \\_SB_.PBTN (S3)
unknown: wake_prep disabled wake for \\_SB_.PCI0.USB0 (S3)
unknown: wake_prep disabled wake for \\_SB_.PCI0.USB1 (S3)
unknown: wake_prep disabled wake for \\_SB_.PCI0.USB2 (S3)
unknown: wake_prep disabled wake for \\_SB_.PCI0.USB4 (S3)
unknown: wake_prep disabled wake for \\_SB_.PCI0.USB3 (S3)
pci1:0:0: Transition from D0 to D3
pci3:3:0: Transition from D0 to D3
vga0: saving 68 bytes of video state
pci0:31:2: Transition from D0 to D3
======== acpi_printcpu() debug dump ========
gdt[0097:c0655680] idt[07ff:c0655b40] ldt[0050] tr[0048] efl[00080086]
eax[c48b4101] ebx[c48fde80] ecx[00000004] edx[c48b41b0]
esi[00000003] edi[00000000] ebp[e350dc5c] esp[e350dc40]
cr0[8005003b] cr2[bfbfdf1c] cr3[0081e000] cr4[00000691]
cs[0020] ds[0028] es[0028] fs[0008] gs[003b] ss[0028]
======== acpi_printcpu() debug dump ========
gdt[0097:c0655680] idt[07ff:c0655b40] ldt[0050] tr[0048] efl[00000002]
eax[00000046] ebx[c48fde80] ecx[e30cf000] edx[00000001]
esi[00000003] edi[00000000] ebp[e350dc5c] esp[e350dc40]
cr0[8005003b] cr2[bfbfdf1c] cr3[0081e000] cr4[00000691]
cs[0020] ds[0028] es[0028] fs[0008] gs[003b] ss[0028]
acpi_lid0: run_prep cleaned up for \\_SB_.LID_
acpi_button0: run_prep cleaned up for \\_SB_.PBTN
pci2:0:0: Transition from D3 to D0
battery0: battery initialization start
battery1: battery initialization start
battery0: battery initialization done, tried 1 times
wakeup from sleeping state (slept 00:00:20)
ata0: reiniting channel ..
ata0: reset tp1 mask=03 ostat0=50 ostat1=00
ata0: stat0=0x50 err=0x01 lsb=0x00 msb=0x00
ata0: stat1=0x00 err=0x01 lsb=0x00 msb=0x00
ata0: reset tp2 stat0=50 stat1=00 devices=0x1<ATA_MASTER>
ata0: reinit done ..
ata1: reiniting channel ..
ata1: reset tp1 mask=03 ostat0=50 ostat1=00
ata1: stat0=0x00 err=0x01 lsb=0x14 msb=0xeb
ata1: stat1=0x00 err=0x00 lsb=0x00 msb=0x00
ata1: reset tp2 stat0=00 stat1=00 devices=0x4<ATAPI_MASTER>
ata1: reinit done ..
atkbd: the current kbd controller command byte 0065
atkbd: keyboard ID 0x41ab (2)
kbdc: RESET_KBD return code:00fa
kbdc: RESET_KBD status:00aa
battery1: battery initialization failed, giving up
---

You can find the ASL and the boot -v output at
http://people.freebsd.org/~stefanf/dell-m70/ .  I patched the _WAK
method as advised on http://forums.gentoo.org/viewtopic.php?t=122145 ,
but it makes no difference over the original DSDT.

Regards,
Stefan



More information about the freebsd-mobile mailing list