| Welcome, Guest |
You have to register before you can post on our site.
|
| Latest Threads |
Pinetab2 camera drivers
Forum: PineTab Software
Last Post: dave3294
9 hours ago
» Replies: 11
» Views: 9,099
|
Girls In Your Town - Anon...
Forum: General
Last Post: wilsonmatt
Yesterday, 11:16 PM
» Replies: 0
» Views: 43
|
Girls In Your City - Anon...
Forum: General
Last Post: publishers
Yesterday, 06:44 PM
» Replies: 0
» Views: 41
|
Girls From Your City - An...
Forum: General
Last Post: publishers
Yesterday, 04:32 PM
» Replies: 0
» Views: 37
|
asterisk or FreePBX on pi...
Forum: PinePhone Software
Last Post: vanja
Yesterday, 09:24 AM
» Replies: 0
» Views: 55
|
Jami on Pinephone [ IM an...
Forum: PinePhone Software
Last Post: marlboro1950
Yesterday, 05:02 AM
» Replies: 15
» Views: 21,981
|
Thread management hurdles...
Forum: General
Last Post: reyohi4392
06-15-2026, 05:12 AM
» Replies: 0
» Views: 71
|
Let's get the PPP and Mob...
Forum: General Discussion of PinePhone Pro
Last Post: Rsquared
06-15-2026, 12:01 AM
» Replies: 0
» Views: 103
|
PinePhone Game Thread
Forum: General Discussion on PinePhone
Last Post: elinkser
06-11-2026, 02:50 PM
» Replies: 31
» Views: 80,110
|
Introducing RoutineHero: ...
Forum: General Discussion on PineTime
Last Post: oscar-gardiazabal
06-06-2026, 03:33 PM
» Replies: 3
» Views: 2,731
|
|
|
| How can boot from MicroSD after replacement of the main board |
|
Posted by: u-kidjp - 11-03-2024, 08:12 PM - Forum: PinePhone Pro Software
- Replies (6)
|
 |
I just got a new main board of the PPP and replaced it from old broken one.
After replacement of the main board, my PPP only boots into AOSP android after displaying "Rockchip kernel" splash.
I tried with powering on with volume-down button, couldn't boot. With volume-up button, it goes into the android recovery mode,
I also tried with RE-button, but I got no response.
Is there any way to boot from MicroSD?
|
|
|
|
| How to Get Rom on MircoSD |
|
Posted by: dorkydev - 11-03-2024, 07:06 AM - Forum: General Discussion of PinePhone Pro
- Replies (1)
|
 |
Certainly I know you boot the phone and hold vol + until it turns blue, (I have towboot), but I accidentally let my battery die and got stuck in a boot loop, ordered an external battery charger, to help with getting a full charge.
I flashed one image via BalenaEtcher and a MicroSD reader and pressed vol -, but I get an error message.
Still if I try Vol + the phone just reboots and doesn't stayed on, so I can't flash the image to the card that way via BalenaEtcher
|
|
|
|
| How to boot an older, working kernel |
|
Posted by: bits - 11-01-2024, 04:43 PM - Forum: Linux on Rock64
- No Replies
|
 |
Earlier this year, there was an update to the Linux kernel that broke booting Rock64 from their eMMC and it was necessary to force using an older, working kernel version. It's since been fixed, but in case there is again a need to boot with a kernel older than the latest, here's one way:
Drop a file in /etc/flash-kernel/ubootenv.d that forces the U-Boot environment variable fk_kvers to a working kernel version present in your /boot, then run flash-kernel to regenerate the U-Boot bootscript /boot/boot.scr
echo "env set fk_kvers 6.1.0-22-arm64" > /etc/flash-kernel/ubootenv.d/90-force-kernel-version &&
flash-kernel
When you want to stop forcing the kernel version, remove /etc/flash-kernel/ubootenv.d/90-force-kernel-version, run flash-kernel, and reboot
This works because flash-kernel rebuilds /boot/boot.scr from the template /etc/flash-kernel/bootscript/bootscr.uboot-generic, and this includes "@@UBOOT_ENV_EXTRA@@", which gets replaced by the contents of each of the files in /etc/flash-kernel/ubootenv.d/ and the boot script boots the referenced kernel
|
|
|
|
| bluetooth adapter? |
|
Posted by: elix - 10-31-2024, 06:57 PM - Forum: General Discussion on PineTab
- Replies (3)
|
 |
after several failed attempts at getting bluetooth working, i am looking into an adapter.
i know there is a list of wifi ones, but do not see anything for bluetooth.
anyone have any suggestions of something that can be bought on amazon in the us?
thanks!
|
|
|
|
| keep state across invocations |
|
Posted by: lmamane - 10-31-2024, 01:06 PM - Forum: Development Discussion on PineTime
- Replies (1)
|
 |
In InfiniTime, is there a way for my screen (app) to maintain some state across invocations? E.g. for app settings, but also for a stopwatch/timer that can resume even if the user switched to another screen and back. I would just store the time point at which the stopwatch/timer started, and then recompute the elapsed/remaining time from the current time point when it is reopened.
|
|
|
|
| Where to find older Mobian image? |
|
Posted by: guenther - 10-29-2024, 05:46 AM - Forum: PineTab Software
- Replies (2)
|
 |
Hi folks, I managed to kill my PineTab (older one) with the last update. After boot no Login screen appears, only serial console available.
Where to find old Mobian pinetab-image with u-boot? On mobian website there is no image with u-boot available anymore.
Last working image according to mobian wiki is "mobian-pinetab-phosh-20220327.img.gz".
|
|
|
|
| Another one boots to black screen |
|
Posted by: Sb2024 - 10-27-2024, 09:26 PM - Forum: General Discussion on Pinebook Pro
- Replies (7)
|
 |
I got my pine book pro back in march, put towboot on the spi and ran armbian from the emmc. Happy! After a period of disuse including full battery discharge, it started booting to a black screen. Sad!
I put a new image of armbian on an SD card and it does the same thing. I opened the case and turned off the emmc switch and tried a fresh SD card. No change. I tried the long press hard reset. Same.
Tow boot is still working. When it boots to the black screen, the power light is green and the caps lock and num lock lights work.
I’m not sure what to do next.
|
|
|
|
| multithreading issue / SIGSEGV under InfiniSim |
|
Posted by: lmamane - 10-26-2024, 09:57 AM - Forum: Development Discussion on PineTime
- No Replies
|
 |
I get various crashes/SIGSEGV/SIGFPE/uncaught exceptions/"mutex released when not held"/... when running InfiniTime under InfiniSim.
I opened the discussion for one of the reproducible ones at https://github.com/InfiniTimeOrg/InfiniSim/issues/160
Another reproducible one seems too subtle / incomprehensible for me, and it seems to me that different threads get mixed up. I was hoping someone here would have more clue than me.
The backtrace looks like:
Code: Thread 5 "displayapp" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe29fe6c0 (LWP 642677)]
0x00005555555cf26b in lv_refr_obj (obj=0x7ffff79f1c, mask_ori_p=0x7fffe29fdb2e) at /home/master/src/pinetime/InfiniSim/InfiniTime/src/libs/lvgl/src/lv_core/lv_refr.c:892
892 if(obj->hidden != 0) return;
(gdb) bt
#0 0x00005555555cf26b in lv_refr_obj (obj=0x7ffff79f1c, mask_ori_p=0x7fffe29fdb2e) at /home/master/src/pinetime/InfiniSim/InfiniTime/src/libs/lvgl/src/lv_core/lv_refr.c:892
#1 0x00005555555cf1d6 in lv_refr_obj_and_children (top_p=0x555556bb96c8, mask_p=0x7fffe29fdb2e) at /home/master/src/pinetime/InfiniSim/InfiniTime/src/libs/lvgl/src/lv_core/lv_refr.c:867
#2 0x00005555555cef04 in lv_refr_area_part (area_p=0x7fffdc0017c2) at /home/master/src/pinetime/InfiniSim/InfiniTime/src/libs/lvgl/src/lv_core/lv_refr.c:773
#3 0x00005555555ce3d6 in lv_refr_area (area_p=0x7fffdc0017c2) at /home/master/src/pinetime/InfiniSim/InfiniTime/src/libs/lvgl/src/lv_core/lv_refr.c:515
#4 0x00005555555cdf7a in lv_refr_areas () at /home/master/src/pinetime/InfiniSim/InfiniTime/src/libs/lvgl/src/lv_core/lv_refr.c:405
#5 0x00005555555cd9ba in _lv_disp_refr_task (task=0x7fffdc001918) at /home/master/src/pinetime/InfiniSim/InfiniTime/src/libs/lvgl/src/lv_core/lv_refr.c:204
#6 0x00005555555e53e4 in lv_task_exec (task=0x7fffdc001918) at /home/master/src/pinetime/InfiniSim/InfiniTime/src/libs/lvgl/src/lv_misc/lv_task.c:386
#7 0x00005555555e4e6f in lv_task_handler () at /home/master/src/pinetime/InfiniSim/InfiniTime/src/libs/lvgl/src/lv_misc/lv_task.c:134
#8 0x00005555555af57a in Pinetime::Applications::DisplayApp::Refresh (this=0x5555556a4ae0 <displayApp>) at /home/master/src/pinetime/InfiniSim/InfiniTime/src/displayapp/DisplayApp.cpp:251
#9 0x00005555555af208 in Pinetime::Applications::DisplayApp::Process (instance=0x5555556a4ae0 <displayApp>) at /home/master/src/pinetime/InfiniSim/InfiniTime/src/displayapp/DisplayApp.cpp:149
#10 0x0000555555609dec in sdl_function_wrapper (instance=0x5555556a5bf8 <displayApp+4376>) at /home/master/src/pinetime/InfiniSim/sim/task.cpp:61
Note that according to gdb, in frame 1 lv_refr_obj_and_children is called with top_p=0x555556bb96c8 in thread LWP 642677. I have modified this function to make debug outputs to a file, one file per thread, as follows:
Near the top of the file:
Code: #include <stdio.h>
#define __USE_GNU
#include <unistd.h>
#undef __USE_GNU
then in the function:
Code: char buf[40];
snprintf(buf, sizeof(buf), "VERBOSE_DEBUG_lv_core_%d.txt", gettid());
buf[sizeof(buf)-1] = (char)0;
FILE* vdf = fopen(buf, "a");
and then I fprintf(vdf, ...), in particular I log the value of top_p. Now, the "funny thing" is according to the logs, lv_refr_obj_and_children is called with top_p=0x555556bb96c8 only in thread 642669!
Code: $ grep -l 96c8 VERBOSE_DEBUG_lv_core_6426*
VERBOSE_DEBUG_lv_core_642669.txt
According to gdb, that thread is:
Code: Thread 1 (Thread 0x7ffff6e22cc0 (LWP 642669) "infinisim"):
#0 0x00007ffff790d11f in __GI___poll (fds=0x7fffffffdac8, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
29 ../sysdeps/unix/sysv/linux/poll.c: No such file or directory.
(gdb) thread 1
[Switching to thread 1 (Thread 0x7ffff6e22cc0 (LWP 642669))]
#0 0x00007ffff790d11f in __GI___poll (fds=0x7fffffffdac8, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
29 in ../sysdeps/unix/sysv/linux/poll.c
(gdb) bt
#0 0x00007ffff790d11f in __GI___poll (fds=0x7fffffffdac8, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007ffff71f0d12 in ?? () from /lib/x86_64-linux-gnu/libxcb.so.1
#2 0x00007ffff71f2d8f in ?? () from /lib/x86_64-linux-gnu/libxcb.so.1
#3 0x00007ffff71f2f00 in xcb_wait_for_reply64 () from /lib/x86_64-linux-gnu/libxcb.so.1
#4 0x00007ffff743810c in _XReply () from /lib/x86_64-linux-gnu/libX11.so.6
#5 0x00007ffff74336ff in XSync () from /lib/x86_64-linux-gnu/libX11.so.6
#6 0x00007ffff6498166 in ?? () from /lib/x86_64-linux-gnu/libGLX_mesa.so.0
#7 0x00007ffff648823b in ?? () from /lib/x86_64-linux-gnu/libGLX_mesa.so.0
#8 0x00007ffff7ecbbe6 in ?? () from /lib/x86_64-linux-gnu/libSDL2-2.0.so.0
#9 0x00007ffff7e2f276 in ?? () from /lib/x86_64-linux-gnu/libSDL2-2.0.so.0
#10 0x0000555555572074 in Framework::refresh (this=0x7fffffffdee0) at /home/master/src/pinetime/InfiniSim/main.cpp:609
#11 0x000055555556f5d5 in main (argc=1, argv=0x7fffffffe0c8) at /home/master/src/pinetime/InfiniSim/main.cpp:1145
Somehow the threads get mixed up???
According to the logs, that function is called in thread 642677 only with values top_p = 0x7fffdc001958, 0x7fffdc001c58 or 0x7fffdc001d58 and each time it is called, lv_obj_get_parent(top_p) == NULL (this is the value with which par is initialised), meaning the function exits without entering the while(par != NULL) loop, and never enters the lv_refr_obj call where the SIGSEGV happens, which is the one in the loop.
Still according to the logs, in thread 642669, all calls where top_p == 0x555556bb96c8 return, and the last call has another top_p value and has lv_obj_get_parent(top_p) == NULL.
|
|
|
|
|