linux issueshttps://source.puri.sm/Librem5/linux/-/issues2021-12-21T11:47:08Zhttps://source.puri.sm/Librem5/linux/-/issues/385st_lsm6dsx: support trigger/buffer iio api for the lsm9ds12021-12-21T11:47:08ZMartin Kepplingerst_lsm6dsx: support trigger/buffer iio api for the lsm9ds1we currently require userspace to repeatedly read the accelerometer. We need to support the interrupt-based mode: configure the device for interrupts and implement iio trigger/buffer support for userspace.
iio-sensor-proxy should be rea...we currently require userspace to repeatedly read the accelerometer. We need to support the interrupt-based mode: configure the device for interrupts and implement iio trigger/buffer support for userspace.
iio-sensor-proxy should be ready for it: https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/blob/master/src/drv-iio-buffer-accel.c#L168https://source.puri.sm/Librem5/linux/-/issues/382make the wwan driver listen to 4G_WAKE and wake the system2021-12-21T16:18:14ZMartin Kepplingermake the wwan driver listen to 4G_WAKE and wake the systemeven in mainline we currently describe the 4G_WAKE pin as gpio-key for the devkit: https://elixir.bootlin.com/linux/latest/source/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts#L53 and we want to do the same for the phone.
but ...even in mainline we currently describe the 4G_WAKE pin as gpio-key for the devkit: https://elixir.bootlin.com/linux/latest/source/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts#L53 and we want to do the same for the phone.
but that looks like a short-term workaround: the `KEY_PHONE` describes a physical key that starts a phone application (afaik). This is not what's happening here and not what we have on the phone (or devkit).
so the wwan driver should look at this pin and wake the system on incoming calls and sms instead, right?https://source.puri.sm/Librem5/linux/-/issues/381error on unplugging, shutdown and suspend: dwc3 38100000.usb: request was not...2022-02-01T09:27:29ZMartin Kepplingererror on unplugging, shutdown and suspend: dwc3 38100000.usb: request was not queued to ep1inmost likely an error that would apply to upstream as well. Let's track it here as I want to either try to fix it properly or silence it.most likely an error that would apply to upstream as well. Let's track it here as I want to either try to fix it properly or silence it.https://source.puri.sm/Librem5/linux/-/issues/377can't turn on display anymore due to stall on cpu2022-10-12T07:52:16ZMartin Kepplingercan't turn on display anymore due to stall on cpuseen on 5.13 for now:
```
Dez 01 16:35:53 pureos kernel: rcu: INFO: rcu_preempt self-detected stall on CPU
Dez 01 16:35:53 pureos kernel: rcu: 0-....: (5496 ticks this GP) idle=c16/1/0x4000000000000008 softirq=226899/226899 fqs=...seen on 5.13 for now:
```
Dez 01 16:35:53 pureos kernel: rcu: INFO: rcu_preempt self-detected stall on CPU
Dez 01 16:35:53 pureos kernel: rcu: 0-....: (5496 ticks this GP) idle=c16/1/0x4000000000000008 softirq=226899/226899 fqs=2305
Dez 01 16:35:53 pureos kernel: (t=5250 jiffies g=517533 q=119)
Dez 01 16:35:53 pureos kernel: Task dump for CPU 0:
Dez 01 16:35:53 pureos kernel: task:swapper/0 state:R running task stack: 0 pid: 0 ppid: 0 flags:0x0000000a
Dez 01 16:35:53 pureos kernel: Call trace:
Dez 01 16:35:53 pureos kernel: dump_backtrace+0x0/0x1e4
Dez 01 16:35:53 pureos kernel: show_stack+0x24/0x30
Dez 01 16:35:53 pureos kernel: sched_show_task+0x15c/0x180
Dez 01 16:35:53 pureos kernel: dump_cpu_task+0x50/0x60
Dez 01 16:35:53 pureos kernel: rcu_dump_cpu_stacks+0xfc/0x144
Dez 01 16:35:53 pureos kernel: rcu_sched_clock_irq+0xb04/0xe80
Dez 01 16:35:53 pureos kernel: update_process_times+0xa8/0xf4
Dez 01 16:35:53 pureos kernel: tick_sched_handle+0x3c/0x60
Dez 01 16:35:53 pureos kernel: tick_sched_timer+0x58/0xb0
Dez 01 16:35:53 pureos kernel: __hrtimer_run_queues+0x18c/0x3a0
Dez 01 16:35:53 pureos kernel: hrtimer_interrupt+0xf4/0x2cc
Dez 01 16:35:53 pureos kernel: arch_timer_handler_phys+0x40/0x50
Dez 01 16:35:53 pureos kernel: handle_percpu_devid_irq+0x94/0x280
Dez 01 16:35:53 pureos kernel: __handle_domain_irq+0x8c/0xf0
Dez 01 16:35:53 pureos kernel: gic_handle_irq+0xc8/0x148
Dez 01 16:35:53 pureos kernel: el1_irq+0xbc/0x154
Dez 01 16:35:53 pureos kernel: usb_hcd_submit_urb+0x38/0xa60 [usbcore]
Dez 01 16:35:53 pureos kernel: usb_submit_urb+0x19c/0x5c0 [usbcore]
Dez 01 16:35:53 pureos kernel: usb_wwan_indat_callback+0x50/0x170 [usb_wwan]
Dez 01 16:35:53 pureos kernel: __usb_hcd_giveback_urb+0xa4/0x154 [usbcore]
Dez 01 16:35:53 pureos kernel: usb_giveback_urb_bh+0xb4/0x11c [usbcore]
Dez 01 16:35:53 pureos kernel: tasklet_action_common.constprop.0+0x100/0x130
Dez 01 16:35:53 pureos kernel: tasklet_action+0x34/0x40
Dez 01 16:35:53 pureos kernel: __do_softirq+0x120/0x3e8
Dez 01 16:35:53 pureos kernel: irq_exit+0xf8/0x100
Dez 01 16:35:53 pureos kernel: __handle_domain_irq+0x90/0xf0
Dez 01 16:35:53 pureos kernel: gic_handle_irq+0xc8/0x148
Dez 01 16:35:53 pureos kernel: el1_irq+0xbc/0x154
Dez 01 16:35:53 pureos kernel: __schedule+0x8c/0x79c
Dez 01 16:35:53 pureos kernel: schedule_idle+0x34/0x54
Dez 01 16:35:53 pureos kernel: do_idle+0x1a4/0x2b0
Dez 01 16:35:53 pureos kernel: cpu_startup_entry+0x30/0x80
Dez 01 16:35:53 pureos kernel: rest_init+0xe0/0xf0
Dez 01 16:35:53 pureos kernel: arch_call_rest_init+0x1c/0x28
Dez 01 16:35:53 pureos kernel: start_kernel+0x5a8/0x5e0
Dez 01 16:36:56 pureos kernel: rcu: INFO: rcu_preempt self-detected stall on CPU
Dez 01 16:36:56 pureos kernel: rcu: 0-....: (21246 ticks this GP) idle=c16/1/0x4000000000000008 softirq=226899/226899 fqs=9251
Dez 01 16:36:56 pureos kernel: (t=21003 jiffies g=517533 q=588)
Dez 01 16:36:56 pureos kernel: Task dump for CPU 0:
Dez 01 16:36:56 pureos kernel: task:swapper/0 state:R running task stack: 0 pid: 0 ppid: 0 flags:0x0000000a
Dez 01 16:36:56 pureos kernel: Call trace:
Dez 01 16:36:56 pureos kernel: dump_backtrace+0x0/0x1e4
Dez 01 16:36:56 pureos kernel: show_stack+0x24/0x30
Dez 01 16:36:56 pureos kernel: sched_show_task+0x15c/0x180
Dez 01 16:36:56 pureos kernel: dump_cpu_task+0x50/0x60
Dez 01 16:36:56 pureos kernel: rcu_dump_cpu_stacks+0xfc/0x144
Dez 01 16:36:56 pureos kernel: rcu_sched_clock_irq+0xb04/0xe80
Dez 01 16:36:56 pureos kernel: update_process_times+0xa8/0xf4
Dez 01 16:36:56 pureos kernel: tick_sched_handle+0x3c/0x60
Dez 01 16:36:56 pureos kernel: tick_sched_timer+0x58/0xb0
Dez 01 16:36:56 pureos kernel: __hrtimer_run_queues+0x18c/0x3a0
Dez 01 16:36:56 pureos kernel: hrtimer_interrupt+0xf4/0x2cc
Dez 01 16:36:56 pureos kernel: arch_timer_handler_phys+0x40/0x50
Dez 01 16:36:56 pureos kernel: handle_percpu_devid_irq+0x94/0x280
Dez 01 16:36:56 pureos kernel: __handle_domain_irq+0x8c/0xf0
Dez 01 16:36:56 pureos kernel: gic_handle_irq+0xc8/0x148
Dez 01 16:36:56 pureos kernel: el1_irq+0xbc/0x154
Dez 01 16:36:56 pureos kernel: _raw_spin_unlock_irqrestore+0x18/0x5c
Dez 01 16:36:56 pureos kernel: usb_hcd_submit_urb+0xdc/0xa60 [usbcore]
Dez 01 16:36:56 pureos kernel: usb_submit_urb+0x19c/0x5c0 [usbcore]
Dez 01 16:36:56 pureos kernel: usb_wwan_indat_callback+0x50/0x170 [usb_wwan]
Dez 01 16:36:56 pureos kernel: __usb_hcd_giveback_urb+0xa4/0x154 [usbcore]
Dez 01 16:36:56 pureos kernel: usb_giveback_urb_bh+0xb4/0x11c [usbcore]
Dez 01 16:36:56 pureos kernel: tasklet_action_common.constprop.0+0x100/0x130
Dez 01 16:36:56 pureos kernel: tasklet_action+0x34/0x40
Dez 01 16:36:56 pureos kernel: __do_softirq+0x120/0x3e8
Dez 01 16:36:56 pureos kernel: irq_exit+0xf8/0x100
Dez 01 16:36:56 pureos kernel: __handle_domain_irq+0x90/0xf0
Dez 01 16:36:56 pureos kernel: gic_handle_irq+0xc8/0x148
Dez 01 16:36:56 pureos kernel: el1_irq+0xbc/0x154
Dez 01 16:36:56 pureos kernel: __schedule+0x8c/0x79c
Dez 01 16:36:56 pureos kernel: schedule_idle+0x34/0x54
Dez 01 16:36:56 pureos kernel: do_idle+0x1a4/0x2b0
Dez 01 16:36:56 pureos kernel: cpu_startup_entry+0x30/0x80
Dez 01 16:36:56 pureos kernel: rest_init+0xe0/0xf0
Dez 01 16:36:56 pureos kernel: arch_call_rest_init+0x1c/0x28
Dez 01 16:36:56 pureos kernel: start_kernel+0x5a8/0x5e0
```https://source.puri.sm/Librem5/linux/-/issues/367redpine: Bluetooth doesn't come back up after being soft killswitched2021-11-04T20:22:18ZSebastian Krzyszkowiakredpine: Bluetooth doesn't come back up after being soft killswitchedAfter turning Bluetooth off in software (via phosh quick settings or g-c-c), it never comes back on until the whole card is power cycled (for instance via hardware killswitch).
bluetoothctl shows `Powered: no`. Trying to power the adapt...After turning Bluetooth off in software (via phosh quick settings or g-c-c), it never comes back on until the whole card is power cycled (for instance via hardware killswitch).
bluetoothctl shows `Powered: no`. Trying to power the adapter on shows:
```
[bluetooth]# power on
Changing power on succeeded
```
...but the adapter's status does not change.https://source.puri.sm/Librem5/linux/-/issues/362mainline missing csi bridge patches or make s5k3l6xx work without them2022-01-12T09:35:03ZDorota Czaplejewiczmainline missing csi bridge patches or make s5k3l6xx work without themRelated: !479
The stumbling block is the smallest resolution config, which does not round to a value expected by the mipi driver. There are two ways to make it work: alter the mipi driver to accept 4-pixel alignment, or modify the mode.Related: !479
The stumbling block is the smallest resolution config, which does not round to a value expected by the mipi driver. There are two ways to make it work: alter the mipi driver to accept 4-pixel alignment, or modify the mode.https://source.puri.sm/Librem5/linux/-/issues/358redpine: IP traffic through Wifi does not work when Evergreen is booted with ...2021-10-13T07:42:15ZMatthias Apitzredpine: IP traffic through Wifi does not work when Evergreen is booted with Bluetooth ON and uses Bluetooth
When BT is set to `ON` and scanning, IP through Wifi is not working anymore and
I have to restart the phone with BT `OFF` to get Wifi working again. The routing
table from `netstat -rn` looks fine and the IP address as well in `wlan0`.
When BT is set to `ON` and scanning, IP through Wifi is not working anymore and
I have to restart the phone with BT `OFF` to get Wifi working again. The routing
table from `netstat -rn` looks fine and the IP address as well in `wlan0`.https://source.puri.sm/Librem5/linux/-/issues/356max17042_battery: Detect POR after already probed2021-10-19T04:46:46ZSebastian Krzyszkowiakmax17042_battery: Detect POR after already probedCurrently the POR gets detected and config values initialized only on driver probe. This means that if the user replaces the battery while the phone is on and connected to USB supply, the gauge will get reset, but the driver won't reinit...Currently the POR gets detected and config values initialized only on driver probe. This means that if the user replaces the battery while the phone is on and connected to USB supply, the gauge will get reset, but the driver won't reinitialize its config values until a reboot.https://source.puri.sm/Librem5/linux/-/issues/355Big camera took the red pill2021-09-10T20:21:28ZJoao AzevedoBig camera took the red pillSorry I really have no idea how to name this issue, feel free to change or suggest that I change it.
This only happened to me once. I have no idea so far on how to reproduce, and for another reason was not able to pull a dmesg log.
If ...Sorry I really have no idea how to name this issue, feel free to change or suggest that I change it.
This only happened to me once. I have no idea so far on how to reproduce, and for another reason was not able to pull a dmesg log.
If it happens again will pull dmesg, and try to take a picture in that state to provide the raw file
![matrix](/uploads/635edc5a9750019f805594118adcf23d/matrix.png)https://source.puri.sm/Librem5/linux/-/issues/353Mainlne LM3560 driver2021-09-07T12:20:45ZGuido GuntherMainlne LM3560 driverTODOs
- [ ] add flash support (#351)
- [ ] feature parity with v4l only driverTODOs
- [ ] add flash support (#351)
- [ ] feature parity with v4l only driverhttps://source.puri.sm/Librem5/linux/-/issues/352Upstream rear-camera (s5k3l6xx) driver2023-01-10T11:20:01ZGuido GuntherUpstream rear-camera (s5k3l6xx) driverSelfie cam is on the way already, would be cool for the rear cam to start the upstreaming process too.Selfie cam is on the way already, would be cool for the rear cam to start the upstreaming process too.Dorota CzaplejewiczDorota Czaplejewiczhttps://source.puri.sm/Librem5/linux/-/issues/350Please build debug symbol via CONFIG_DEBUG_INFO2021-09-05T10:40:15ZGuido GuntherPlease build debug symbol via CONFIG_DEBUG_INFOthese can be useful for traces but also for e.g. kprobes (https://www.kernel.org/doc/Documentation/kprobes.txt). Debian ships this as `-dbgsym` package.these can be useful for traces but also for e.g. kprobes (https://www.kernel.org/doc/Documentation/kprobes.txt). Debian ships this as `-dbgsym` package.https://source.puri.sm/Librem5/linux/-/issues/346usb2: Devices can't resume host from suspend2023-01-26T00:45:10ZSebastian Krzyszkowiakusb2: Devices can't resume host from suspendIt's been known for ages, but I don't think there's an issue for it, so here it goes.
When usb-otg2 (38200000.usb) is allowed to suspend, it doesn't get woken up by any activity from the devices.
The most noticeable symptom is that any...It's been known for ages, but I don't think there's an issue for it, so here it goes.
When usb-otg2 (38200000.usb) is allowed to suspend, it doesn't get woken up by any activity from the devices.
The most noticeable symptom is that any incoming calls or messages don't get noticed until something makes the host controller wake up (querying the modem or accessing SD card). Also, turning the modem on while USB host is suspended makes the system not notice it until host gets resumed.
(this doesn't happen when turning the modem *off* - in that case, the host gets woken up correctly; however, it seems that's only because of rfkill_hks which causes ModemManager to wake the bus up)
Note: usb-otg2 suspend is not enabled by default.
Test with:
```
echo auto | sudo tee /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/power/control
echo auto | sudo tee /sys/devices/platform/soc@0/38200000.usb/power/control
```https://source.puri.sm/Librem5/linux/-/issues/345Letting usb-otg2 suspend increases power consumption2022-12-30T06:26:35ZSebastian KrzyszkowiakLetting usb-otg2 suspend increases power consumptionI can consistently see power consumption increased by around 70mW once usb-otg2 (internal USB bus) gets suspended; it goes back to normal after waking it up - which is the exact opposite of what I'd expect (especially since the opposite ...I can consistently see power consumption increased by around 70mW once usb-otg2 (internal USB bus) gets suspended; it goes back to normal after waking it up - which is the exact opposite of what I'd expect (especially since the opposite is what happens with usb-otg1).
Note: we don't enable usb-otg2 suspend by default.
To test (it's best to keep the modem off and SD card unused):
```
echo auto | sudo tee /sys/devices/platform/soc@0/38200000.usb/xhci-hcd.4.auto/power/control
echo auto | sudo tee /sys/devices/platform/soc@0/38200000.usb/power/control
```https://source.puri.sm/Librem5/linux/-/issues/336Support higher Charging current without PD contract2022-12-14T20:19:54ZGuido GuntherSupport higher Charging current without PD contractWe're charging fairly quickly with a PD contract (up to 3A) but besides BC1.2 (#154) it would be great to use usb 3 max currents:
- [X] USB 2.0 : 500mA , 5V
- [ ] USB 3.0 : 900mA , 5V
- [x] USB 3.0 (dedicated charging): 1.5A , 5V
One w...We're charging fairly quickly with a PD contract (up to 3A) but besides BC1.2 (#154) it would be great to use usb 3 max currents:
- [X] USB 2.0 : 500mA , 5V
- [ ] USB 3.0 : 900mA , 5V
- [x] USB 3.0 (dedicated charging): 1.5A , 5V
One way this could happen is by detecting usb3 on the dwc3 and signal the charge-controller but maybe there's other ways?https://source.puri.sm/Librem5/linux/-/issues/329s5k3l6xx: RAW10 support2022-11-26T19:21:04ZSebastian Krzyszkowiaks5k3l6xx: RAW10 supportUsing 10-bit pixel depth improves picture quality in dark areas a lot. Currently the driver is limited to RAW8 only.
I have quickly hacked in RAW10 for testing - https://source.puri.sm/sebastian.krzyszkowiak/linux-next/-/commit/565058e0...Using 10-bit pixel depth improves picture quality in dark areas a lot. Currently the driver is limited to RAW8 only.
I have quickly hacked in RAW10 for testing - https://source.puri.sm/sebastian.krzyszkowiak/linux-next/-/commit/565058e02dca1dea631c82ef5d1c901b83962e92 - but only 1052x780 works this way. 2104x1560 results in garbled image, while 4208x3120 does not give any image at all.https://source.puri.sm/Librem5/linux/-/issues/328hantro: Corrupted buffers2021-06-11T14:39:41ZGuido Guntherhantro: Corrupted buffersI can't trigger it reliably but sometimes hantro just spits out corrupted buffers so the video output is mostly garbage (with bits from actual frames though). It might be related to power saving (i can sometimes trigger it when blanking ...I can't trigger it reliably but sometimes hantro just spits out corrupted buffers so the video output is mostly garbage (with bits from actual frames though). It might be related to power saving (i can sometimes trigger it when blanking the display).
Unloading the hantro/v4l modules or restarting the compositor doesn't unbreak this so a reboot is required.
Mostly filing this so we have a bug to gather more information.https://source.puri.sm/Librem5/linux/-/issues/325Samsung camera: mystery registers investigation2022-12-23T11:52:17ZDorota CzaplejewiczSamsung camera: mystery registers investigationNot to spam random threads, this is the one with ongoing research. Mostly regarding how to get rid of noise in the pictures.
Related: https://source.puri.sm/Librem5/linux-next/-/merge_requests/396/diffs#note_157948
https://source.puri....Not to spam random threads, this is the one with ongoing research. Mostly regarding how to get rid of noise in the pictures.
Related: https://source.puri.sm/Librem5/linux-next/-/merge_requests/396/diffs#note_157948
https://source.puri.sm/Librem5/linux-next/-/issues/317https://source.puri.sm/Librem5/linux/-/issues/324Birch: taking picture with selfie cam just hangs2021-05-14T11:02:28ZDorota CzaplejewiczBirch: taking picture with selfie cam just hangsFollow-up from https://source.puri.sm/Librem5/linux-next/-/issues/309 . Only seen on Birch at the moment, but I am filing a separate issue because it indicates inconsistent driver behaviour.Follow-up from https://source.puri.sm/Librem5/linux-next/-/issues/309 . Only seen on Birch at the moment, but I am filing a separate issue because it indicates inconsistent driver behaviour.https://source.puri.sm/Librem5/linux/-/issues/323Selfie camera needs a low resolution, full sensor mode2021-09-07T12:59:22ZDorota CzaplejewiczSelfie camera needs a low resolution, full sensor modeSebastian says that 640x480 gets there by cropping: https://source.puri.sm/Librem5/linux-next/-/issues/315#note_156311
Half-size (preumably full sensor) mode is 1632×1224. That means the quarter-size mode would be 816×612px.
Having thi...Sebastian says that 640x480 gets there by cropping: https://source.puri.sm/Librem5/linux-next/-/issues/315#note_156311
Half-size (preumably full sensor) mode is 1632×1224. That means the quarter-size mode would be 816×612px.
Having this resolution would be useful for photo camera purposes: the photo is most likely going to be taken using the entire sensor area, so a preview should offer exactly that as well, at a lower resolution to preserve power.Martin KepplingerMartin Kepplinger