system76 / ec Goto Github PK
View Code? Open in Web Editor NEWSystem76 Open Source Embedded Controller
License: GNU General Public License v3.0
System76 Open Source Embedded Controller
License: GNU General Public License v3.0
I unfortunately don't have an easy way to replicate this. If I leave the system idle with the screen locked, there's a roughly 20% chance it'll be rebooted by the time I come back.
My hunch is it's something to do with Thunderbolt. I have a display constantly plugged into the port.
On the galp4 and darp6 running this EC, after logging in, after 30 seconds or so, the scaling on the display goes from 100% to 200%. This does not happen if the HiDPI daemon is off, or on a darp6 without the open EC.
The error returned via dmesg:
ACPI Error: Aborting method \_SB.LID0._LID due to previous error (AE_TIME) (20190703/psparse-531)
When a M.2 NVMe drive is plugged in to SSD1 and an M.2 SATA drive is plugged into SSD2, only the NVMe drive is recognized in the firmware boot manager. The operating system does see both drives.
If the drives are swapped and the SATA drive is in SSD1 and the NVMe is in SSD2, then both drives are recognized properly.
On my darp5 with open EC and open firmware, hitting Fn+F7 which is supposed to change display modes instead locks the screen as if I had hit Super + L. I can still log in afterwards, so locking and logging back in still works correctly.
With the current vendor EC more than often after resuming from a suspend the battery level stats are wildly off the actual value. See:
After suspending with battery charge percentage around 90% and resuming after a few hours (5-6 Hrs) the OS sees the battery percentage at around 5-1%. Plugging in and out the ac adapter a couple of times resets the battery stats to it's actual value. (You can see this happening at the 2m mark, where the battery level goes from 5% to 10% then 87% within a few seconds).
I have seen this happen intermittently for the past year. I hope this issue can be fixed in the OSS version?
Machine info:
dmidecode: https://paste.rs/osx
Let me know if you need any more info.
When the laptop lid is closed, and an external monitor connected, the decryption or login screen displays on the closed laptop display rather than the external.
Plugged in via USB Type C
@system76/quality-assurance please check the lemp9 and other display ports.
I have to unplug and plug-in the display for it to return.
Detect and prevent ghost keypresses
If I leave my darp5 plugged in to AC power, use it for a while, shut it down, and leave it plugged in overnight, I occasionally see the battery light remain green, and the power light remain orange after the machine is unplugged. That is the correct state for when the laptop is plugged in with a full battery and turned off, but both lights should turn off as soon as I unplug the charger.
The lemp9 is capable of using deep sx to reduce power usage in suspend. Additionally, the EC can be placed into a low power mode.
The lemp9 does not resume from suspend when selecting the keyboard hotkey Fn+F12.
It would be great to implement battery charging threshold to increase battery lifespan when working a lot from AC. For example stop charging at 80% and start charging again at 60%. It would be nice to have keyboard shortcut to enable/disable feature and to have a possibility to change thresholds somehow (because optimal thresholds levels depend on battery usage). Also we can blink by power led to tell user is feature enabled (one time blink) /disabled (two times blink) upon pressing keyboard shortcut.
When pressing a Fn-enable key, such as ` (play/pause), one of two sequences can happen:
(1) Fn is pressed, ` is pressed, ` is released, Fn is release.
(2) Fn is pressed, ` is pressed, Fn is released, ` is released. This is how I normally type.
If case (1) above is used, everything behaves correctly.
If case (2) above is used instead, the following happens:
play/pase is sent to the OS.
` is sent to the os.
This is because there is a global layer selection instead of a per-key layer selection.
If a key is pressed (play/pause) when Fn is pressed, then that key should release as its fn key even after fn is released.
Conversely, If a key is pressed without fn depressed, and then fn is depressed after, I would also expect it to release as the non-fn key.
Effectively, this means that each key should track either what was depressed or the layer that is was on when depressed so that it can be released as the same key.
Let me know if you'd prefer that I work on a patch, however it may take me about a week before I can get to it.
I've noticed that while my darps 5 are off, they still slowly consume some battery. It isn't much, but it is evident over a few days. For example, I had my work Darter plugged in and fully charged on Friday before I left. I turned it off and stuck it in my backpack, where it stayed all weekend. When I fired it up this morning (Monday), the battery was at 72%. I'm wondering if this is related to #34 and something just remains running in a low power state after shutdown.
Sometimes laptop glitches after I opened it from suspend mode (put it to suspend mode just by closing lid): screen is black, power led is on and green, it responses only to changing of keyboard backlight but with strange blinking if I press several times in a row, laptop is a little warm and by closing the lid it's not going back to suspend mode (power led is not blinking). I tried to close/open lid again, to connect to external monitor, to press power button and all buttons/shortcuts on keyboard (including Fn+F2 and brightness changing) but nothing helped. The only way I found to fix this is to turn it off by long pressing power button. I had this issue already 2 times in last 2 weeks of not extensive usage of the laptop and I'm afraid to start loosing data when I actually start working on it.
System draws charge current plus normal system current from the charger causing it to go above 65W and have the charger disconnect.
Probably need to set discharge and input currents for smart charger
Find optimal PL1, PL2, TCC offset, and fan curve to maximize performance while keeping chassis temperatures low enough for lap usage. Also nsure that system is fanless during typical boot process.
Current values are 20W, 30W, and 88C.
Fn+F2 does not toggle on/off the display.
Hello ๐ new system76 user here! I am experiencing the following issue on lemp9:
For a certain set of words, I misspell them essentially 100% of the time (e.g. "list" -> "lit" or ".org" -> ".or"), which is presumably due to my style of user input being incompatible with ghost key detection rules #40.
I have seen #57 and it looks clear that this is an intended behaviour, but its disruptive so I am interested in an adjustment. Is it possible to configure the ghost key detection?
(:thinking: :thought_balloon: Is it as simple as cloning, modifying src/board/system76/lemp9/kbscan.c
and flashing make BOARD=system76/lemp9 flash_internal
? ๐
)
Version: 2020-02-18_f7453df
Target: system76/darp5
Steps to reproduce:
Fn
+F12
to sleepFn
+F12
to sleepExpected behavior:
Actual behavior:
Currently, galp3 cannot be powered-on while the lid is closed.
When I'm at the office, I would like to mount my galp3-c lid closed on a vertical stand (since I don't have space), hock up the dock station USB C cable and power it on, lid closed.
I don't know if that's possible, but it should be possible to power it on while the lid is close when the power source is connected.
Thanks,
With the strong majority of my experience coming from laptops with discrete left/right mouse buttons, I expected pressing on the right side of the touchpad to be recognized as a right click. This is not the case.
Is this intended?
I do however see that a two finger press executes a right click.
I've seen it happen maybe 50% of the time on this machine. When it does, the screen goes black but never reaches suspend. The power light remains on solid, and the machine requires a hard power off. It's happening with lid close, Fn+F12, and moon icon.
The A/C barrel plug adapter for the lemp9 is on the left side of the system. When the adapter is plugged in the left side of the system gets warm, if not hot, to the touch.
At first I just thought it was the NVMe drive installed on the left side of the system, but then realized that the left third of the chassis as a whole gets warm.
Speed of AP/EC communication can be greatly increased by using H2RAM in the ITE EC to allow the AP to directly access EC memory.
0xC00 - 0xCFF will be reserved for commands. For example, retrieving the EC version
0xD00 - 0xDFF will be reserved for debugging. For example, allowing the AP to be debugged over the battery connector using a simple software implementation of a serial port
Implement key repeat
Disabled for the purpose of avoiding accidental power-ons when suspended and in a bag.
I'm not sure if this is the right place for this discussion, or if there is a better one, but I'm interested in trying a bit of a different approach to EC development and would like to gauge interest.
In particular, I'd like to develop a replacement for the ITE8587 in my galp4, probably based on the STM32L4R5 or similar, for a few reasons:
As a first step toward understanding more of the low-level messaging of the LPC bus, I've started working on a dev tool in the form of a m.2 3042 module that can be installed in the 3G module slot and includes an ICE40 FPGA in a configuration that should be compatible with the ICEstick dev tools, as well as the MAX6621 IC to experiment a bit with.
Is there any general interest in this concept, or even just in the m.2 FPGA board for dev use? My time is rather limited so I don't know how consistently I can work on it but if there is interest I'd be more motivated to continue on it, and to maintain a higher pace. By some very rough estimates, I think I could probably fabricate 20 of these boards for under $50/ea, less if people are comfortable hand-assembling them.
I'm trying to flash to try out the recent keyboard fixes. Using both the release and beta channels of rust, I'm getting the error below. I understand that I can switch to the nightly channel of rust to build this but I have to say I'm uncomfortable flashing the system with a toolchain in the nightly status.
Compiling redox_hwio v0.1.1
error[E0554]: `#![feature]` may not be used on the beta release channel
--> /home/nick/.cargo/registry/src/github.com-1ecc6299db9ec823/redox_hwio-0.1.1/src/lib.rs:2:93
|
2 | #![cfg_attr(all(not(feature = "stable"), any(target_arch = "x86", target_arch = "x86_64")), feature(asm))]
| ^^^^^^^^^^^^
error[E0554]: `#![feature]` may not be used on the beta release channel
--> /home/nick/.cargo/registry/src/github.com-1ecc6299db9ec823/redox_hwio-0.1.1/src/lib.rs:3:38
|
3 | #![cfg_attr(not(feature = "stable"), feature(const_fn))]
|
Two tests have been run where the lemp9 is turned off, noting the battery percentage then, and then turning the system on the next day and nothing the battery percentage then. In both cases, the battery percentage has dropped which leads me to believe not everything has been powered off successfully.
Test 1
Powered system off at 42% battery
23 hours later, the system was powered on again at 36% battery
0.26% battery loss per hour
Test 2
Powered system off at 8% battery
14 hours later, the system was powered on at 5% battery.
0.21% battery loss per hour
Caveat, test 1 was running an ec on the machine from mid march. The ec was then updated to the latest before running test 2.
If I run a stress test, I notice that when the CPU thermal throttles and the temp drops a little, the fans slow down and stay at that speed. It seems like that keeps it in the throttled state since it doesn't cool down enough to un-throttle.
The menu key (Fn+RCtrl) does not seem to work at all.
Verify airplane mode functionality
Verify headphone jack functionality
Potentially this is an issue with the configuration of the ANX7411 USB-C port controller.
When selected out the audio output device, USB audio devices play system sounds like beeps only. All other sounds go through the internal laptops speakers.
galp4 w/ open ec
@brs17 let's check this on the lemp9 as well
I have discovered a interesting issue with the Lemur Pro that involves the Number Key row.
When pressing a more than two keys in succession cancels out the press of the keys after the second key that was pressed.
i.e: When pressing 123 the only keys that appear are 12.
Attached is a .zip file of a video of what I am experiencing.
VID_20200422_082640.zip
Reported by @angerber
Currently there is a debounce on key press but there also needs to be a debounce on key release to avoid phantom presses.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.