Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix serval keyboard backlights #36

Merged
merged 4 commits into from
May 24, 2021
Merged

Conversation

withinboredom
Copy link
Contributor

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 🤔). 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
Copy link
Contributor Author

Hello, just checking in here...

Copy link
Member

@jackpot51 jackpot51 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If all tests pass from QA, I approve

@mliudev
Copy link

mliudev commented Feb 13, 2020

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

@tleydxdy
Copy link
Contributor

galp3 needs this fix as well, see #45
I modified the corresponding line for galp3 and now it loads fine

@mliudev
Copy link

mliudev commented Feb 12, 2021

Ping?

@withinboredom
Copy link
Contributor Author

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
Copy link
Member

jackpot51 commented Feb 12, 2021

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

If all tests pass from QA, I approve

@leviport
Copy link
Member

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 👍 on this comment. If the number reassures me, I will bypass standard testing policy and approve it without my own testing.

@withinboredom
Copy link
Contributor Author

@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
Copy link
Contributor

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

@leviport
Copy link
Member

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

@leviport
Copy link
Member

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
Copy link

mliudev commented May 21, 2021

@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.

@jacobgkau jacobgkau requested a review from a team May 24, 2021 14:11
Copy link
Member

@jacobgkau jacobgkau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Installed on our lab serw11, restores software control of the keyboard backlight (as reported) with no regressions in other functionality.

@jackpot51 jackpot51 merged commit c647a22 into pop-os:master May 24, 2021
@tleydxdy tleydxdy mentioned this pull request May 29, 2021
jackpot51 pushed a commit that referenced this pull request Jun 3, 2021
justs like #36 on galp3 the system fails to load the module, and the fix works as well.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants