linux issues
https://source.puri.sm/Librem5/linux/-/issues
2023-10-02T08:54:21Z
https://source.puri.sm/Librem5/linux/-/issues/413
5.16 millipixels crashes on selfie cam
2023-10-02T08:54:21Z
Angus Ainslie
angus.ainslie@puri.sm
5.16 millipixels crashes on selfie cam
On some devices millipixels crashes accessing the selfie cam
```
Linux version 5.16.0-1-librem5 (builder@cumin-landing-buildd-arm64-qh9s) (aarch64-linux-gnu-gcc (Debian 1
0.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2...
On some devices millipixels crashes accessing the selfie cam
```
Linux version 5.16.0-1-librem5 (builder@cumin-landing-buildd-arm64-qh9s) (aarch64-linux-gnu-gcc (Debian 1
0.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2) #1 SMP PREEMPT Thu Mar 24 21:27:15 UTC 2022
```
```
purism@pureos:~$ coredumpctl dump > millipixels.dump
PID: 2191 (millipixels)
UID: 1000 (purism)
GID: 1000 (purism)
Signal: 11 (SEGV)
Timestamp: Tue 2022-04-05 13:06:13 UTC (1min 20s ago)
Command Line: millipixels
Executable: /usr/bin/millipixels
Control Group: /user.slice/user-1000.slice/session-3.scope
Unit: session-3.scope
Slice: user-1000.slice
Session: 3
Owner UID: 1000 (purism)
Boot ID: 924902c2c48f413b9bdc5124c2483c09
Machine ID: 1bab7a3269ef4298af620b6bc795bbd7
Hostname: pureos
Storage: /var/lib/systemd/coredump/core.millipixels.1000.924902c2c48f413b9bdc5124c2483c09.2191.1649163973000000.z
st
Message: Process 2191 (millipixels) of user 1000 dumped core.
Stack trace of thread 2199:
#0 0x0000ffffb99a7818 _ZN9libcamera6Camera7acquireEv (libcamera.so.0 + 0x9b818)
#1 0x0000aaaab896f670 n/a (millipixels + 0x1f670)
#2 0x0000aaaab896966c n/a (millipixels + 0x1966c)
#3 0x0000aaaab896d3e4 n/a (millipixels + 0x1d3e4)
#4 0x0000aaaab896bbc8 n/a (millipixels + 0x1bbc8)
#5 0x0000ffffb8b57ab4 g_main_context_dispatch (libglib-2.0.so.0 + 0x53ab4)
#6 0x0000ffffb8b57e5c n/a (libglib-2.0.so.0 + 0x53e5c)
#7 0x0000ffffb8b581b0 g_main_loop_run (libglib-2.0.so.0 + 0x541b0)
#8 0x0000aaaab896bbe4 n/a (millipixels + 0x1bbe4)
#9 0x0000ffffb87f1628 start_thread (libpthread.so.0 + 0x8628)
#10 0x0000ffffb874901c n/a (libc.so.6 + 0xd601c)
Stack trace of thread 2191:
#0 0x0000ffffb8c67a18 n/a (libgobject-2.0.so.0 + 0x20a18)
#1 0x0000ffffb8b44e08 g_hash_table_foreach (libglib-2.0.so.0 + 0x40e08)
#2 0x0000ffffb8c695b0 g_param_spec_pool_list (libgobject-2.0.so.0 + 0x225b0)
#3 0x0000ffffb8c60b28 n/a (libgobject-2.0.so.0 + 0x19b28)
#4 0x0000ffffb8c780cc n/a (libgobject-2.0.so.0 + 0x310cc)
#5 0x0000ffffb8c7a898 g_type_class_ref (libgobject-2.0.so.0 + 0x33898)
#6 0x0000ffffb8c63670 g_object_new_with_properties (libgobject-2.0.so.0 + 0x1c670)
#7 0x0000ffffb8c63f9c g_object_new (libgobject-2.0.so.0 + 0x1cf9c)
#8 0x0000ffffb94e2dc4 n/a (libgtk-3.so.0 + 0x3eadc4)
#9 0x0000ffffb8c5c018 g_closure_invoke (libgobject-2.0.so.0 + 0x15018)
#10 0x0000ffffb8c6f410 n/a (libgobject-2.0.so.0 + 0x28410)
#11 0x0000ffffb8c75898 g_signal_emit_valist (libgobject-2.0.so.0 + 0x2e898)
#12 0x0000ffffb8c75e90 g_signal_emit (libgobject-2.0.so.0 + 0x2ee90)
#13 0x0000ffffb94d29c0 gtk_widget_realize (libgtk-3.so.0 + 0x3da9c0)
#14 0x0000ffffb94e06b8 n/a (libgtk-3.so.0 + 0x3e86b8)
#15 0x0000ffffb8c5c018 g_closure_invoke (libgobject-2.0.so.0 + 0x15018)
#16 0x0000ffffb8c6f410 n/a (libgobject-2.0.so.0 + 0x28410)
#17 0x0000ffffb8c75898 g_signal_emit_valist (libgobject-2.0.so.0 + 0x2e898)
#18 0x0000ffffb8c75e90 g_signal_emit (libgobject-2.0.so.0 + 0x2ee90)
#19 0x0000ffffb94cbfb4 gtk_widget_show (libgtk-3.so.0 + 0x3d3fb4)
#20 0x0000aaaab8965388 n/a (millipixels + 0x15388)
#21 0x0000ffffb8697218 __libc_start_main (libc.so.6 + 0x24218)
#22 0x0000aaaab8965418 n/a (millipixels + 0x15418)
#23 0x0000aaaab8965418 n/a (millipixels + 0x15418)
```
https://source.puri.sm/Librem5/linux/-/issues/412
hi846: Error on unload after failed probe
2022-04-05T11:31:30Z
Sebastian Krzyszkowiak
hi846: Error on unload after failed probe
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+...
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/411
s5k3l6xx: Read OTP AWB/AF data
2022-09-23T14:44:29Z
Sebastian Krzyszkowiak
s5k3l6xx: Read OTP AWB/AF data
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 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/410
s5k3l6xx: Don't use magic values
2022-03-30T17:00:11Z
Guido Gunther
s5k3l6xx: Don't use magic values
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)...
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 author
https://source.puri.sm/Librem5/linux/-/issues/408
brcmfmac: Use regulatory framework
2023-01-16T18:45:35Z
Sebastian Krzyszkowiak
brcmfmac: Use regulatory framework
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...
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/407
Doesn't resume from suspend
2022-07-04T15:10:43Z
Guido Gunther
Doesn't resume from suspend
I've been testing resume from suspend every now and then (mostly via `systemctl supsend` but also having gnome-session trigger it) and the device never came back so far on volume or power button press. Currently I'm at linux `5.16.11` an...
I've been testing resume from suspend every now and then (mostly via `systemctl supsend` but also having gnome-session trigger it) and the device never came back so far on volume or power button press. Currently I'm at linux `5.16.11` and uboot `2019.042019.04~rc1-0.1+librem5.1`. Log ends like
```
Mär 20 19:50:55 nn kernel: redpine_91x: <==== Interface DOWN ====>
Mär 20 19:50:55 nn systemd-networkd[465]: wlan0: Link DOWN
Mär 20 19:50:55 nn NetworkManager[754]: <info> [1647802255.3295] device (wlan0): set-hw-addr: reset MAC address to 88:DA:1A:78:E8:9C (unmanage)
Mär 20 19:50:55 nn kernel: redpine_91x: <==== Interface UP ====>
Mär 20 19:50:55 nn kernel: redpine_91x: rsi_mac80211_bss_info_changed: Change of ERP INFO: 0
Mär 20 19:50:55 nn kernel: redpine_91x: rsi_mac80211_bss_info_changed: Sending vap updates....
Mär 20 19:50:55 nn systemd-networkd[465]: wlan0: Link UP
Mär 20 19:50:55 nn systemd[1]: Reached target Sleep.
Mär 20 19:50:55 nn systemd[1]: Starting Suspend...
Mär 20 19:50:55 nn wpa_supplicant[770]: nl80211: deinit ifname=wlan0 disabled_11b_rates=0
Mär 20 19:50:55 nn ModemManager[835]: transaction 0x10 aborted, but message is not abortable
Mär 20 19:50:55 nn ModemManager[835]: transaction 0x11 aborted, but message is not abortable
Mär 20 19:50:55 nn ModemManager[835]: transaction 0x12 aborted, but message is not abortable
Mär 20 19:50:55 nn ModemManager[835]: transaction 0x13 aborted, but message is not abortable
Mär 20 19:50:55 nn ModemManager[835]: transaction 0x14 aborted, but message is not abortable
Mär 20 19:50:55 nn ModemManager[835]: transaction 0x15 aborted, but message is not abortable
Mär 20 19:50:55 nn ModemManager[835]: transaction 0x16 aborted, but message is not abortable
Mär 20 19:50:55 nn ModemManager[835]: transaction 0x17 aborted, but message is not abortable
Mär 20 19:50:55 nn ModemManager[835]: transaction 0x18 aborted, but message is not abortable
<endoflog>
```
I can attach a serial console at some point in case that helps and this I'm not hitting known issues.
https://source.puri.sm/Librem5/linux/-/issues/406
Enhance `uname -v`
2022-03-18T15:18:06Z
Guido Gunther
Enhance `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/405
tps6598x: Error on rmmod
2022-03-16T00:47:47Z
Sebastian Krzyszkowiak
tps6598x: 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/404
brcmfmac: error while changing bus sleep state / failed backplane access
2023-03-03T16:28:37Z
Sebastian Krzyszkowiak
brcmfmac: error while changing bus sleep state / failed backplane access
After doing `sudo iw dev wlan0 set power_save on` and leaving it for a while, dmesg gets filled with lots of errors:
```
Mar 15 15:08:11 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 ...
After doing `sudo iw dev wlan0 set power_save on` and leaving it for a while, dmesg gets filled with lots of errors:
```
Mar 15 15:08:11 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:08:11 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:08:11 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:08:21 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:08:31 evergreen kernel: brcmfmac: brcmf_sdio_isr: failed backplane access
Mar 15 15:09:57 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:10:30 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:10:30 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:10:31 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:11:25 evergreen kernel: brcmfmac: brcmf_sdio_isr: failed backplane access
Mar 15 15:12:00 evergreen kernel: brcmfmac: brcmf_sdio_isr: failed backplane access
Mar 15 15:12:13 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:13:02 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:13:11 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:13:12 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:13:32 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:14:13 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:14:37 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:14:54 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:14:58 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:14:59 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:15:01 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:15:04 evergreen kernel: brcmfmac: brcmf_sdio_isr: failed backplane access
Mar 15 15:15:05 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:15:05 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:15:15 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:15:24 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:15:51 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:16:00 evergreen kernel: brcmfmac: brcmf_sdio_isr: failed backplane access
Mar 15 15:16:12 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:16:12 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:16:32 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:16:36 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:16:38 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:16:38 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
Mar 15 15:16:49 evergreen kernel: brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
```
In the past I've seen card's instability coming from that, but haven't tried it for a while and so far it didn't crash on 5.17, but I'll keep running it.
https://source.puri.sm/Librem5/linux/-/issues/403
tps6598x: INT_MASK1 register gets thrashed
2022-03-16T15:24:08Z
Sebastian Krzyszkowiak
tps6598x: INT_MASK1 register gets thrashed
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 ...
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/402
S5K3L6XX: Investigate bad pixel correction
2022-03-10T10:49:19Z
Sebastian Krzyszkowiak
S5K3L6XX: Investigate bad pixel correction
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 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/401
external analog microphone volume is clipped at 50%
2022-03-30T22:10:30Z
Martin Kepplinger
external 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/400
5.17 only negotiates 500mA with PD
2022-03-08T13:31:24Z
Joao Azevedo
5.17 only negotiates 500mA with PD
Kernel `5.17.0-1-librem5`
u-boot: `u_boot_version=2022.04-rc1`
TPS: `0x4c35445000000200`
With 5.17 when plugging the charger after boot, it only negotiates `500mA`.
`tail -n+0 /sys/class/power_supply/*/uevent`
```
POWER_SUPPLY_USB_...
Kernel `5.17.0-1-librem5`
u-boot: `u_boot_version=2022.04-rc1`
TPS: `0x4c35445000000200`
With 5.17 when plugging the charger after boot, it only negotiates `500mA`.
`tail -n+0 /sys/class/power_supply/*/uevent`
```
POWER_SUPPLY_USB_TYPE=C [PD]
POWER_SUPPLY_ONLINE=1
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_CURRENT_MAX=500000
POWER_SUPPLY_VOLTAGE_MAX=5000000
```
Powering down and waiting 15 seconds before booting again and then connecting the charger has no effect.
`sudo cat /sys/kernel/debug/tracing/trace`
Provides:
[trace.txt](/uploads/253f7b4f1c5037270615073a1f774ed8/trace.txt)
Which according to Angus is odd.
A workaround was to connect the charger with the phone powered down.
Reverting to 5.16 solved the issue. And now the device does 3000mA when connecting the charger after boot.
```
==> /sys/class/power_supply/tps6598x-source-psy-0-003f/uevent <==
POWER_SUPPLY_NAME=tps6598x-source-psy-0-003f
POWER_SUPPLY_TYPE=USB
POWER_SUPPLY_USB_TYPE=C [PD]
POWER_SUPPLY_ONLINE=1
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_CURRENT_MAX=3000000
POWER_SUPPLY_VOLTAGE_MAX=5000000
purism@pureos:~$ uname -a
Linux pureos 5.16.0-1-librem5 #1 SMP PREEMPT Sat Feb 26 21:25:54 UTC 2022 aarch64 GNU/Linux
```
https://source.puri.sm/Librem5/linux/-/issues/399
dwc3 crashing after gadget start failed (after a powerbank got empty while ch...
2022-03-05T11:21:16Z
Martin Kepplinger
dwc3 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/397
Consider a minimal rescue kernel as /boot/vmlinuz
2022-02-10T15:31:23Z
Guido Gunther
Consider a minimal rescue kernel as /boot/vmlinuz
Now that we switch to using the installed kernel directly (instead of copying to `/boot/vmlinuz`) we could use that location for a minimal rescue kernel that:
- has a frame buffer to show an error
- exports `/dev/ttyACM0` so one can get...
Now that we switch to using the installed kernel directly (instead of copying to `/boot/vmlinuz`) we could use that location for a minimal rescue kernel that:
- has a frame buffer to show an error
- exports `/dev/ttyACM0` so one can get access / unlock the initramfs
- has everything needed built in (or creates the initramfs including the modules in the same step).
In order to safe space we'd want to use a minimal defconfig (hence filing at the kernel side)
`boot.scr` is already equipped for booting such a thing when kernel/initramfs are missing.
https://source.puri.sm/Librem5/linux/-/issues/395
phone locked up when recieving SMS while suspended
2022-02-24T16:46:53Z
Clayton Craft
phone locked up when recieving SMS while suspended
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 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/394
wm8962: support detecting an external analogue microphone
2022-03-14T17:02:07Z
Martin Kepplinger
wm8962: support detecting an external analogue microphone
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 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 )
https://source.puri.sm/Librem5/linux/-/issues/393
5.17: millipixels crashes when switching to front cam
2022-04-13T10:36:04Z
Martin Kepplinger
5.17: millipixels crashes when switching to front cam
how to reproduce: `apt install linux-image-5.17.0-1-librem5` reboot and:
```
purism@pureos:~$ millipixels
Found config file at /usr/share/millipixels/config/purism,librem5r4.ini
Adding camera big from config
matched GRBG8 to GRBG8 3
mat...
how to reproduce: `apt install linux-image-5.17.0-1-librem5` reboot and:
```
purism@pureos:~$ millipixels
Found config file at /usr/share/millipixels/config/purism,librem5r4.ini
Adding camera big from config
matched GRBG8 to GRBG8 3
matched GRBG8 to GRBG8 3
Adding camera selfie from config
matched GBRG16 to GBRG16 14
matched GBRG16 to GBRG16 14
Found postprocessor script at /usr/share/millipixels/postprocess.sh
mp_device_list_find_remove imx7-csi s5k3l6xx 3-002d
19: there's csi, looking for s5k3l6xx 3-002d
19: there's csi capture, looking for s5k3l6xx 3-002d
19: there's imx8mq-mipi-csi2 30b60000.csi, looking for s5k3l6xx 3-002d
19: there's s5k3l6xx 3-002d, looking for s5k3l6xx 3-002d
found!
devname /dev/video1
19: there's csi, looking for s5k3l6xx 3-002d
19: there's csi capture, looking for s5k3l6xx 3-002d
19: there's imx8mq-mipi-csi2 30b60000.csi, looking for s5k3l6xx 3-002d
19: there's s5k3l6xx 3-002d, looking for s5k3l6xx 3-002d
found!
linking flags 0 source 15:0 sink 10:0
MPDevice: MEDIA_IOC_SETUP_LINK error 22, Das Argument ist ungültig
mp_device_list_find_remove imx7-csi hi846 2-0020
18: there's csi, looking for hi846 2-0020
18: there's csi capture, looking for hi846 2-0020
18: there's imx8mq-mipi-csi2 30a70000.csi, looking for hi846 2-0020
18: there's hi846 2-0020, looking for hi846 2-0020
found!
devname /dev/video0
18: there's csi, looking for hi846 2-0020
18: there's csi capture, looking for hi846 2-0020
18: there's imx8mq-mipi-csi2 30a70000.csi, looking for hi846 2-0020
18: there's hi846 2-0020, looking for hi846 2-0020
found!
linking flags 0 source 15:0 sink 10:0
MPDevice: MEDIA_IOC_SETUP_LINK error 22, Das Argument ist ungültig
linking flags 1 source 15:0 sink 10:0
MPDevice: MEDIA_IOC_SETUP_LINK error 22, Das Argument ist ungültig
Setting mode 1052 780
[0:00:43.190897413] [1373] INFO Camera camera_manager.cpp:293 libcamera v0.0.0
[0:00:43.207543214] [1374] WARN CameraSensorProperties camera_sensor_properties.cpp:141 No static properties available for 's5k3l6xx'
[0:00:43.207654694] [1374] WARN CameraSensorProperties camera_sensor_properties.cpp:143 Please consider updating the camera sensor properties database
[0:00:43.208814374] [1373] INFO Camera camera.cpp:937 configuring streams: (0) 1052x780-SGRBG8
[0:00:43.210288574] [1374] ERROR DeviceEnumerator device_enumerator.cpp:166 Removing media device /dev/media0 while still in use
ok
linking flags 0 source 15:0 sink 10:0
MPDevice: MEDIA_IOC_SETUP_LINK error 22, Das Argument ist ungültig
linking flags 1 source 15:0 sink 10:0
MPDevice: MEDIA_IOC_SETUP_LINK error 22, Das Argument ist ungültig
Setting mode 1632 1224
[0:00:47.868624801] [1373] INFO Camera camera_manager.cpp:293 libcamera v0.0.0
[0:00:47.884657882] [1378] WARN CameraSensorProperties camera_sensor_properties.cpp:141 No static properties available for 's5k3l6xx'
[0:00:47.884736122] [1378] WARN CameraSensorProperties camera_sensor_properties.cpp:143 Please consider updating the camera sensor properties database
Speicherzugriffsfehler (Speicherabzug geschrieben)
```
coredump:
```
PID: 1365 (millipixels)
UID: 1000 (purism)
GID: 1000 (purism)
Signal: 11 (SEGV)
Timestamp: Mon 2022-01-31 11:23:00 CET (1min 6s ago)
Command Line: millipixels
Executable: /usr/bin/millipixels
Control Group: /user.slice/user-1000.slice/session-3.scope
Unit: session-3.scope
Slice: user-1000.slice
Session: 3
Owner UID: 1000 (purism)
Boot ID: 08f46d9efb6e49efbb6c1a8dc73d7306
Machine ID: b4d66758395f458e9e0440f46d49b7ed
Hostname: pureos
Storage: /var/lib/systemd/coredump/core.millipixels.1000.08f46d9efb6e49efbb6c1a8dc73d7306.1365.1>
Message: Process 1365 (millipixels) of user 1000 dumped core.
Stack trace of thread 1373:
#0 0x0000ffffbeeea818 _ZNKSt15__uniq_ptr_implIN9libcamera10Extensible7PrivateESt14defa>
#1 0x0000aaaaea2af670 setMode (millipixels + 0x1f670)
#2 0x0000aaaaea2a966c mp_camera_set_mode (millipixels + 0x1966c)
#3 0x0000aaaaea2ad3e4 update_state (millipixels + 0x1d3e4)
#4 0x0000aaaaea2abbc8 invoke_impl (millipixels + 0x1bbc8)
#5 0x0000ffffbe09aab4 g_main_dispatch (libglib-2.0.so.0 + 0x53ab4)
#6 0x0000ffffbe09ae5c g_main_context_iterate (libglib-2.0.so.0 + 0x53e5c)
#7 0x0000ffffbe09b1b0 g_main_loop_run (libglib-2.0.so.0 + 0x541b0)
#8 0x0000aaaaea2abbe4 thread_main_loop (millipixels + 0x1bbe4)
#9 0x0000ffffbdd34628 start_thread (libpthread.so.0 + 0x8628)
#10 0x0000ffffbdc8c01c thread_start (libc.so.6 + 0xd601c)
Stack trace of thread 1366:
#0 0x0000ffffbdc822f4 __GI___poll (libc.so.6 + 0xcc2f4)
#1 0x0000ffffbe09adf8 g_main_context_poll (libglib-2.0.so.0 + 0x53df8)
#2 0x0000ffffbe09af24 g_main_context_iteration (libglib-2.0.so.0 + 0x53f24)
#3 0x0000ffffbe09af7c glib_worker_main (libglib-2.0.so.0 + 0x53f7c)
#4 0x0000ffffbe0c48f4 g_thread_proxy (libglib-2.0.so.0 + 0x7d8f4)
#5 0x0000ffffbdd34628 start_thread (libpthread.so.0 + 0x8628)
#6 0x0000ffffbdc8c01c thread_start (libc.so.6 + 0xd601c)
Stack trace of thread 1365:
#0 0x0000ffffbdc822f4 __GI___poll (libc.so.6 + 0xcc2f4)
#1 0x0000ffffbe09adf8 g_main_context_poll (libglib-2.0.so.0 + 0x53df8)
#2 0x0000ffffbe09b1b0 g_main_loop_run (libglib-2.0.so.0 + 0x541b0)
#3 0x0000ffffbe8a69d0 gtk_main (libgtk-3.so.0 + 0x26b9d0)
#4 0x0000aaaaea2a538c main (millipixels + 0x1538c)
#5 0x0000ffffbdbda218 __libc_start_main (libc.so.6 + 0x24218)
#6 0x0000aaaaea2a5418 $x (millipixels + 0x15418)
#7 0x0000aaaaea2a5418 $x (millipixels + 0x15418)
```
nothing in the kernel logs. where's the bug then?
Dorota Czaplejewicz
Dorota Czaplejewicz
https://source.puri.sm/Librem5/linux/-/issues/392
Add tracing to the DP layer / cadence driver
2023-02-12T13:20:50Z
Guido Gunther
Add tracing to the DP layer / cadence driver
Having the relevant events in the tracing framework would help a lot debugging customer problems since we don't have to correlate traces and dmesg (I've had this on my list since ages but lets have a bug).
Having the relevant events in the tracing framework would help a lot debugging customer problems since we don't have to correlate traces and dmesg (I've had this on my list since ages but lets have a bug).
https://source.puri.sm/Librem5/linux/-/issues/389
rename the repo to linux
2022-02-28T15:56:49Z
Martin Kepplinger
rename the repo to linux
since linux-next is misleading we should consider renaming this repo to "linux".
since linux-next is misleading we should consider renaming this repo to "linux".