~system76-dev/system76-driver/2.1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#!/usr/bin/env python
#
## System76, Inc.
## Copyright System76, Inc.
## Released under the GNU General Public License (See LICENSE)
##
## Fixes Suspend and Hibernate on System76 machines
import os
import fileinput
import time
import ubuntuversion

today = time.strftime('%Y%m%d_h%Hm%Ms%S')

def acpi1():
    """Configures S1 sleep"""
    os.system('sudo cp /etc/default/acpi-support /etc/default/acpi-support_sys76backup_%s' % today)
    os.system('sudo cp /opt/system76/system76-driver/src/acpi/feisty/acpi-support /etc/default/acpi-support')
    os.system('sudo cp /opt/system76/system76-driver/src/acpi/feisty/89-brightup.sh /etc/acpi/resume.d/89-brightup.sh')
    os.system('sudo cp /etc/acpi/resume.d/60-asus-wireless-led.sh /etc/acpi/resume.d/60-asus-wireless-led.sh_sys76backup_%s' % today)
    os.system('sudo cp /opt/system76/system76-driver/src/acpi/feisty/60-asus-wireless-led.sh /etc/acpi/resume.d/60-asus-wireless-led.sh')
    
def acpi2():
    """Configures S3 sleep"""
    os.system('sudo cp /etc/default/acpi-support /etc/default/acpi-support_sys76backup_%s' % today)
    os.system('sudo cp /opt/system76/system76-driver/src/acpi/gazv3/acpi-support /etc/default/acpi-support')
    os.system('sudo cp /opt/system76/system76-driver/src/acpi/feisty/89-brightup.sh /etc/acpi/resume.d/89-brightup.sh')
    os.system('sudo cp /etc/acpi/resume.d/60-asus-wireless-led.sh /etc/acpi/resume.d/60-asus-wireless-led.sh_sys76backup_%s' % today)
    os.system('sudo cp /opt/system76/system76-driver/src/acpi/feisty/60-asus-wireless-led.sh /etc/acpi/resume.d/60-asus-wireless-led.sh')
    
def acpi3():
    """Configures S1 sleep on Ubuntu 7.10"""
    os.system('sudo cp /etc/default/acpi-support /etc/default/acpi-support_sys76backup_%s' % today)
    os.system('sudo cp /opt/system76/system76-driver/src/acpi/gutsy/acpi-support /etc/default/acpi-support')
    os.system('sudo cp /opt/system76/system76-driver/src/acpi/feisty/89-brightup.sh /etc/acpi/resume.d/89-brightup.sh')
    os.system('sudo cp /etc/acpi/resume.d/60-asus-wireless-led.sh /etc/acpi/resume.d/60-asus-wireless-led.sh_sys76backup_%s' % today)
    os.system('sudo cp /opt/system76/system76-driver/src/acpi/feisty/60-asus-wireless-led.sh /etc/acpi/resume.d/60-asus-wireless-led.sh')

def acpi4():
    """Removes script used to temporarly fix Suspend with DRM on daru3
    Bug was fixed in Ubuntu"""
    os.system('sudo rm /etc/pm/sleep.d/00CPU')
    
def daru2():
    """Fix dsdt tables in daru2"""
    
    # Determine running kernel version
    b = os.popen('uname -r')
    try:
        uname = b.readline().strip()
    finally:
        b.close()
    kernel = uname
    
    os.system('sudo sh /opt/system76/system76-driver/src/acpi/initrd-add-dsdt.sh /boot/initrd.img-%s /opt/system76/system76-driver/src/acpi/daru2/DSDT.aml' % kernel)
    os.system('sudo cp /opt/system76/system76-driver/src/acpi/daru2/DSDT.aml /etc/initramfs-tools/DSDT.aml')
    
    '''The ec_intr=0 option passes the embedded controller interupt
    to the kernel at boot.  On Ubuntu 7.10 the option fixes acpi
    battery notification problems.'''
    
    os.system('sudo cp /boot/grub/menu.lst /boot/grub/menu.lst_sys76backup_%s' % today)
    
    grub_menu = fileinput.input('/boot/grub/menu.lst', inplace=1)
    for line in grub_menu:
        print line.replace(' ec_intr=0',''),
    grub_menu = fileinput.input('/boot/grub/menu.lst', inplace=1)
    for line in grub_menu:
        print line.replace('splash','splash ec_intr=0'),
        
def osiNotWindows():
    # Kernel parameter tells the BIOS that the system is not Windows 2006
    
    os.system('sudo cp /boot/grub/menu.lst /boot/grub/menu.lst_sys76backup_%s' % today)
    
    grub_menu = fileinput.input('/boot/grub/menu.lst', inplace=1)
    for line in grub_menu:
        print line.replace(' acpi_osi="!Windows 2006"',''),
    grub_menu = fileinput.input('/boot/grub/menu.lst', inplace=1)
    for line in grub_menu:
        print line.replace('splash','splash acpi_osi="!Windows 2006"'),
        
def lemu1():
    # Kernel parameter tells the BIOS that the OS is Linux
    
    os.system('sudo cp /etc/default/grub /etc/default/grub_sys76backup_%s' % today)
    
    grub_menu = fileinput.input('/etc/default/grub', inplace=1)
    for line in grub_menu:
        print line.replace(' acpi_os_name=Linux acpi_osi=',''),
    grub_menu = fileinput.input('/etc/default/grub', inplace=1)
    for line in grub_menu:
        print line.replace('splash','splash acpi_os_name=Linux acpi_osi='),
    os.system('sudo update-grub')
    
def serp6():
    # Kernel parameter tells the BIOS that the OS is Linux
    
    os.system('sudo cp /etc/default/grub /etc/default/grub_sys76backup_%s' % today)
    
    grub_menu = fileinput.input('/etc/default/grub', inplace=1)
    for line in grub_menu:
        print line.replace(' acpi_os_name=Linux acpi_osi=Linux',''),
    grub_menu = fileinput.input('/etc/default/grub', inplace=1)
    for line in grub_menu:
        print line.replace('splash','splash acpi_os_name=Linux acpi_osi=Linux'),
    os.system('sudo update-grub')
        
def star1():
    
    # Fix pciehp for SD card reader
    version = ubuntuversion.release()
    
    if version == ('9.04'):
        os.system('sudo cp /boot/grub/menu.lst /boot/grub/menu.lst_sys76backup_%s' % today)
        
        grub_menu = fileinput.input('/boot/grub/menu.lst', inplace=1)
        for line in grub_menu:
            print line.replace(' pciehp.pciehp_force=1',''),
        grub_menu = fileinput.input('/boot/grub/menu.lst', inplace=1)
        for line in grub_menu:
            print line.replace('splash','splash pciehp.pciehp_force=1'),
    elif version == ('9.10'):
        os.system('sudo cp /etc/default/grub /etc/default/grub_sys76backup_%s' % today)
        
        grub_menu = fileinput.input('/etc/default/grub', inplace=1)
        for line in grub_menu:
            print line.replace(' pciehp.pciehp_force=1',''),
        grub_menu = fileinput.input('/etc/default/grub', inplace=1)
        for line in grub_menu:
            print line.replace('splash','splash pciehp.pciehp_force=1'),
        os.system('sudo update-grub')