Pinephone Mainboard Replacement Issues
#1
Hello All,

My 3gb main board arrived and I was able to replace my old UBports edition board after some trouble. However after powering on, the OSes I use don't seem to work properly:
PostmarketOS gives  a boot screen but doesn't go any further than that, and if the device is plugged in it boot loops.
Mobian powers off immediately if charger disconnects, battery is stuck on 60% but I don't think the battery is actually detected in Mobian. Also WiFi and torch don't work (cameras do).
The only physical damage was to the shroud because I didn't see the hidden screw on the top right of the phone.

Any idea what went wrong?
  Reply
#2
So I tried some more images, the phone can get to the boot screen on battery, but will then power off unless it is plugged in.

Update: Tried openSUSE, battery seems to be charging now and I can unplug it too. Everything seems to work. Will try other images again to see if they work now as well.

Update2: Ok openSUSE does seem to have similar problems. If I get it booted It works just fine, even rebooting works, but If I reinsert the battery while unplugged then boot it starts acting weird again. If it doesn't boot, the screen stays off and will be bricked until battery is removed. Only way I can fix is if I boot while plugged in. This technique also works for Mobian and jumpdrive, but those will power off if unplugged.
  Reply
#3
(12-21-2020, 10:54 PM)Stringbean Wrote: So I tried some more images, the phone can get to the boot screen on battery, but will then power off unless it is plugged in.

Update: Tried openSUSE, battery seems to be charging now and I can unplug it too. Everything seems to work. Will try other images again to see if they work now as well.

Update2: Ok openSUSE does seem to have similar problems. If I get it booted It works just fine, even rebooting works, but If I reinsert the battery while unplugged then boot it starts acting weird again. If it doesn't boot, the screen stays off and will be bricked until battery is removed. Only way I can fix is if I boot while plugged in. This technique also works for Mobian and jumpdrive, but those will power off if unplugged.
Maybe disconnect and reconnect the power board cable? Might not be plugged in all the way.
  Reply
#4
(12-22-2020, 03:29 AM)rocket2nfinity Wrote:
(12-21-2020, 10:54 PM)Stringbean Wrote: So I tried some more images, the phone can get to the boot screen on battery, but will then power off unless it is plugged in.

Update: Tried openSUSE, battery seems to be charging now and I can unplug it too. Everything seems to work. Will try other images again to see if they work now as well.

Update2: Ok openSUSE does seem to have similar problems. If I get it booted It works just fine, even rebooting works, but If I reinsert the battery while unplugged then boot it starts acting weird again. If it doesn't boot, the screen stays off and will be bricked until battery is removed. Only way I can fix is if I boot while plugged in. This technique also works for Mobian and jumpdrive, but those will power off if unplugged.
Maybe disconnect and reconnect the power board cable? Might not be plugged in all the way.
Is it the lego connector on bottom left? Reconnected but no difference. I think it might be a software issue because all of the hardware features work, but the OSes don't function properly.
  Reply
#5
Hey StringBean,

Unfortunately I'm not commenting with a solution here, but because I also seem to have (stability) issues with the new 3GB Pinephone CE mainboard that I received last week. It replaced my Braveheart Edition 2GB mainboard which also worked very well. Hopefully with one more person reporting similar issues this thread will gain some more gravity? Smile

I've attempted to boot several images with it; Mobian, postmarketOS and Manjaro Phosh + Plasma Mobile. The first two do boot and seem to work, however with those I've also had the occasional unwanted reboot. The Manjaro images do not boot up to a usable GUI at all however. They always and up showing a stack trace or a black screen on the phone's display. I managed to grab some output produced during boot through the serial console connection though. Sometimes it boots far enough and a cli login prompt is presented and can be interacted with. At the Manjaro forum I've made an elaborate post explaining the situation in more detail which can be found here.

I think the most interesting take-aways are this one, the first few lines while booting (and failing):
Code:
U-Boot SPL 2020.07-rc4-9 (Dec 16 2020 - 12:22:36 +0000)                     
DRAM: 3072 MiB                                                              
Trying to boot from MMC2                                                    
NOTICE:  BL31: v2.3(debug):                                                 
NOTICE:  BL31: Built : 12:22:36, Dec 16 2020               
NOTICE:  BL31: Detected Allwinner A64/H64/R18 SoC (1689)   
NOTICE:  BL31: Found U-Boot DTB at 0x4064908, model: Pine64 PinePhone (1.2)
INFO:    ARM GICv2 driver initialized                      
INFO:    Configuring SPC Controller                        
INFO:    PMIC: Probing AXP803 on RSB                       
INFO:    PMIC: dcdc1 voltage: 3.300V
INFO:    PMIC: dcdc5 voltage: 1.200V
INFO:    PMIC: dcdc6 voltage: 1.100V
INFO:    PMIC: dldo1 voltage: 3.300V
INFO:    PMIC: dldo2 voltage: 1.800V
INFO:    PMIC: dldo3 voltage: 2.800V
INFO:    BL31: Platform setup done
INFO:    BL31: Initializing runtime services
INFO:    BL31: cortex_a53: CPU workaround for 843419 was applied
INFO:    BL31: cortex_a53: CPU workaround for 855873 was applied
NOTICE:  PSCI: System suspend is available via SCPI
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0x4a000000
INFO:    SPSR = 0x3c9


U-Boot 2020.07-rc4-9 (Dec 16 2020 - 12:22:36 +0000) Manjaro Linux ARM

CPU:   Allwinner A64 (SUN50I)
Model: Pine64 PinePhone (1.2)
DRAM:  3 GiB
MMC:   Device 'mmc@1c11000': seq 1 is in use by 'mmc@1c10000'
mmc@1c0f000: 0, mmc@1c10000: 2, mmc@1c11000: 1
Loading Environment from FAT... *** Warning - bad CRC, using default environment

In:    serial@1c28000
Out:   serial@1c28000
Err:   serial@1c28000
starting USB...
No working controllers found
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc1(part 0) is current device
Scanning mmc 1:1...
Found U-Boot script /boot.scr
975 bytes read in 1 ms (952.1 KiB/s)
## Executing script at 4fc00000
gpio: pin 98 (gpio 98) value is 1
gpio: pin 114 (gpio 114) value is 1
19042312 bytes read in 825 ms (22 MiB/s)
gpio: pin 98 (gpio 98) value is 0
50338 bytes read in 23 ms (2.1 MiB/s)
7114129 bytes read in 320 ms (21.2 MiB/s)
gpio: pin 115 (gpio 115) value is 1
## Flattened Device Tree blob at 4fa00000
   Booting using the fdt blob at 0x4fa00000
   Loading Ramdisk to 49937000, end 49fffd91 ... OK
   Loading Device Tree to 0000000049927000, end 00000000499364a1 ... OK

Starting kernel ...

[    0.736590] SMCCC: SOC_ID: ARCH_SOC_ID(0) returned error: ffffffffffffffff
[    0.939157] phy id_det change to device
Starting version 247.1-4-arch
ROOT_MNJRO: clean, 153343/360448 files, 1392870/1440731 blocks

Manjaro Linux 5.10.1-1-MANJARO-ARM (ttyS0)

plasma-mobile login: [   32.043739] modem-power serial1-0: AT command 'AT+QCFG="fast/poweroff"' returned ERROR
At that point the phone has crashed and is completely non-responsive.

And these might also be interesting, they are last lines shown when attempting to boot, failing and shutting down immediately afterwards:
Code:
[   33.533422] kvm: exiting hardware virtualization
[   33.684053] ------------[ cut here ]------------
[   33.684060] [CRTC:41:crtc-0] vblank wait timed out
[   33.684129] WARNING: CPU: 3 PID: 26 at drivers/gpu/drm/drm_atomic_helper.c:1496 drm_atomic_helper_wait_for_vblanks.part.0+0x278/0x290
[   33.684132] Modules linked in: option usb_wwan qmi_wwan cdc_wdm usbserial usbnet rfcomm bnep zsmalloc ov5640 crct10dif_ce hci_uart 8723cs(C) btrtl btbcm bluetooth st_magn_spi st_sensors_spi st_magn_i2c s]
[   33.684220] CPU: 3 PID: 26 Comm: kworker/3:0 Tainted: G         C        5.9.12-1-MANJARO-ARM #1
[   33.684222] Hardware name: Pine64 PinePhone (1.2) (DT)
[   33.684235] Workqueue: events splash_callback_animation
[   33.684241] pstate: 60000005 (nZCv daif -PAN -UAO BTYPE=--)
[   33.684246] pc : drm_atomic_helper_wait_for_vblanks.part.0+0x278/0x290
[   33.684251] lr : drm_atomic_helper_wait_for_vblanks.part.0+0x278/0x290
[   33.684253] sp : ffff8000112db910
[   33.684255] x29: ffff8000112db910 x28: 0000000000000000
[   33.684259] x27: 00000000000004b0 x26: 0000000000000000
[   33.684263] x25: ffff0000a95f6000 x24: 0000000000000001
[   33.684266] x23: 0000000000000038 x22: 0000000000000001
[   33.684270] x21: ffff000094d1f300 x20: ffff0000a95f7080
[   33.684274] x19: 0000000000000000 x18: 0000000000000020
[   33.684277] x17: 0000000000000001 x16: 0000000000000019
[   33.684281] x15: ffff8000110d2000 x14: ffff800011167ee0
[   33.684285] x13: 0000000000000000 x12: ffff800011167000
[   33.684289] x11: ffff8000110d2000 x10: ffff800011167528
[   33.684292] x9 : 0000000000000000 x8 : ffff800011173f34
[   33.684296] x7 : 0000000000000000 x6 : 000000000658876c
[   33.684300] x5 : 00ffffffffffffff x4 : 0000000000000000
[   33.684303] x3 : 0000000000000000 x2 : 00000000ffffffff
[   33.684307] x1 : 38ce060892b14100 x0 : 0000000000000000
[   33.684311] Call trace:
[   33.684318]  drm_atomic_helper_wait_for_vblanks.part.0+0x278/0x290
[   33.684322]  drm_atomic_helper_commit_tail_rpm+0x78/0x9c
[   33.684325]  commit_tail+0xa4/0x184
[   33.684328]  drm_atomic_helper_commit+0x160/0x410
[   33.684333]  drm_atomic_commit+0x4c/0x60
[   33.684340]  drm_client_modeset_commit_atomic+0x208/0x260
[   33.684344]  drm_client_modeset_commit_locked+0x5c/0x1a0
[   33.684352]  drm_fb_helper_pan_display+0xbc/0x1d0
[   33.684358]  fb_pan_display+0x98/0x110
[   33.684363]  dummy_update_start+0x20/0x50
[   33.684366]  fbcon_switch+0x400/0x5c0
[   33.684372]  redraw_screen+0x140/0x280
[   33.684376]  splash_callback_animation+0x80/0x90
[   33.684383]  process_one_work+0x1d8/0x3a0
[   33.684387]  worker_thread+0x16c/0x500
[   33.684391]  kthread+0x120/0x12c
[   33.684397]  ret_from_fork+0x10/0x34
[   33.684400] ---[ end trace df64c6246fb936f2 ]---
[   33.760099] avdd-csi: disabling
INFO:    PSCI Power Domain Map:
INFO:      Domain Node : Level 2, parent_node -1, State ON (0x0)
INFO:      Domain Node : Level 1, parent_node 0, State ON (0x0)
INFO:      CPU Node : MPID 0x0, parent_node 1, State ON (0x0)
INFO:      CPU Node : MPID 0x1, parent_node 1, State ON (0x0)
INFO:      CPU Node : MPID 0x2, parent_node 1, State ON (0x0)
INFO:      CPU Node : MPID 0x3, parent_node 1, State ON (0x0)

Lastly, I also noticed an error while I think it's trying to initialize the modem. This shows up in case the phone does boot up to a login prompt accessible through the serial console:
Code:
[   26.324670] usb 3-1: new high-speed USB device number 2 using ehci-platform
[   27.473349] usbcore: registered new interface driver cdc_wdm
[   27.479875] usbcore: registered new interface driver option
[   27.485828] usbserial: USB Serial support registered for GSM modem (1-port)
[   27.493291] option 3-1:1.0: GSM modem (1-port) converter detected
[   27.505313] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB0
[   27.512837] option 3-1:1.1: GSM modem (1-port) converter detected
[   27.520591] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB1
[   27.527882] option 3-1:1.2: GSM modem (1-port) converter detected
[   27.535366] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB2
[   27.542664] option 3-1:1.3: GSM modem (1-port) converter detected
[   27.550127] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB3
[   27.559830] qmi_wwan 3-1:1.4: cdc-wdm0: USB WDM device
[   27.566191] qmi_wwan 3-1:1.4 wwan0: register 'qmi_wwan' at usb-1c1b000.usb-1, WWAN/QMI device, de:e7:38:96:bd:90
[   27.576826] usbcore: registered new interface driver qmi_wwan
[   30.016328] modem-power serial1-0: ===================================================
[   30.024303] modem-power serial1-0: Project Name: EG25G
[   30.029497] modem-power serial1-0: Project Rev : EG25GGBR07A08M2G_01.001.10
[   30.036562] modem-power serial1-0: Branch  Name: 9x07_R07_NEW
[   30.042344] modem-power serial1-0: Custom Name : STD
[   30.047348] modem-power serial1-0: Build   Date: 2019-12-03,18:10
[   30.053486] modem-power serial1-0: Version:  SBLR07EG25G01_1:37500: Oct 17 2
[   30.060521] modem-power serial1-0: Version:  TZR07A03: Dec  2 2019
[   30.066656] modem-power serial1-0: Version:  RPMR07A03_1:37500: Dec  2 2019
[   30.073584] modem-power serial1-0: ===================================================
[   30.081558] modem-power serial1-0: Your modem has an outdated firmware. Latest know version is EG25GGBR07A08M2G_01.002.07. Consider updating.
[   30.104677] modem-power serial1-0: ADB KEY is '26155255' (you can use it to unlock ADB access to the modem, see https://xnux.eu/devices/feature/modem-pp.html)
[   31.180688] modem-power serial1-0: QDAI is '1,1,0,1,0,0,1,1'
[   31.196732] modem-power serial1-0: QCFG 'risignaltype' is '"physical"'
[   31.216720] modem-power serial1-0: QCFG 'urc/ri/ring' is '"pulse",1,1000,5000,"off",1'
[   31.240742] modem-power serial1-0: QCFG 'urc/ri/smsincoming' is '"pulse",1,1'
[   31.260602] modem-power serial1-0: QCFG 'urc/ri/other' is '"off",1,1'
[   31.275418] modem-power serial1-0: QCFG 'urc/ri/pin' is 'uart_ri'
[   31.296733] modem-power serial1-0: QCFG 'urc/delay' is '0'
[   31.316708] modem-power serial1-0: QCFG 'sleepind/level' is '0'
[   31.332716] modem-power serial1-0: QCFG 'wakeupin/level' is '0'
[   31.348691] modem-power serial1-0: QCFG 'ApRstLevel' is '1' (changing to '0')
[   31.380705] modem-power serial1-0: QCFG 'ModemRstLevel' is '0'
[   31.396647] modem-power serial1-0: QCFG 'apready' is '0,0,500'
[   31.412655] modem-power serial1-0: QCFG 'airplanecontrol' is '1,0'
[   31.428724] modem-power serial1-0: AT command 'AT+QCFG="fast/poweroff"' returned ERROR
[   31.460736] modem-power serial1-0: powered up in 18455 ms
[   33.760738] avdd-csi: disabling
[   33.764370] usb-5v: disabling
[   44.851961] alloc_contig_range: [f1700, f1af5) PFNs busy
[   45.447991] alloc_contig_range: [f1700, f1af5) PFNs busy
[   45.457064] alloc_contig_range: [f1800, f1bf5) PFNs busy
[   45.463030] alloc_contig_range: [f1800, f1cf5) PFNs busy
[   45.469218] alloc_contig_range: [f1a00, f1df5) PFNs busy
[   45.751914] alloc_contig_range: [f1700, f1af5) PFNs busy
[   61.795366] systemd-coredump[4634]: Failed to get COMM: No such process

Unfortunately I'm not proficient enough with Linux boot processes or these hardware specifics to see if these errors might be caused by hardware defects. Perhaps someone else has some meaningful insights? Smile
PinePhone (BH 2GB + CE 3GB) // RockPro64 4GB (rev. 2.1) - OMV NAS // PineH64 3GB (model B) - off-prem OMV NAS // Pine64-LTS 2GB (rev. 1.2 + Playbox) - Domotics server
  Reply
#6
@p1x3l3d Have you tried openSUSE? That seemed to work the best for me so maybe worth a shot. I have similar issues with the black screen but with different OSes. I tried Manjaro Lomiri and it's black screen when charging and splash screen only when on battery. It definitely makes a difference whether or not you boot from battery or when plugged in.
  Reply
#7
Did you flash the ANX firmware yet? That's at least partly responsible for the charge side of things as it mediates the USB power.
  Reply
#8
(12-22-2020, 08:40 AM)wibble Wrote: Did you flash the ANX firmware yet? That's at least partly responsible for the charge side of things as it mediates the USB power.
I wasn't able to because the phone wouldn't boot, I tried to do it using jumpdrive but
/sys/class/typec/port0/device/flash_eeprom
didn't exist.

Update: I downloaded/modified the files on openSUSE since that would boot. It doesn't seem to have solved the problem.

Update2: My bad, wasn't actually able to edit the flash_eeprom file, I get permission denied and the file doesn't show up if I explore the files with my pc.
  Reply
#9
(12-22-2020, 04:38 AM)Stringbean Wrote: @p1x3l3d Have you tried openSUSE? That seemed to work the best for me so maybe worth a shot. I have similar issues with the black screen but with different OSes. I tried Manjaro Lomiri and it's black screen when charging and splash screen only when on battery. It definitely makes a difference whether or not you boot from battery or when plugged in.

Thanks for the hint Stringbean! Will definitely give that a try soon as well and report back with the results here Smile

(12-22-2020, 08:40 AM)wibble Wrote: Did you flash the ANX firmware yet? That's at least partly responsible for the charge side of things as it mediates the USB power.

Haven't tried that yet, no. Will have to look up how to do it first. Once I've tried it I will also report it here.
PinePhone (BH 2GB + CE 3GB) // RockPro64 4GB (rev. 2.1) - OMV NAS // PineH64 3GB (model B) - off-prem OMV NAS // Pine64-LTS 2GB (rev. 1.2 + Playbox) - Domotics server
  Reply
#10
So I think I managed to flash the firmware on Mobian, however Mobian still acts weird with the same issues as before.
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  my pinephone melted norayr 6 694 04-04-2024, 07:22 PM
Last Post: Zebulon Walton
  Pinephone refusing to charge while suspended tiol 1 1,008 04-02-2024, 10:54 AM
Last Post: joH_N_Doe64
  various tricks to open the pinephone shengchieh 2 623 03-23-2024, 09:27 AM
Last Post: Ferriah
  pinephone can provide more than 500mA to a usb-c displayport device? unrznbl 2 245 03-21-2024, 08:52 AM
Last Post: unrznbl
  pinephone keyboard + dock question tuxcall 7 2,607 02-05-2024, 03:17 PM
Last Post: wigan
  Unsatisfactory GPS reception on PinePhone? LinAdmin2 53 54,756 12-17-2023, 11:42 AM
Last Post: robin.com.au
  PinePhone Pro not booting (Cap error!, pctl timeout) jealda 2 1,305 11-16-2023, 05:03 AM
Last Post: DrYak
  Pinephone frame damages Uturn 2 892 10-23-2023, 02:49 AM
Last Post: Uturn
  Replacement screen disconnects after back frame is screwed on robthebold 4 1,250 10-12-2023, 01:03 PM
Last Post: robthebold
  PinePhone Keyboard KJ6OHG 11 7,833 08-23-2023, 03:25 AM
Last Post: Kali

Forum Jump:


Users browsing this thread: 1 Guest(s)