linux issueshttps://source.puri.sm/Librem5/linux/-/issues2022-07-07T07:14:24Zhttps://source.puri.sm/Librem5/linux/-/issues/435Indicate when "lockdown mode" is triggered on the Librem 52022-07-07T07:14:24ZKyle RankinIndicate when "lockdown mode" is triggered on the Librem 5The Librem 5 hardware implements "lockdown mode" when all three hardware kill switches are engaged. Lockdown mode disables additional sensors on the Librem 5 hardware and is explained in depth here:
https://puri.sm/posts/lockdown-mode-o...The Librem 5 hardware implements "lockdown mode" when all three hardware kill switches are engaged. Lockdown mode disables additional sensors on the Librem 5 hardware and is explained in depth here:
https://puri.sm/posts/lockdown-mode-on-the-librem-5-beyond-hardware-kill-switches/
We would like the ability to trigger other events in software when the Librem 5 is in this state, starting with an icon in Phosh (https://gitlab.gnome.org/World/Phosh/phosh/-/issues/559#note_1495086) and eventually allow the user to trigger other software-side changes (possibly lock the screen, unmount the SD card, or other security measures).
The first step in this would be for the kernel to detect and indicate in some way (dev or sys interface perhaps?) the current "lockdown mode" state.https://source.puri.sm/Librem5/linux/-/issues/432implement locking for usb_wwan2022-06-24T08:19:50ZMartin Kepplingerimplement locking for usb_wwanThe usb_wwan driver (used via the option driver by us) almost completely lacks locking (for things like outgoing URBs that can disappear via a callback).
I'm not sure whether this has caused problems for us, but given that we're one of ...The usb_wwan driver (used via the option driver by us) almost completely lacks locking (for things like outgoing URBs that can disappear via a callback).
I'm not sure whether this has caused problems for us, but given that we're one of very few users who for example want to use that driver for controlling phone calls and SMS. We need things like system resume via incoming calls, that will maybe require to find a working reset_resume() implementation. we can as well make the driver better by implementing proper locking.https://source.puri.sm/Librem5/linux/-/issues/430platform_profile driver for the L52022-06-21T09:47:13ZGuido Guntherplatform_profile driver for the L5This came up while looking into making the devfreq governor [selectable](https://gitlab.freedesktop.org/hadess/power-profiles-daemon/-/issues/99#note_1436786) via power-profile-daemon:
We could have a platform_profile driver that tweaks...This came up while looking into making the devfreq governor [selectable](https://gitlab.freedesktop.org/hadess/power-profiles-daemon/-/issues/99#note_1436786) via power-profile-daemon:
We could have a platform_profile driver that tweaks different aspects of the L5 (most importantly devfreq comes to mind but I could also imagine GPU freq/regulator based tweaks later) for performance vs battery life.
See userspace-api/sysfs-platform_profile.rst
(it shouldn't stop us from moving the on-demand devfreq governor mainline as that's orthogonal)https://source.puri.sm/Librem5/linux/-/issues/428base: power: domain: implement (regular) suspend/resume hooks as "fallbacks" ...2022-07-19T05:21:39ZMartin Kepplingerbase: power: domain: implement (regular) suspend/resume hooks as "fallbacks" to the noirq phasesdrivers/base/power/domain.c implements noirq suspend/resume callbacks for power down/up only. Now if for example a regulator (or anything where i2c is needed) is tied to that, these will fail. In that case, the "outer" suspend/resume cal...drivers/base/power/domain.c implements noirq suspend/resume callbacks for power down/up only. Now if for example a regulator (or anything where i2c is needed) is tied to that, these will fail. In that case, the "outer" suspend/resume callbacks should be used.
as a hacky workaround, we currently hard-wire the current noirq callbacks to the normal ones. This can at least break other systems, if not our own at some point later.https://source.puri.sm/Librem5/linux/-/issues/424resume: system hang due to modem usb bug2022-06-02T09:44:17ZMartin Kepplingerresume: system hang due to modem usb bugsaw this once now. the system was not responding anymore:
```
[ 1223.395134] usb 1-1.2: usb auto-suspend, wakeup 1
[ 1223.416962] hub 1-1:1.0: hub_suspend
[ 1223.440439] usb 1-1: usb auto-suspend, wakeup 1
[ 1223.464948] hub 1-0:1.0: hu...saw this once now. the system was not responding anymore:
```
[ 1223.395134] usb 1-1.2: usb auto-suspend, wakeup 1
[ 1223.416962] hub 1-1:1.0: hub_suspend
[ 1223.440439] usb 1-1: usb auto-suspend, wakeup 1
[ 1223.464948] hub 1-0:1.0: hub_suspend
[ 1230.801792] usb usb1: usb wakeup-resume
[ 1230.805690] hub 1-0:1.0: hub_resume
[ 1230.809266] usb usb1-port1: status 0507 change 0000
[ 1230.814208] hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0000
[ 1230.844437] hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0002
[ 1230.876918] usb 1-1: usb wakeup-resume
[ 1230.908994] usb 1-1: Waited 0ms for CONNECT
[ 1230.913202] usb 1-1: finish resume
[ 1230.916750] hub 1-1:1.0: hub_resume
[ 1230.920284] usb 1-1-port1: status 0507 change 0000
[ 1230.925175] usb 1-1-port2: status 0503 change 0004
[ 1230.930074] usb usb1-port1: resume, status 0
[ 1230.934393] hub 1-1:1.0: state 7 ports 3 chg 0000 evt 0004
[ 1230.964940] usb 1-1.2: usb wakeup-resume
[ 1230.996906] usb 1-1.2: Waited 0ms for CONNECT
[ 1231.001291] usb 1-1.2: finish resume
[ 1231.005533] usb 1-1-port2: resume, status 0
[ 1231.923186] hub 1-1:1.0: state 7 ports 3 chg 0000 evt 0004
[ 1231.934572] qmi_wwan 1-1.2:1.4: nonzero urb status received: -71
[ 1231.940722] qmi_wwan 1-1.2:1.4: wdm_int_callback - 0 bytes
[ 1231.950555] qmi_wwan 1-1.2:1.4: nonzero urb status received: -71
[ 1231.956717] qmi_wwan 1-1.2:1.4: wdm_int_callback - 0 bytes
[ 1231.964846] usb 1-1-port2: status 0100, change 0001, 12 Mb/s
[ 1231.970848] qmi_wwan 1-1.2:1.4: nonzero urb status received: -71
[ 1231.970905] qmi_wwan 1-1.2:1.4: wdm_int_callback - 0 bytes
[ 1231.977395] qmi_wwan 1-1.2:1.4: nonzero urb status received: -71
[ 1231.977445] qmi_wwan 1-1.2:1.4: wdm_int_callback - 0 bytes
[ 1231.983319] qmi_wwan 1-1.2:1.4: nonzero urb status received: -71
[ 1231.983339] qmi_wwan 1-1.2:1.4: wdm_int_callback - 0 bytes
[ 1231.989762] qmi_wwan 1-1.2:1.4: nonzero urb status received: -71
[ 1231.989780] qmi_wwan 1-1.2:1.4: wdm_int_callback - 0 bytes
[ 1231.995576] qmi_wwan 1-1.2:1.4: nonzero urb status received: -71
[ 1231.995598] qmi_wwan 1-1.2:1.4: wdm_int_callback - 0 bytes
[ 1232.002058] qmi_wwan 1-1.2:1.4: nonzero urb status received: -71
[ 1232.002075] qmi_wwan 1-1.2:1.4: wdm_int_callback - 0 bytes
[ 1232.007913] qmi_wwan 1-1.2:1.4: nonzero urb status received: -71
(...)
(goes on forever)
```https://source.puri.sm/Librem5/linux/-/issues/421CPU3 may not have shut down cleanly: -1102022-05-18T08:32:45ZMartin KepplingerCPU3 may not have shut down cleanly: -110only once so far I found the following, but suspend and resume still "worked" in this case. If one cpu isn't shut down, it draws more power though...
```
[ 907.076593] khugepaged entered refrigerator
[ 907.764232] psci: CPU3 may not h...only once so far I found the following, but suspend and resume still "worked" in this case. If one cpu isn't shut down, it draws more power though...
```
[ 907.076593] khugepaged entered refrigerator
[ 907.764232] psci: CPU3 may not have shut down cleanly (AFFINITY_INFO reports 0)
[ 907.771564] CPU3 may not have shut down cleanly: -110
```https://source.puri.sm/Librem5/linux/-/issues/415Please enable CONFIG_ANDROID_BINDERFS2023-01-26T18:43:05ZGilles FilippiniPlease enable CONFIG_ANDROID_BINDERFSI'd like to try [ReDroid](https://github.com/remote-android/redroid-doc) as an alternative to anbox, because one of the Android app I need supports Android >= 8 only.
I've tested running it this way:
```
docker run -itd --rm --name redr...I'd like to try [ReDroid](https://github.com/remote-android/redroid-doc) as an alternative to anbox, because one of the Android app I need supports Android >= 8 only.
I've tested running it this way:
```
docker run -itd --rm --name redroid --memory-swappiness=0 --privileged -v ~/android-data:/data -p 5555:5555 redroid/redroid:8.1.0-latest
```
But then adb and scrcpy fail to connect to port 5555.
In the container's log I see:
```
04-09 09:11:40.393 86 86 F DEBUG : Abort message: 'Binder driver could not be opened. Terminating.'
```
Looking the current kernel configuration I see that `CONFIG_ANDROID_BINDERFS` is not enabled:
```
$ zgrep -i -e android -e ashmem /proc/config.gz
# Android
CONFIG_ASHMEM=y
# end of Android
# Android
CONFIG_ANDROID=y
CONFIG_ANDROID_BINDER_IPC=y
# CONFIG_ANDROID_BINDERFS is not set
CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"
# CONFIG_ANDROID_BINDER_IPC_SELFTEST is not set
# end of Android
```
My L5 is running the up to date 5.16 kernel:
```
$ uname -a
Linux pinibrem5 5.16.0-1-librem5 #1 SMP PREEMPT Thu Mar 31 21:27:48 UTC 2022 aarch64 GNU/Linux
$ dpkg -l | grep linux-image-5.16
ii linux-image-5.16.0-1-librem5 5.16.18pureos1 arm64 Linux 5.16 for the Librem 5 and its devkit
```https://source.puri.sm/Librem5/linux/-/issues/414Call aborts, display blank2022-04-07T07:15:34ZGuido GuntherCall aborts, display blankHappend two times during calls and the display would not turn on (backlight still working).
```
Apr 06 19:02:36 nn kernel: ------------[ cut here ]------------
Apr 06 19:02:36 nn kernel: NETDEV WATCHDOG: wwan0 (qmi_wwan): transmit queu...Happend two times during calls and the display would not turn on (backlight still working).
```
Apr 06 19:02:36 nn kernel: ------------[ cut here ]------------
Apr 06 19:02:36 nn kernel: NETDEV WATCHDOG: wwan0 (qmi_wwan): transmit queue 0 timed out
Apr 06 19:02:36 nn kernel: WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:477 dev_watchdog+0x390/0x39c
Apr 06 19:02:36 nn kernel: Modules linked in: udp_diag 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 option usb_wwan usbnet mii usbserial caam_jr caamhash_desc caamalg_desc crypto_engine snd_soc_simple_card hantro_vpu(C) st_lsm6dsx_spi v4l2_h264 snd_soc_gtm601 v>
Apr 06 19:02:36 nn kernel: nf_tables libcrc32c nfnetlink fuse ip_tables x_tables ipv6 uas usb_storage xhci_plat_hcd xhci_hcd ofpart spi_nor usbcore mtd aes_ce_blk crct10dif_ce imx_dcss tps6598x ghash_ce clk_bd718x7 dwc3 sha2_ce ulpi typec cdns_mhdp_imx sha1_ce udc_core cdns_mhdp_drmcore phy_fsl_imx8mq_usb pwm_vibra usb_common roles bq25890_charger edt_ft5x06 snvs_pwrkey imx_s>
Apr 06 19:02:36 nn kernel: CPU: 0 PID: 0 Comm: swapper/0 Tainted: G C 5.16.0-1-librem5 #1
Apr 06 19:02:36 nn kernel: edt_ft5x06 2-0038: Unable to fetch data, error: -110
Apr 06 19:02:36 nn kernel: imx-pgc imx-pgc-domain.5: failed to enable regulator
Apr 06 19:02:36 nn kernel: Hardware name: Purism Librem 5r4 (DT)
Apr 06 19:02:36 nn kernel: pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
Apr 06 19:02:36 nn kernel: pc : dev_watchdog+0x390/0x39c
Apr 06 19:02:36 nn kernel: lr : dev_watchdog+0x390/0x39c
Apr 06 19:02:36 nn kernel: sp : ffff8000094f3930
Apr 06 19:02:36 nn kernel: x29: ffff8000094f3930 x28: 0000000000000001 x27: 0000000000000004
Apr 06 19:02:36 nn kernel: x26: ffff00000e1a7080 x25: ffff0000bec27488 x24: 0000000000000140
Apr 06 19:02:36 nn kernel: x23: ffff0000bec273dc x22: 00000000ffffffff x21: ffff8000094f6000
Apr 06 19:02:36 nn kernel: x20: ffff0000bec27000 x19: 0000000000000000 x18: 0000000000000000
Apr 06 19:02:36 nn kernel: x17: ffff8000b6797000 x16: ffff800008004000 x15: 0000000000000030
Apr 06 19:02:36 nn kernel: x14: 0000000000000000 x13: 74756f2064656d69 x12: 7420302065756575
Apr 06 19:02:36 nn kernel: x11: ffff8000095cb2d0 x10: 00000000ffffe000 x9 : ffff800008189eac
Apr 06 19:02:36 nn kernel: x8 : ffff80000951b2d0 x7 : ffff8000095cb2d0 x6 : 0000000000000000
Apr 06 19:02:36 nn kernel: x5 : 0000000000000000 x4 : ffff0000bf935948 x3 : ffff0000bf9419b0
Apr 06 19:02:36 nn kernel: x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff8000095013c0
Apr 06 19:02:36 nn kernel: Call trace:
Apr 06 19:02:36 nn kernel: dev_watchdog+0x390/0x39c
Apr 06 19:02:36 nn kernel: call_timer_fn+0x3c/0x1c4
Apr 06 19:02:36 nn kernel: __run_timers.part.0+0x224/0x2dc
Apr 06 19:02:36 nn kernel: run_timer_softirq+0x48/0x80
Apr 06 19:02:36 nn kernel: __do_softirq+0x120/0x3b8
Apr 06 19:02:36 nn kernel: __irq_exit_rcu+0xac/0xf0
Apr 06 19:02:36 nn kernel: irq_exit_rcu+0x1c/0x30
Apr 06 19:02:36 nn kernel: el1_interrupt+0x38/0x84
Apr 06 19:02:36 nn kernel: el1h_64_irq_handler+0x18/0x24
Apr 06 19:02:36 nn kernel: el1h_64_irq+0x78/0x7c
Apr 06 19:02:36 nn kernel: cpuidle_enter_state+0xc0/0x3d0
Apr 06 19:02:36 nn kernel: cpuidle_enter+0x44/0x5c
Apr 06 19:02:36 nn kernel: do_idle+0x218/0x2a0
Apr 06 19:02:36 nn kernel: cpu_startup_entry+0x30/0x80
Apr 06 19:02:36 nn kernel: rest_init+0xec/0x100
Apr 06 19:02:36 nn kernel: arch_call_rest_init+0x1c/0x28
Apr 06 19:02:36 nn kernel: start_kernel+0x6e0/0x720
Apr 06 19:02:36 nn kernel: __primary_switched+0xc0/0xc8
Apr 06 19:02:36 nn kernel: ---[ end trace a05f5a6dc85542e8 ]---
```
Note the
```
Apr 06 19:02:36 nn kernel: imx-pgc imx-pgc-domain.5: failed to enable regulator
```
which is interesting as I'm pretty sure I had the display on while that happened. I've only seen this when on a call. Also there's no other usb related log messages around that.https://source.puri.sm/Librem5/linux/-/issues/412hi846: Error on unload after failed probe2022-04-05T11:31:30ZSebastian Krzyszkowiakhi846: Error on unload after failed probeIf the driver failed to probe, unloading it afterwards results in an error:
```
[ 272.399132] ------------[ cut here ]------------
[ 272.399150] WARNING: CPU: 3 PID: 1662 at drivers/media/v4l2-core/v4l2-mc.c:475 pipeline_pm_power_one+...If the driver failed to probe, unloading it afterwards results in an error:
```
[ 272.399132] ------------[ cut here ]------------
[ 272.399150] WARNING: CPU: 3 PID: 1662 at drivers/media/v4l2-core/v4l2-mc.c:475 pipeline_pm_power_one+0x104/0x15c [videodev]
[ 272.399230] Modules linked in: imx8mq_mipi_csi2(C+) imx7_media_csi(C) nft_chain_nat nft_compat wireguard libchacha20poly1305 chacha_neon poly1305_neon ip6_udp_tunnel udp_tunnel libcurve25519_generic nf_tables nfnetlink iptable_mangle xt_CHECKSUM option qmi_wwan cdc_wdm usbnet mii usb_wwan xt_tcpudp iptable_nat xt_comment xt_MASQUERADE nf_nat nf_conntrack usbserial nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c bridge stp iptable_filter usb_f_acm u_serial usb_f_ecm u_ether uas mousedev caam_jr caamhash_desc caamalg_desc crypto_engine usb_storage st_lsm6dsx_spi aes_ce_blk crct10dif_ce ghash_ce sha2_ce sha1_ce pwm_vibra hantro_vpu(C) snd_soc_gtm601 v4l2_vp9 v4l2_h264 snd_soc_simple_card brcmfmac v4l2_mem2mem videobuf2_vmalloc snd_soc_simple_card_utils cfg80211 brcmutil vcnl4000 st_lsm6dsx_i2c dw9714 st_lsm6dsx industrialio_triggered_buffer kfifo_buf snd_soc_wm8962 edt_ft5x06 leds_lm3560 v4l2_flash_led_class imx_media_common(C) snd_soc_fsl_sai imx_pcm_dma snd_soc_core gnss_mtk v4l2_fwnode
[ 272.399415] videobuf2_dma_contig gnss_serial gnss snd_pcm_dmaengine videobuf2_memops videobuf2_v4l2 snd_pcm videobuf2_common v4l2_async caam videodev snd_timer error mc snd soundcore imx2_wdt watchdog rfkill_hks rfkill libcomposite ledtrig_timer ledtrig_pattern fuse ip_tables x_tables ipv6 ofpart xhci_plat_hcd xhci_hcd usbcore spi_nor mtd dwc3 ulpi cdns_mhdp_imx udc_core phy_fsl_imx8mq_usb usb_common cdns_mhdp_drmcore imx_dcss bq25890_charger clk_bd718x7 tps6598x typec roles snvs_pwrkey imx_sdma virt_dma [last unloaded: hi846]
[ 272.399541] CPU: 3 PID: 1662 Comm: chatty Tainted: G C 5.17.0-1-librem5 #47
[ 272.399548] Hardware name: Purism Librem 5r4 (DT)
[ 272.399552] pstate: a0400005 (NzCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 272.399558] pc : pipeline_pm_power_one+0x104/0x15c [videodev]
[ 272.399612] lr : pipeline_pm_power.part.0+0x60/0xfc [videodev]
[ 272.399664] sp : ffff80000c78bbb0
[ 272.399667] x29: ffff80000c78bbb0 x28: ffff000044181f00 x27: 0000000000000000
[ 272.399678] x26: 0000000000000000 x25: 0000000000000000 x24: ffff000044182728
[ 272.399688] x23: ffff000040067000 x22: 00000000ffffffff x21: 00000000ffffffff
[ 272.399699] x20: ffff00000ebce4d0 x19: 00000000ffffffff x18: 0000000000000000
[ 272.399709] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
[ 272.399719] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
[ 272.399729] x11: 0000000000000000 x10: ffff80000833f244 x9 : ffff800000fcb2d4
[ 272.399739] x8 : ffff000008c05208 x7 : 0000000000000000 x6 : 0000000000000000
[ 272.399749] x5 : 000000000000000e x4 : ffff00000990bc88 x3 : 0000000000000003
[ 272.399759] x2 : 0000000000000002 x1 : 0000000000000002 x0 : ffff00000ebce4d0
[ 272.399770] Call trace:
[ 272.399773] pipeline_pm_power_one+0x104/0x15c [videodev]
[ 272.399827] pipeline_pm_power.part.0+0x60/0xfc [videodev]
[ 272.399881] v4l2_pipeline_pm_use+0x5c/0xa0 [videodev]
[ 272.399934] v4l2_pipeline_pm_put+0x20/0x40 [videodev]
[ 272.399987] capture_release+0x58/0x90 [imx_media_common]
[ 272.400008] v4l2_release+0xc8/0x100 [videodev]
[ 272.400060] __fput+0x78/0x234
[ 272.400070] ____fput+0x1c/0x30
[ 272.400075] task_work_run+0x90/0x190
[ 272.400084] do_notify_resume+0x21c/0x980
[ 272.400094] el0_svc+0x6c/0x80
[ 272.400103] el0t_64_sync_handler+0xa4/0x130
[ 272.400110] el0t_64_sync+0x1a4/0x1a8
[ 272.400117] ---[ end trace 0000000000000000 ]---
[ 272.400298] ------------[ cut here ]------------
```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/410s5k3l6xx: Don't use magic values2022-03-30T17:00:11ZGuido Gunthers5k3l6xx: Don't use magic valuesThe driver probing does:
```
test = s5k3l6xx_read(state, S5K3L6XX_REG_MODEL_ID_H);
if (test.retcode < 0) {
ret = test.retcode;
goto err_power;
} else if (test.value != S5K3L6XX_MODEL_ID_H)...The driver probing does:
```
test = s5k3l6xx_read(state, S5K3L6XX_REG_MODEL_ID_H);
if (test.retcode < 0) {
ret = test.retcode;
goto err_power;
} else if (test.value != S5K3L6XX_MODEL_ID_H) {
dev_err(&c->dev, "model mismatch: 0x%X != 0xC6\n", test.value);
ret = -EINVAL;
goto err_power;
} else
dev_info(&c->dev, "model high: 0x%X\n", test.value);
```
So it defines a constant `S5K3L6XX_REG_MODEL_ID_H` (good) but then doesn't use it the `dev_err`:
```
dev_err(&c->dev, "model mismatch: 0x%X != 0xC6\n", test.value);
```
why not:
```
dev_err(&c->dev, "model mismatch: 0x%X != 0x%X\n", test.value, S5K3L6XX_MODEL_ID_H);
```
so one doesn't have to check if there's a mismatch between the define and the printf?
Same for `S5K3L6XX_REG_MODEL_ID_L` and `S5K3L6XX_REG_REVISION_NUMBER`.
/cc @dorota.czaplejewicz as driver authorhttps://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/406Enhance `uname -v`2022-03-18T15:18:06ZGuido GuntherEnhance `uname -v`Debian e.g. has
```
$ uname -v
#1 SMP PREEMPT Debian 5.16.12-1 (2022-03-08)
```
which is nice as `uname -r` isn't that useful due to the ABI version encoded there. Would be great if we could do the same.Debian e.g. has
```
$ uname -v
#1 SMP PREEMPT Debian 5.16.12-1 (2022-03-08)
```
which is nice as `uname -r` isn't that useful due to the ABI version encoded there. Would be great if we could do the same.https://source.puri.sm/Librem5/linux/-/issues/405tps6598x: Error on rmmod2022-03-16T00:47:47ZSebastian Krzyszkowiaktps6598x: Error on rmmod```
[ 9547.322681] ------------[ cut here ]------------
[ 9547.322754] WARNING: CPU: 3 PID: 2525 at drivers/power/supply/power_supply_core.c:1390 power_supply_unregister+0xd0/0xd8
[ 9547.323030] Modules linked in: nft_chain_nat nft_compa...```
[ 9547.322681] ------------[ cut here ]------------
[ 9547.322754] WARNING: CPU: 3 PID: 2525 at drivers/power/supply/power_supply_core.c:1390 power_supply_unregister+0xd0/0xd8
[ 9547.323030] Modules linked in: nft_chain_nat nft_compat wireguard libchacha20poly1305 chacha_neon poly1305_neon ip6_udp_tunnel udp_tunnel libcurve25519_generic nf_tables nfnetlink option qmi_wwan cdc_wdm usb_wwan usbnet usbserial mii ofpart iptable_mangle xt_CHECKSUM spi_nor xt_tcpudp mtd iptable_nat mousedev xt_comment xt_MASQUERADE nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c uas bridge stp caam_jr iptable_filter caamhash_desc caamalg_desc crypto_engine usb_f_acm u_serial usb_f_ecm u_ether usb_storage aes_ce_blk crct10dif_ce brcmfmac ghash_ce st_lsm6dsx_spi sha2_ce sha1_ce cfg80211 brcmutil hi846 pwm_vibra snd_soc_gtm601 dw9714 s5k3l6xx edt_ft5x06 st_lsm6dsx_i2c snd_soc_wm8962 st_lsm6dsx vcnl4000 imx8mq_mipi_csi2(C) industrialio_triggered_buffer v4l2_fwnode kfifo_buf leds_lm3560 gnss_mtk gnss_serial imx7_media_csi(C) imx_media_common(C) v4l2_flash_led_class hantro_vpu(C) v4l2_async gnss snd_soc_simple_card v4l2_vp9 snd_soc_fsl_sai v4l2_h264 videobuf2_dma_contig
[ 9547.324331] snd_soc_simple_card_utils imx_pcm_dma v4l2_mem2mem snd_soc_core caam error videobuf2_vmalloc snd_pcm_dmaengine videobuf2_memops snd_pcm videobuf2_v4l2 snd_timer imx_sdma videobuf2_common snvs_pwrkey virt_dma snd videodev imx2_wdt rfkill_hks mc watchdog soundcore rfkill libcomposite ledtrig_timer ledtrig_pattern fuse ip_tables x_tables ipv6 xhci_plat_hcd xhci_hcd usbcore dwc3 ulpi udc_core imx_dcss cdns_mhdp_imx cdns_mhdp_drmcore usb_common phy_fsl_imx8mq_usb bq25890_charger tps6598x(-) typec roles clk_bd718x7
[ 9547.324974] CPU: 3 PID: 2525 Comm: rmmod Tainted: G C 5.17.0-1-librem5 #1
[ 9547.325017] Hardware name: Purism Librem 5r4 (DT)
[ 9547.325074] pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 9547.325116] pc : power_supply_unregister+0xd0/0xd8
[ 9547.325156] lr : devm_power_supply_release+0x1c/0x28
[ 9547.325171] sp : ffff800009d8bbe0
[ 9547.325188] x29: ffff800009d8bbe0 x28: ffff000004416c80 x27: 0000000000000000
[ 9547.325210] x26: 0000000000000000 x25: ffff800008f48000 x24: ffff800009210008
[ 9547.325226] x23: ffff800009578998 x22: ffff000001470c20 x21: ffff800009d8bca8
[ 9547.325248] x20: ffff000000850b00 x19: ffff000000255000 x18: 0000000000000000
[ 9547.325263] x17: 000000000000000c x16: 000000000000000b x15: 6f637478652f6e6f
[ 9547.325284] x14: 0000000000000040 x13: 0000000000000228 x12: 0000000000000000
[ 9547.325309] x11: 0000000000000000 x10: ffff80000886dda0 x9 : ffff80000895d224
[ 9547.325325] x8 : ffff80000886d790 x7 : ffff0000044a62c8 x6 : ffff800009d8bb58
[ 9547.325347] x5 : ffff80000886de2c x4 : ffff00003f4a4b00 x3 : ffff0000002553a8
[ 9547.325367] x2 : 0000000000000000 x1 : 0000000000000001 x0 : 0000000000000004
[ 9547.325405] Call trace:
[ 9547.325442] power_supply_unregister+0xd0/0xd8
[ 9547.325489] devm_power_supply_release+0x1c/0x28
[ 9547.325502] release_nodes+0x6c/0x110
[ 9547.325599] devres_release_group+0xd8/0x140
[ 9547.325614] i2c_device_remove+0x5c/0xe8
[ 9547.325685] device_release_driver_internal+0x118/0x208
[ 9547.325708] driver_detach+0x58/0xe8
[ 9547.325725] bus_remove_driver+0x88/0xe0
[ 9547.325795] driver_unregister+0x38/0x68
[ 9547.325811] i2c_del_driver+0x30/0x70
[ 9547.325834] tps6598x_i2c_driver_exit+0x1c/0xf20 [tps6598x]
[ 9547.326088] __arm64_sys_delete_module+0x1a0/0x2a8
[ 9547.326215] invoke_syscall+0x4c/0x110
[ 9547.326327] el0_svc_common.constprop.3+0x9c/0x100
[ 9547.326348] do_el0_svc+0x24/0x30
[ 9547.326365] el0_svc+0x20/0x50
[ 9547.326458] el0t_64_sync_handler+0x90/0xb8
[ 9547.326466] el0t_64_sync+0x184/0x188
[ 9547.326516] ---[ end trace 0000000000000000 ]---
```https://source.puri.sm/Librem5/linux/-/issues/403tps6598x: INT_MASK1 register gets thrashed2022-03-16T15:24:08ZSebastian Krzyszkowiaktps6598x: INT_MASK1 register gets thrashedI'm not sure why and I haven't noticed any bad consequences in behavior, but I've noticed that interrupt mask register can sometimes be set to weird values.
To reproduce:
1. Boot with USB-PD charger attached.
2. Observe a correct value ...I'm not sure why and I haven't noticed any bad consequences in behavior, but I've noticed that interrupt mask register can sometimes be set to weird values.
To reproduce:
1. Boot with USB-PD charger attached.
2. Observe a correct value of the register:
```
purism@evergreen:~$ sudo i2ctransfer -f -y 0 w1@0x3f 0x16 r9
0x08 0x0a 0x10 0x80 0x07 0x00 0x00 0x00 0x00
```
3. Disconnect the charger.
4. Observe something weird happening to the register:
```
purism@evergreen:~$ sudo i2ctransfer -f -y 0 w1@0x3f 0x16 r9
0x08 0xff 0xff 0xfe 0xff 0xdf 0x46 0x00 0x0f
```https://source.puri.sm/Librem5/linux/-/issues/402S5K3L6XX: Investigate bad pixel correction2022-03-10T10:49:19ZSebastian KrzyszkowiakS5K3L6XX: Investigate bad pixel correctionThe S5K3L6XX datasheet mentions a bad pixel correction block (which is also used to filter out PDAF pixels), but we're seeing quite a lot of easily correctable bad pixels in taken images, which suggests that maybe we're not actually havi...The S5K3L6XX datasheet mentions a bad pixel correction block (which is also used to filter out PDAF pixels), but we're seeing quite a lot of easily correctable bad pixels in taken images, which suggests that maybe we're not actually having it enabled.https://source.puri.sm/Librem5/linux/-/issues/401external analog microphone volume is clipped at 50%2022-03-30T22:10:30ZMartin Kepplingerexternal analog microphone volume is clipped at 50%the amixer settings we do for the external mic are https://source.puri.sm/Librem5/librem5-base/-/blob/pureos/byzantium/default/audio/ucm2/simple-card/HiFi.conf#L151
In g-c-c audio settings one can already see that no matter how loud the...the amixer settings we do for the external mic are https://source.puri.sm/Librem5/librem5-base/-/blob/pureos/byzantium/default/audio/ucm2/simple-card/HiFi.conf#L151
In g-c-c audio settings one can already see that no matter how loud the signal should be (by tapping onto the mic itself for example) the recorded signal never exceedss 50% of the scale.
Not yet sure whether it's a kernel or config bug.
After this is fixed we can think about bumping the gain another 3 or 6 dB in case it's too quiet still.https://source.puri.sm/Librem5/linux/-/issues/399dwc3 crashing after gadget start failed (after a powerbank got empty while ch...2022-03-05T11:21:16ZMartin Kepplingerdwc3 crashing after gadget start failed (after a powerbank got empty while charging)I had the phone charging on a powerbank that got empty at some point. larger logs that mostly repeat the below last few lines are appended:
But this looks like something that might be able to be improved in bq25890 and tps6598x too:
``...I had the phone charging on a powerbank that got empty at some point. larger logs that mostly repeat the below last few lines are appended:
But this looks like something that might be able to be improved in bq25890 and tps6598x too:
```
Mär 05 05:41:37 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:37 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:37 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:37 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:37 pureos kernel: tps6598x 0-003f: The interrupt is masked , how did it fire ?? f0046dffbfeffff
Mär 05 05:41:37 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:37 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:37 pureos kernel: xhci-hcd xhci-hcd.5.auto: USB bus 3 deregistered
Mär 05 05:41:37 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:38 pureos kernel: xhci-hcd xhci-hcd.5.auto: xHCI Host Controller
Mär 05 05:41:38 pureos kernel: xhci-hcd xhci-hcd.5.auto: new USB bus registered, assigned bus number 3
Mär 05 05:41:38 pureos kernel: xhci-hcd xhci-hcd.5.auto: hcc params 0x0220fe6c hci version 0x110 quirks 0x0000000000010010
Mär 05 05:41:38 pureos kernel: xhci-hcd xhci-hcd.5.auto: irq 64, io mem 0x38100000
Mär 05 05:41:38 pureos kernel: usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.16
Mär 05 05:41:38 pureos kernel: usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Mär 05 05:41:38 pureos kernel: usb usb3: Product: xHCI Host Controller
Mär 05 05:41:38 pureos kernel: usb usb3: Manufacturer: Linux 5.16.11-librem5-00012-ga1eb8701816e xhci-hcd
Mär 05 05:41:38 pureos kernel: usb usb3: SerialNumber: xhci-hcd.5.auto
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:38 pureos kernel: hub 3-0:1.0: USB hub found
Mär 05 05:41:38 pureos kernel: hub 3-0:1.0: 1 port detected
Mär 05 05:41:38 pureos kernel: xhci-hcd xhci-hcd.5.auto: xHCI Host Controller
Mär 05 05:41:38 pureos kernel: xhci-hcd xhci-hcd.5.auto: new USB bus registered, assigned bus number 4
Mär 05 05:41:38 pureos kernel: xhci-hcd xhci-hcd.5.auto: Host supports USB 3.0 SuperSpeed
Mär 05 05:41:38 pureos kernel: usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
Mär 05 05:41:38 pureos kernel: usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.16
Mär 05 05:41:38 pureos kernel: usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Mär 05 05:41:38 pureos kernel: usb usb4: Product: xHCI Host Controller
Mär 05 05:41:38 pureos kernel: usb usb4: Manufacturer: Linux 5.16.11-librem5-00012-ga1eb8701816e xhci-hcd
Mär 05 05:41:38 pureos kernel: usb usb4: SerialNumber: xhci-hcd.5.auto
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:38 pureos kernel: hub 4-0:1.0: USB hub found
Mär 05 05:41:38 pureos kernel: hub 4-0:1.0: 1 port detected
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:38 pureos kernel: xhci-hcd xhci-hcd.5.auto: remove, state 4
Mär 05 05:41:38 pureos kernel: usb usb4: USB disconnect, device number 1
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:38 pureos kernel: xhci-hcd xhci-hcd.5.auto: USB bus 4 deregistered
Mär 05 05:41:38 pureos kernel: xhci-hcd xhci-hcd.5.auto: remove, state 4
Mär 05 05:41:38 pureos kernel: usb usb3: USB disconnect, device number 1
Mär 05 05:41:38 pureos kernel: xhci-hcd xhci-hcd.5.auto: USB bus 3 deregistered
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:38 pureos kernel: xhci-hcd xhci-hcd.5.auto: xHCI Host Controller
Mär 05 05:41:38 pureos kernel: xhci-hcd xhci-hcd.5.auto: new USB bus registered, assigned bus number 3
Mär 05 05:41:38 pureos kernel: xhci-hcd xhci-hcd.5.auto: hcc params 0x0220fe6c hci version 0x110 quirks 0x0000000000010010
Mär 05 05:41:38 pureos kernel: xhci-hcd xhci-hcd.5.auto: irq 64, io mem 0x38100000
Mär 05 05:41:38 pureos kernel: usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.16
Mär 05 05:41:38 pureos kernel: usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Mär 05 05:41:38 pureos kernel: usb usb3: Product: xHCI Host Controller
Mär 05 05:41:38 pureos kernel: usb usb3: Manufacturer: Linux 5.16.11-librem5-00012-ga1eb8701816e xhci-hcd
Mär 05 05:41:38 pureos kernel: usb usb3: SerialNumber: xhci-hcd.5.auto
Mär 05 05:41:38 pureos kernel: hub 3-0:1.0: USB hub found
Mär 05 05:41:38 pureos kernel: hub 3-0:1.0: 1 port detected
Mär 05 05:41:38 pureos kernel: xhci-hcd xhci-hcd.5.auto: xHCI Host Controller
Mär 05 05:41:38 pureos kernel: xhci-hcd xhci-hcd.5.auto: new USB bus registered, assigned bus number 4
Mär 05 05:41:38 pureos kernel: xhci-hcd xhci-hcd.5.auto: Host supports USB 3.0 SuperSpeed
Mär 05 05:41:38 pureos kernel: usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
Mär 05 05:41:38 pureos kernel: usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.16
Mär 05 05:41:38 pureos kernel: usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Mär 05 05:41:38 pureos kernel: usb usb4: Product: xHCI Host Controller
Mär 05 05:41:38 pureos kernel: usb usb4: Manufacturer: Linux 5.16.11-librem5-00012-ga1eb8701816e xhci-hcd
Mär 05 05:41:38 pureos kernel: usb usb4: SerialNumber: xhci-hcd.5.auto
Mär 05 05:41:38 pureos kernel: hub 4-0:1.0: USB hub found
Mär 05 05:41:38 pureos kernel: hub 4-0:1.0: 1 port detected
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:38 pureos kernel: xhci-hcd xhci-hcd.5.auto: remove, state 1
Mär 05 05:41:38 pureos kernel: usb usb4: USB disconnect, device number 1
Mär 05 05:41:38 pureos kernel: xhci-hcd xhci-hcd.5.auto: USB bus 4 deregistered
Mär 05 05:41:38 pureos kernel: xhci-hcd xhci-hcd.5.auto: remove, state 4
Mär 05 05:41:38 pureos kernel: usb usb3: USB disconnect, device number 1
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:38 pureos kernel: xhci-hcd xhci-hcd.5.auto: USB bus 3 deregistered
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:38 pureos kernel: tps6598x 0-003f: The interrupt is masked , how did it fire ?? f0046dffbfeffff
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:38 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:39 pureos kernel: tps6598x 0-003f: The interrupt is masked , how did it fire ?? f0046dffbfeffff
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:39 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:40 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:41 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:41 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:41 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:41 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:41 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:41 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:41 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:41 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:41 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:41 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:41 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:41 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:41 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:41 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:41 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:41 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:41 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:41 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:41 pureos kernel: bq25890-charger 3-006a: Enabling OTG_EN pin
Mär 05 05:41:41 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:41 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:41 pureos kernel: bq25890-charger 3-006a: Upstream supply changed: 0.
Mär 05 05:41:41 pureos kernel: bq25890-charger 3-006a: Disabling OTG_EN pin
Mär 05 05:41:41 pureos kernel: configfs-gadget gadget: cdc_ethernet: can't bind, err -19
Mär 05 05:41:41 pureos kernel: configfs-gadget 38100000.usb: failed to start g1: -19
Mär 05 05:41:41 pureos kernel: dwc3 38100000.usb: failed to add gadget
Mär 05 05:41:41 pureos kernel: dwc3 38100000.usb: failed to initialize peripheral
Mär 05 05:41:41 pureos kernel: Unable to handle kernel paging request at virtual address 00006364753d4d74
Mär 05 05:41:41 pureos kernel: Mem abort info:
Mär 05 05:41:42 pureos kernel: ESR = 0x96000004
Mär 05 05:41:42 pureos kernel: EC = 0x25: DABT (current EL), IL = 32 bits
Mär 05 05:41:42 pureos kernel: SET = 0, FnV = 0
Mär 05 05:41:42 pureos kernel: EA = 0, S1PTW = 0
```
[powerbank_empty.txt](/uploads/264fa0baa244a09b7bb7c52c1866fc50/powerbank_empty.txt)https://source.puri.sm/Librem5/linux/-/issues/395phone locked up when recieving SMS while suspended2022-02-24T16:46:53ZClayton Craftphone locked up when recieving SMS while suspendedI suspended my L5 running the 5.16.3 kernel:
```
$ echo mem | sudo tee /sys/power/state
```
Then a few minutes later sent an SMS to it. The display woke up and showed the last thing it had shown before suspending (which was Chatty runn...I suspended my L5 running the 5.16.3 kernel:
```
$ echo mem | sudo tee /sys/power/state
```
Then a few minutes later sent an SMS to it. The display woke up and showed the last thing it had shown before suspending (which was Chatty running in phosh), and seems to have completely locked up. No lockscreen was shown, and it was unresponsive to taps, button HW presses, or SSH over usb network (on postmarketOS).
I don't have a way to get a serial console on this phone :disappointed:https://source.puri.sm/Librem5/linux/-/issues/394wm8962: support detecting an external analogue microphone2022-03-14T17:02:07ZMartin Kepplingerwm8962: support detecting an external analogue microphoneWe currently only detect headphones, not the mic (in case of a headset). So our ucm profile that makes the headset mic available is wrong because it listens to the headphones jack, not whether a MIC is available (IN3R is grounded, see ht...We currently only detect headphones, not the mic (in case of a headset). So our ucm profile that makes the headset mic available is wrong because it listens to the headphones jack, not whether a MIC is available (IN3R is grounded, see https://source.puri.sm/Librem5/linux-next/-/issues/5#note_111192 )