* Toggling VGA out on Eee 901
@ 2008-09-16 21:43 Phil Endecott
2008-09-17 5:47 ` Zhang Rui
0 siblings, 1 reply; 7+ messages in thread
From: Phil Endecott @ 2008-09-16 21:43 UTC (permalink / raw)
To: linux acpi
Dear Experts,
I'm trying to work out how to get console video out toggling working on
my ASUS EEE 901 (running Debian). I get the feeling that I may be the
first person to try to do this, and I knew almost nothing about ACPI
until a couple of hours ago. Can anyone help?
Output toggling for X works fine, but that doesn't use ACPI. If the
machine is booted with an external monitor connected, console VGA out
is enabled; if the monitor is not connected it's not enabled. Looking
in /proc/acpi/video/VGA/CRTD/state I see
state: 0x1f
query: 0x01
when the machine was booted with the monitor connected and
state: 0x0d
query: 0x00
when the machine was booted without the monitor. Following the advice
of an old ACPI HOWTO I tried to store 0x80000001 in that file:
# /bin/echo 0x80000001 > /proc/acpi/video/VGA/CRTD/state
/bin/echo: write error: Bad address
I had a look at my iasl-disassembled /proc/dsdt and found this:
Device (VGA)
{
.....
Name (DONE, Zero)
.....
Device (CRTD)
{
.....
Method (_DSS, 1, NotSerialized)
{
If (And (Arg0, 0x40000000))
{
If (And (Arg0, 0x80000000))
{
Store (One, DONE)
}
}
}
}
}
I have never looked at this stuff before, but I don't get the
impression that it's actually going to do anything to the hardware
registers, is it? Am I looking in the wrong place? Based on that I
did try to store 0xC0000000 and 0xC0000001, and in this case there was
no "Bad address" error - but no output change either.
Can someone point me in the right direction?
I have put the complete dsdt.dsl here: http://chezphil.org/tmp/eee_901_dsdt.dsl
Many thanks, Phil.
(Please cc: me in any replies)
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Toggling VGA out on Eee 901
2008-09-16 21:43 Toggling VGA out on Eee 901 Phil Endecott
@ 2008-09-17 5:47 ` Zhang Rui
2008-09-17 10:52 ` Phil Endecott
0 siblings, 1 reply; 7+ messages in thread
From: Zhang Rui @ 2008-09-17 5:47 UTC (permalink / raw)
To: Phil Endecott; +Cc: linux acpi
Hi, phil,
On Tue, 2008-09-16 at 22:43 +0100, Phil Endecott wrote:
> Dear Experts,
>
> I'm trying to work out how to get console video out toggling working on
> my ASUS EEE 901 (running Debian). I get the feeling that I may be the
> first person to try to do this, and I knew almost nothing about ACPI
> until a couple of hours ago. Can anyone help?
> Output toggling for X works fine, but that doesn't use ACPI.
well, ACPI control method for video output switching seldom works.
And we use xrandr to switch the display in X.
I'm not sure but I'm afraid we don't have the plan to support video
output switch in console mode.
thanks,
rui
> If the
> machine is booted with an external monitor connected, console VGA out
> is enabled; if the monitor is not connected it's not enabled. Looking
> in /proc/acpi/video/VGA/CRTD/state I see
>
> state: 0x1f
> query: 0x01
>
> when the machine was booted with the monitor connected and
>
> state: 0x0d
> query: 0x00
>
> when the machine was booted without the monitor. Following the advice
> of an old ACPI HOWTO I tried to store 0x80000001 in that file:
>
> # /bin/echo 0x80000001 > /proc/acpi/video/VGA/CRTD/state
> /bin/echo: write error: Bad address
>
> I had a look at my iasl-disassembled /proc/dsdt and found this:
>
> Device (VGA)
> {
> .....
> Name (DONE, Zero)
> .....
>
> Device (CRTD)
> {
> .....
> Method (_DSS, 1, NotSerialized)
> {
> If (And (Arg0, 0x40000000))
> {
> If (And (Arg0, 0x80000000))
> {
> Store (One, DONE)
> }
> }
> }
> }
> }
>
> I have never looked at this stuff before, but I don't get the
> impression that it's actually going to do anything to the hardware
> registers, is it? Am I looking in the wrong place? Based on that I
> did try to store 0xC0000000 and 0xC0000001, and in this case there was
> no "Bad address" error - but no output change either.
>
> Can someone point me in the right direction?
> I have put the complete dsdt.dsl here: http://chezphil.org/tmp/eee_901_dsdt.dsl
>
>
> Many thanks, Phil.
>
> (Please cc: me in any replies)
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Toggling VGA out on Eee 901
2008-09-17 5:47 ` Zhang Rui
@ 2008-09-17 10:52 ` Phil Endecott
2008-09-18 2:47 ` Zhang Rui
0 siblings, 1 reply; 7+ messages in thread
From: Phil Endecott @ 2008-09-17 10:52 UTC (permalink / raw)
To: Zhang Rui; +Cc: linux acpi
Hi Rui,
Zhang Rui wrote:
> Hi, phil,
>
> On Tue, 2008-09-16 at 22:43 +0100, Phil Endecott wrote:
>> Dear Experts,
>>
>> I'm trying to work out how to get console video out toggling working on
>> my ASUS EEE 901 (running Debian). I get the feeling that I may be the
>> first person to try to do this, and I knew almost nothing about ACPI
>> until a couple of hours ago. Can anyone help?
>> Output toggling for X works fine, but that doesn't use ACPI.
> well, ACPI control method for video output switching seldom works.
> And we use xrandr to switch the display in X.
> I'm not sure but I'm afraid we don't have the plan to support video
> output switch in console mode.
As far as I can see, the code already exists in the kernel to support
this. The problem is that this BIOS doesn't define the necessary
methods (unless I've misunderstood something). When you say "don't plan
to support", do you mean that the existing kernel functionality is now
deprecated, or something?
Thanks, Phil.
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Toggling VGA out on Eee 901
[not found] <71cd59b00809170813hba237e8y2bb3b4b2e7604d04@mail.gmail.com>
@ 2008-09-17 19:31 ` Phil Endecott
2008-09-17 19:47 ` Corentin Chary
0 siblings, 1 reply; 7+ messages in thread
From: Phil Endecott @ 2008-09-17 19:31 UTC (permalink / raw)
To: Corentin Chary; +Cc: linux acpi
Corentin Chary wrote:
> you can try the "disp" file under /sys/device/platform/eeepc-laptop/
> Try echo 1, echo 0, etc ... It may do something
Thanks for the suggestion. It doesn't work, though I think it's trying
to do something. The code for the "disp" file checks a capabilities
bitmask in which I think the DISPLAYSWITCH bit is set, and writes call
a method called SDSP, which eventually seems to do an I/O byte write (I
think). I'm well out of my depth here so I'm going to move on to the
next problem, but I'm willing to try out any suggestions that people have.
Cheers, Phil
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Toggling VGA out on Eee 901
2008-09-17 19:31 ` Phil Endecott
@ 2008-09-17 19:47 ` Corentin Chary
2008-09-17 21:08 ` Phil Endecott
0 siblings, 1 reply; 7+ messages in thread
From: Corentin Chary @ 2008-09-17 19:47 UTC (permalink / raw)
To: Phil Endecott; +Cc: linux acpi
On Wed, Sep 17, 2008 at 9:31 PM, Phil Endecott
<phil_hmpau_endecott@chezphil.org> wrote:
> Corentin Chary wrote:
>>
>> you can try the "disp" file under /sys/device/platform/eeepc-laptop/
>> Try echo 1, echo 0, etc ... It may do something
>
> Thanks for the suggestion. It doesn't work, though I think it's trying to
> do something. The code for the "disp" file checks a capabilities bitmask in
> which I think the DISPLAYSWITCH bit is set, and writes call a method called
> SDSP, which eventually seems to do an I/O byte write (I think). I'm well
> out of my depth here so I'm going to move on to the next problem, but I'm
> willing to try out any suggestions that people have.
>
> Cheers, Phil
It may be like http://acpi4asus.sourceforge.net/README
4.1.1 Display switching
Note: the display switching code is currently considered EXPERIMENTAL.
Switching works for the following models:
L3800C
A2500H
L5800C
M5200N
W1000N (albeit with some glitches)
M6700R
A6JC
F3J
Switching doesn't work for the following:
M3700N
L2X00D (locks the laptop under certain conditions)
To switch the displays, echo values from 0 to 15 to
/sys/devices/platform/asus-laptop/display. The significance of those values
is as follows:
+-------+-----+-----+-----+-----+-----+
| Bin | Val | DVI | TV | CRT | LCD |
+-------+-----+-----+-----+-----+-----+
+ 0000 + 0 + + + + +
+-------+-----+-----+-----+-----+-----+
+ 0001 + 1 + + + + X +
+-------+-----+-----+-----+-----+-----+
+ 0010 + 2 + + + X + +
+-------+-----+-----+-----+-----+-----+
+ 0011 + 3 + + + X + X +
+-------+-----+-----+-----+-----+-----+
+ 0100 + 4 + + X + + +
+-------+-----+-----+-----+-----+-----+
+ 0101 + 5 + + X + + X +
+-------+-----+-----+-----+-----+-----+
+ 0110 + 6 + + X + X + +
+-------+-----+-----+-----+-----+-----+
+ 0111 + 7 + + X + X + X +
+-------+-----+-----+-----+-----+-----+
+ 1000 + 8 + X + + + +
+-------+-----+-----+-----+-----+-----+
+ 1001 + 9 + X + + + X +
+-------+-----+-----+-----+-----+-----+
+ 1010 + 10 + X + + X + +
+-------+-----+-----+-----+-----+-----+
+ 1011 + 11 + X + + X + X +
+-------+-----+-----+-----+-----+-----+
+ 1100 + 12 + X + X + + +
+-------+-----+-----+-----+-----+-----+
+ 1101 + 13 + X + X + + X +
+-------+-----+-----+-----+-----+-----+
+ 1110 + 14 + X + X + X + +
+-------+-----+-----+-----+-----+-----+
+ 1111 + 15 + X + X + X + X +
+-------+-----+-----+-----+-----+-----+
In most cases, the appropriate displays must be plugged in for the above
combinations to work. TV-Out may need to be initialized at boot time.
Debugging:
1) Check whether the Fn+F8 key:
a) does not lock the laptop (try disabling CONFIG_X86_UP_APIC or boot with
noapic / nolapic if it does)
b) generates events (0x6n, where n is the value corresponding to the
configuration above)
c) actually works
Record the disp value at every configuration.
2) Echo values from 0 to 15 to /sys/devices/platform/asus-laptop/display.
Record its value, note any change. If nothing changes, try a broader range,
up to 65535.
3) Send ANY output (both positive and negative reports are needed, unless your
machine is already listed above) to the acpi4asus-user mailing list.
Note: on some machines (e.g. L3C), after the module has been loaded, only 0x6n
events are generated and no actual switching occurs. In such a case, a line
like:
echo $((10#$arg-60)) > /sys/devices/platform/asus-laptop/display
will usually do the trick ($arg is the 0000006n-like event passed to acpid).
Note: there is currently no reliable way to read display status on xxN
(Centrino) models.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Toggling VGA out on Eee 901
2008-09-17 19:47 ` Corentin Chary
@ 2008-09-17 21:08 ` Phil Endecott
0 siblings, 0 replies; 7+ messages in thread
From: Phil Endecott @ 2008-09-17 21:08 UTC (permalink / raw)
To: Corentin Chary; +Cc: linux acpi
Corentin Chary wrote:
> On Wed, Sep 17, 2008 at 9:31 PM, Phil Endecott
> <phil_hmpau_endecott@chezphil.org> wrote:
>> Corentin Chary wrote:
>>>
>>> you can try the "disp" file under /sys/device/platform/eeepc-laptop/
>>> Try echo 1, echo 0, etc ... It may do something
>>
>> Thanks for the suggestion. It doesn't work, though I think it's trying to
>> do something. The code for the "disp" file checks a capabilities bitmask in
>> which I think the DISPLAYSWITCH bit is set, and writes call a method called
>> SDSP, which eventually seems to do an I/O byte write (I think). I'm well
>> out of my depth here so I'm going to move on to the next problem, but I'm
>> willing to try out any suggestions that people have.
> It may be like http://acpi4asus.sourceforge.net/README
> To switch the displays, echo values from 0 to 15 to
> /sys/devices/platform/asus-laptop/display. The significance of those values
> is as follows:
>
> +-------+-----+-----+-----+-----+-----+
> | Bin | Val | DVI | TV | CRT | LCD |
> +-------+-----+-----+-----+-----+-----+
> + 0000 + 0 + + + + +
> +-------+-----+-----+-----+-----+-----+
[snip]
Yes, I tried all these values (and a few hundred thousand more...) with
no luck. Thanks for the suggestion.
Phil.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Toggling VGA out on Eee 901
2008-09-17 10:52 ` Phil Endecott
@ 2008-09-18 2:47 ` Zhang Rui
0 siblings, 0 replies; 7+ messages in thread
From: Zhang Rui @ 2008-09-18 2:47 UTC (permalink / raw)
To: Phil Endecott; +Cc: linux acpi
On Wed, 2008-09-17 at 18:52 +0800, Phil Endecott wrote:
> Hi Rui,
>
> Zhang Rui wrote:
> > Hi, phil,
> >
> > On Tue, 2008-09-16 at 22:43 +0100, Phil Endecott wrote:
> >> Dear Experts,
> >>
> >> I'm trying to work out how to get console video out toggling
> working on
> >> my ASUS EEE 901 (running Debian). I get the feeling that I may be
> the
> >> first person to try to do this, and I knew almost nothing about
> ACPI
> >> until a couple of hours ago. Can anyone help?
> >> Output toggling for X works fine, but that doesn't use ACPI.
>
> > well, ACPI control method for video output switching seldom works.
> > And we use xrandr to switch the display in X.
> > I'm not sure but I'm afraid we don't have the plan to support video
> > output switch in console mode.
>
> As far as I can see, the code already exists in the kernel to support
> this. The problem is that this BIOS doesn't define the necessary
> methods (unless I've misunderstood something).
it's true that there is some code that is used for display switch in
ACPI video driver.
It evaluates the ACPI control methods to switch the display, but
unfortunately we don't have any BIOSes that these methods actually
work...
> When you say "don't plan
> to support", do you mean that the existing kernel functionality is now
> deprecated,
right.
I've sent a patch to remove this piece of code sometime before...
BTW: forgot to mention, the platform drivers may have the ability to
switch the display via some platform specific methods, but that depends.
and it's beyond my scope. :).
I can only say that display switching via the predefined ACPI control
methods doesn't work.
thanks,
rui
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2008-09-18 2:47 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-16 21:43 Toggling VGA out on Eee 901 Phil Endecott
2008-09-17 5:47 ` Zhang Rui
2008-09-17 10:52 ` Phil Endecott
2008-09-18 2:47 ` Zhang Rui
[not found] <71cd59b00809170813hba237e8y2bb3b4b2e7604d04@mail.gmail.com>
2008-09-17 19:31 ` Phil Endecott
2008-09-17 19:47 ` Corentin Chary
2008-09-17 21:08 ` Phil Endecott
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox