Chromebook hängt im Tablet Modus fest.( Stuck in Tablet Mode )

dekata

dekata

Neues Mitglied
3
Hallo, ich benutze ein Acer Spin 713, bei dem Gerät wurde vor kurzem das Display getauscht und seitdem bleibt das Gerät im Tablet Modus hängen. Sobald ich es um 360° drehe wechselt Chrome OS in den Tablet Modus und schaltet die Tastatur sowie das Touchpad ab, leider lässt sich das nicht mehr rückgängig machen, zurück in den Labtop Modus kann ich das Teil nur durch einen Neustart oder den Ruhezustand bewegen. Außerdem dreht sich das Display auch im Tablet Modus nicht mehr entsprechend der Ausrichtung.

Daher meine Frage, wie genau ermittelt Chrome OS den Winkel des Displays?

Zuerst dachte ich, dass ein Gyrosensor defekt ist, aber diese Theorie konnte ich mit einer Gyro Test App leicht widerlegen, der Gyro wird erkannt und liefert korrekte Werte, zumindest der untere Gyro, denn laut App gibt es noch einen Display Gyro mit xyz Achsen, auf den ich aber nicht zugreifen kann.

Außerdem gibt es noch eine Art Tablet Switch Sensor, sowie einen Näherungswert, der anscheinend über den Lichtsensor neben der Webcam ermittelt wird. .... Kurz gesagt, es gibt eine Menge Sensoren, aber ich bin mir nicht sicher, welche davon jetzt wichtig sind, um vom Tablet in den Labtop Modus zu wechseln.

Außerdem wäre interessant was für die Display Rotation genutzt wird, da diese ja ebenfalls nicht geht wird das wohl der selbe Sensor sein der für die Display Winkel Erkennung genutzt wird.
 
Zuletzt bearbeitet:
dekata schrieb:
Daher meine Frage, wie genau ermittelt Chrome OS den Winkel des Displays?
Das wird bei den meisten Laptops mit einem Schalter geregelt, ab Winkel xy wird dieser einfach irgendwo im Scharnier betätigt und beim zurück bewegen wieder deaktiviert.
Manchmal werden auch Magnetschalter verbaut, die auslösen, wenn das Convertible komplett umgeklappt ist.
 
Ich hab mir die Sensoren unter chrome://system sensor_info angeschaut dort steht folgendes.

/sys/bus/iio/devices/iio:device0/in_accel_x_calibbias: -12
/sys/bus/iio/devices/iio:device0/in_accel_y_calibbias: -9
/sys/bus/iio/devices/iio:device0/in_accel_z_calibbias: -16
/sys/bus/iio/devices/iio:device2/in_anglvel_x_calibbias: -1056
/sys/bus/iio/devices/iio:device2/in_anglvel_y_calibbias: -800
/sys/bus/iio/devices/iio:device2/in_anglvel_z_calibbias: -160
/sys/bus/iio/devices/iio:device0/in_accel_x_calibscale: 1.000000
/sys/bus/iio/devices/iio:device0/in_accel_y_calibscale: 1.000000
/sys/bus/iio/devices/iio:device0/in_accel_z_calibscale: 1.000000
/sys/bus/iio/devices/iio:device2/in_anglvel_x_calibscale: 1.000000
/sys/bus/iio/devices/iio:device2/in_anglvel_y_calibscale: 1.000000
/sys/bus/iio/devices/iio:device2/in_anglvel_z_calibscale: 1.000000
/sys/bus/iio/devices/iio:device0/sampling_frequency: 12.500000
/sys/bus/iio/devices/iio:device2/sampling_frequency: 0.000000
/sys/bus/iio/devices/iio:device0/sampling_frequency_available: 0.000000 3.125000 200.000000 /sys/bus/iio/devices/iio:device2/sampling_frequency_available: 0.000000 12.500000 200.000000
/sys/bus/iio/devices/iio:device0/name: cros-ec-accel
/sys/bus/iio/devices/iio:device1/name: cros-ec-lid-angle
/sys/bus/iio/devices/iio:device2/name: cros-ec-gyro
/sys/bus/iio/devices/iio:device3/name: acpi-als
/sys/bus/iio/devices/iio:device0/location: base
/sys/bus/iio/devices/iio:device2/location: base
/sys/bus/iio/devices/iio:device0/scale: 0.001197100
/sys/bus/iio/devices/iio:device2/scale: 0.000532632
Daraus kann ich entnehmen das es wohl 3 Sensoren gibt accel, lid-angle und gyro.

Daraufhin habe ihr mir den ec log mal angeschaut und dort springte mir sofort folgendes ins Auge, kurz nach einem Neustart wird das ins Log geschrieben:
023-02-16T03:54:09.667000Z [97.337568 Lid Accel: 0: init failed: 1]
2023-02-16T03:54:09.668000Z [97.337982 tablet mode disabled]
2023-02-16T03:54:12.665000Z [100.334735 Lid Accel: 0: init failed: 1]
2023-02-16T03:54:12.676000Z [100.346512 Base Accel: MS Done Init type:0x0 range:4]
2023-02-16T03:54:12.679000Z [100.348750 Base Gyro: MS Done Init type:0x1 range:1000]
2023-02-16T03:54:12.683000Z [100.353166 Base Accel ODR: 10000 - roundup 1 from config 1 [AP 0]]
2023-02-16T03:54:12.685000Z [100.354984 Base Gyro ODR: 0 - roundup 0 from config 0 [AP 0]]

Ich vermute der Lid Accel Sensor gibt Display Winkel und Display Ausrichtung wieder. Besagter Sensor kann nicht initialisiert werden. Vermutlich ist im Display auch ein Gyro und beim tausch des Displays wurde kein Originalteil genutzt, deswegen fehlt hier der Sensor und die Software kann ihn nicht initialisieren oder der Sensor ist einfach defekt.

Auch interessant, es wird trotzdem erkannt ob das Chromebook geschlossen oder umgeklappt ist:
2023-02-16T03:52:59.268000Z [25.978803 lid open] //Chromebook um 360° geklappt.
2023-02-16T03:53:17.232000Z [43.872026 tablet mode enabled] // wird durch lid open getriggerd
2023-02-16T03:53:43.403000Z [69.955146 lid close] //Chromebook geschlossen (Schaltet den Tablet mode nicht aus)

Ich hab mich dann mit meinen neuen Erkenntnissen online auf die Suche gemacht und folgende Doku gefunden:
CrOS EC (Embedded Controller) - EC Acronyms and Technologies

Die Doku bestätigte meine Vermutung, faltbare Chromebooks haben zwei Beschleunigungs/Gyro Sensoren, einen im Display und einen Im Unterteil!
A sensor that measures acceleration, typically over 3-axis. Nominally provides information about the orientation of a device. On Chromebook 2-in-1 devices, there is an accelerometer in the base and one in the lid. Combining the measurements from both accelerometers allows for a precise calculation of the lid angle, used to switch between tablet and laptop mode.

Ich hab noch ein bisle weiter recherchiert und sogar den Grund gefunden warum das schließen zwar erkannt wird den Tablet Modus aber nicht beendet:
On Chromebooks, GMR (Giant Magnetoresistance) sensors are used to detect when the lid is opened. On convertible Chromebooks, the GMR sensor also detects tablet mode when the lid is opened a full 360 degrees.

Wenn ich das richtig verstanden habe dann bedeutet da ja es wurde kein zweiter GMR Sensor für die Endlage 360° verbaut sondern bei der Auswertung von einem Sensor getrickst.
Beiträge automatisch zusammengeführt:

Jetzt stehe ich vor dem Problem, wie mach ich dem Acer Support klar, dass sie Mist gebaut haben?

Das Gerät wurde vorher zum Reparaturservice geschickt, dort haben sie das Display ausgetauscht.

Ich hab ja keinen echten Beweiß das der Lid Acel Sensor defekt ist, die könnten das einfach auf Chrome OS schieben, in meiner vorherigen Recherche hab ich einige Forum Beiträge zu dem Problem (2in1 Chromebook hängt im Tablet Modus) gefunden wo man einfach Chrome OS die Schuld gegeben hatte und eine erneute Reparatur ablehnte.

Chrome OS sollte ernsthaft einen Sensor Check in die Diagnose App einbauen bei dem man direkt sehen kann ob alle wichtigen Sensoren gehen oder nicht.
 
Zuletzt bearbeitet:
dekata schrieb:
cros-ec-lid-angle
hier gibt's ein Sensor der Lid-Angle (Deckelwinkel) im Namen trägt.
dekata schrieb:
ist eigentlich Acceleration , also Beschleunigen, zu Regesteuerung von Bewegungen. Davon sind auch in den meisten Smartphones 3 Stück verbaut für die Achsen X Y Z . Damit lassen sich auch Bewegungen ohne Drehung erkennen

Ein Gyro misst "nur" die Drehbewegungen, auch in alle drei Achsen, aber es reagiert eben nicht wenn man das Gerät z.B. nur hoch/runter bewegt, das merkt der Accel.
 
  • Danke
Reaktionen: dekata und swa00
@dekata

ich vermute aus Entwicklersicht auch nicht, dass für den Winkel der Gyro verwendet wird , denn der hat wie @mblaster4711 zurecht bemerkte, eine ganz andere Aufgabe.

Hier die Optionen des Gyros:
Motion sensors | Android Developers
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: dekata
Danke, ihr habt recht das Gerät nutzt keine 2 Gyros sondern 2 Beschleunigung Sensoren mit 3 Achsen x/y/z (Oder 6 Beschleunigungs Sensoren da ja jede Achse ein Sensor ist?)

Jedenfalls nutzt Chrome OS wohl die Beschleunigungs xyz Werte des Deckels und die xyz Beschleunigungs Werte der Base um den genauen Winkel des Displays zu bestimmen um zwischen Labtop und Tablet Modus zu wechseln.

Wenn aber im Display nur ein Beschleunigung Sensor ist und kein Gyro, warum funktioniert die Display Ausrichtung bei meinem Gerät dann nicht mehr seit dem der Lid Beschleunigung Sensor Probleme macht, bzw seit dem Display tausch, hat jemand eine mögliche Erklärung dafür?
 
Zuletzt bearbeitet:
@AngelOfDarkness
PS: den Thread in der Chromebook Community hast du doch erstellt oder?
Jap, der ist von mir, nachdem ich hier weiter gekommen bin habe ich das ganze direkt in der google FAQ und als Bug Report zusammengefasst und gepostet, damit der Nächste mit nem ähnlichen Problem nicht erst ewig suchen muss.
1416993 - chromium - An open-source project to help move the web forward. - Monorail

Der Repair Support hat auch eine zusammengefasste Version bekommen, mit dem beschäftige ich mich gerade, sieht aber gut aus bis jetzt.

Hast du es eigentlich schon mal mit einem Hardware Reset versucht?
Ja, das war das erste, worauf ich bei der Suche nach einer Lösung gestoßen bin. Der HW Reset hat bei mir nur leider nicht geholfen.
Ich habe auch mehrere Powerwash (Werksresets) durchgeführt und sogar von Stabel auf Beta gewechselt, aber nichts hat geholfen.
 
Zuletzt bearbeitet:
Nachdem ich Zeile für Zeile von diversen Logs durchgegangen bin konnte ich noch ein paar weitere Fehlermeldungen entdecken.

im ec-log:
2023-02-17T09:10:16.534000Z i2c 7 recovery! error code is 13, current state is 0

und im dmesg (boot) log:
<4>[ 2.385551] cros-ec-sensorhub cros-ec-sensorhub.10.auto: no info for EC sensor 0 : -71/3
<4>[ 1.041611] cros-ec-pchg cros-ec-pchg.8.auto: Failed to get number or ports (err:-71)
<6>[ 1.041614] cros-ec-pchg cros-ec-pchg.8.auto: No peripheral charge ports (err:-71)
<4>[ 1.048394] cros-ec-pchg cros-ec-pchg.18.auto: Unable to get number or ports (err:-71)
<6>[ 1.048399] cros-ec-pchg cros-ec-pchg.18.auto: No peripheral charge ports (err:-71)


Bezüglich der "2023-02-17T09:10:16.534000Z i2c 7 recovery! error code is 13, current state is 0" Fehlermeldung,
vermutlich ist der Lid Accel Sensor über den i2c-Bus angeschlossen. Die Meldung könnte also zu meinem Problem passen.
Die einzige Fehlerdoku zu einem i2c-Fehlercode 13, die ich finden konnte, ist folgende:

Understanding I2C Errors | Dev Center
Nicht aktiviert (-13)
Dies ist ein einfacher Fehler, der auftritt, wenn Sie versuchen, auf einen I²C-Bus zuzugreifen, der noch nicht konfiguriert wurde. Überprüfen Sie Ihren Code und rufen Sie ggf. i2c.configure() mit einer unterstützten Geschwindigkeitskonstante als Parameter auf.

Not enabled (-13)
This is a simple error that occurs when you try to access an I²C bus that has not yet been configured. Check your code and if necessary call i2c.configure() with a supported speed constant passed as parameter.

Zur Fehlermeldung "<4>[ 2.385551] cros-ec-sensorhub cros-ec-sensorhub.10.auto: no info for EC sensor 0 : -71/3" konnte ich nichts finden, vermutlich wird das aber das selbe bedeuten wie die ic2 Fehlermeldung, also das ein ic2 Bus erkannt wurde für den keine oder eine falsche Konfiguration vorhanden ist.

Zu den restlichen Fehlermeldungen, siehe unten, konnte ich nur Hinweiße dafür finden das sie zu Audio Problemen bzw. Audio Wiedergabe Problem gehören.
<4>[ 1.041611] cros-ec-pchg cros-ec-pchg.8.auto: Failed to get number or ports (err:-71)
<6>[ 1.041614] cros-ec-pchg cros-ec-pchg.8.auto: No peripheral charge ports (err:-71)
<4>[ 1.048394] cros-ec-pchg cros-ec-pchg.18.auto: Unable to get number or ports (err:-71)
<6>[ 1.048399] cros-ec-pchg cros-ec-pchg.18.auto: No peripheral charge ports (err:-71)

Das würde zimlich gut zu meinem Gerät passen da mein linker Lautsprecher immer wieder alle paar Wochen 1-2 mal kurze Aussetzer hat. Das Gerät war deswegen ebenfalls schon 2 mal beim Repair Support und 2 mal wurde der Linke Lautsprecher umsonst getauscht doch gebracht hatte das nichts. Vermutlich gibt es ein Problem mit dem Audio/Tasten/Led Input/Output Board, das ist ja bei Chromebooks glaub ein Extra Board getrennt vom Haupt Board, die Fehlermeldungen könnten dementsprechend zu meinen Audio Problemen gehören.
 
Zuletzt bearbeitet:
Du kannst ja mal im folgenden Bugtracker ein Ticket anlegen.
issue Tracker - Sensors
Dazu auch diesen und den anderen Thread in der Community verlinken.
 
Zuletzt bearbeitet:
Danke, werde ich machen.

Das Gerät ist nun wieder "kostenlos" auf dem Weg zum Acer Repair Center, auf dem Begleitschein steht unter Fehlerbeschreibung fett geschrieben: "Display Beschleunigungssensor funktioniert nicht!" Für eine ordentliche Fehlerbeschreibung reichte der Platz zwar nicht, aber ich konnte wohl deutlich machen, was alles seit der Reparatur nun nicht mehr geht. Ich habe noch eine Kopie des letzten Reparaturberichtes angehängt, hoffentlich können sie alle Probleme beheben.


Beiträge automatisch zusammengeführt:

Mir viel gerade ein das der Display/Deckel Winkel mit entscheidet ob die Display Anzeige um 180 gedreht wird oder nicht, wahrscheinlich ist deswegen die gesamte Automatische Ausrichtung defekt, wenn der Lid Accel Sensor nicht funktioniert.

Ich bin auch die Fehlermeldungen noch einmal durchgegangen und wenn man die zeitliche Abfolge der Fehler betrachtet, dann ist ein fehlender oder nicht angeschlossener Display Beschleunigungssensor wohl die logischste Erklärung.

Zuerst kommt es ja zur folgenden Fehlermeldung beim boot:
cros-ec-sensorhub cros-ec-sensorhub.10.auto: no info for EC sensor 0 : -71/3
gefolgt von folgender Fehlermeldung:
i2c 7 recovery! error code is 13, current state is 0
und dann kommt es mehrfach zu dieser Fehlermeldung:
[100.334735 Lid Accel: 0: init failed: 1]

Könnte das nicht bedeuten, dass Chrome OS beim Booten keinen Lid Accel Sensor gefunden hat und deshalb auch keine Konfiguration angelegt oder geladen hat. Beim ersten Init der Sensoren wird dann versucht, über i2c auf den nicht vorhandenen Sensor zuzugreifen, was fehlschlägt, da keine passende Konfiguration für die Verbindung zum Sensor angelegt wurde und wenn Chrome OS später versucht, auf den nicht vorhandenen Lid Accel Sensor zuzugreifen, um Werte auszulesen, wird stattdessen Lid Accel: 0: Init failed: 1 ins Log geschrieben.
Ist das eine realistische Erklärung/Annahme?
 
Zuletzt bearbeitet:
Ok, nachdem ich mir jetzt die Logs meiner Reserve 2-1 Chrombooks (HP...etc) angeschaut habe, kann ich mit ziemlicher Sicherheit sagen, dass der folgende Fehler nichts mit dem Lid Sensor zu tun hat.
- i2c 7 recovery! error code is 13, current state is 0

Ich glaube nicht, dass das überhaupt ein Fehler ist, keine Ahnung warum, aber diese Meldung kommt bei allen Chromebooks.

Wahrscheinlich sind das dann die einzigen Fehler, die mit dem Lid Accel Sensor Problem zu tun haben.
- cros-ec-sensorhub cros-ec-sensorhub.10.auto: no info for EC sensor 0 : -71/3
- [100.334735 Lid Accel: 0: init failed: 1]
 
Also ein kleines Update, Acer hat das Gerät gegen ein neues Ausgetauscht. Das Problem ist somit gelöst.
 
  • Danke
Reaktionen: Exilbonner, AngelOfDarkness und mblaster4711
Schön, dass dein Problem gelöst ist und dank dir für die Rückmeldung 👍🙂
 

Ähnliche Themen

L
Antworten
5
Aufrufe
1.431
Fembre
Fembre
O
Antworten
7
Aufrufe
1.584
chk142
C
tatoe
Antworten
4
Aufrufe
1.458
tatoe
tatoe
Zurück
Oben Unten