On Wed, Sep 17, 2008 at 9:31 PM, Phil Endecott <phil_hmpau_endecott@xxxxxxxxxxxx> 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. -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html