pop-os / system76-dkms

System76 DKMS driver
GNU General Public License v2.0
39 stars 20 forks source link

Fix serval keyboard backlights #36

Closed withinboredom closed 3 years ago

withinboredom commented 5 years ago

I maintain https://github.com/withinboredom/system-76-keyboards, and have a Serval. Anyway, about 6 months ago, it stopped working which coincided with a firmware update. I was sad because I thought it was the firmware update.

Tonight I decided to try and discover if I could get them back. I stumbled across this repo and then went through the history to try and discover what happened; plus my dmi table. Here's the output from dmidecode:

# dmidecode 3.1
Getting SMBIOS data from sysfs.
SMBIOS 3.1.1 present.
Table at 0x4FDDD000.

Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
    Vendor: American Megatrends Inc.
    Version: 1.05.25
    Release Date: 07/10/2019
    Address: 0xF0000
    Runtime Size: 64 kB
    ROM Size: 6144 kB
    Characteristics:
        PCI is supported
        BIOS is upgradeable
        BIOS shadowing is allowed
        Boot from CD is supported
        Selectable boot is supported
        EDD is supported
        Print screen service is supported (int 5h)
        8042 keyboard services are supported (int 9h)
        Printer services are supported (int 17h)
        ACPI is supported
        USB legacy is supported
        BIOS boot specification is supported
        Targeted content distribution is supported
        UEFI is supported
    BIOS Revision: 5.25
    Firmware Revision: 5.3

Handle 0x0001, DMI type 1, 27 bytes
System Information
    Manufacturer: System76
    Product Name: Serval
    Version: serw11
    Serial Number: Not Applicable                  
    UUID: 605BFA80-B098-0000-0000-000000000000
    Wake-up Type: Power Switch
    SKU Number: Not Applicable                  
    Family: Not Applicable                  

Handle 0x0002, DMI type 2, 15 bytes
Base Board Information
    Manufacturer: System76
    Product Name: Serval
    Version: serw11
    Serial Number: Not Applicable                  
    Asset Tag: Tag 12345
    Features:
        Board is a hosting board
        Board is replaceable
    Location In Chassis: Not Applicable
    Chassis Handle: 0x0003
    Type: Motherboard
    Contained Object Handles: 0

Handle 0x0003, DMI type 3, 22 bytes
Chassis Information
    Manufacturer: System76
    Type: Notebook
    Lock: Not Present
    Version: N/A                             
    Serial Number: None                            
    Asset Tag: No Asset Tag
    Boot-up State: Safe
    Power Supply State: Safe
    Thermal State: Safe
    Security Status: None
    OEM Information: 0x00000000
    Height: Unspecified
    Number Of Power Cords: 1
    Contained Elements: 0
    SKU Number: Default string

Handle 0x0004, DMI type 8, 9 bytes
Port Connector Information
    Internal Reference Designator: J_HDMI1
    Internal Connector Type: None
    External Reference Designator: HDMI
    External Connector Type: Other
    Port Type: Video Port

Handle 0x0005, DMI type 8, 9 bytes
Port Connector Information
    Internal Reference Designator: J_MDP1
    Internal Connector Type: None
    External Reference Designator: MDP1
    External Connector Type: Other
    Port Type: Video Port

Handle 0x0006, DMI type 8, 9 bytes
Port Connector Information
    Internal Reference Designator: J_MDP2
    Internal Connector Type: None
    External Reference Designator: MDP2
    External Connector Type: Other
    Port Type: Video Port

Handle 0x0007, DMI type 8, 9 bytes
Port Connector Information
    Internal Reference Designator: J_LINE1
    Internal Connector Type: None
    External Reference Designator: LINE
    External Connector Type: Other
    Port Type: Audio Port

Handle 0x0008, DMI type 8, 9 bytes
Port Connector Information
    Internal Reference Designator: J_MIC1
    Internal Connector Type: None
    External Reference Designator: MIC
    External Connector Type: Other
    Port Type: Audio Port

Handle 0x0009, DMI type 8, 9 bytes
Port Connector Information
    Internal Reference Designator: J_SPDIF1
    Internal Connector Type: None
    External Reference Designator: SPDIF
    External Connector Type: Other
    Port Type: Audio Port

Handle 0x000A, DMI type 8, 9 bytes
Port Connector Information
    Internal Reference Designator: J_HP1
    Internal Connector Type: None
    External Reference Designator: HP
    External Connector Type: Mini Jack (headphones)
    Port Type: Audio Port

Handle 0x000B, DMI type 8, 9 bytes
Port Connector Information
    Internal Reference Designator: J_TYPEC1
    Internal Connector Type: None
    External Reference Designator: USB Type C
    External Connector Type: Access Bus (USB)
    Port Type: USB

Handle 0x000C, DMI type 8, 9 bytes
Port Connector Information
    Internal Reference Designator: J_USB3_1
    Internal Connector Type: None
    External Reference Designator: USB 3.1
    External Connector Type: Access Bus (USB)
    Port Type: USB

Handle 0x000D, DMI type 8, 9 bytes
Port Connector Information
    Internal Reference Designator: J_USB3_2
    Internal Connector Type: None
    External Reference Designator: USB 3
    External Connector Type: Access Bus (USB)
    Port Type: USB

Handle 0x000E, DMI type 8, 9 bytes
Port Connector Information
    Internal Reference Designator: J_USB3_3
    Internal Connector Type: None
    External Reference Designator: USB 3
    External Connector Type: Access Bus (USB)
    Port Type: USB

Handle 0x000F, DMI type 8, 9 bytes
Port Connector Information
    Internal Reference Designator: J_USB3_4
    Internal Connector Type: None
    External Reference Designator: USB 3
    External Connector Type: Access Bus (USB)
    Port Type: USB

Handle 0x0010, DMI type 8, 9 bytes
Port Connector Information
    Internal Reference Designator: J_CARD-REV1
    Internal Connector Type: None
    External Reference Designator: Card Reader
    External Connector Type: Other
    Port Type: Other

Handle 0x0011, DMI type 8, 9 bytes
Port Connector Information
    Internal Reference Designator: J_RJ1
    Internal Connector Type: None
    External Reference Designator: Giga Lan 1
    External Connector Type: RJ-45
    Port Type: Network Port

Handle 0x0012, DMI type 8, 9 bytes
Port Connector Information
    Internal Reference Designator: J_RJ2
    Internal Connector Type: None
    External Reference Designator: Giga Lan 2
    External Connector Type: RJ-45
    Port Type: Network Port

Handle 0x0013, DMI type 10, 8 bytes
On Board Device 1 Information
    Type: Sound
    Status: Enabled
    Description: HD-Audio
On Board Device 2 Information
    Type: Ethernet
    Status: Enabled
    Description: Giga Lan

Handle 0x0014, DMI type 11, 5 bytes
OEM Strings
    String 1: 1558
    String 2: OEM String
    String 3: Default string
    String 4: Default string
    String 5: BIOS:1.05.25RSA2

Handle 0x0015, DMI type 12, 5 bytes
System Configuration Options
    Option 1: Default string

Handle 0x0016, DMI type 32, 20 bytes
System Boot Information
    Status: No errors detected

Handle 0x0017, DMI type 16, 23 bytes
Physical Memory Array
    Location: System Board Or Motherboard
    Use: System Memory
    Error Correction Type: None
    Maximum Capacity: 64 GB
    Error Information Handle: Not Provided
    Number Of Devices: 4

Handle 0x0018, DMI type 17, 40 bytes
Memory Device
    Array Handle: 0x0017
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 16384 MB
    Form Factor: SODIMM
    Set: None
    Locator: ChannelA-DIMM0
    Bank Locator: BANK 0
    Type: DDR4
    Type Detail: Synchronous Unbuffered (Unregistered)
    Speed: 2400 MT/s
    Manufacturer: 017A
    Serial Number: 44918354
    Asset Tag: 9876543210
    Part Number: 78.D2GFH.4030B      
    Rank: 2
    Configured Clock Speed: 2400 MT/s
    Minimum Voltage: 1.2 V
    Maximum Voltage: 1.2 V
    Configured Voltage: 1.2 V

Handle 0x0019, DMI type 17, 40 bytes
Memory Device
    Array Handle: 0x0017
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 16384 MB
    Form Factor: SODIMM
    Set: None
    Locator: ChannelA-DIMM1
    Bank Locator: BANK 1
    Type: DDR4
    Type Detail: Synchronous Unbuffered (Unregistered)
    Speed: 2400 MT/s
    Manufacturer: 017A
    Serial Number: 44918354
    Asset Tag: 9876543210
    Part Number: 78.D2GFH.4030B      
    Rank: 2
    Configured Clock Speed: 2400 MT/s
    Minimum Voltage: 1.2 V
    Maximum Voltage: 1.2 V
    Configured Voltage: 1.2 V

Handle 0x001A, DMI type 17, 40 bytes
Memory Device
    Array Handle: 0x0017
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 16384 MB
    Form Factor: SODIMM
    Set: None
    Locator: ChannelB-DIMM0
    Bank Locator: BANK 2
    Type: DDR4
    Type Detail: Synchronous Unbuffered (Unregistered)
    Speed: 2400 MT/s
    Manufacturer: 017A
    Serial Number: 44918354
    Asset Tag: 9876543210
    Part Number: 78.D2GFH.4030B      
    Rank: 2
    Configured Clock Speed: 2400 MT/s
    Minimum Voltage: 1.2 V
    Maximum Voltage: 1.2 V
    Configured Voltage: 1.2 V

Handle 0x001B, DMI type 17, 40 bytes
Memory Device
    Array Handle: 0x0017
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 16384 MB
    Form Factor: SODIMM
    Set: None
    Locator: ChannelB-DIMM1
    Bank Locator: BANK 3
    Type: DDR4
    Type Detail: Synchronous Unbuffered (Unregistered)
    Speed: 2400 MT/s
    Manufacturer: 017A
    Serial Number: 44918354
    Asset Tag: 9876543210
    Part Number: 78.D2GFH.4030B      
    Rank: 2
    Configured Clock Speed: 2400 MT/s
    Minimum Voltage: 1.2 V
    Maximum Voltage: 1.2 V
    Configured Voltage: 1.2 V

Handle 0x001C, DMI type 19, 31 bytes
Memory Array Mapped Address
    Starting Address: 0x00000000000
    Ending Address: 0x00FFFFFFFFF
    Range Size: 64 GB
    Physical Array Handle: 0x0017
    Partition Width: 4

Handle 0x001D, DMI type 7, 27 bytes
Cache Information
    Socket Designation: L1 Cache
    Configuration: Enabled, Not Socketed, Level 1
    Operational Mode: Write Back
    Location: Internal
    Installed Size: 0 kB
    Maximum Size: 0 kB
    Supported SRAM Types:
        Synchronous
    Installed SRAM Type: Synchronous
    Speed: Unknown
    Error Correction Type: Parity
    System Type: Unified
    Associativity: 8-way Set-associative

Handle 0x001E, DMI type 7, 27 bytes
Cache Information
    Socket Designation: L2 Cache
    Configuration: Enabled, Not Socketed, Level 2
    Operational Mode: Write Back
    Location: Internal
    Installed Size: 0 kB
    Maximum Size: 0 kB
    Supported SRAM Types:
        Synchronous
    Installed SRAM Type: Synchronous
    Speed: Unknown
    Error Correction Type: Single-bit ECC
    System Type: Unified
    Associativity: 4-way Set-associative

Handle 0x001F, DMI type 7, 27 bytes
Cache Information
    Socket Designation: L3 Cache
    Configuration: Enabled, Not Socketed, Level 3
    Operational Mode: Write Back
    Location: Internal
    Installed Size: 0 kB
    Maximum Size: 0 kB
    Supported SRAM Types:
        Synchronous
    Installed SRAM Type: Synchronous
    Speed: Unknown
    Error Correction Type: Multi-bit ECC
    System Type: Unified
    Associativity: 16-way Set-associative

Handle 0x0020, DMI type 4, 48 bytes
Processor Information
    Socket Designation: U3E1
    Type: Central Processor
    Family: Core i7
    Manufacturer: Intel(R) Corporation
    ID: EA 06 09 00 FF FB EB BF
    Signature: Type 0, Family 6, Model 158, Stepping 10
    Flags:
        FPU (Floating-point unit on-chip)
        VME (Virtual mode extension)
        DE (Debugging extension)
        PSE (Page size extension)
        TSC (Time stamp counter)
        MSR (Model specific registers)
        PAE (Physical address extension)
        MCE (Machine check exception)
        CX8 (CMPXCHG8 instruction supported)
        APIC (On-chip APIC hardware supported)
        SEP (Fast system call)
        MTRR (Memory type range registers)
        PGE (Page global enable)
        MCA (Machine check architecture)
        CMOV (Conditional move instruction supported)
        PAT (Page attribute table)
        PSE-36 (36-bit page size extension)
        CLFSH (CLFLUSH instruction supported)
        DS (Debug store)
        ACPI (ACPI supported)
        MMX (MMX technology supported)
        FXSR (FXSAVE and FXSTOR instructions supported)
        SSE (Streaming SIMD extensions)
        SSE2 (Streaming SIMD extensions 2)
        SS (Self-snoop)
        HTT (Multi-threading)
        TM (Thermal monitor supported)
        PBE (Pending break enabled)
    Version: Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
    Voltage: 1.2 V
    External Clock: 100 MHz
    Max Speed: 8300 MHz
    Current Speed: 4300 MHz
    Status: Populated, Enabled
    Upgrade: Socket LGA1151
    L1 Cache Handle: 0x001D
    L2 Cache Handle: 0x001E
    L3 Cache Handle: 0x001F
    Serial Number: To Be Filled By O.E.M.
    Asset Tag: To Be Filled By O.E.M.
    Part Number: To Be Filled By O.E.M.
    Core Count: 6
    Core Enabled: 6
    Thread Count: 12
    Characteristics:
        64-bit capable
        Multi-Core
        Hardware Thread
        Execute Protection
        Enhanced Virtualization
        Power/Performance Control

Handle 0x0021, DMI type 20, 35 bytes
Memory Device Mapped Address
    Starting Address: 0x00000000000
    Ending Address: 0x003FFFFFFFF
    Range Size: 16 GB
    Physical Device Handle: 0x0018
    Memory Array Mapped Address Handle: 0x001C
    Partition Row Position: Unknown
    Interleave Position: 1
    Interleaved Data Depth: 2

Handle 0x0022, DMI type 20, 35 bytes
Memory Device Mapped Address
    Starting Address: 0x00800000000
    Ending Address: 0x00BFFFFFFFF
    Range Size: 16 GB
    Physical Device Handle: 0x0019
    Memory Array Mapped Address Handle: 0x001C
    Partition Row Position: Unknown
    Interleave Position: 1
    Interleaved Data Depth: 2

Handle 0x0023, DMI type 20, 35 bytes
Memory Device Mapped Address
    Starting Address: 0x00400000000
    Ending Address: 0x007FFFFFFFF
    Range Size: 16 GB
    Physical Device Handle: 0x001A
    Memory Array Mapped Address Handle: 0x001C
    Partition Row Position: Unknown
    Interleave Position: 2
    Interleaved Data Depth: 2

Handle 0x0024, DMI type 20, 35 bytes
Memory Device Mapped Address
    Starting Address: 0x00C00000000
    Ending Address: 0x00FFFFFFFFF
    Range Size: 16 GB
    Physical Device Handle: 0x001B
    Memory Array Mapped Address Handle: 0x001C
    Partition Row Position: Unknown
    Interleave Position: 2
    Interleaved Data Depth: 2

Handle 0x0025, DMI type 130, 20 bytes
OEM-specific Type
    Header and Data:
        82 14 25 00 24 41 4D 54 00 00 00 00 00 A5 AF 02
        C0 00 00 00

Handle 0x0026, DMI type 131, 64 bytes
OEM-specific Type
    Header and Data:
        83 40 26 00 35 00 00 00 0A 00 00 00 00 00 01 00
        F8 00 C9 A2 00 00 00 00 00 00 00 00 00 00 00 00
        00 00 00 00 00 00 00 00 FE 00 FF FF 00 00 00 00
        00 00 00 00 26 00 00 00 76 50 72 6F 00 00 00 00

Handle 0x0027, DMI type 13, 22 bytes
BIOS Language Information
    Language Description Format: Long
    Installable Languages: 1
        en|US|iso8859-1
    Currently Installed Language: en|US|iso8859-1

Handle 0x0028, DMI type 221, 33 bytes
OEM-specific Type
    Header and Data:
        DD 21 28 00 04 01 00 03 03 00 00 00 02 00 00 00
        00 B4 00 03 00 00 05 00 00 00 04 00 FF FF FF FF
        FF
    Strings:
        Reference Code - CPU
        uCode Version
        TXT ACM Version
        BIOS Guard Version

Handle 0x0029, DMI type 221, 75 bytes
OEM-specific Type
    Header and Data:
        DD 4B 29 00 0A 01 00 03 03 00 00 00 02 03 FF FF
        FF FF FF 04 00 FF FF FF 00 00 05 00 FF FF FF 00
        00 06 00 FF FF FF FF FF 07 00 3E 00 00 00 00 08
        00 34 00 00 00 00 09 00 0B 00 00 00 00 0A 00 3E
        00 00 00 00 0B 00 34 00 00 00 00
    Strings:
        Reference Code - SKL PCH
        PCH-CRID Status
        Disabled
        PCH-CRID Original Value
        PCH-CRID New Value
        OPROM - RST - RAID
        SKL PCH H Bx Hsio Version
        SKL PCH H Dx Hsio Version
        KBL PCH H Ax Hsio Version
        SKL PCH LP Bx Hsio Version
        SKL PCH LP Cx Hsio Version

Handle 0x002A, DMI type 221, 54 bytes
OEM-specific Type
    Header and Data:
        DD 36 2A 00 07 01 00 03 03 00 00 00 02 00 03 03
        00 00 00 03 00 03 03 00 00 00 04 05 FF FF FF FF
        FF 06 00 FF FF FF 07 00 07 00 FF FF FF 07 00 08
        00 FF FF FF FF FF
    Strings:
        Reference Code - SA - System Agent
        Reference Code - MRC
        SA - PCIe Version
        SA-CRID Status
        Disabled
        SA-CRID Original Value
        SA-CRID New Value
        OPROM - VBIOS

Handle 0x002B, DMI type 9, 17 bytes
System Slot Information
    Designation: PCI-Express
    Type: x16 PCI Express x16
    Current Usage: In Use
    Length: Long
    ID: 1
    Characteristics:
        3.3 V is provided
        PME signal is supported
    Bus Address: 0000:00:01.0

Handle 0x002C, DMI type 9, 17 bytes
System Slot Information
    Designation: PCI-Express 6
    Type: x1 PCI Express
    Current Usage: In Use
    Length: Long
    ID: 2
    Characteristics:
        3.3 V is provided
        PME signal is supported
    Bus Address: 0000:00:1c.6

Handle 0x002D, DMI type 9, 17 bytes
System Slot Information
    Designation: PCI-Express 7
    Type: x1 PCI Express
    Current Usage: In Use
    Length: Long
    ID: 3
    Characteristics:
        3.3 V is provided
        PME signal is supported
    Bus Address: 0000:00:1c.7

Handle 0x002E, DMI type 9, 17 bytes
System Slot Information
    Designation: PCI-Express 8
    Type: x4 PCI Express
    Current Usage: In Use
    Length: Long
    ID: 4
    Characteristics:
        3.3 V is provided
        PME signal is supported
    Bus Address: 0000:00:1d.0

Handle 0x002F, DMI type 9, 17 bytes
System Slot Information
    Designation: PCI-Express 14
    Type: x4 PCI Express
    Current Usage: Available
    Length: Long
    ID: 5
    Characteristics:
        3.3 V is provided
        PME signal is supported
    Bus Address: 0000:00:1d.6

Handle 0x0030, DMI type 221, 96 bytes
OEM-specific Type
    Header and Data:
        DD 60 30 00 0D 01 00 00 00 00 00 00 02 00 FF FF
        FF FF FF 03 04 FF FF FF FF FF 05 06 FF FF FF FF
        FF 07 08 FF FF FF FF FF 09 00 00 00 00 00 00 0A
        00 FF FF FF FF FF 0B 00 05 03 00 00 00 0C 00 FF
        FF FF FF FF 0D 00 FF FF FF FF FF 0E 00 FF FF FF
        FF FF 0F 10 01 03 04 01 01 11 00 00 07 03 00 00
    Strings:
        Lan Phy Version
        Sensor Firmware Version
        Debug Mode Status
        Disabled
        Performance Mode Status
        Disabled
        Debug Use USB(Disabled:Serial)
        Disabled
        ICC Overclocking Version
        UNDI Version
        EC FW Version
        GOP Version
        Base EC FW Version
        EC-EC Protocol Version
        Royal Park Version
        BP1.3.4.1_RP01
        Platform Version

Handle 0x0032, DMI type 136, 6 bytes
OEM-specific Type
    Header and Data:
        88 06 32 00 00 00

Handle 0x0033, DMI type 14, 17 bytes
Group Associations
    Name: Firmware Version Info
    Items: 4
        0x0028 (OEM-specific)
        0x0029 (OEM-specific)
        0x002A (OEM-specific)
        0x0030 (OEM-specific)

Handle 0x0034, DMI type 41, 11 bytes
Onboard Device
    Reference Designation: Onboard - Other
    Type: Other
    Status: Enabled
    Type Instance: 1
    Bus Address: 0000:00:00.0

Handle 0x0035, DMI type 41, 11 bytes
Onboard Device
    Reference Designation: Onboard - Other
    Type: Other
    Status: Enabled
    Type Instance: 2
    Bus Address: 0000:00:08.0

Handle 0x0036, DMI type 41, 11 bytes
Onboard Device
    Reference Designation: Onboard - Other
    Type: Other
    Status: Enabled
    Type Instance: 3
    Bus Address: 0000:00:14.0

Handle 0x0037, DMI type 41, 11 bytes
Onboard Device
    Reference Designation: Onboard - Other
    Type: Other
    Status: Enabled
    Type Instance: 4
    Bus Address: 0000:00:14.2

Handle 0x0038, DMI type 41, 11 bytes
Onboard Device
    Reference Designation: Onboard - Other
    Type: Other
    Status: Enabled
    Type Instance: 5
    Bus Address: 0000:00:16.0

Handle 0x0039, DMI type 41, 11 bytes
Onboard Device
    Reference Designation: Onboard - SATA
    Type: SATA Controller
    Status: Enabled
    Type Instance: 1
    Bus Address: 0000:00:17.0

Handle 0x003A, DMI type 41, 11 bytes
Onboard Device
    Reference Designation: Onboard - Other
    Type: Other
    Status: Enabled
    Type Instance: 6
    Bus Address: 0000:00:1f.0

Handle 0x003B, DMI type 41, 11 bytes
Onboard Device
    Reference Designation: Onboard - Other
    Type: Other
    Status: Enabled
    Type Instance: 7
    Bus Address: 0000:00:1f.2

Handle 0x003C, DMI type 41, 11 bytes
Onboard Device
    Reference Designation: Onboard - Sound
    Type: Sound
    Status: Enabled
    Type Instance: 1
    Bus Address: 0000:00:1f.3

Handle 0x003D, DMI type 41, 11 bytes
Onboard Device
    Reference Designation: Onboard - Other
    Type: Other
    Status: Enabled
    Type Instance: 8
    Bus Address: 0000:00:1f.4

Handle 0x003E, DMI type 14, 8 bytes
Group Associations
    Name: $MEI
    Items: 1
        0x0000 (OEM-specific)

Handle 0x003F, DMI type 219, 81 bytes
OEM-specific Type
    Header and Data:
        DB 51 3F 00 01 03 01 04 20 03 80 06 01 84 36 20
        00 00 00 00 40 08 00 00 00 00 00 00 00 00 00 02
        FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
        FF FF FF FF FF FF FF FF 03 00 00 00 80 00 00 00
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        00
    Strings:
        MEI1
        MEI2
        MEI3

Handle 0x0040, DMI type 127, 4 bytes
End Of Table

You will note that the bios vendor is not System76, but American Megatrends (so it might be that firmware update afterall :thinking:). Anyway, it fails the check in DMI_TABLE_LEGACY, I changed it to DMI_TABLE and the module actually gets loaded and everything works again.

withinboredom commented 4 years ago

Hello, just checking in here...

mliudev commented 4 years ago

I have a servalWS and this fixes my keyboard backlight detection in Arch Linux.

tleydxdy commented 3 years ago

galp3 needs this fix as well, see https://github.com/pop-os/system76-dkms/issues/45 I modified the corresponding line for galp3 and now it loads fine

mliudev commented 3 years ago

Ping?

withinboredom commented 3 years ago

It occurred to me after running into a similar issue of no one merging a PR on another project... @jackpot51, you are aware that a repo owner has to merge it in right? I can't do that.

jackpot51 commented 3 years ago

@withinboredom yes... I am waiting for @pop-os/quality-assurance approval still

If all tests pass from QA, I approve

leviport commented 3 years ago

Apologies on this one dragging on for so long. Our serw11 lab unit had a GPU failure just a few months before this PR was opened, so we haven't had the hardware to test this. I was planning on waiting until it was fixed, but we've been unable to find a replacement GPU, and my hope of ever finding one is pretty much gone. What I'd like to do is ask everyone who tested this PR on their own serw11 to give me a :+1: on this comment. If the number reassures me, I will bypass standard testing policy and approve it without my own testing.

withinboredom commented 3 years ago

@leviport fwiw, most people probably aren't experiencing any issues with this module not being loaded. You'd only notice you have an issue if you tried hooking into the keyboard backlights. Also, I think it might affect power consumption (I don't remember all the details of this kernel module).

I don't know all the ins-and-outs of things (or if this is even doable), but it might be easier to just push a firmware update that sets the bios vendor to System76 instead of American MegaTrends. It seems a lot less riskier to do it that way IMHO.

If there's some way to downgrade to a previous firmware, I can try that on my machine and see if the previous vendor was System76 as well (just to double-check that that is the issue).

tleydxdy commented 3 years ago

I just wanted to point out the current patch doesn't have the galp3 fix. just in case

leviport commented 3 years ago

I got my serw11 back, so I'll review this soon.

leviport commented 3 years ago

Update: my serw11 started misbehaving again (unrelated to this PR, of course). Sorry, but I have to figure out what its problem is before I can finish testing this PR.

mliudev commented 3 years ago

@leviport fwiw, most people probably aren't experiencing any issues with this module not being loaded. You'd only notice you have an issue if you tried hooking into the keyboard backlights. Also, I think it might affect power consumption (I don't remember all the details of this kernel module).

I don't know all the ins-and-outs of things (or if this is even doable), but it might be easier to just push a firmware update that sets the bios vendor to System76 instead of American MegaTrends. It seems a lot less riskier to do it that way IMHO.

If there's some way to downgrade to a previous firmware, I can try that on my machine and see if the previous vendor was System76 as well (just to double-check that that is the issue).

It does seem like we're one of the few people with this issue that cares about setting the keyboard backlight through a script. I was able to get this working by compiling your changes, but it's a hassle because I have to do it every time Arch updates the kernel.