linux issueshttps://source.puri.sm/Librem5/linux/-/issues2023-01-26T00:45:10Zhttps://source.puri.sm/Librem5/linux/-/issues/346usb2: Devices can't resume host from suspend2023-01-26T00:45:10ZSebastian Krzyszkowiakusb2: Devices can't resume host from suspendIt's been known for ages, but I don't think there's an issue for it, so here it goes.
When usb-otg2 (38200000.usb) is allowed to suspend, it doesn't get woken up by any activity from the devices.
The most noticeable symptom is that any...It's been known for ages, but I don't think there's an issue for it, so here it goes.
When usb-otg2 (38200000.usb) is allowed to suspend, it doesn't get woken up by any activity from the devices.
The most noticeable symptom is that any incoming calls or messages don't get noticed until something makes the host controller wake up (querying the modem or accessing SD card). Also, turning the modem on while USB host is suspended makes the system not notice it until host gets resumed.
(this doesn't happen when turning the modem *off* - in that case, the host gets woken up correctly; however, it seems that's only because of rfkill_hks which causes ModemManager to wake the bus up)
Note: usb-otg2 suspend is not enabled by default.
Test with:
```
echo auto | sudo tee /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/power/control
echo auto | sudo tee /sys/devices/platform/soc@0/38200000.usb/power/control
```https://source.puri.sm/Librem5/linux/-/issues/462upowerd spamming syslog with on_battery state2023-01-24T09:06:15ZMartin Kepplingerupowerd spamming syslog with on_battery statethis is what's happening (whithin one second) when the phone is charging. Very similar logs are printed when the phone is discharging. This is printed to the INFO loglevel which is definitely a bug. The device is doing *nothing* and ever...this is what's happening (whithin one second) when the phone is charging. Very similar logs are printed when the phone is discharging. This is printed to the INFO loglevel which is definitely a bug. The device is doing *nothing* and everything works as expected. Can this point to a kernel bug?
```
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 Setup poll for 'max170xx_battery' every 120 seconds
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 Setup poll for 'max170xx_battery' every 120 seconds
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 Setup poll for 'max170xx_battery' every 120 seconds
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 using min design voltage
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 SYSFS change /sys/devices/platform/soc@0/30800000.bus/30a50000.i2c/i2c-3/3-0036/power_supply/max170xx_battery
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 Setup poll for 'max170xx_battery' every 120 seconds
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 Setup poll for 'max170xx_battery' every 120 seconds
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 Setup poll for 'max170xx_battery' every 120 seconds
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 using min design voltage
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 SYSFS change /sys/devices/platform/soc@0/30800000.bus/30a50000.i2c/i2c-3/3-0036/power_supply/max170xx_battery
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 deferring as others queued
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 deferring as others queued
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 saving in 600 seconds
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 Setup poll for 'max170xx_battery' every 120 seconds
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 Setup poll for 'max170xx_battery' every 120 seconds
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 Setup poll for 'max170xx_battery' every 120 seconds
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 using min design voltage
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 on_battery = no
Jän 23 10:30:41 pureos upowerd[770]: TI:10:30:41 SYSFS change /sys/devices/platform/soc@0/30800000.bus/30a50000.i2c/i2c-3/3-0036/power_supply/max170xx_battery
```https://source.puri.sm/Librem5/linux/-/issues/454Modem 5 minutes not connected after receiving a call2023-01-18T16:10:35ZJan VlugModem 5 minutes not connected after receiving a callI saw an incoming call of an unknown number which hang up before I could pick up the phone, so no phone call connection was established.
Immediately after this, I saw an exclamation mark in the mobile connection icon in the status bar.
...I saw an incoming call of an unknown number which hang up before I could pick up the phone, so no phone call connection was established.
Immediately after this, I saw an exclamation mark in the mobile connection icon in the status bar.
I left the phone further untouched (I only ssh-ed in to see the logging). After 5 minutes, the modem was connected again and the exclamation mark disappeared.
This is the log from receiving the call until having a connection again:[exclamation_mark_after_call_and_resolving_later.log](/uploads/e4de1f079d2888d2387ce57c84cd57da/exclamation_mark_after_call_and_resolving_later.log)
This is the result of `cat exclamation_mark_after_call_and_resolving_later.log | grep -i "state changed,"`
```
Jan 05 17:26:32 avalon NetworkManager[609]: <info> [1672935992.1769] modem["cdc-wdm0"]: modem state changed, 'connected' --> 'registered' (reason: user-requested)
Jan 05 17:26:32 avalon NetworkManager[609]: <info> [1672935992.2981] modem["cdc-wdm0"]: modem state changed, 'registered' --> 'connecting' (reason: user-requested)
Jan 05 17:26:33 avalon NetworkManager[609]: <info> [1672935993.4681] modem["cdc-wdm0"]: modem state changed, 'connecting' --> 'registered' (reason: user-requested)
Jan 05 17:26:33 avalon NetworkManager[609]: <info> [1672935993.4986] modem["cdc-wdm0"]: modem state changed, 'registered' --> 'connecting' (reason: user-requested)
Jan 05 17:26:33 avalon NetworkManager[609]: <info> [1672935993.5236] modem["cdc-wdm0"]: modem state changed, 'connecting' --> 'registered' (reason: user-requested)
Jan 05 17:26:33 avalon NetworkManager[609]: <info> [1672935993.5427] modem["cdc-wdm0"]: modem state changed, 'registered' --> 'connecting' (reason: user-requested)
Jan 05 17:26:33 avalon NetworkManager[609]: <info> [1672935993.5628] modem["cdc-wdm0"]: modem state changed, 'connecting' --> 'registered' (reason: user-requested)
Jan 05 17:26:33 avalon NetworkManager[609]: <info> [1672935993.6370] modem["cdc-wdm0"]: modem state changed, 'registered' --> 'connecting' (reason: user-requested)
Jan 05 17:26:33 avalon NetworkManager[609]: <info> [1672935993.6809] modem["cdc-wdm0"]: modem state changed, 'connecting' --> 'registered' (reason: user-requested)
Jan 05 17:26:33 avalon NetworkManager[609]: <info> [1672935993.7031] modem["cdc-wdm0"]: modem state changed, 'registered' --> 'connecting' (reason: user-requested)
Jan 05 17:26:33 avalon NetworkManager[609]: <info> [1672935993.7167] modem["cdc-wdm0"]: modem state changed, 'connecting' --> 'registered' (reason: user-requested)
Jan 05 17:26:33 avalon NetworkManager[609]: <info> [1672935993.7363] modem["cdc-wdm0"]: modem state changed, 'registered' --> 'connecting' (reason: user-requested)
Jan 05 17:26:33 avalon NetworkManager[609]: <info> [1672935993.7521] modem["cdc-wdm0"]: modem state changed, 'connecting' --> 'registered' (reason: user-requested)
Jan 05 17:26:33 avalon NetworkManager[609]: <info> [1672935993.8262] modem["cdc-wdm0"]: modem state changed, 'registered' --> 'connecting' (reason: user-requested)
Jan 05 17:26:33 avalon NetworkManager[609]: <info> [1672935993.8699] modem["cdc-wdm0"]: modem state changed, 'connecting' --> 'registered' (reason: user-requested)
Jan 05 17:26:33 avalon NetworkManager[609]: <info> [1672935993.8868] modem["cdc-wdm0"]: modem state changed, 'registered' --> 'connecting' (reason: user-requested)
Jan 05 17:26:33 avalon NetworkManager[609]: <info> [1672935993.9100] modem["cdc-wdm0"]: modem state changed, 'connecting' --> 'registered' (reason: user-requested)
Jan 05 17:26:33 avalon NetworkManager[609]: <info> [1672935993.9303] modem["cdc-wdm0"]: modem state changed, 'registered' --> 'connecting' (reason: user-requested)
Jan 05 17:26:33 avalon NetworkManager[609]: <info> [1672935993.9504] modem["cdc-wdm0"]: modem state changed, 'connecting' --> 'registered' (reason: user-requested)
Jan 05 17:31:33 avalon NetworkManager[609]: <info> [1672936293.9968] modem["cdc-wdm0"]: modem state changed, 'registered' --> 'connecting' (reason: user-requested)
Jan 05 17:31:34 avalon NetworkManager[609]: <info> [1672936294.9901] modem["cdc-wdm0"]: modem state changed, 'connecting' --> 'connected' (reason: user-requested)
```https://source.puri.sm/Librem5/linux/-/issues/408brcmfmac: Use regulatory framework2023-01-16T18:45:35ZSebastian Krzyszkowiakbrcmfmac: Use regulatory frameworkCurrently, in order to let brcmfmac use channels that are restricted in some parts of the world, a country code has to be set in `brcmfmac43752-sdio.txt`. This isn't a viable solution with fw jail, so the driver should be modified to use...Currently, in order to let brcmfmac use channels that are restricted in some parts of the world, a country code has to be set in `brcmfmac43752-sdio.txt`. This isn't a viable solution with fw jail, so the driver should be modified to use and respect standard kernel's regulatory framework.https://source.puri.sm/Librem5/linux/-/issues/352Upstream rear-camera (s5k3l6xx) driver2023-01-10T11:20:01ZGuido GuntherUpstream rear-camera (s5k3l6xx) driverSelfie cam is on the way already, would be cool for the rear cam to start the upstreaming process too.Selfie cam is on the way already, would be cool for the rear cam to start the upstreaming process too.Dorota CzaplejewiczDorota Czaplejewiczhttps://source.puri.sm/Librem5/linux/-/issues/456Crashes/curruptions in camera stack2023-01-08T18:31:00ZDorota CzaplejewiczCrashes/curruptions in camera stackWhile trying to solve GPU-related crashes, I noticed less consistent odd corruptions after eliminating all GPU code. Crashes affecting other processes and persisting until reboot indicate the kernel being at fault.
https://source.puri.s...While trying to solve GPU-related crashes, I noticed less consistent odd corruptions after eliminating all GPU code. Crashes affecting other processes and persisting until reboot indicate the kernel being at fault.
https://source.puri.sm/Librem5/libcamera/-/issues/6#note_223002
As a change of direction from that issue, this is a new logbook for trying to figure out if the problem is indeed hiding in the camera stack.https://source.puri.sm/Librem5/linux/-/issues/448charging: sometimes phone does not recognize when charger is plugged in2023-01-06T08:01:48ZJonathan Brielmaiercharging: sometimes phone does not recognize when charger is plugged inI observe this behaviour for quite some months, maybe even since I received my Librem 5 in March 2022. When I put in the USB-C cable connected to the charger in the wall socket, the phone's LED does not light red, there is no sound/vibra...I observe this behaviour for quite some months, maybe even since I received my Librem 5 in March 2022. When I put in the USB-C cable connected to the charger in the wall socket, the phone's LED does not light red, there is no sound/vibra and `/sys/class/power_supply/bq25890-charger/status` stays `Discharging`.
dmesg log with comments what I did:
```
=> Plugging in the first time. No RED Light, so sound. State still "Discharging".
[273858.813339] bq25890-charger 3-006a: Upstream supply changed: 0.
[273858.813387] bq25890-charger 3-006a: Disabling OTG_EN pin
[273858.817627] tps6598x 0-003f: The interrupt is masked , how did it fire ?? 380100a
[273858.827570] bq25890-charger 3-006a: Upstream supply changed: 0.
[273858.827599] bq25890-charger 3-006a: Disabling OTG_EN pin
[273858.831762] bq25890-charger 3-006a: Upstream supply changed: 0.
[273858.831790] bq25890-charger 3-006a: Disabling OTG_EN pin
[273858.923677] bq25890-charger 3-006a: Upstream supply changed: 0.
[273858.923708] bq25890-charger 3-006a: Disabling OTG_EN pin
[273861.541049] bq25890-charger 3-006a: Upstream supply changed: 0.
[273861.541087] bq25890-charger 3-006a: Enabling OTG_EN pin
[273861.544720] bq25890-charger 3-006a: Upstream supply changed: 0.
[273861.544761] bq25890-charger 3-006a: Enabling OTG_EN pin
[273861.591524] bq25890-charger 3-006a: Upstream supply changed: 0.
[273861.591551] bq25890-charger 3-006a: Enabling OTG_EN pin
[273861.650429] xhci-hcd xhci-hcd.5.auto: xHCI Host Controller
[273861.650467] xhci-hcd xhci-hcd.5.auto: new USB bus registered, assigned bus number 3
[273861.650590] xhci-hcd xhci-hcd.5.auto: hcc params 0x0220fe6c hci version 0x110 quirks 0x0000002000010010
[273861.650637] xhci-hcd xhci-hcd.5.auto: irq 207, io mem 0x38100000
[273861.650771] xhci-hcd xhci-hcd.5.auto: xHCI Host Controller
[273861.650782] xhci-hcd xhci-hcd.5.auto: new USB bus registered, assigned bus number 4
[273861.650793] xhci-hcd xhci-hcd.5.auto: Host supports USB 3.0 SuperSpeed
[273861.650953] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.00
[273861.650962] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[273861.650969] usb usb3: Product: xHCI Host Controller
[273861.650974] usb usb3: Manufacturer: Linux 6.0.0-1-librem5 xhci-hcd
[273861.650980] usb usb3: SerialNumber: xhci-hcd.5.auto
[273861.651447] hub 3-0:1.0: USB hub found
[273861.651481] hub 3-0:1.0: 1 port detected
[273861.651878] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
[273861.651981] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.00
[273861.651990] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[273861.651996] usb usb4: Product: xHCI Host Controller
[273861.652001] usb usb4: Manufacturer: Linux 6.0.0-1-librem5 xhci-hcd
[273861.652006] usb usb4: SerialNumber: xhci-hcd.5.auto
[273861.652698] hub 4-0:1.0: USB hub found
[273861.652741] hub 4-0:1.0: 1 port detected
[273861.658842] bq25890-charger 3-006a: Upstream supply changed: 0.
[273861.658873] bq25890-charger 3-006a: Enabling OTG_EN pin
[273861.692198] bq25890-charger 3-006a: Upstream supply changed: 0.
[273861.692231] bq25890-charger 3-006a: Enabling OTG_EN pin
[273877.587683] edt_ft5x06 2-0038: Unable to fetch data, error: -6
=> Unplugging the cable:
[273999.912786] xhci-hcd xhci-hcd.5.auto: remove, state 4
[273999.912823] usb usb4: USB disconnect, device number 1
[273999.913764] xhci-hcd xhci-hcd.5.auto: USB bus 4 deregistered
[273999.913817] xhci-hcd xhci-hcd.5.auto: remove, state 4
[273999.913845] usb usb3: USB disconnect, device number 1
[273999.915031] xhci-hcd xhci-hcd.5.auto: USB bus 3 deregistered
[273999.915442] bq25890-charger 3-006a: Upstream supply changed: 0.
[273999.915460] bq25890-charger 3-006a: Disabling OTG_EN pin
[273999.917038] tps6598x 0-003f: The interrupt is masked , how did it fire ?? 380100a
[273999.925544] bq25890-charger 3-006a: Upstream supply changed: 0.
[273999.925876] bq25890-charger 3-006a: Disabling OTG_EN pin
[273999.929654] bq25890-charger 3-006a: Upstream supply changed: 0.
[273999.929681] bq25890-charger 3-006a: Disabling OTG_EN pin
[274000.022044] bq25890-charger 3-006a: Upstream supply changed: 0.
[274000.022073] bq25890-charger 3-006a: Disabling OTG_EN pin
[274008.218528] bq25890-charger 3-006a: Upstream supply changed: 0.
[274008.218560] bq25890-charger 3-006a: Enabling OTG_EN pin
[274008.222006] bq25890-charger 3-006a: Upstream supply changed: 0.
[274008.222041] bq25890-charger 3-006a: Enabling OTG_EN pin
[274008.266059] bq25890-charger 3-006a: Upstream supply changed: 0.
[274008.266088] bq25890-charger 3-006a: Enabling OTG_EN pin
=> Plugging in again. Still no red LED. State still "Discharging".
[274008.327110] xhci-hcd xhci-hcd.5.auto: xHCI Host Controller
[274008.327154] xhci-hcd xhci-hcd.5.auto: new USB bus registered, assigned bus number 3
[274008.327305] xhci-hcd xhci-hcd.5.auto: hcc params 0x0220fe6c hci version 0x110 quirks 0x0000002000010010
[274008.327359] xhci-hcd xhci-hcd.5.auto: irq 207, io mem 0x38100000
[274008.327531] xhci-hcd xhci-hcd.5.auto: xHCI Host Controller
[274008.327545] xhci-hcd xhci-hcd.5.auto: new USB bus registered, assigned bus number 4
[274008.327560] xhci-hcd xhci-hcd.5.auto: Host supports USB 3.0 SuperSpeed
[274008.327767] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.00
[274008.327780] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[274008.327789] usb usb3: Product: xHCI Host Controller
[274008.327797] usb usb3: Manufacturer: Linux 6.0.0-1-librem5 xhci-hcd
[274008.327805] usb usb3: SerialNumber: xhci-hcd.5.auto
[274008.328355] hub 3-0:1.0: USB hub found
[274008.328396] hub 3-0:1.0: 1 port detected
[274008.328855] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
[274008.328998] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.00
[274008.329010] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[274008.329020] usb usb4: Product: xHCI Host Controller
[274008.329028] usb usb4: Manufacturer: Linux 6.0.0-1-librem5 xhci-hcd
[274008.329036] usb usb4: SerialNumber: xhci-hcd.5.auto
[274008.348406] hub 4-0:1.0: USB hub found
[274008.348461] hub 4-0:1.0: 1 port detected
[274008.349026] bq25890-charger 3-006a: Upstream supply changed: 0.
[274008.349043] bq25890-charger 3-006a: Enabling OTG_EN pin
[274008.366974] bq25890-charger 3-006a: Upstream supply changed: 0.
[274008.367000] bq25890-charger 3-006a: Enabling OTG_EN pin
=> Plugging out and in again. This time I turned the USB-C plug by 180 degrees.
=> LED turns red, charging sound event/vibra. State becomes "Charging".
[274018.142905] xhci-hcd xhci-hcd.5.auto: remove, state 4
[274018.142942] usb usb4: USB disconnect, device number 1
[274018.143792] bq25890-charger 3-006a: Upstream supply changed: 0.
[274018.143811] bq25890-charger 3-006a: Disabling OTG_EN pin
[274018.145924] xhci-hcd xhci-hcd.5.auto: USB bus 4 deregistered
[274018.145972] xhci-hcd xhci-hcd.5.auto: remove, state 4
[274018.146050] usb usb3: USB disconnect, device number 1
[274018.147893] bq25890-charger 3-006a: Upstream supply changed: 0.
[274018.147930] bq25890-charger 3-006a: Disabling OTG_EN pin
[274018.148433] tps6598x 0-003f: The interrupt is masked , how did it fire ?? 380100a
[274018.156918] xhci-hcd xhci-hcd.5.auto: USB bus 3 deregistered
[274018.160947] bq25890-charger 3-006a: Upstream supply changed: 0.
[274018.160976] bq25890-charger 3-006a: Disabling OTG_EN pin
[274018.266491] bq25890-charger 3-006a: Upstream supply changed: 0.
[274018.266519] bq25890-charger 3-006a: Disabling OTG_EN pin
[274021.206221] bq25890-charger 3-006a: Upstream supply changed: 1.
[274021.206252] bq25890-charger 3-006a: Disabling OTG_EN pin
[274021.210908] bq25890-charger 3-006a: Upstream supply changed: 1.
[274021.210938] bq25890-charger 3-006a: Disabling OTG_EN pin
[274021.212753] bq25890-charger 3-006a: Upstream supply changed: 1.
[274021.212775] bq25890-charger 3-006a: Disabling OTG_EN pin
[274021.312469] bq25890-charger 3-006a: Upstream supply changed: 1.
[274021.312501] bq25890-charger 3-006a: Disabling OTG_EN pin
[274021.429026] bq25890-charger 3-006a: Upstream supply changed: 1.
[274021.429053] bq25890-charger 3-006a: Disabling OTG_EN pin
[274021.875860] bq25890-charger 3-006a: Upstream supply changed: 1.
[274021.875894] bq25890-charger 3-006a: Disabling OTG_EN pin
[274021.993673] bq25890-charger 3-006a: Upstream supply changed: 1.
[274021.993704] bq25890-charger 3-006a: Disabling OTG_EN pin
```
I'm using the original charger shipped by Purism with the original USB-C cable. It's on Europe's 50Hz grid :)
It's not every time when I charge the Librem 5. More like once or twice a week. Most of the time it works on the first plug in.
`tail -n+0 /sys/class/power_supply/*/uevent` -> [charger_not_recognized.txt](/uploads/b5ab4886267ad193f79c28a508f985ac/charger_not_recognized.txt)
`tail -n+0 /sys/class/power_supply/*/uevent` -> [charger_recognized.txt](/uploads/067adc85afc449d877b0ea8b2c99a243/charger_recognized.txt)https://source.puri.sm/Librem5/linux/-/issues/451Kernel oops with sparklan card2023-01-03T17:37:38ZKyle RankinKernel oops with sparklan cardI experienced a series of lockups on my Librem 5 the other day in a row that required I long-press the power button and boot from scratch to resolve. After the last one I managed to pull logs. It appears the first sign of trouble is rela...I experienced a series of lockups on my Librem 5 the other day in a row that required I long-press the power button and boot from scratch to resolve. After the last one I managed to pull logs. It appears the first sign of trouble is related to the sparklan card:
```
Dec 28 10:32:42 pureos kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Dec 28 10:32:42 pureos kernel: brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
Dec 28 10:32:43 pureos wpa_supplicant[790]: wlan0: CTRL-EVENT-DISCONNECTED bssid=20:27:22:d5:f1:c8 reason=1 locally_generated=1
Dec 28 10:32:43 pureos kernel: ieee80211 phy3: brcmf_fil_cmd_data: bus is down. we have nothing to do.
Dec 28 10:32:43 pureos kernel: ieee80211 phy3: send_key_to_dongle: wsec_key error (-5)
Dec 28 10:32:43 pureos kernel: ieee80211 phy3: brcmf_fil_cmd_data: bus is down. we have nothing to do.
Dec 28 10:32:43 pureos kernel: ieee80211 phy3: send_key_to_dongle: wsec_key error (-5)
Dec 28 10:32:43 pureos avahi-daemon[731]: Interface wlan0.IPv6 no longer relevant for mDNS.
Dec 28 10:32:43 pureos avahi-daemon[731]: Leaving mDNS multicast group on interface wlan0.IPv6 with address 2001:5a8:64a:f02:f134:c2c8:c23e:3966.
Dec 28 10:32:43 pureos systemd-networkd[488]: wlan0: Link DOWN
Dec 28 10:32:43 pureos systemd-networkd[488]: wlan0: Lost carrier
Dec 28 10:32:43 pureos kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -123
Dec 28 10:32:43 pureos kernel: brcmfmac: brcmf_sdio_bus_stop: Failed to force clock for F2: err -123
Dec 28 10:32:43 pureos avahi-daemon[731]: Interface wlan0.IPv4 no longer relevant for mDNS.
Dec 28 10:32:43 pureos kernel: mmc1: card 0001 removed
```
And shortly after this we have the kernel oops:
```
Dec 28 10:32:48 pureos kernel: brcmfmac: brcmf_sdio_bus_rxctl: resumed on timeout
Dec 28 10:32:48 pureos kernel: ------------[ cut here ]------------
Dec 28 10:32:48 pureos kernel: WARNING: CPU: 3 PID: 4875 at drivers/mmc/core/sdio_io.c:29 sdio_claim_host+0x38/0x40
Dec 28 10:32:48 pureos kernel: Modules linked in: rfcomm algif_hash algif_skcipher af_alg bnep hci_uart btqca bluetooth xt_CHECKSUM iptable_nat xt_MASQUERADE nf_nat bridge stp udp_diag nf_co>
Dec 28 10:32:48 pureos kernel: industrialio_triggered_buffer caam kfifo_buf mc snd_soc_core error snd_pcm_dmaengine snd_pcm rfkill_hks imx2_wdt snd_timer watchdog snd soundcore rfkill libco>
Dec 28 10:32:48 pureos kernel: CPU: 3 PID: 4875 Comm: kworker/3:1 Tainted: G C 6.1.0-1-librem5 #1
Dec 28 10:32:48 pureos kernel: Hardware name: Purism Librem 5r4 (DT)
Dec 28 10:32:48 pureos kernel: Workqueue: events request_firmware_work_func
Dec 28 10:32:48 pureos kernel: pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
Dec 28 10:32:48 pureos kernel: pc : sdio_claim_host+0x38/0x40
Dec 28 10:32:48 pureos kernel: lr : brcmf_sdio_readshared+0x44/0x220 [brcmfmac]
Dec 28 10:32:48 pureos kernel: sp : ffff80000de2b7d0
Dec 28 10:32:48 pureos kernel: x29: ffff80000de2b7d0 x28: ffff00000139d80c x27: 00000000000065d1
Dec 28 10:32:48 pureos kernel: x26: ffff00001125ca80 x25: ffff000001398ab4 x24: 0000000000000000
Dec 28 10:32:48 pureos kernel: x23: ffff800001458c20 x22: ffff80000de2b888 x21: 0000000000000000
Dec 28 10:32:48 pureos kernel: x20: ffff000001398800 x19: ffff000001398800 x18: 0000000000000000
Dec 28 10:32:48 pureos kernel: x17: ffff8000b67c9000 x16: ffff8000098a4000 x15: 0000000000000030
Dec 28 10:32:48 pureos kernel: x14: 0000000000000000 x13: 74756f656d697420 x12: 6e6f2064656d7573
Dec 28 10:32:48 pureos kernel: x11: 00000000ffffdfff x10: 00000000ffffdfff x9 : ffff80000144afb4
Dec 28 10:32:48 pureos kernel: x8 : 000000000002ffe8 x7 : c0000000ffffdfff x6 : 0000000000017ff4
Dec 28 10:32:48 pureos kernel: x5 : ffff0000bf9809d0 x4 : ffff0000bf9809d0 x3 : 0000000000000000
Dec 28 10:32:48 pureos kernel: x2 : ffff00003983ab80 x1 : ffff80000de2b888 x0 : 0000000000000000
Dec 28 10:32:48 pureos kernel: Call trace:
Dec 28 10:32:48 pureos kernel: sdio_claim_host+0x38/0x40
Dec 28 10:32:48 pureos kernel: brcmf_sdio_checkdied.isra.0+0x34/0x110 [brcmfmac]
Dec 28 10:32:48 pureos kernel: brcmf_sdio_bus_rxctl+0x1f0/0x220 [brcmfmac]
Dec 28 10:32:48 pureos kernel: brcmf_proto_bcdc_cmplt+0x7c/0xa0 [brcmfmac]
Dec 28 10:32:48 pureos kernel: brcmf_proto_bcdc_set_dcmd+0x9c/0x124 [brcmfmac]
Dec 28 10:32:48 pureos kernel: brcmf_fil_cmd_data+0x84/0x180 [brcmfmac]
Dec 28 10:32:48 pureos kernel: brcmf_fil_iovar_data_set+0xbc/0x1a0 [brcmfmac]
Dec 28 10:32:48 pureos kernel: brcmf_c_preinit_dcmds+0x528/0x810 [brcmfmac]
Dec 28 10:32:48 pureos kernel: brcmf_attach+0x148/0x4d0 [brcmfmac]
Dec 28 10:32:48 pureos kernel: brcmf_sdio_firmware_callback+0x808/0x900 [brcmfmac]
Dec 28 10:32:48 pureos kernel: brcmf_fw_request_done+0x15c/0x194 [brcmfmac]
Dec 28 10:32:48 pureos kernel: request_firmware_work_func+0x54/0xa0
Dec 28 10:32:48 pureos kernel: process_one_work+0x204/0x480
Dec 28 10:32:48 pureos kernel: worker_thread+0x154/0x450
Dec 28 10:32:48 pureos kernel: kthread+0x114/0x120
Dec 28 10:32:48 pureos kernel: ret_from_fork+0x10/0x20
Dec 28 10:32:48 pureos kernel: ---[ end trace 0000000000000000 ]---
Dec 28 10:32:48 pureos kernel: Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
Dec 28 10:32:48 pureos kernel: Mem abort info:
Dec 28 10:32:48 pureos kernel: ESR = 0x0000000096000004
Dec 28 10:32:48 pureos kernel: EC = 0x25: DABT (current EL), IL = 32 bits
Dec 28 10:32:48 pureos kernel: SET = 0, FnV = 0
Dec 28 10:32:49 pureos kernel: EA = 0, S1PTW = 0
Dec 28 10:32:49 pureos kernel: FSC = 0x04: level 0 translation fault
Dec 28 10:32:49 pureos kernel: Data abort info:
Dec 28 10:32:49 pureos kernel: ISV = 0, ISS = 0x00000004
Dec 28 10:32:49 pureos kernel: CM = 0, WnR = 0
Dec 28 10:32:49 pureos kernel: user pgtable: 4k pages, 48-bit VAs, pgdp=0000000046900000
Dec 28 10:32:49 pureos kernel: [0000000000000000] pgd=0000000000000000, p4d=0000000000000000
Dec 28 10:32:49 pureos kernel: Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP
Dec 28 10:32:49 pureos kernel: Modules linked in: rfcomm algif_hash algif_skcipher af_alg bnep hci_uart btqca bluetooth xt_CHECKSUM iptable_nat xt_MASQUERADE nf_nat bridge stp udp_diag nf_co>
Dec 28 10:32:49 pureos kernel: industrialio_triggered_buffer caam kfifo_buf mc snd_soc_core error snd_pcm_dmaengine snd_pcm rfkill_hks imx2_wdt snd_timer watchdog snd soundcore rfkill libco>
Dec 28 10:32:49 pureos kernel: CPU: 3 PID: 4875 Comm: kworker/3:1 Tainted: G WC 6.1.0-1-librem5 #1
Dec 28 10:32:49 pureos kernel: Hardware name: Purism Librem 5r4 (DT)
Dec 28 10:32:49 pureos kernel: Workqueue: events request_firmware_work_func
Dec 28 10:32:49 pureos kernel: pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
Dec 28 10:32:49 pureos kernel: pc : brcmf_sdio_bus_sleep+0xf8/0x32c [brcmfmac]
Dec 28 10:32:49 pureos kernel: lr : brcmf_sdio_bus_sleep+0xe8/0x32c [brcmfmac]
Dec 28 10:32:49 pureos kernel: sp : ffff80000de2b780
```
I should note that after this happened a few times in a row the other day, I have not (yet) had a repeat of this lock-up today, but will update this ticket with more logs should it happen again. I was using a custom linux-image-6.1.0-1-librem5_6.1.0pureos1+gitlabci1_arm64.deb package that was modified to allow me to use higher bandwidth rates for sparklan bluetooth, in case that is a useful/relevant data point.https://source.puri.sm/Librem5/linux/-/issues/345Letting usb-otg2 suspend increases power consumption2022-12-30T06:26:35ZSebastian KrzyszkowiakLetting usb-otg2 suspend increases power consumptionI can consistently see power consumption increased by around 70mW once usb-otg2 (internal USB bus) gets suspended; it goes back to normal after waking it up - which is the exact opposite of what I'd expect (especially since the opposite ...I can consistently see power consumption increased by around 70mW once usb-otg2 (internal USB bus) gets suspended; it goes back to normal after waking it up - which is the exact opposite of what I'd expect (especially since the opposite is what happens with usb-otg1).
Note: we don't enable usb-otg2 suspend by default.
To test (it's best to keep the modem off and SD card unused):
```
echo auto | sudo tee /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/power/control
echo auto | sudo tee /sys/devices/platform/soc@0/38200000.usb/power/control
```https://source.puri.sm/Librem5/linux/-/issues/325Samsung camera: mystery registers investigation2022-12-23T11:52:17ZDorota CzaplejewiczSamsung camera: mystery registers investigationNot to spam random threads, this is the one with ongoing research. Mostly regarding how to get rid of noise in the pictures.
Related: https://source.puri.sm/Librem5/linux-next/-/merge_requests/396/diffs#note_157948
https://source.puri....Not to spam random threads, this is the one with ongoing research. Mostly regarding how to get rid of noise in the pictures.
Related: https://source.puri.sm/Librem5/linux-next/-/merge_requests/396/diffs#note_157948
https://source.puri.sm/Librem5/linux-next/-/issues/317https://source.puri.sm/Librem5/linux/-/issues/449Librem5 gets very hot when charging2022-12-15T04:38:41ZAlistairLibrem5 gets very hot when chargingI'm running PureOS with the `6.0.0-1-librem5` kernel. It's the latest according to my apt update.
When charging the phone with a 65W USB-C laptop charger. The temperature of the phone according to mobile settings will easily hit:
```
C...I'm running PureOS with the `6.0.0-1-librem5` kernel. It's the latest according to my apt update.
When charging the phone with a 65W USB-C laptop charger. The temperature of the phone according to mobile settings will easily hit:
```
CPU: 49 C
GPU: 49 C
VPU: 49 C
Fuel Gauge: 51.4 C
Battery: -
```
That is just letting the phone charge for about 5 minutes on a table. The temperatures seem to continue to rise, although I usually get worried and turn the phone off before they get much higher.
I have the screen, modem and WiFi on.
mobile settings, terminal and top is running, but otherwise I don't see anything that isn't phosh, phoc, upowerd using a large amount of CPU. upowerd does seem to be using about 17% of the CPU.
From testing this it's pretty clear that within 5 minutes of starting to charge, the phone will get very hot. After which I have to turn it off and let it cool down until I try using it again. Unplugging the charger causes a 4/5C drop in temperature of the fuel gauge.https://source.puri.sm/Librem5/linux/-/issues/336Support higher Charging current without PD contract2022-12-14T20:19:54ZGuido GuntherSupport higher Charging current without PD contractWe're charging fairly quickly with a PD contract (up to 3A) but besides BC1.2 (#154) it would be great to use usb 3 max currents:
- [X] USB 2.0 : 500mA , 5V
- [ ] USB 3.0 : 900mA , 5V
- [x] USB 3.0 (dedicated charging): 1.5A , 5V
One w...We're charging fairly quickly with a PD contract (up to 3A) but besides BC1.2 (#154) it would be great to use usb 3 max currents:
- [X] USB 2.0 : 500mA , 5V
- [ ] USB 3.0 : 900mA , 5V
- [x] USB 3.0 (dedicated charging): 1.5A , 5V
One way this could happen is by detecting usb3 on the dwc3 and signal the charge-controller but maybe there's other ways?https://source.puri.sm/Librem5/linux/-/issues/21Have the WiFi module wake the system from suspend2022-12-07T10:53:12ZAngus Ainslieangus.ainslie@puri.smHave the WiFi module wake the system from suspendImplement a mode with the WiFi modem enabled during suspend and have the modem wake the system on link changes.
use-cases#75Implement a mode with the WiFi modem enabled during suspend and have the modem wake the system on link changes.
use-cases#75Angus Ainslieangus.ainslie@puri.smAngus Ainslieangus.ainslie@puri.smhttps://source.puri.sm/Librem5/linux/-/issues/329s5k3l6xx: RAW10 support2022-11-26T19:21:04ZSebastian Krzyszkowiaks5k3l6xx: RAW10 supportUsing 10-bit pixel depth improves picture quality in dark areas a lot. Currently the driver is limited to RAW8 only.
I have quickly hacked in RAW10 for testing - https://source.puri.sm/sebastian.krzyszkowiak/linux-next/-/commit/565058e0...Using 10-bit pixel depth improves picture quality in dark areas a lot. Currently the driver is limited to RAW8 only.
I have quickly hacked in RAW10 for testing - https://source.puri.sm/sebastian.krzyszkowiak/linux-next/-/commit/565058e02dca1dea631c82ef5d1c901b83962e92 - but only 1052x780 works this way. 2104x1560 results in garbled image, while 4208x3120 does not give any image at all.https://source.puri.sm/Librem5/linux/-/issues/390Librem5 doesn't always recognize charger2022-10-30T22:09:36ZSteve StevensLibrem5 doesn't always recognize chargerThe phone gets into a state where phosh seems to think the phone is charging, but the kernel does not(You can see the lightning bolt next to the battery whether the phone is plugged in or not). This remains the case regardless of whether...The phone gets into a state where phosh seems to think the phone is charging, but the kernel does not(You can see the lightning bolt next to the battery whether the phone is plugged in or not). This remains the case regardless of whether the phone is plugged in or not. The main way I've noticed this issue is when unplugging the phone and not hearing the 'click click' from phosh signifying it's disconnected, and thus suspect the state occurs as part of unplugging the device.
Method for checking the kernel regarding the charging state:
```
root@librem:~# cat /sys/class/power_supply/bq25890-charger/status
Discharging
```
Plugging the phone into the charger triggers no messages in dmesg or the red "charging" light.
Only way I've found to fix this is to reboot the phone and then things start working normally again.
If left unnoticed this issue results in the phone discharging and dieing regardless of whether it is plugged in or not.https://source.puri.sm/Librem5/linux/-/issues/377can't turn on display anymore due to stall on cpu2022-10-12T07:52:16ZMartin Kepplingercan't turn on display anymore due to stall on cpuseen on 5.13 for now:
```
Dez 01 16:35:53 pureos kernel: rcu: INFO: rcu_preempt self-detected stall on CPU
Dez 01 16:35:53 pureos kernel: rcu: 0-....: (5496 ticks this GP) idle=c16/1/0x4000000000000008 softirq=226899/226899 fqs=...seen on 5.13 for now:
```
Dez 01 16:35:53 pureos kernel: rcu: INFO: rcu_preempt self-detected stall on CPU
Dez 01 16:35:53 pureos kernel: rcu: 0-....: (5496 ticks this GP) idle=c16/1/0x4000000000000008 softirq=226899/226899 fqs=2305
Dez 01 16:35:53 pureos kernel: (t=5250 jiffies g=517533 q=119)
Dez 01 16:35:53 pureos kernel: Task dump for CPU 0:
Dez 01 16:35:53 pureos kernel: task:swapper/0 state:R running task stack: 0 pid: 0 ppid: 0 flags:0x0000000a
Dez 01 16:35:53 pureos kernel: Call trace:
Dez 01 16:35:53 pureos kernel: dump_backtrace+0x0/0x1e4
Dez 01 16:35:53 pureos kernel: show_stack+0x24/0x30
Dez 01 16:35:53 pureos kernel: sched_show_task+0x15c/0x180
Dez 01 16:35:53 pureos kernel: dump_cpu_task+0x50/0x60
Dez 01 16:35:53 pureos kernel: rcu_dump_cpu_stacks+0xfc/0x144
Dez 01 16:35:53 pureos kernel: rcu_sched_clock_irq+0xb04/0xe80
Dez 01 16:35:53 pureos kernel: update_process_times+0xa8/0xf4
Dez 01 16:35:53 pureos kernel: tick_sched_handle+0x3c/0x60
Dez 01 16:35:53 pureos kernel: tick_sched_timer+0x58/0xb0
Dez 01 16:35:53 pureos kernel: __hrtimer_run_queues+0x18c/0x3a0
Dez 01 16:35:53 pureos kernel: hrtimer_interrupt+0xf4/0x2cc
Dez 01 16:35:53 pureos kernel: arch_timer_handler_phys+0x40/0x50
Dez 01 16:35:53 pureos kernel: handle_percpu_devid_irq+0x94/0x280
Dez 01 16:35:53 pureos kernel: __handle_domain_irq+0x8c/0xf0
Dez 01 16:35:53 pureos kernel: gic_handle_irq+0xc8/0x148
Dez 01 16:35:53 pureos kernel: el1_irq+0xbc/0x154
Dez 01 16:35:53 pureos kernel: usb_hcd_submit_urb+0x38/0xa60 [usbcore]
Dez 01 16:35:53 pureos kernel: usb_submit_urb+0x19c/0x5c0 [usbcore]
Dez 01 16:35:53 pureos kernel: usb_wwan_indat_callback+0x50/0x170 [usb_wwan]
Dez 01 16:35:53 pureos kernel: __usb_hcd_giveback_urb+0xa4/0x154 [usbcore]
Dez 01 16:35:53 pureos kernel: usb_giveback_urb_bh+0xb4/0x11c [usbcore]
Dez 01 16:35:53 pureos kernel: tasklet_action_common.constprop.0+0x100/0x130
Dez 01 16:35:53 pureos kernel: tasklet_action+0x34/0x40
Dez 01 16:35:53 pureos kernel: __do_softirq+0x120/0x3e8
Dez 01 16:35:53 pureos kernel: irq_exit+0xf8/0x100
Dez 01 16:35:53 pureos kernel: __handle_domain_irq+0x90/0xf0
Dez 01 16:35:53 pureos kernel: gic_handle_irq+0xc8/0x148
Dez 01 16:35:53 pureos kernel: el1_irq+0xbc/0x154
Dez 01 16:35:53 pureos kernel: __schedule+0x8c/0x79c
Dez 01 16:35:53 pureos kernel: schedule_idle+0x34/0x54
Dez 01 16:35:53 pureos kernel: do_idle+0x1a4/0x2b0
Dez 01 16:35:53 pureos kernel: cpu_startup_entry+0x30/0x80
Dez 01 16:35:53 pureos kernel: rest_init+0xe0/0xf0
Dez 01 16:35:53 pureos kernel: arch_call_rest_init+0x1c/0x28
Dez 01 16:35:53 pureos kernel: start_kernel+0x5a8/0x5e0
Dez 01 16:36:56 pureos kernel: rcu: INFO: rcu_preempt self-detected stall on CPU
Dez 01 16:36:56 pureos kernel: rcu: 0-....: (21246 ticks this GP) idle=c16/1/0x4000000000000008 softirq=226899/226899 fqs=9251
Dez 01 16:36:56 pureos kernel: (t=21003 jiffies g=517533 q=588)
Dez 01 16:36:56 pureos kernel: Task dump for CPU 0:
Dez 01 16:36:56 pureos kernel: task:swapper/0 state:R running task stack: 0 pid: 0 ppid: 0 flags:0x0000000a
Dez 01 16:36:56 pureos kernel: Call trace:
Dez 01 16:36:56 pureos kernel: dump_backtrace+0x0/0x1e4
Dez 01 16:36:56 pureos kernel: show_stack+0x24/0x30
Dez 01 16:36:56 pureos kernel: sched_show_task+0x15c/0x180
Dez 01 16:36:56 pureos kernel: dump_cpu_task+0x50/0x60
Dez 01 16:36:56 pureos kernel: rcu_dump_cpu_stacks+0xfc/0x144
Dez 01 16:36:56 pureos kernel: rcu_sched_clock_irq+0xb04/0xe80
Dez 01 16:36:56 pureos kernel: update_process_times+0xa8/0xf4
Dez 01 16:36:56 pureos kernel: tick_sched_handle+0x3c/0x60
Dez 01 16:36:56 pureos kernel: tick_sched_timer+0x58/0xb0
Dez 01 16:36:56 pureos kernel: __hrtimer_run_queues+0x18c/0x3a0
Dez 01 16:36:56 pureos kernel: hrtimer_interrupt+0xf4/0x2cc
Dez 01 16:36:56 pureos kernel: arch_timer_handler_phys+0x40/0x50
Dez 01 16:36:56 pureos kernel: handle_percpu_devid_irq+0x94/0x280
Dez 01 16:36:56 pureos kernel: __handle_domain_irq+0x8c/0xf0
Dez 01 16:36:56 pureos kernel: gic_handle_irq+0xc8/0x148
Dez 01 16:36:56 pureos kernel: el1_irq+0xbc/0x154
Dez 01 16:36:56 pureos kernel: _raw_spin_unlock_irqrestore+0x18/0x5c
Dez 01 16:36:56 pureos kernel: usb_hcd_submit_urb+0xdc/0xa60 [usbcore]
Dez 01 16:36:56 pureos kernel: usb_submit_urb+0x19c/0x5c0 [usbcore]
Dez 01 16:36:56 pureos kernel: usb_wwan_indat_callback+0x50/0x170 [usb_wwan]
Dez 01 16:36:56 pureos kernel: __usb_hcd_giveback_urb+0xa4/0x154 [usbcore]
Dez 01 16:36:56 pureos kernel: usb_giveback_urb_bh+0xb4/0x11c [usbcore]
Dez 01 16:36:56 pureos kernel: tasklet_action_common.constprop.0+0x100/0x130
Dez 01 16:36:56 pureos kernel: tasklet_action+0x34/0x40
Dez 01 16:36:56 pureos kernel: __do_softirq+0x120/0x3e8
Dez 01 16:36:56 pureos kernel: irq_exit+0xf8/0x100
Dez 01 16:36:56 pureos kernel: __handle_domain_irq+0x90/0xf0
Dez 01 16:36:56 pureos kernel: gic_handle_irq+0xc8/0x148
Dez 01 16:36:56 pureos kernel: el1_irq+0xbc/0x154
Dez 01 16:36:56 pureos kernel: __schedule+0x8c/0x79c
Dez 01 16:36:56 pureos kernel: schedule_idle+0x34/0x54
Dez 01 16:36:56 pureos kernel: do_idle+0x1a4/0x2b0
Dez 01 16:36:56 pureos kernel: cpu_startup_entry+0x30/0x80
Dez 01 16:36:56 pureos kernel: rest_init+0xe0/0xf0
Dez 01 16:36:56 pureos kernel: arch_call_rest_init+0x1c/0x28
Dez 01 16:36:56 pureos kernel: start_kernel+0x5a8/0x5e0
```https://source.puri.sm/Librem5/linux/-/issues/441After Power key pressed: edt_ft5x06 2-0038: Unable to fetch data, error: -62022-09-30T19:07:54ZElias RudbergAfter Power key pressed: edt_ft5x06 2-0038: Unable to fetch data, error: -6Almost every time the power key is pressed, the following kernel error message appears in the `journalctl` log:
```
sep 30 17:51:06 pureos systemd-logind[433]: Power key pressed.
sep 30 17:51:06 pureos kernel: edt_ft5x06 2-0038: Unable ...Almost every time the power key is pressed, the following kernel error message appears in the `journalctl` log:
```
sep 30 17:51:06 pureos systemd-logind[433]: Power key pressed.
sep 30 17:51:06 pureos kernel: edt_ft5x06 2-0038: Unable to fetch data, error: -6
```
Librem 5 with PureOS byzantium.
```
purism@pureos:~$ uname -a
Linux pureos 5.18.0-1-librem5 #1 SMP PREEMPT Fri Jul 15 15:27:41 UTC 2022 aarch64 GNU/Linux
```https://source.puri.sm/Librem5/linux/-/issues/411s5k3l6xx: Read OTP AWB/AF data2022-09-23T14:44:29ZSebastian Krzyszkowiaks5k3l6xx: Read OTP AWB/AF dataOur sensors are said to contain calibration data for per-channel gains and auto-focus. We need an interface to access and use them akin to what's done for the selfie cam in !466 in order to be able to produce a proper color calibration m...Our sensors are said to contain calibration data for per-channel gains and auto-focus. We need an interface to access and use them akin to what's done for the selfie cam in !466 in order to be able to produce a proper color calibration matrix that can be used across all units.https://source.puri.sm/Librem5/linux/-/issues/439TPS65982: IRQ storm when connecting a passive audio adapter2022-08-04T13:34:31ZSebastian KrzyszkowiakTPS65982: IRQ storm when connecting a passive audio adapterA minor issue since passive audio adapters are not supposed to work with Librem 5, but it would probably be good to not fire an interrupt storm when one is plugged in:
```
irq/80-0-003f-211 [001] ..... 41490.085949: tps6598x_irq:...A minor issue since passive audio adapters are not supposed to work with Librem 5, but it would probably be good to not fire an interrupt storm when one is plugged in:
```
irq/80-0-003f-211 [001] ..... 41490.085949: tps6598x_irq: event1=PLUG_EVENT|PP_SWITCH_CHANGED|USER_VID_ALT_MODE_EXIT, event2=
irq/80-0-003f-211 [001] ..... 41490.090578: tps6598x_status: conn: no-conn, pp_5v0: off, pp_hv: off, pp_ext: off, pp_cable: off, pwr-src: vin-3p3, vbus: vSafe0V, usb-host: no, legacy: no, flags: PORTROLE|DATAROLE
irq/80-0-003f-211 [001] ..... 41490.092264: tps6598x_power_status: conn: 0, pwr-role: source, typec: usb, bc: sdp
irq/80-0-003f-211 [001] ..... 41490.160810: tps6598x_irq: event1=PLUG_EVENT|PP_SWITCH_CHANGED|USER_VID_ALT_MODE_EXIT, event2=
irq/80-0-003f-211 [001] ..... 41490.162370: tps6598x_status: conn: no-conn, pp_5v0: off, pp_hv: off, pp_ext: off, pp_cable: off, pwr-src: vin-3p3, vbus: vSafe0V, usb-host: no, legacy: no, flags: PORTROLE|DATAROLE
irq/80-0-003f-211 [001] ..... 41490.163128: tps6598x_power_status: conn: 0, pwr-role: source, typec: usb, bc: sdp
irq/80-0-003f-211 [001] ..... 41490.265667: tps6598x_irq: event1=PLUG_EVENT|PP_SWITCH_CHANGED|USER_VID_ALT_MODE_EXIT, event2=
irq/80-0-003f-211 [001] ..... 41490.266829: tps6598x_status: conn: no-conn, pp_5v0: off, pp_hv: off, pp_ext: off, pp_cable: off, pwr-src: vin-3p3, vbus: vSafe0V, usb-host: no, legacy: no, flags: PORTROLE|DATAROLE
irq/80-0-003f-211 [001] ..... 41490.267678: tps6598x_power_status: conn: 0, pwr-role: source, typec: usb, bc: sdp
irq/80-0-003f-211 [001] ..... 41490.370424: tps6598x_irq: event1=PLUG_EVENT|PP_SWITCH_CHANGED|USER_VID_ALT_MODE_EXIT, event2=
irq/80-0-003f-211 [001] ..... 41490.371677: tps6598x_status: conn: no-conn, pp_5v0: off, pp_hv: off, pp_ext: off, pp_cable: off, pwr-src: vin-3p3, vbus: vSafe0V, usb-host: no, legacy: no, flags: PORTROLE|DATAROLE
irq/80-0-003f-211 [001] ..... 41490.372481: tps6598x_power_status: conn: 0, pwr-role: source, typec: usb, bc: sdp
irq/80-0-003f-211 [001] ..... 41490.475738: tps6598x_irq: event1=PLUG_EVENT|PP_SWITCH_CHANGED|USER_VID_ALT_MODE_EXIT, event2=
irq/80-0-003f-211 [001] ..... 41490.476925: tps6598x_status: conn: no-conn, pp_5v0: off, pp_hv: off, pp_ext: off, pp_cable: off, pwr-src: vin-3p3, vbus: vSafe0V, usb-host: no, legacy: no, flags: PORTROLE|DATAROLE
irq/80-0-003f-211 [001] ..... 41490.477642: tps6598x_power_status: conn: 0, pwr-role: source, typec: usb, bc: sdp
irq/80-0-003f-211 [001] ..... 41490.580054: tps6598x_irq: event1=PLUG_EVENT|PP_SWITCH_CHANGED|USER_VID_ALT_MODE_EXIT, event2=
irq/80-0-003f-211 [001] ..... 41490.581186: tps6598x_status: conn: no-conn, pp_5v0: off, pp_hv: off, pp_ext: off, pp_cable: off, pwr-src: vin-3p3, vbus: vSafe0V, usb-host: no, legacy: no, flags: PORTROLE|DATAROLE
irq/80-0-003f-211 [001] ..... 41490.582481: tps6598x_power_status: conn: 0, pwr-role: source, typec: usb, bc: sdp
irq/80-0-003f-211 [001] ..... 41490.684867: tps6598x_irq: event1=PLUG_EVENT|PP_SWITCH_CHANGED|USER_VID_ALT_MODE_EXIT, event2=
irq/80-0-003f-211 [001] ..... 41490.686187: tps6598x_status: conn: no-conn, pp_5v0: off, pp_hv: off, pp_ext: off, pp_cable: off, pwr-src: vin-3p3, vbus: vSafe0V, usb-host: no, legacy: no, flags: PORTROLE|DATAROLE
irq/80-0-003f-211 [001] ..... 41490.687055: tps6598x_power_status: conn: 0, pwr-role: source, typec: usb, bc: sdp
irq/80-0-003f-211 [001] ..... 41490.789700: tps6598x_irq: event1=PLUG_EVENT|PP_SWITCH_CHANGED|USER_VID_ALT_MODE_EXIT, event2=
irq/80-0-003f-211 [001] ..... 41490.790888: tps6598x_status: conn: no-conn, pp_5v0: off, pp_hv: off, pp_ext: off, pp_cable: off, pwr-src: vin-3p3, vbus: vSafe0V, usb-host: no, legacy: no, flags: PORTROLE|DATAROLE
irq/80-0-003f-211 [001] ..... 41490.791664: tps6598x_power_status: conn: 0, pwr-role: source, typec: usb, bc: sdp
irq/80-0-003f-211 [001] ..... 41490.894539: tps6598x_irq: event1=PLUG_EVENT|PP_SWITCH_CHANGED|USER_VID_ALT_MODE_EXIT, event2=
irq/80-0-003f-211 [001] ..... 41490.895565: tps6598x_status: conn: no-conn, pp_5v0: off, pp_hv: off, pp_ext: off, pp_cable: off, pwr-src: vin-3p3, vbus: vSafe0V, usb-host: no, legacy: no, flags: PORTROLE|DATAROLE
```
```
[41490.097215] bq25890-charger 3-006a: Upstream supply changed: 0.
[41490.097540] bq25890-charger 3-006a: Disabling OTG_EN pin
[41490.134357] bq25890-charger 3-006a: Upstream supply changed: 0.
[41490.134856] bq25890-charger 3-006a: Disabling OTG_EN pin
[41490.166010] bq25890-charger 3-006a: Upstream supply changed: 0.
[41490.166628] bq25890-charger 3-006a: Disabling OTG_EN pin
[41490.172695] bq25890-charger 3-006a: Upstream supply changed: 0.
[41490.172927] bq25890-charger 3-006a: Disabling OTG_EN pin
[41490.254780] bq25890-charger 3-006a: Upstream supply changed: 0.
[41490.255161] bq25890-charger 3-006a: Disabling OTG_EN pin
[41490.281343] bq25890-charger 3-006a: Upstream supply changed: 0.
[41490.282196] bq25890-charger 3-006a: Disabling OTG_EN pin
[41490.374285] bq25890-charger 3-006a: Upstream supply changed: 0.
[41490.374672] bq25890-charger 3-006a: Disabling OTG_EN pin
[41490.378956] bq25890-charger 3-006a: Upstream supply changed: 0.
[41490.379121] bq25890-charger 3-006a: Disabling OTG_EN pin
[41490.381035] bq25890-charger 3-006a: Upstream supply changed: 0.
[41490.381055] bq25890-charger 3-006a: Disabling OTG_EN pin
[41490.396330] bq25890-charger 3-006a: Upstream supply changed: 0.
```https://source.puri.sm/Librem5/linux/-/issues/438Failed to get suitable pool for 38200000.usb2022-07-28T07:48:02ZGuido GuntherFailed to get suitable pool for 38200000.usbThis morning the display would not turn on on my L5.
At the very end of the log I saw:
```
Jul 28 09:40:18 nn kernel: cpu cpu0: _set_opp_voltage: failed to set voltage (1000000 1000000 1000000 mV): -11
Jul 28 09:40:19 nn kernel: cpufre...This morning the display would not turn on on my L5.
At the very end of the log I saw:
```
Jul 28 09:40:18 nn kernel: cpu cpu0: _set_opp_voltage: failed to set voltage (1000000 1000000 1000000 mV): -11
Jul 28 09:40:19 nn kernel: cpufreq: __target_index: Failed to change cpu frequency: -11
```
that seems to be a result of other problems before that. The first problem hit in the middle of the night (at that point in time the phone was blanked and idle):
```
Jul 28 02:49:23 nn kernel: ------------[ cut here ]------------
Jul 28 02:49:35 nn kernel: Failed to get suitable pool for 38200000.usb
Jul 28 02:49:35 nn kernel: WARNING: CPU: 0 PID: 0 at kernel/dma/pool.c:279 dma_alloc_from_pool+0x94/0x1ec
Jul 28 02:49:35 nn kernel: Modules linked in: hid_multitouch usbhid aes_ce_ccm rfcomm algif_hash algif_skcipher af_alg bnep redpine_sdio redpine_91x bluetooth mac80211 cfg80211 usb_f_acm u_serial usb_f_ecm u_ether qmi_wwan cdc_wdm caam_jr usbnet option mii caamhash_desc >
Jul 28 02:49:40 nn kernel: ledtrig_timer ledtrig_pattern libcrc32c nfnetlink fuse zram ip_tables x_tables ipv6 uas usb_storage xhci_plat_hcd ofpart xhci_hcd spi_nor mtd usbcore aes_ce_blk crct10dif_ce cdns_mhdp_imx ghash_ce sha2_ce sha1_ce pwm_vibra dwc3 cdns_mhdp_drmco>
Jul 28 02:49:40 nn kernel: CPU: 0 PID: 0 Comm: swapper/0 Tainted: G C 5.18.0-1-librem5 #1
Jul 28 02:49:40 nn kernel: Hardware name: Purism Librem 5r4 (DT)
Jul 28 02:49:40 nn kernel: pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
Jul 28 02:49:40 nn kernel: pc : dma_alloc_from_pool+0x94/0x1ec
Jul 28 02:49:40 nn kernel: lr : dma_alloc_from_pool+0x94/0x1ec
Jul 28 02:49:40 nn kernel: sp : ffff8000095133b0
Jul 28 02:49:40 nn kernel: x29: ffff8000095133b0 x28: ffff8000097feb68 x27: 0000000000000000
Jul 28 02:49:40 nn kernel: x26: ffff00000038bb80 x25: ffff800009513470 x24: ffff0000009bf010
Jul 28 02:49:40 nn kernel: x23: ffff8000097feb48 x22: ffff8000080deac0 x21: ffff800009029b70
Jul 28 02:49:40 nn kernel: x20: 0000000000001000 x19: ffff00002d19e818 x18: 0000000000000000
Jul 28 02:49:40 nn kernel: x17: ffff8000b2952000 x16: ffff800008004000 x15: 0000000000000030
Jul 28 02:49:40 nn kernel: x14: 0000000000000000 x13: 205d353736303836 x12: 2e3732393132315b
Jul 28 02:49:40 nn kernel: x11: 00000000ffffdfff x10: 00000000ffffdfff x9 : ffff8000080b4f6c
Jul 28 02:49:40 nn kernel: x8 : 000000000002ffe8 x7 : c0000000ffffdfff x6 : 0000000000017ff4
Jul 28 02:49:40 nn kernel: x5 : ffff0000bbb02990 x4 : 0000000000000000 x3 : 0000000000000027
Jul 28 02:49:40 nn kernel: x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff800009521200
Jul 28 02:49:40 nn kernel: Call trace:
Jul 28 02:49:40 nn kernel: dma_alloc_from_pool+0x94/0x1ec
Jul 28 02:49:40 nn kernel: dma_direct_alloc+0x98/0x320
Jul 28 02:49:40 nn kernel: dma_alloc_attrs+0x88/0xf0
Jul 28 02:49:40 nn kernel: dma_pool_alloc+0x120/0x1fc
Jul 28 02:49:40 nn kernel: xhci_segment_alloc+0x90/0x150 [xhci_hcd]
Jul 28 02:49:40 nn kernel: xhci_alloc_segments_for_ring+0xe4/0x1d0 [xhci_hcd]
Jul 28 02:49:40 nn kernel: xhci_ring_expansion+0x78/0x380 [xhci_hcd]
Jul 28 02:49:40 nn kernel: prepare_ring+0x1b0/0x2c0 [xhci_hcd]
Jul 28 02:49:40 nn kernel: prepare_transfer+0x88/0x170 [xhci_hcd]
Jul 28 02:49:40 nn kernel: xhci_queue_bulk_tx+0xd8/0x910 [xhci_hcd]
Jul 28 02:49:40 nn kernel: xhci_urb_enqueue+0x340/0x590 [xhci_hcd]
Jul 28 02:49:40 nn kernel: usb_hcd_submit_urb+0xd4/0xa54 [usbcore]
Jul 28 02:49:40 nn kernel: usb_submit_urb+0x1f8/0x830 [usbcore]
Jul 28 02:49:40 nn kernel: rx_submit+0x178/0x30c [usbnet]
Jul 28 02:49:40 nn kernel: rx_complete+0x2b0/0x310 [usbnet]
Jul 28 02:49:40 nn kernel: __usb_hcd_giveback_urb+0xa4/0x154 [usbcore]
Jul 28 02:49:40 nn kernel: usb_giveback_urb_bh+0xb4/0x11c [usbcore]
Jul 28 02:49:40 nn kernel: tasklet_action_common.constprop.0+0xf8/0x120
Jul 28 02:49:40 nn kernel: tasklet_action+0x34/0x40
Jul 28 02:49:40 nn kernel: __do_softirq+0x120/0x3b8
Jul 28 02:49:40 nn kernel: __irq_exit_rcu+0xac/0xf0
Jul 28 02:49:40 nn kernel: irq_exit_rcu+0x1c/0x30
Jul 28 02:49:40 nn kernel: el1_interrupt+0x38/0x70
Jul 28 02:49:40 nn kernel: el1h_64_irq_handler+0x18/0x24
Jul 28 02:49:40 nn kernel: el1h_64_irq+0x64/0x68
Jul 28 02:49:40 nn kernel: cpuidle_enter_state+0xc4/0x3d0
Jul 28 02:49:40 nn kernel: cpuidle_enter+0x44/0x5c
Jul 28 02:49:40 nn kernel: do_idle+0x218/0x2a0
Jul 28 02:49:40 nn kernel: cpu_startup_entry+0x34/0x40
Jul 28 02:49:40 nn kernel: rest_init+0xfc/0x100
Jul 28 02:49:40 nn kernel: arch_post_acpi_subsys_init+0x0/0x30
Jul 28 02:49:40 nn kernel: start_kernel+0x6d0/0x710
Jul 28 02:49:40 nn kernel: __primary_switched+0xc0/0xc8
Jul 28 02:49:40 nn kernel: ---[ end trace 0000000000000000 ]---
Jul 28 02:49:40 nn kernel: xhci-hcd xhci-hcd.4.auto: Ring expansion failed
Jul 28 02:49:40 nn kernel: ------------[ cut here ]------------
```
(many more of these follow)
up til 03:08:33, from then on it's "only"
```
Jul 28 03:08:33 nn kernel: cpu cpu0: _set_opp_voltage: failed to set voltage (1000000 1000000 1000000 mV): -11
Jul 28 03:08:33 nn kernel: cpufreq: __target_index: Failed to change cpu frequency: -11
```
This is `5.18.0-1-librem5 #1 SMP PREEMPT Fri Jul 15 15:27:41 UTC 2022`.
I labeled this as "crash" altough one can still ssh into the system as it looks crash from a users point of view.