Date: Wed, 5 Mar 2008 16:01:12 -0800 (PST) From: Vishwanathan S V N <vishketan@yahoo.com> To: freebsd-acpi@freebsd.org Cc: Mitsuru IWASAKI <iwasaki@jp.FreeBSD.org> Subject: Re: Sony Vaio VGN SZ483NC warm docking issues Message-ID: <860839.34422.qm@web31704.mail.mud.yahoo.com>
next in thread | raw e-mail | index | archive | help
Hi, > > I used load acpi_dock.ko and then boot as suggested by you but the problem still persists. I can undock successfully but cannot redock. > Hmm, your \_SB.DOCK._STA method always seems to return zero (i.e. dock > status method indicates that the system is undocked all the time) > that's why the same problem occurs on Linux kernel, I guess. It looks like your guess might be right. > Case 1: boot the docked system. > Then obtain dock device information by sysctl and dmesg command. > # sysctl dev.acpi_dock > acpi_dock-boot.txt > # dmesg > dmesg-boot.txt http://users.rsise.anu.edu.au/~vishy/FreeBSD/acpi_dock-boot.txt http://users.rsise.anu.edu.au/~vishy/FreeBSD/dmesg-boot.txt > Case 3: boot the docked system, undock and redock. > sysctl command after redocking. > # sysctl dev.acpi_dock > acpi_dock-redocked.txt > # dmesg > dmesg-redocked.txt http://users.rsise.anu.edu.au/~vishy/FreeBSD/acpi_dock-redocked.txt http://users.rsise.anu.edu.au/~vishy/FreeBSD/dmesg-redocked.txt > Case 2: boot the undocked system and dock. > sysctl command after docking. > # sysctl dev.acpi_dock > acpi_dock-docked.txt > # dmesg > dmesg-docked.txt http://users.rsise.anu.edu.au/~vishy/FreeBSD/acpi_dock-docked.txt http://users.rsise.anu.edu.au/~vishy/FreeBSD/dmesg-docked.txt I did Case 1 and Case 3 in the same boot i.e. I booted docked then obtained the sysctl and dmesg information. Then undocked and redocked and obtained the information again. I hope that is OK. If I understand correctly this method from the decompiled dsdt might be at fault: Method (_STA, 0, NotSerialized) { If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00)) { If (LAnd (PHSB (0xD4, 0x9E), 0x40)) { Return (0x0F) } Else { Return (0x00) } } Else { If (\_SB.PCI0.LPCB.EC0.IUSE) { Return (0x0F) } Else { Return (0x00) } } } I can see from the dmesg that when I boot docked then this method returns 0x0F as expected. But when I redock it seems to return 0x00. Can we figure out which of the two cases if(LEqual ...) or else is being triggered when I redock or dock after booting outside? vishy ____________________________________________________________________________________ Looking for last minute shopping deals? Find them fast with Yahoo! Search. http://tools.search.yahoo.com/newsearch/category.php?category=shopping
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?860839.34422.qm>